999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于MSP432 的智能跟隨小車的設計

2022-08-17 09:17:28劉鴻輝
電子制作 2022年14期
關鍵詞:單片機

劉鴻輝

(西北民族大學,甘肅蘭州,730106)

1 系統框架

基于MSP432 的智能跟隨小車主要由以下幾個部分組成:提供各個模塊工作電壓的電源模塊、對小車進行人工控制的紅外遙控模塊、對實物圖像進行獲取的圖像采集模塊、產生電機驅動信號的電機驅動模塊、對所有模塊進行控制與結合的智能控制模塊。由于各模塊的工作電壓不同有3.3V、5V、12V 等,因此需要一個電源模塊來提供各個模塊的工作電壓。圖像采集模塊采用的是ATK-OV7725 圖像傳感器將采集的圖像傳輸給控制模塊進行識別,從而自動跟隨到達指定地點。紅外遙控模塊是為了方便對小車進行人工控制而添加的模塊。電機驅動模塊提供各電機工作所需的PWM 信號。智能控制模塊采用的是由TI 公司生產的MSP432 單片機進行控制。具體系統框架見圖1 所示。

圖1 系統框架圖

2 智能控制模塊

智能控制模塊采用由TI 公司生產的MSP432 單片機控制。MSP432 是一款32 位的低功耗MCU。MSP432 用與M0+相近的功耗實現了接近Cortex-M4F 的性能。MSP432系列使用Cortex -M4F 內核具有超低功耗、應用設計方便、擴展性好等特點。主要還有以下特點:MSP432 系列MCU具有多個低功率操作模式;具有32 位的Cortex -M4F 架構,針對小封裝的嵌入式應用進行了優化;具有優秀的處理能力與快速中斷處理能力;符合IEEE754 的浮點運算單元(FPU);使用高效的處理器內核、系統和儲存器;對時間苛刻的應用提供可確定的、高性能的處理;儲存器保護單元為操作系統提供特權操作模式;串行線調試和串行線跟蹤減少調試和跟蹤過程中需求的引腳數;集成多種休眠模式,使功耗更低;從ARM7 處理器系列中移植過來,以獲得更好的性能和更高的電源效率。其主要的資源有:內核:低功耗內核(可達nA 級);工作頻率:48MHz;工作電壓范圍:1.62~3.7V;運行溫度范圍:-40C°~85C°;存儲器:Flash,128KB 以上、SRAM,32KB 以上;ADC:14 位ADC;通信接口:具有UART、12C、SPI 的通信接口模塊;安全特性:具有內部看門狗等安全保護特性;電機控制:具有PWM 功能模塊;調試接口:具有JTAG 和SWD 程序寫入調試接口等。

智能控制模塊的主要功能是:對OV7725 傳輸來的圖像信號進行處理從而得到小車即將運行的方式,例如用來控制前輪方向的舵機的轉向、后輪電機的轉速等。對紅外遙控器傳輸來的信號進行處理從而修改小車的運行方式。如前進后退、加速減速等。利用MSP432 中的Timer_A 模塊的A0 產生的PWM 信號用于后輪兩個電機的驅動、A1 產生的PWM 信號用于舵機的驅動。

舵機的控制利用了位置PID 算法。所謂PID 控制,就是對偏差進行比例、積分和微分的控制。PID 由3 個單元組成,分別是比例(P)單元、積分(I)單元、微分(D)單位。在工程實踐中,一般P 是必須的,所以衍生出許多組合的PID 控制器,如PD、PI、PID 等。如本次使用的PID 算法:V1=Kongzhi_PID(P1,T1)、P1+=V1。舵機轉動的速度根據舵機的位置與即將的轉動角度而計算出用V1 表示,利用微分將值分割出很多小區間,并區間的值逐個賦值給控制舵機的寄存器。從而實現了將舵機的轉動速度變量變成了PID變量的問題。利用此種算法還可實現。

3 電機驅動模塊

■3.1 直流電機

直流電機中固定部分有主磁極與電刷,固定部分總稱為定子。轉動部分由圓柱形鐵心與繞在鐵心上的銅制繞組組成,轉動部分也稱為轉子。定子上裝設了一對直流勵磁磁鐵,分別為主磁極N 與S,轉子上裝設了電樞鐵心。電樞鐵心上放置了一個電樞線圈(在真正的電機中往往有很多線圈,此處只放置一個線圈舉例)線圈兩端各連接了兩個銅制換向器。兩個換向器都固定在定子上且與鐵心絕緣,在兩個換向器上分別固定有兩個電刷,其起到的作用是在電樞轉動時將與換向器連接的電樞線圈與外電路構成電氣連接。在電刷上施加直流電壓U,電樞線圈中的電流方向為N 極下的電樞中有效邊中的電流是同一個方向,而S 極下的電樞中有效邊的電流是另一個方向。根據左手法則判定,這樣兩個有效邊所受的洛倫茲力的方向一致,電樞開始轉動,即電機開始轉動。

簡介來說,就是把直流電機中的+和-對應接到電池的正負極,電機即可正方向轉動。如果是把直流電機中的+和-反對應接到電池的負正極,電機即可反方向轉動。電機的轉速與外接的直流電壓電壓是成正比關系(實際上由電樞電流決定)。

總而言之,我們可以調節加在電機上面的直流電壓的大小,即可實現直流電機轉速的調節,也可以改變直流電機上面所加的直流電壓的極性,即可實現電機的換向。

■3.2 直流電機驅動芯片TB6612FNG

直流電機的調速與換向的功能,是由MSP432 單片機來控制的,由于MSP432 單片機的I/O 口的輸出功率較低,即帶負載能力較弱,而直流電機是感性負載需要大電流來驅動,即需要功率較大,因此需要使用功率放大器來對MSP432 單片機的I/O 口輸出的PWM 信號進行功率放大。在這里,我們選擇了直流電機驅動芯片TB6612FNG。TB6612FNG 是由東芝半導體公司生產的一款直流電機驅動器件,它有可以雙通道輸出大電流的MOSFET-H 橋結構,最多可以同時驅動兩個直流電機工作。相比傳統利用雙H橋的電機驅動芯片L298N 來說它具有更低的損耗與更低的發熱,并且L298N 還需要外圍電路的輔助,而TB6612FNG的外圍電路極為簡單,只需一個電源濾波器即可。因此使用TB6612FNG 來驅動電機可以大大減小小車的尺寸。其可以接受的PWM 信號輸入頻率范圍較大,0~100 kHz 的頻率范圍足以滿足我們絕大部分的要求。以下是TB6612FNG 的主要參數:最大輸入電壓:VM=15V、最大輸出電流:IOUTM=3.2A。TB6612FNG 具有短路剎車/正反轉/停機等功能模式。內置有過熱保護電路與低壓檢測電路。具有良好的電機驅動性能,切成本較低。作為小車的電機驅動芯片再好不過。

4 紅外遙控模塊

往往在很多復雜的地形需要對小車進行人工的遙控控制,所以需要一個紅外遙控模塊進行輔助小車的正常運行,防止意外情況的出現,在智能模塊編寫時對于紅外遙控的信息與圖像采集模塊的信息發生沖突時,會優先于對紅外遙控的信息進行處理,防止輸出小車失控的情況出現。

小車的紅外遙控模塊采用一款新型的38kHz 通用的紅外遙控器,其采用的是NEC 編碼格式,因其是基于無線遙控,因此人們使用起來方便、有效,應用領域也越來越寬。其主要參數為:紅外遙控距離:大于8m;發射管紅外波長:940nm;晶振頻率:455kHz 的晶振;載波頻率:38kHz;編碼格式:NEC。可以看出此款紅外遙控器的功能對于遙控小車來說綽綽有余。紅外遙控器要結合紅外接收模塊使用,它負責將接收紅外遙控器發射過來的信息并將其解碼成十六進制碼,這樣才能實現既定的通信。將紅外接收模塊與Arduino 控制器正確連接,在MSP432 中對接收到的信息進行處理,即可實現紅外遙控的效果。

紅外遙控器一共有0-9、#號、*號、上下左右共十六個按鍵。紅外遙控器發送給編碼器的十六進制數的值為0x00 到0xFF 共十六個十六進制數。而每個數占4 位。其中0x0000 到0x0099 表示0-9,0x00AA 表示# 號,0x00BB表示*號,0x00CC 到0x00FF 表示上下左右。每個數的前兩位若為00 則表示只按一下,若前兩位為FF 則表示長按。如:紅外接收器收到的十六進制數為0xFFAA 即表示#號鍵長按。在小車的控制中,#號表示小車開機,需要長按,紅外接收器收到的十六進制數為0xFFAA;*號表示小車關機,需要長按,紅外接收器收到的十六進制數為0xFFBB;上下左右表示小車的行進方向,不長按表示改變運行方向但不改變速度,長按表示改變改變速度不改變運行方向。如:小車此時正在向前運行,點按后鍵小車改變運行方向向后運行,此時長按后鍵小車加速,長按前鍵小車減速。將接收器收到的十六進制數傳給單片機,由單片機實現對小車的各種運行狀態的控制。

5 圖像采集模塊

圖像采集模塊采用的是ATK-OV7725-V11 (其中V11 為版本號)攝像頭模塊,它是由ALIENTEK 公司推出的一款高性能的有著30W 像素的攝像頭模塊。該模塊采用的是由OV 公司生產的一顆僅1/4 英寸的圖像傳感器OV7725,其主要的采集像素為:640×480。該圖像傳感器的體積與以往傳感器相比較小、其工作電壓為3.3V。該圖像傳感器利用SCCB 協議總線來控制,可以輸出取窗口、整幀、子采樣等各種采樣方式的分辨率,10 位或者8 位的影像數據輸出。其 VGA 圖像的輸出最高可以達到60 幀/秒。用戶可以完全控制圖像的質量、輸出的數據格式與數據傳輸的方式。其對圖像的處理功能包括伽瑪曲線、度、色度、白平衡等,并且都可以使用SCCB 來進行編程控制。OV 公司的圖像傳感器具有獨有的較為先進的傳感器技術,通過減少或消除光學上的與電子上的缺陷比如固定圖案的托尾、噪聲、浮散等,來提高圖像的質量,從而得到較為清晰并且穩定的圖像。ATKOV7725 模塊采用OV7725 傳感器作為核心部件,集成了有源晶振和 FIFO,任意一款MCU 都可控制該模塊和讀取圖像。

對于該模塊的控制,我們只需要關心兩點:如何存儲圖像數據與如何讀取圖像數據。

攝像頭模塊存儲圖像數據的主要過程為:等待OV7725傳感器的第一個幀同步信號發出→FIFO 存儲器的寫指針置1→FIFO 存儲器使能→等待OV7725 傳感器的第二個幀同步信號發出→FIFO 存儲器寫指針禁止。通過以上的5 個主要步驟,即可實現一幀圖像數據的存儲功能。值得注意的是:FIFO 存儲器的寫指針禁止操作并不是一定需要進行的,只有當外部的MCU 在讀取完當前這一幀圖像數據之前并且此時傳感器不再采集新的一幀圖像數據的時候才需要對FIFO存儲器進行寫指針禁止的操作。

當FIFO 存儲器存儲完一幀圖像數據以后,就可以進行圖像數據的讀取工作了。一幀圖像數據的讀取工作的主要過程為:FIFO 存儲器的讀指針置0→給FIFO 存儲器的讀時鐘FIFO_RCLK 使能→讀指針讀取第一個像素數據的高字節→將值傳給FIFO_RCLK→讀指針讀取第一個像素數據的低字節→將值傳給FIFO_RCLK→讀指針讀取第二個像素數據高字節→將值傳給FIFO_RCLK→讀指針讀取剩余的像素數據→一幀圖像數據讀取完成。

具體過程框圖見圖2 所示,可以看出,攝像頭模塊的圖像數據讀取也十分簡單,比如QVGA 模式,RGB565 格式下對于一幀圖像數據只需要循環讀取320×240×2 次即可實現。將數據傳入單片機中進行識別控制就可以實現小車的跟隨,例如:在人工的后背上映有一個專門的圖案,并且具有一個此小車的專門識別編號,在小車讀到數據時,先對編號進行判斷,此編號是否為本車的編號,若與本車編號一致,開始核對圖案的相似度,若相似度超過90%即可認為需要跟隨。再對圖像的相對位置進行判斷,從而得出小車需要的運行狀態。編號一致是為了防止不同小車跟隨時出現紊亂現象,圖案是為了保證小車能穩定跟隨而不被旁邊的事物影響。相對位置進行改變小車的運行狀態用到了一個特殊的算法,當圖案偏左時說明小車偏右方,對圖案偏左的角度進行計算,從而得出小車需要轉動的角度,根據此時小車的運行速度與角度即可得出此時小車需要改變的運行方式即舵機需要轉動的角度與電機需要的速度。此時即可使小車始終位于被跟隨者的正后方。當被跟隨者消失時,小車會立即停止,并且頂部紅燈開始閃爍,并發出輕微的警報聲以此來告訴跟隨者此時小車失去目標。此外,小車還需要避障功能,當視野中出現會與小車碰撞的物體時,小車會強行改變運行方式,但是不會讓被跟隨者消失在視野中,若出現無法躲避的物體時小車頂部的藍燈開始閃爍,并發出輕微的報警聲來告訴被跟隨者小車無法前進。

圖2 圖像數據讀取與存儲過程框圖

6 電源模塊

由于各個模塊的工作電壓不同,所以需要一個電源模塊來提供各個模塊的工作電壓。電源模塊主要由升壓降壓模塊與穩壓模塊組成,由于小車配備的電池輸出電壓為12V 并且可能輸出電壓不穩定所以需要采用升降壓模塊與穩壓模塊進行結合而成的電源模塊。

如圖3 所示,直流變流電路采用Zeta 斬波電路,因為Zeta 斬波電路可以實現升壓也可以實現降壓,并且電路簡單實現較為簡單。交流逆變電路采用橋式逆變電路,只需要兩個IGBT 與兩個二極管即可實現。全波整流部分采用了全波整流橋式電路,使輸出的直流電壓不會改變并且電路只需要兩個晶閘管即可,實現極為簡單。濾波電路采用大電感濾波,只需一個較大的電感即可實現。直流輸入12V 的電壓將其變為個模塊所需的工作電壓,由于電壓可能出現不穩定的現象,將其作為輸入傳給橋式逆變電路,通過單片機的控制將輸入的直流電變為高頻的方波電壓。然后將其輸入到整流回路進行整流將高頻的方波變為直流電輸出,最后到濾波回路將帶有紋波的直流電變成所需的直流電。主電路采用Zeta 斬波電路進行斬波、后經高頻逆變得到高頻交流電壓,然后整流濾波的方法,該電源在開環時,它的負載特性較差,只有加入負反饋,構成閉環控制后,當外加電源電壓或負載變化時,均能自動控制脈沖寬度調制輸出信號的占空比,從而維持電源的輸出直流電壓在一定的范圍內保持不變,最終達到了升降壓與穩壓的效果。

圖3 電源模塊流程圖

7 系統程序設計

系統程序框圖如圖4 所示,在小車的程序設計中紅外控制優先于圖像控制,即人工控制高于自動控制。在紅外遙控有信息發來時,MSP432 對紅外信息優先處理,按照紅外遙控信息改變小車的運行狀態。小車的避障功能會在紅外沒有發送信息時起到作用對小車的運動狀態進行修正。當需要避障時,MSP432 對前方障礙物的大小及方位進行估算,進而計算出小車需要改變的速度及允許方向,當距離較近時會緊急使用減速程序對小車進行減速操作防止小車碰上障礙物。只有在小車不處于紅外控制即處于自動智能跟隨行駛MSP432 才會對攝像頭信息進行處理而產生新的運動狀態從而改變舵機的轉向與轉速,電機的轉速等。

圖4 系統程序框圖

在程序中,紅外接收器將傳來的信息轉為一個4 位的十六進制數傳給MSP432,在程序中有錯誤信息識別功能,當發來的數不為4 位的十六進制數或者其數與規定的數字不符時會對錯誤信息進行過濾刪除從而不影響小車的正常運行,并內置蜂鳴器低鳴兩聲告訴操控者信息錯誤需要重新控制。由于小車可能有時需要進行推拉物品,此時可以選擇將避障功能關閉或者使用紅外控制。部分可以體現紅外控制優先于圖像控制的代碼如圖5 所示。只有當紅外控制沒有信息傳遞來時才會啟用圖像控制,而避障功能的函數內置于TuXiang()函數中,這也就表現了紅外控制優于一切自動控制,即人工控制優先。

圖5 部分程序示意圖

8 結束語

隨著科技的不斷發展,智能小車代替人工的行業越來越多,搬運倉儲行業首當其沖,一款能夠跟隨人工并且能有紅外遙控優先權的小車顯得尤為突出。在代替人工以及保證安全的同時,它能做到搬運更多物品,造價低,具有很高的性價比。可見,在不久的將來,智能跟隨小車將會在代替人工的企業中發揮著它的價值。

猜你喜歡
單片機
基于單片機的SPWM控制逆變器的設計與實現
電子制作(2019年13期)2020-01-14 03:15:28
基于單片機的層次漸變暖燈的研究
電子制作(2019年15期)2019-08-27 01:12:10
基于單片機的多功能智能插排
電子制作(2019年11期)2019-07-04 00:34:48
基于單片機的便捷式LCF測量儀
電子制作(2019年9期)2019-05-30 09:42:02
小議PLC與單片機之間的串行通信及應用
電子制作(2018年12期)2018-08-01 00:48:04
MSP430單片機在仿真中要注意的幾點問題
電子制作(2017年9期)2017-04-17 03:00:53
基于單片機的平衡控制系統設計
電子制作(2017年19期)2017-02-02 07:08:27
基于單片機的三維LED點陣設計
電子制作(2016年21期)2016-05-17 03:52:51
Microchip推出兩個全新PIC單片機系列
基于Proteus的單片機控制系統的仿真設計
主站蜘蛛池模板: 欧美色视频网站| 精品久久久久久中文字幕女| 亚洲欧美成人在线视频| 国产sm重味一区二区三区| 伊人久久婷婷五月综合97色| 色综合热无码热国产| av一区二区三区在线观看| 四虎在线高清无码| 91啦中文字幕| 日本欧美视频在线观看| 99热这里只有成人精品国产| 91福利免费| 思思热精品在线8| 久久福利网| 特级毛片免费视频| 国产成人在线小视频| 欧美在线视频a| 欧美不卡在线视频| 国产成人免费| 国内精品手机在线观看视频| 666精品国产精品亚洲| 91在线视频福利| 奇米影视狠狠精品7777| 在线免费观看a视频| 国产精品蜜芽在线观看| 中文精品久久久久国产网址| 天天视频在线91频| 99激情网| 国产成人a毛片在线| 日本五区在线不卡精品| 国产偷倩视频| 日本爱爱精品一区二区| 无码中文字幕乱码免费2| 国产99视频精品免费视频7| 亚洲热线99精品视频| 亚洲欧洲美色一区二区三区| 国产欧美在线视频免费| 精品人妻AV区| 99在线小视频| 日韩天堂视频| 狠狠色香婷婷久久亚洲精品| 日本精品影院| 成人免费午夜视频| 国产一级视频久久| 在线观看网站国产| 婷婷丁香在线观看| 色有码无码视频| 国产精品入口麻豆| 欧洲精品视频在线观看| 热99精品视频| 亚洲高清无码精品| 国产区精品高清在线观看| 中文字幕第4页| 六月婷婷精品视频在线观看| 成人日韩视频| 久久 午夜福利 张柏芝| 欧美国产日韩在线| 第一页亚洲| 国产va视频| 国产精品亚洲欧美日韩久久| P尤物久久99国产综合精品| 永久在线精品免费视频观看| 国产精品成人AⅤ在线一二三四| 国产女人在线观看| 国产精品网址你懂的| 欧美日本不卡| 国产精欧美一区二区三区| 欧美色香蕉| 亚洲国产精品日韩欧美一区| 亚洲AⅤ波多系列中文字幕| 呦女亚洲一区精品| 青草娱乐极品免费视频| 老色鬼久久亚洲AV综合| 91免费国产高清观看| 国产毛片基地| 91成人免费观看| 精品一区二区无码av| 波多野结衣亚洲一区| 这里只有精品在线播放| 一边摸一边做爽的视频17国产 | 性网站在线观看| 久久精品人人做人人|