摘 要:文章研究基于Arduino技術的智能小車,分析了智能小車結構,從小車的硬件設計到軟件設計進行詳細闡述,尤其對小車硬件部分進行設計,包括電源模塊、單片機系統、循跡模塊、鴕機轉向模塊、后輪電機驅動模塊等。為眾多技術愛好者設計個性化的智能小車提供一個解決方案。
關鍵詞:Arduino;智能小車;設計
1 Arduino及智能小車的基本概念
Arduino源于意大利的一位教授的研究,它一個開源的單板機控制器,向所有人開放其源代碼、軟硬件平臺和開發環境,目前有大量的學者使用這一平臺進行研究。
我們所說的智能小車應該區別于普通的遙控汽車和玩具,它應該具有環境的感知能力,通過各種傳感器采集環境信息并做出相應反應,能按要求自動行駛,不需要人工操縱和干預。
2 智能小車車體結構
設計智能小車首先應該確定小車的基本結構,其主要包括以下幾個部分:(1)循跡模塊:指小車利用紅外發射裝置發射紅外線后,照射物體表面返回量的多少來測定小車的具體的位置,以進行循跡。(2)舵機轉向模塊:指通過設置一定占空比的方波來控制舵機轉過的角度,舵機由于力矩大,響應速度快等優點,經常使用在自動小車轉向裝置中。(3)電機驅動模塊:指通過專用電路對電機進行驅動,單片機給出控制信號控制電機正常運轉。(4)單片機模塊:這是小車的控制中心,為設計方便,文章使用51單片機。(5)電源模塊:因設計需要,我們給小車單獨供電,設置獨立的電源模塊,使之穩定運行。
3 硬件設計
3.1 電源模塊設計
小車電源是整個系統穩定工作的前提,所以因此電源設計合理, 小車電池電壓要求在6-8V左右,在考慮電池損耗和穩壓的情況下,我們采用低壓差的穩壓芯片。同時為防止大電流器件對單片機形成的干擾,大電流器件和單片機要分開供電。
3.2 單片機系統設計
單片機是小車的控制中心,設計一個小巧單片機系統是智能小車平穩運行重要保證,在設計單片機系統時需要合理考慮調試擴展的需要,原則上要把所有IO口引出,合理集成LED顯示、蜂鳴器等外圍模塊。同時考慮單片機的電源設計,以確保系統穩定供電。
3.3 循跡模塊設計
在本設計中我們采用紅外一體式發射接收器。小車循跡就是利用紅外線照射在不同顏色的物體表面具有不同的反射強度的特點,在小車行駛過程中首先由發射器不斷地外界發射紅外光,當紅外光在遇到黑色表面時,由于黑色吸光,紅外線遇到黑線將被大部分吸收,那么反射到接收管的紅外光就較少,在電路上表現為電阻較大,當紅外光照射到白色表面時會發生漫反射,反射到接受管的紅外線就比較多,在電路上表現為電阻較小,這樣通過外接的電路檢測電路電阻的大小就可以判斷小車的行動狀態。單片機就可以依據反射回來的紅外光多少確定黑線位置和小車行走路線,使智能小車在不需要人工干預的情況下自動行駛。
3.4 舵舵機轉向模塊設計
舵機也叫做伺服電機,它可以通過程序連續控制其轉角,故經常應用在智能小車中以實現轉向要求。舵機是智能小車轉向的控制機構,舵機一般由舵盤、減速齒輪組、直流電機、位置反饋電位計、控制電路等幾部分組成。 它的工作原理是,由控制電路板通過控制信號控制電機轉動,電機帶動齒輪組,齒輪組減速,舵機轉動。同時齒輪組將帶動位置反饋電位計,電位計的變化將即時輸出一個電壓信號,控制電路板根據獲得的信號就可以決定電機的轉動方向和速度,從而控制目標。另外舵機所需電壓較大,單片機不能直接供應,因此要求舵機要和單片機分開供電,一般額定工作電壓為6V。
3.5 后輪電機驅動模塊設計
一般情況,單片機的驅動能力無法驅動電機,故必須外加驅動電路。最為常見的比如H 橋電路,這種電路由4個三極管和一個電機所組成。其基本原理是通過導通驅動電路對角線上的一對三極管,形成基本回路使電機轉動。電流在流經電機時,由于導通方式不同,可能會從左右不同的2個方向流過電機,以控制電機的向左轉還是向右轉。雖然這種電路可以方便的實現電機正反轉,但在實際使用中,因電路設計不當,較容易燒壞三極管,故在設計電路時,我們考慮用硬件電路控制三極管的開關,以避免導通錯誤。在原有基電路的基礎上設計增加 4個與門和2個非門。每一側與門控制2個三極管,非門用于區別同一側的三極管。4個與門由同一個“使能”導通信號相連, 2個非門通過提供一種方向輸人。由于非門的使用,則無論電流從哪個方向流入,在驅動電路的同側都只會有一個三極管導通,以確保電流無論從哪個方向導入都將流經電機,而不會燒壞三極管。通過改進,電機的運轉只需要用到一個使能信號和兩個方向信號。其導通原理如圖2所示,在使能信號為1的情況下,令DIR-R信號為1,DIR-L信號為0,則左側三極管Q1和右側三極管Q4將導通,電流將從Q1流經電機,再從Q4流出;反之DIR-R信號變為0,DIR-L信號變為1,那么左側三極管Q2和右側三極管Q3導通,電流則從右至左流過電機。
4 程序設計
4.1 PWM程序設計
脈沖寬度調制簡稱PWM,它是通過對一系列脈沖的寬度進行調制,對模擬電路進行控制的一種技術,它在通信、測量等領域被廣泛應用。PWM使用高分辨率的計數器對具體的模擬信號進行編碼,本質上,它依舊是數字形式,理論上,只有有足夠的帶寬,任何模擬信號都能用PWM來編碼。文章設計的51單片機的PWM的程序。
4.2 程序總體設計
程序設計是智能小車能否完成的重要環節,在設計時需要考慮全面仔細,在巡線模塊、舵機的轉動角度、后輪的驅動等幾個部分進行設計和測試。智能小車程序設計一般使用查詢方式,程序啟動,先初始化后,首先查詢光電管的狀態,小車進入循跡模式后,將不停地開始掃描I/O口是否有變化,如果有變化,則程序開始進行判斷,選擇舵機的控制信號,根據控制信號電機轉動控制舵機轉動角度,同時后輪驅動模塊控制后輪的轉速,實現小車智能控制行駛的目的。
5 結束語
目前,研究Arduino人越來越多,眾多技術愛好者都希望能親手設計一個智能小車,智能小車的設計應該包括硬件設計和軟件設計兩部分,在硬件設計部分包括電源模塊、單片機系統、循跡模塊、鴕機轉向模塊、后輪電機驅動模塊等內容,在軟件設計部分包括PWM設計、舵機控制、后輪電機控制、主程序設計等幾部分。
參考文獻
[1]胡長暉,葉夢,等.基于電磁技術的智能車路徑識別的研究[J]. 湖北師范學院學報(自然科學版),2011(2).
[2]紀欣然.基于Arduino開發環境的智能尋光小車設計[J].現代電子技術,2012(15).
[3]卞云松.基于Arduino單片機的避障小車機器人[J].自動化技術與應用,2014(1).
作者簡介:陳開軍,浙江紹興,副教授,研究方向是物聯網技術、軟件工程。endprint
摘 要:文章研究基于Arduino技術的智能小車,分析了智能小車結構,從小車的硬件設計到軟件設計進行詳細闡述,尤其對小車硬件部分進行設計,包括電源模塊、單片機系統、循跡模塊、鴕機轉向模塊、后輪電機驅動模塊等。為眾多技術愛好者設計個性化的智能小車提供一個解決方案。
關鍵詞:Arduino;智能小車;設計
1 Arduino及智能小車的基本概念
Arduino源于意大利的一位教授的研究,它一個開源的單板機控制器,向所有人開放其源代碼、軟硬件平臺和開發環境,目前有大量的學者使用這一平臺進行研究。
我們所說的智能小車應該區別于普通的遙控汽車和玩具,它應該具有環境的感知能力,通過各種傳感器采集環境信息并做出相應反應,能按要求自動行駛,不需要人工操縱和干預。
2 智能小車車體結構
設計智能小車首先應該確定小車的基本結構,其主要包括以下幾個部分:(1)循跡模塊:指小車利用紅外發射裝置發射紅外線后,照射物體表面返回量的多少來測定小車的具體的位置,以進行循跡。(2)舵機轉向模塊:指通過設置一定占空比的方波來控制舵機轉過的角度,舵機由于力矩大,響應速度快等優點,經常使用在自動小車轉向裝置中。(3)電機驅動模塊:指通過專用電路對電機進行驅動,單片機給出控制信號控制電機正常運轉。(4)單片機模塊:這是小車的控制中心,為設計方便,文章使用51單片機。(5)電源模塊:因設計需要,我們給小車單獨供電,設置獨立的電源模塊,使之穩定運行。
3 硬件設計
3.1 電源模塊設計
小車電源是整個系統穩定工作的前提,所以因此電源設計合理, 小車電池電壓要求在6-8V左右,在考慮電池損耗和穩壓的情況下,我們采用低壓差的穩壓芯片。同時為防止大電流器件對單片機形成的干擾,大電流器件和單片機要分開供電。
3.2 單片機系統設計
單片機是小車的控制中心,設計一個小巧單片機系統是智能小車平穩運行重要保證,在設計單片機系統時需要合理考慮調試擴展的需要,原則上要把所有IO口引出,合理集成LED顯示、蜂鳴器等外圍模塊。同時考慮單片機的電源設計,以確保系統穩定供電。
3.3 循跡模塊設計
在本設計中我們采用紅外一體式發射接收器。小車循跡就是利用紅外線照射在不同顏色的物體表面具有不同的反射強度的特點,在小車行駛過程中首先由發射器不斷地外界發射紅外光,當紅外光在遇到黑色表面時,由于黑色吸光,紅外線遇到黑線將被大部分吸收,那么反射到接收管的紅外光就較少,在電路上表現為電阻較大,當紅外光照射到白色表面時會發生漫反射,反射到接受管的紅外線就比較多,在電路上表現為電阻較小,這樣通過外接的電路檢測電路電阻的大小就可以判斷小車的行動狀態。單片機就可以依據反射回來的紅外光多少確定黑線位置和小車行走路線,使智能小車在不需要人工干預的情況下自動行駛。
3.4 舵舵機轉向模塊設計
舵機也叫做伺服電機,它可以通過程序連續控制其轉角,故經常應用在智能小車中以實現轉向要求。舵機是智能小車轉向的控制機構,舵機一般由舵盤、減速齒輪組、直流電機、位置反饋電位計、控制電路等幾部分組成。 它的工作原理是,由控制電路板通過控制信號控制電機轉動,電機帶動齒輪組,齒輪組減速,舵機轉動。同時齒輪組將帶動位置反饋電位計,電位計的變化將即時輸出一個電壓信號,控制電路板根據獲得的信號就可以決定電機的轉動方向和速度,從而控制目標。另外舵機所需電壓較大,單片機不能直接供應,因此要求舵機要和單片機分開供電,一般額定工作電壓為6V。
3.5 后輪電機驅動模塊設計
一般情況,單片機的驅動能力無法驅動電機,故必須外加驅動電路。最為常見的比如H 橋電路,這種電路由4個三極管和一個電機所組成。其基本原理是通過導通驅動電路對角線上的一對三極管,形成基本回路使電機轉動。電流在流經電機時,由于導通方式不同,可能會從左右不同的2個方向流過電機,以控制電機的向左轉還是向右轉。雖然這種電路可以方便的實現電機正反轉,但在實際使用中,因電路設計不當,較容易燒壞三極管,故在設計電路時,我們考慮用硬件電路控制三極管的開關,以避免導通錯誤。在原有基電路的基礎上設計增加 4個與門和2個非門。每一側與門控制2個三極管,非門用于區別同一側的三極管。4個與門由同一個“使能”導通信號相連, 2個非門通過提供一種方向輸人。由于非門的使用,則無論電流從哪個方向流入,在驅動電路的同側都只會有一個三極管導通,以確保電流無論從哪個方向導入都將流經電機,而不會燒壞三極管。通過改進,電機的運轉只需要用到一個使能信號和兩個方向信號。其導通原理如圖2所示,在使能信號為1的情況下,令DIR-R信號為1,DIR-L信號為0,則左側三極管Q1和右側三極管Q4將導通,電流將從Q1流經電機,再從Q4流出;反之DIR-R信號變為0,DIR-L信號變為1,那么左側三極管Q2和右側三極管Q3導通,電流則從右至左流過電機。
4 程序設計
4.1 PWM程序設計
脈沖寬度調制簡稱PWM,它是通過對一系列脈沖的寬度進行調制,對模擬電路進行控制的一種技術,它在通信、測量等領域被廣泛應用。PWM使用高分辨率的計數器對具體的模擬信號進行編碼,本質上,它依舊是數字形式,理論上,只有有足夠的帶寬,任何模擬信號都能用PWM來編碼。文章設計的51單片機的PWM的程序。
4.2 程序總體設計
程序設計是智能小車能否完成的重要環節,在設計時需要考慮全面仔細,在巡線模塊、舵機的轉動角度、后輪的驅動等幾個部分進行設計和測試。智能小車程序設計一般使用查詢方式,程序啟動,先初始化后,首先查詢光電管的狀態,小車進入循跡模式后,將不停地開始掃描I/O口是否有變化,如果有變化,則程序開始進行判斷,選擇舵機的控制信號,根據控制信號電機轉動控制舵機轉動角度,同時后輪驅動模塊控制后輪的轉速,實現小車智能控制行駛的目的。
5 結束語
目前,研究Arduino人越來越多,眾多技術愛好者都希望能親手設計一個智能小車,智能小車的設計應該包括硬件設計和軟件設計兩部分,在硬件設計部分包括電源模塊、單片機系統、循跡模塊、鴕機轉向模塊、后輪電機驅動模塊等內容,在軟件設計部分包括PWM設計、舵機控制、后輪電機控制、主程序設計等幾部分。
參考文獻
[1]胡長暉,葉夢,等.基于電磁技術的智能車路徑識別的研究[J]. 湖北師范學院學報(自然科學版),2011(2).
[2]紀欣然.基于Arduino開發環境的智能尋光小車設計[J].現代電子技術,2012(15).
[3]卞云松.基于Arduino單片機的避障小車機器人[J].自動化技術與應用,2014(1).
作者簡介:陳開軍,浙江紹興,副教授,研究方向是物聯網技術、軟件工程。endprint
摘 要:文章研究基于Arduino技術的智能小車,分析了智能小車結構,從小車的硬件設計到軟件設計進行詳細闡述,尤其對小車硬件部分進行設計,包括電源模塊、單片機系統、循跡模塊、鴕機轉向模塊、后輪電機驅動模塊等。為眾多技術愛好者設計個性化的智能小車提供一個解決方案。
關鍵詞:Arduino;智能小車;設計
1 Arduino及智能小車的基本概念
Arduino源于意大利的一位教授的研究,它一個開源的單板機控制器,向所有人開放其源代碼、軟硬件平臺和開發環境,目前有大量的學者使用這一平臺進行研究。
我們所說的智能小車應該區別于普通的遙控汽車和玩具,它應該具有環境的感知能力,通過各種傳感器采集環境信息并做出相應反應,能按要求自動行駛,不需要人工操縱和干預。
2 智能小車車體結構
設計智能小車首先應該確定小車的基本結構,其主要包括以下幾個部分:(1)循跡模塊:指小車利用紅外發射裝置發射紅外線后,照射物體表面返回量的多少來測定小車的具體的位置,以進行循跡。(2)舵機轉向模塊:指通過設置一定占空比的方波來控制舵機轉過的角度,舵機由于力矩大,響應速度快等優點,經常使用在自動小車轉向裝置中。(3)電機驅動模塊:指通過專用電路對電機進行驅動,單片機給出控制信號控制電機正常運轉。(4)單片機模塊:這是小車的控制中心,為設計方便,文章使用51單片機。(5)電源模塊:因設計需要,我們給小車單獨供電,設置獨立的電源模塊,使之穩定運行。
3 硬件設計
3.1 電源模塊設計
小車電源是整個系統穩定工作的前提,所以因此電源設計合理, 小車電池電壓要求在6-8V左右,在考慮電池損耗和穩壓的情況下,我們采用低壓差的穩壓芯片。同時為防止大電流器件對單片機形成的干擾,大電流器件和單片機要分開供電。
3.2 單片機系統設計
單片機是小車的控制中心,設計一個小巧單片機系統是智能小車平穩運行重要保證,在設計單片機系統時需要合理考慮調試擴展的需要,原則上要把所有IO口引出,合理集成LED顯示、蜂鳴器等外圍模塊。同時考慮單片機的電源設計,以確保系統穩定供電。
3.3 循跡模塊設計
在本設計中我們采用紅外一體式發射接收器。小車循跡就是利用紅外線照射在不同顏色的物體表面具有不同的反射強度的特點,在小車行駛過程中首先由發射器不斷地外界發射紅外光,當紅外光在遇到黑色表面時,由于黑色吸光,紅外線遇到黑線將被大部分吸收,那么反射到接收管的紅外光就較少,在電路上表現為電阻較大,當紅外光照射到白色表面時會發生漫反射,反射到接受管的紅外線就比較多,在電路上表現為電阻較小,這樣通過外接的電路檢測電路電阻的大小就可以判斷小車的行動狀態。單片機就可以依據反射回來的紅外光多少確定黑線位置和小車行走路線,使智能小車在不需要人工干預的情況下自動行駛。
3.4 舵舵機轉向模塊設計
舵機也叫做伺服電機,它可以通過程序連續控制其轉角,故經常應用在智能小車中以實現轉向要求。舵機是智能小車轉向的控制機構,舵機一般由舵盤、減速齒輪組、直流電機、位置反饋電位計、控制電路等幾部分組成。 它的工作原理是,由控制電路板通過控制信號控制電機轉動,電機帶動齒輪組,齒輪組減速,舵機轉動。同時齒輪組將帶動位置反饋電位計,電位計的變化將即時輸出一個電壓信號,控制電路板根據獲得的信號就可以決定電機的轉動方向和速度,從而控制目標。另外舵機所需電壓較大,單片機不能直接供應,因此要求舵機要和單片機分開供電,一般額定工作電壓為6V。
3.5 后輪電機驅動模塊設計
一般情況,單片機的驅動能力無法驅動電機,故必須外加驅動電路。最為常見的比如H 橋電路,這種電路由4個三極管和一個電機所組成。其基本原理是通過導通驅動電路對角線上的一對三極管,形成基本回路使電機轉動。電流在流經電機時,由于導通方式不同,可能會從左右不同的2個方向流過電機,以控制電機的向左轉還是向右轉。雖然這種電路可以方便的實現電機正反轉,但在實際使用中,因電路設計不當,較容易燒壞三極管,故在設計電路時,我們考慮用硬件電路控制三極管的開關,以避免導通錯誤。在原有基電路的基礎上設計增加 4個與門和2個非門。每一側與門控制2個三極管,非門用于區別同一側的三極管。4個與門由同一個“使能”導通信號相連, 2個非門通過提供一種方向輸人。由于非門的使用,則無論電流從哪個方向流入,在驅動電路的同側都只會有一個三極管導通,以確保電流無論從哪個方向導入都將流經電機,而不會燒壞三極管。通過改進,電機的運轉只需要用到一個使能信號和兩個方向信號。其導通原理如圖2所示,在使能信號為1的情況下,令DIR-R信號為1,DIR-L信號為0,則左側三極管Q1和右側三極管Q4將導通,電流將從Q1流經電機,再從Q4流出;反之DIR-R信號變為0,DIR-L信號變為1,那么左側三極管Q2和右側三極管Q3導通,電流則從右至左流過電機。
4 程序設計
4.1 PWM程序設計
脈沖寬度調制簡稱PWM,它是通過對一系列脈沖的寬度進行調制,對模擬電路進行控制的一種技術,它在通信、測量等領域被廣泛應用。PWM使用高分辨率的計數器對具體的模擬信號進行編碼,本質上,它依舊是數字形式,理論上,只有有足夠的帶寬,任何模擬信號都能用PWM來編碼。文章設計的51單片機的PWM的程序。
4.2 程序總體設計
程序設計是智能小車能否完成的重要環節,在設計時需要考慮全面仔細,在巡線模塊、舵機的轉動角度、后輪的驅動等幾個部分進行設計和測試。智能小車程序設計一般使用查詢方式,程序啟動,先初始化后,首先查詢光電管的狀態,小車進入循跡模式后,將不停地開始掃描I/O口是否有變化,如果有變化,則程序開始進行判斷,選擇舵機的控制信號,根據控制信號電機轉動控制舵機轉動角度,同時后輪驅動模塊控制后輪的轉速,實現小車智能控制行駛的目的。
5 結束語
目前,研究Arduino人越來越多,眾多技術愛好者都希望能親手設計一個智能小車,智能小車的設計應該包括硬件設計和軟件設計兩部分,在硬件設計部分包括電源模塊、單片機系統、循跡模塊、鴕機轉向模塊、后輪電機驅動模塊等內容,在軟件設計部分包括PWM設計、舵機控制、后輪電機控制、主程序設計等幾部分。
參考文獻
[1]胡長暉,葉夢,等.基于電磁技術的智能車路徑識別的研究[J]. 湖北師范學院學報(自然科學版),2011(2).
[2]紀欣然.基于Arduino開發環境的智能尋光小車設計[J].現代電子技術,2012(15).
[3]卞云松.基于Arduino單片機的避障小車機器人[J].自動化技術與應用,2014(1).
作者簡介:陳開軍,浙江紹興,副教授,研究方向是物聯網技術、軟件工程。endprint