亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于STM32的運(yùn)動(dòng)小車設(shè)計(jì)

        2022-06-02 03:27:30
        電大理工 2022年1期
        關(guān)鍵詞:直流電機(jī)編碼器端口

        吳 琳

        (遼寧裝備制造職業(yè)技術(shù)學(xué)院,遼寧沈陽 110161)

        0 引言

        傳統(tǒng)運(yùn)動(dòng)小車的嵌入式系統(tǒng)通常使用單片機(jī),從構(gòu)成上來看,包括硬件系統(tǒng)和軟件系統(tǒng)。軟件系統(tǒng)可以使用STM32CubeIDE,是ST公司基于Eclipse/CDT框架和GUN GCC工具鏈制作的免費(fèi)IDE,并集成了STM32CubeMX,可以實(shí)現(xiàn)STM32系列芯片的外圍設(shè)備配置、代碼生成、代碼編輯、代碼編譯、在線調(diào)試,并且支持?jǐn)?shù)百個(gè)Eclipse現(xiàn)有插件[1]。

        1 系統(tǒng)介紹

        運(yùn)動(dòng)小車主要由STM32單片機(jī)開發(fā)板、DRV8837驅(qū)動(dòng)模塊、編碼直流電機(jī)模塊、OLED顯示模塊、電源模塊等組成,圖1是運(yùn)動(dòng)小車系統(tǒng)組成圖[2]。采用編碼器對(duì)電機(jī)速度進(jìn)行檢測(cè),采用STM32CubeIDE軟件配置定時(shí)器PWM、硬件編碼器和SPI來控制直流電機(jī)的運(yùn)動(dòng)形態(tài)并在顯示屏上顯示速度。

        圖1 運(yùn)動(dòng)小車控制系統(tǒng)組成圖

        2 硬件設(shè)計(jì)

        2.1 編碼直流電機(jī)和驅(qū)動(dòng)模塊

        STM32單片機(jī)通過定時(shí)器輸出PWM來控制編碼直流減速電機(jī),通過改變PWM波的占空比來實(shí)現(xiàn)電壓大小的調(diào)節(jié),從而控制直流電機(jī)的轉(zhuǎn)速[3]。STM32單片機(jī)輸出電壓為3.3 V,而要驅(qū)動(dòng)的編碼直流減速電機(jī)的電壓一般都大于3.3 V,所以STM32單片機(jī)是無法直接驅(qū)動(dòng)電機(jī)的。因此可以使用電機(jī)驅(qū)動(dòng)DRV8837來幫助單片機(jī)來驅(qū)動(dòng)電機(jī)轉(zhuǎn)動(dòng),由電機(jī)驅(qū)動(dòng)來提供驅(qū)動(dòng)電機(jī)的電壓與電流。直流電機(jī)的轉(zhuǎn)速特別快,直流減速電機(jī)內(nèi)部安裝了一個(gè)減速器來降低電機(jī)的轉(zhuǎn)速,因?yàn)闇p小轉(zhuǎn)速后可以增強(qiáng)電機(jī)可控性。

        電機(jī)上有高精度編碼器,電機(jī)轉(zhuǎn)動(dòng)一圈,電機(jī)上的A、B兩個(gè)霍爾傳感器就會(huì)輸出A相和B相固定個(gè)數(shù)的方波,精度越高的編碼器輸出方波的個(gè)數(shù)就越多。所以測(cè)量單位時(shí)間內(nèi)A相輸出的方波個(gè)數(shù)就可以知道電機(jī)在單位時(shí)間內(nèi)轉(zhuǎn)了幾圈,也就是轉(zhuǎn)速。也可以測(cè)量B相輸出的方波來測(cè)量速度,這里采用四倍頻技術(shù)獲得更高的精度。判別直流電機(jī)正反轉(zhuǎn)時(shí),當(dāng)A相“正跳變”時(shí),如果B相是高電平,那么就是正轉(zhuǎn),反之是反轉(zhuǎn)[4]。

        GA12-N20編碼直流電機(jī)模塊如圖2所示,首先需要P2排座給電機(jī)輸入5 V電源,通過圖中U2模塊的AMS1117[5]電壓轉(zhuǎn)換芯片,將5 V電源轉(zhuǎn)換成3.3 V,這個(gè)3.3 V電壓主要是為了U1模塊DRV8837電機(jī)驅(qū)動(dòng)芯片進(jìn)行供電。電機(jī)驅(qū)動(dòng)芯片DRV8837需要輸入兩路PWM信號(hào),可由P2端口提供,再由電機(jī)驅(qū)動(dòng)芯片輸出兩路信號(hào)控制編碼直流電機(jī)[6]。編碼直流電機(jī)轉(zhuǎn)動(dòng)時(shí),高精度編碼器會(huì)輸出兩路脈沖信號(hào),通過P5模塊采集脈沖信號(hào),計(jì)算轉(zhuǎn)速。

        圖2 編碼直流電機(jī)和驅(qū)動(dòng)模塊

        GA12-N20直流電機(jī)內(nèi)部有減速比為1∶30的減速裝置,即理論上電機(jī)轉(zhuǎn)軸旋轉(zhuǎn)1圈碼盤旋轉(zhuǎn)30圈。碼盤上有兩個(gè)開關(guān)型霍爾傳感器,有7個(gè)磁點(diǎn)。當(dāng)采集單個(gè)開關(guān)型霍爾傳感器的一路脈沖時(shí),碼盤旋轉(zhuǎn)1圈,就會(huì)產(chǎn)生7個(gè)脈沖信號(hào)。所以當(dāng)電機(jī)轉(zhuǎn)軸旋轉(zhuǎn)1圈時(shí),碼盤就會(huì)旋轉(zhuǎn)30圈,采集一路信號(hào)就會(huì)產(chǎn)生210個(gè)脈沖。

        編碼器硬件連接如圖3所示,利用16p排線通過P11端口將核心板與擴(kuò)展版連接,連接后,通過4p排線將P9端口與P5端口再進(jìn)行連接,P9端口引出的D0、D1可以對(duì)應(yīng)不同的核心板,在這里就是對(duì)應(yīng)的P11端口定時(shí)器中斷I/O口PI5、PI6,通過查詢數(shù)據(jù)手冊(cè)可知,PI5是TIM8_CH1,PI6 是 TIM8_CH2,STM32CubeIDE軟件要按照定時(shí)器端口進(jìn)行配置。

        圖3 編碼器硬件連接

        如圖4所示,通過4p排線將擴(kuò)展版中的P10端口與編碼直流電機(jī)和驅(qū)動(dòng)模塊的P2端口連接就可以控制直流電機(jī)。A0和A1端口分別對(duì)應(yīng)PA5和PA1,這兩個(gè)引腳都支持PWM輸出,通過PWM輸出脈沖來控制直流電機(jī)。

        圖4 直流電機(jī)連接

        2.2 OLED顯示模塊

        OLED顯示模塊電路主要由4個(gè)部分組成,包括OLED 2.42寸液晶顯示屏U5、P1端口、電壓轉(zhuǎn)換電路U4和升壓轉(zhuǎn)換電路U3,如圖5所示。P1是通信顯示接口,U4將5 V電壓轉(zhuǎn)換成3.3 V電壓提供給OLED作為邏輯電平,U3是將5V轉(zhuǎn)換成13V給OLED提供顯示電壓。

        圖5 OLED顯示模塊電路

        2.2.1 OLED2.42寸液晶顯示屏

        在控制液晶顯示屏?xí)r,OLED屏每個(gè)像素點(diǎn)都是獨(dú)立的,需要為每一個(gè)像素點(diǎn)進(jìn)行賦值。如果直接用單片機(jī)通過地址進(jìn)行賦值,那么屏幕顯示速度非常慢,所以在屏幕上用一個(gè)控制器,當(dāng)單片機(jī)將數(shù)據(jù)發(fā)送給控制器時(shí),控制芯片直接將數(shù)據(jù)寫入屏幕中呈現(xiàn)出相應(yīng)的圖形。

        控制器使用SSD1309控制芯片,它是一款用于有機(jī)/聚合物發(fā)光二極管點(diǎn)陣圖形顯示系統(tǒng)的帶控制器的單片CMOS OLE/PLED驅(qū)動(dòng)器。它有128個(gè)段和64個(gè)公共區(qū)組成,專為普通陰極型OLED面板設(shè)計(jì)。

        SSD1309控制器有5種總線接口模式:8-bit 8080、8-bit 6800、3-wire SPI、4-wire SPI和I2C。此時(shí)SSD1309控制器中BS1和BS2接地,所以需要通過4-wire SPI進(jìn)行通信。SPI通信是一種高速、全雙工、同步的通信總線,并且在芯片的管腳上只占用四根線,節(jié)約了芯片的管腳,同時(shí)為PCB的布局節(jié)省空間。使用OLED片選信號(hào)端CS#、復(fù)位OLED端RES#、命令/數(shù)據(jù)標(biāo)志端DC#(0讀寫命令、1讀寫數(shù)據(jù))、時(shí)鐘線 D0(SCLK)、數(shù)據(jù)輸入端 D1(SDIN)。

        2.2.2 升壓轉(zhuǎn)換電路

        升壓轉(zhuǎn)換電路的作用就是將5 V電壓轉(zhuǎn)換成13 V電壓,利用MT3608升壓轉(zhuǎn)換器來實(shí)現(xiàn)。MT3608升壓轉(zhuǎn)換器是一個(gè)恒定頻率,6腳SOT23電流模式階躍變換器,開關(guān)頻率1.2 MHz,允許使用微型低成本電容器,該芯片的特點(diǎn)是在輕負(fù)載時(shí)自動(dòng)切換到脈沖頻率調(diào)制模式,并且包括低壓閉鎖、限流和熱過載保護(hù)。升壓轉(zhuǎn)換電路輸出電壓可以利用式(1)求得。

        查詢技術(shù)手冊(cè)可知VREF=0.6 V,而電路中R7=10KΩ,R8=470Ω所以計(jì)算可得Vout=13.37 V,這樣就實(shí)現(xiàn)了升壓目的。

        3 軟件設(shè)計(jì)

        3.1 參數(shù)配置

        按照系統(tǒng)硬件構(gòu)成在軟件STM32CubeIDE中配置STM32芯片引腳[7],配置時(shí)鐘源、時(shí)鐘中斷、通道及模式、分頻系數(shù)等參數(shù)保證編碼直流電機(jī)和OLED有正確的控制功能。利用參數(shù)配置可以控制電機(jī)、OLED的顯示和計(jì)算電機(jī)的轉(zhuǎn)速。

        例如配置定時(shí)器輸出PWM信號(hào)的步驟如圖6所示。首先將PA5端口配置為“TIM2_CH1”,PA1端口配置為“TIM2_CH2”模式。然后配置TIM2,選擇內(nèi)部時(shí)鐘源,通道1和通道2都選擇PWM形式,最后配置定時(shí)器的頻率,如圖7所示,這樣PWM信號(hào)就配置完成。

        圖6 配置PA5和PA1端口

        圖7 配置定時(shí)器TIM2

        3.2 關(guān)鍵程序設(shè)計(jì)

        車輛運(yùn)動(dòng)控制系統(tǒng)的關(guān)鍵是編碼直流電機(jī)的轉(zhuǎn)動(dòng)和OLED的顯示。其中編碼直流電機(jī)的轉(zhuǎn)動(dòng)需要STM32單片機(jī)發(fā)出PWM信號(hào)給驅(qū)動(dòng)芯片來控制電機(jī)正轉(zhuǎn)、反轉(zhuǎn)和停止,所以要完成PWM比較值的設(shè)定以及OLED顯示程序的設(shè)計(jì)。

        3.2.1 PWM控制程序

        PWM的模式選擇采用向上計(jì)數(shù)時(shí),當(dāng)計(jì)數(shù)值大于比較值時(shí),輸出高電平,當(dāng)計(jì)數(shù)值小于比較值時(shí),輸出低電平。PWM設(shè)定程序如下:當(dāng)value大于零時(shí),將此值賦予通道1并且通道2賦予0,這時(shí)就實(shí)現(xiàn)電機(jī)正轉(zhuǎn)功能;反之value小于零,則將此負(fù)值取反變成正值賦予通道2,而通道1賦予0,此時(shí)實(shí)現(xiàn)電機(jī)反轉(zhuǎn)功能。比較值變低時(shí),高電平時(shí)間變長(zhǎng),即PWM占空比變大,可以通過調(diào)節(jié)PWM占空比調(diào)節(jié)電機(jī)轉(zhuǎn)速;當(dāng)比較值變成0時(shí),整個(gè)周期輸出是高電平,此時(shí)驅(qū)動(dòng)芯片輸入兩路高電平,電機(jī)就停止。

        3.2.2 OLED顯示程序

        首先觸發(fā)編碼器定時(shí)器,設(shè)定碼盤初始值、電機(jī)初始轉(zhuǎn)速、初始速度,通過Get_Motor_Encoder_Val()函數(shù)獲得實(shí)時(shí)狀態(tài)的碼盤值、電機(jī)轉(zhuǎn)速,并在OLED中顯示。

        4 數(shù)據(jù)顯示

        運(yùn)動(dòng)小車速度顯示如圖8所示,通過按鍵啟動(dòng)系統(tǒng),占空比初始值為50%,調(diào)節(jié)占空比可以看出隨著占空比變大,碼盤值變大,速度也變快,車輛控制系統(tǒng)得以實(shí)現(xiàn)。

        圖8 車輛控制系統(tǒng)顯示

        5 結(jié)束語

        本文通過使用STM32CubeIDE、STM32單片機(jī)、編碼直流電機(jī)和OLED顯示屏進(jìn)行軟硬件結(jié)合,進(jìn)行運(yùn)動(dòng)小車的設(shè)計(jì)。該系統(tǒng)的設(shè)計(jì)是基于STM32CubeMX的開發(fā)模式,這種方法可以根據(jù)應(yīng)用需求使用圖形化配置工具對(duì)MCU片上外設(shè)進(jìn)行配置,然后生成基于HAL庫(kù)和LL庫(kù)的初始化代碼,最后將生成的代碼導(dǎo)入集成開發(fā)環(huán)境并進(jìn)行編輯。從以上研究可以看出,利用嵌入式技術(shù),基于STM32的小車設(shè)計(jì),能夠?qū)崿F(xiàn)精準(zhǔn)的速度控制和啟停控制,控制性能優(yōu)越,具有較高的應(yīng)用價(jià)值。

        猜你喜歡
        直流電機(jī)編碼器端口
        基于模糊PID的無刷直流電機(jī)速度控制系統(tǒng)的設(shè)計(jì)與仿真
        一種端口故障的解決方案
        基于FPGA的同步機(jī)軸角編碼器
        端口阻塞與優(yōu)先級(jí)
        基于FPGA的雙繞組無刷直流電機(jī)軟件設(shè)計(jì)
        電子制作(2017年1期)2017-05-17 03:54:12
        基于PRBS檢測(cè)的8B/IOB編碼器設(shè)計(jì)
        JESD204B接口協(xié)議中的8B10B編碼器設(shè)計(jì)
        電子器件(2015年5期)2015-12-29 08:42:24
        初識(shí)電腦端口
        電腦迷(2015年6期)2015-05-30 08:52:42
        生成樹協(xié)議實(shí)例探討
        基于模糊神經(jīng)網(wǎng)絡(luò)PID的無刷直流電機(jī)控制系統(tǒng)研究
        日韩国产一区二区三区在线观看| 欧美极品美女| 国产精品久久综合桃花网| 日韩女同一区在线观看| 亚洲一区二区国产激情| 天下第二社区在线视频 | 亚洲色图视频在线| 免费福利视频二区三区| 国产亚洲精品在线视频| 寂寞少妇做spa按摩无码| 99久久夜色精品国产网站| 69搡老女人老妇女老熟妇| 日本一区二区在线免费看| 国模雨珍浓密毛大尺度150p| 熟女俱乐部五十路二区av| 中文字幕日韩人妻高清在线| 亚洲天堂av一区二区| 亚洲av日韩av天堂久久| 奇米影视久久777中文字幕| 厕所极品偷拍一区二区三区视频| 亚洲一区二区三区偷拍厕所| 亚洲伊人一本大道中文字幕| 国产久视频国内精品999| av免费一区在线播放 | 久久久亚洲精品一区二区三区 | 人妻少妇久久中文字幕| 永久免费无码av在线网站| 亚州五十路伊人网| 国产精品国产三级国产专区不| 亚洲av综合a色av中文| 欧美日韩性视频| 国产午夜福利av在线麻豆| 国产成人a级毛片| 无码熟妇人妻av在线影片| 亚洲综合国产成人丁香五月小说| 海外华人在线免费观看| 亚洲中文字幕久久无码精品| 中文字幕AⅤ人妻一区二区| 女同另类专区精品女同| 国产果冻豆传媒麻婆精东| 成年男女免费视频网站|