新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 自動巡線與人工遙控相結合的太陽能運輸小車

        自動巡線與人工遙控相結合的太陽能運輸小車

        作者: 時間:2017-06-03 來源:網絡 收藏

        本文引用地址:http://www.104case.com/article/201706/347391.htm

        引言

        本文設計的智能小車是一種集實時采集傳感器信號、自動方向控制及速度調節等技術于一體的自動小車。系統通過單片機進行采集信號和控制分析。采集的信號包括引導線檢測電路的信號,碼盤檢測的信號,紅外遙控的信號等。把分析結果與預設值相對比,從而控制小車的運行情況。小車可以把貨物從A地自動運輸到B地。當小車檢測到有貨物時自動前行,到達目的地時自動停止。當貨物被取下時小車自動回到原始的位置,重新開始下一次的運輸。系統主要由以下幾個模塊組成:單片機模塊,驅動電路模塊,引導線檢測模塊,碼盤測速模塊,充放電控制模塊,紅外遙控信號模塊。必要時還可以將系統檢測到的信息傳遞給上位機進行監測。系統組成原理框圖如圖1所示:

        圖1 系統組成原理框圖

        1.系統軟件設計

        系統采用c語言進行程序設計,具有很強的可操作性。并且主要有主程序和

        中斷子程序構成。主程序控制框圖2所示:

        圖2 系統軟件設計框圖

        2.各部分硬件組成及功能實現

        I充放電控制模塊

        組成:光伏電池陣列,蓄電池,充放電控制系統,AVR單片機。

        電源的選擇

        太陽能小車光伏供電系統的關鍵是太陽能電池和蓄電池之間的合理配置。光伏電池通常由單晶硅、多晶硅、非晶硅和化合物等材料組成,目前國內光伏材料的光電轉化效率一般為14%左右。本裝置中的太陽能電池板的型號為NZ6161,6個太陽能電池板串聯成一組,然后兩組并聯,使太陽能電池陣列輸出電壓達到2V*6=12V,輸出電流約為0.6A。與此相配備的蓄電池的氫鎳電池,型號為QNFZ10,其主要技術指標:額定容量為10Ah,標稱電壓為1.2V,如果將10個蓄電池串聯成一組,然后兩組并聯,輸出電壓將達到1.2V*10=12V。

        蓄電池充放電控制。為了保證蓄電池的正常工作,系統必須有自動控制和保護功能。當有足夠的太陽光照射時,多余的能量就給蓄電池充電;當太陽能電池功率不足時,由蓄電池給小車供電;系統對蓄電池的過充、過放等狀態進行實時監控,蓄電池放過充的電路原理如圖3所示。

        圖3 太陽能充放電控制電路

        U1-PA1端測得蓄電池充電的電壓值,通過A/D采樣后與門限電壓值相比較,若超過設定值時,單片機U1-PA0輸出高電平,Q1 MOSFET導通,將蓄電池切離充電回路,并熄滅充電指示燈。當U1-PA1端測得蓄電池的電壓值低于設定值時,切斷輸出回路,以避免蓄電池電量過放。

        圖4 蓄電池充放電模塊軟件設計框圖

        II 驅動電路模塊

        組成:L298驅動芯片,四個電機,單片機

        控制系統主要由L298驅動芯片和7404組成。采用后輪驅動,前面的左右兩輪控制方向的模式。前面的左右兩輪采用同種差勁運動結構的小車,依靠輪子的速度差進行轉向,當兩邊輪子的速度相同時向前運行,速度不同時進行轉彎,左輪速度比右輪速度快時向右轉彎,右輪速度比左輪速度快時向左轉彎,同時選用小車時要注意小車的速度,不能選擇速度過快的小車,因為小車行駛過快,不易控制它的轉彎。驅動電路如圖5所示。

        圖5 驅動電路控制模塊

        III 引導線檢測模塊

        組成:反射式紅外發射-接收器

        這里的引導線檢測是指小車可以在白色地板上沿著黑線行走。反射式紅外發射-接收器對黑白比較敏感,靈敏度高,且電路簡單,完全滿足系統要求。

        反射式紅外發射-接收器檢測到信號后與比較器LM324 的參考電壓相比較,當檢測不到黑線時,發射管發出的光經面板反射后被接收管接收,接收管導通,LM324同向電壓低(≈0V);當檢測到黑線時,發射管發出的紅外光將不被接收管接收,接收管截止,LM324同向電壓高(=Vcc)。

        由于小車不可能始終保持在一個方向上,必然會偏離黑色軌道,為了使小車在偏離軌道后,能調整方向,重新回到軌道上,系統需要將路面的狀態及時的以電信號的形式反饋到控制部分,控制部分控制前輪驅動電機,使小車重新回到軌道上來。

        圖6 引導線檢測電路

        如圖6所示,R1,R4起限流電阻的作用,紅外發射二極管發出光線,當反射物體為白色時,光反射到紅外接收的三極管,三極管的發射極和集電極導通,此時運算放大器的同向輸入端輸入為低電平,放大器的輸出端輸出為低電平,當反射物體為黑色時,光反射到紅外接收的三極管,三極管的發射極和集電極截止,此時運算放大器的同向輸入端為高電平,放大器的輸出端輸出為高電平,通過調節R2可以調整檢測的靈敏度。

        表1 巡線電路輸出真值表

        圖7 運行狀態指示圖

        從巡線電路輸出真值表中可以看出,當小車行駛狀態不一樣時,三個傳感器輸出值也對應不同,單片機結合各傳感器送入的值,作出不一樣的反應,如輕微右偏時單片機控制小車向左轉彎,從而使小車回到正常的路徑上。

        當小車檢測到的信號為000時,可能發生了兩種情況:

        第一,小車已經嚴重的偏離了正常的運行軌道;第二,引導線有暫時的中斷。對于第一種情況應該立即停車,而對于第二種情況應該進行判斷。判斷的方法是,讓小車繼續前行,如果繼續行駛了2-3秒仍然未檢測到信號則判定為偏離軌道;如果檢測到了引導線信號,則可繼續前行。

        IV 碼盤測速模塊:

        儀器:紅外光電碼盤

        安裝在車后輪上,用來測定小車速度,如有必要可通過無線通信系統傳遞給上位機,進行分析和處理。

        圖8 紅外光電碼盤

        V 紅外遙控模塊

        組成:遙控器,紅外線接收器

        信號接收裝置主要有二極管、TSOP34836芯片及相應的電路構成。電路圖如圖9所示:

        圖9紅外信號接收電路

        軟件設計:

        紅外線遙控器通過RC5代碼傳輸數據,而RC5數據包包含了設備地址、鍵盤編碼器和一個觸發器。5位的設備地址告訴哪個設備被遙控器控制。而對于本文的使用,設備地址也可以用來滿足一些單獨設備的使用。6位的編碼器附和按鍵遙控允許傳輸其他的數據,但對于每個傳輸僅僅提供6位編碼器附和按鍵遙控。

        在AVR—GCC環境下。RC5數據包可以通過使用void IRCOMM—sendRC5(unit8_t adr,unit8_t data)函數傳輸。其中,adr相當于設備地址;data相當于鍵盤編碼器。參數adr允許在重要的位(MSB)通過申請常量TOGGLEBIT來設置觸發位,方式如下:IRCOMM sendRC5 (12lTOG.GLEBIT,40);這個指令將通過地址12傳輸一個RC5數據包給設備,激活觸發位并且以40作為數據值,如IRCOMM—sendRC5(12,40)。

        事件處理程序可以管理RC5的數據接收,只要RC5數據包接收,事件處理程序將自動地被task ACS0函數調用。例如寫一個程序,程序的要求是如果機器人接收到鍵盤編碼4號鍵,小車會向左轉;接收到鍵盤編碼6號鍵則向右轉。

        對于事件處理程序規定必須相應采用void receiveRC5Data(RC5data_t rc5data)形式,但也可以自由地命名函數。可以通過IRCOMM_setRC5DataReadyHandler(receiveRC5Data)函數允許記錄一個預定的事件處理程序。在這之后,專用的函數將被每個有效的RC5接收的代碼調用。值得一提的是:RC5data_t是專門的預定義的數據類型.包含RC5設備地址、觸發位和鍵盤編碼(分別有對應的值)。可以通過標識符rc5data.device、rc5data.toggle_bit、rc5data.key_codet21就像使用變量一樣地使用這些數據。程序流程圖如圖10所示:

        圖10紅外檢測電路軟件設計框圖

        結束語

        近年來,太陽能”綠色交通工具“被公認為很有發展前途,并迅速發展,被廣泛應用于家庭、休閑、公園等場所。本次設計的小車將集成化和智能化的理念較好地融入到控制系統設計中,所采用的AVR單片機其電路簡單、故障率低、可靠性高,成本低廉,并且高速、低耗、保密。結合太陽能與AVR單片機兩者的優點,實現了造價低廉,功能實用,節能節源的目的。本次設計的小車只是一個自動運輸電動汽車的縮影,今后可推廣應用于大功率太陽能電瓶車或電動汽車的控制場合,實現自動運輸功能。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 琼海市| 巩留县| 缙云县| 鸡泽县| 牟定县| 冀州市| 屏东县| 阿图什市| 青冈县| 长丰县| 阿城市| 博乐市| 北海市| 固始县| 元江| 凤阳县| 乌什县| 金山区| 堆龙德庆县| 九龙坡区| 虹口区| 浦北县| 西贡区| 灵丘县| 磐石市| 余江县| 庐江县| 临清市| 永德县| 离岛区| 盐亭县| 洪雅县| 肥西县| 铜山县| 乌鲁木齐县| 张家川| 永州市| 邓州市| 五寨县| 永福县| 库伦旗|