0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于STM32F103芯片為控制核心的磁導(dǎo)航AGV驅(qū)動器

電子設(shè)計 ? 來源:eefocus ? 作者:eefocus ? 2021-04-06 14:14 ? 次閱讀

AGV系統(tǒng)在當(dāng)前柔性制造系統(tǒng)(FMS)和自動化倉儲系統(tǒng)中扮演著重要的角色。AGV具有適應(yīng)性好、柔性程度高、可靠性好、可實現(xiàn)生產(chǎn)和搬運功能的集成化和自動化等優(yōu)點[1]。

AGV的導(dǎo)航方式主要有激光導(dǎo)航、電磁導(dǎo)航、視覺導(dǎo)航、GPS(全球定位系統(tǒng))導(dǎo)航、磁導(dǎo)航等,本文主要針對磁導(dǎo)航方式的AGV進(jìn)行深入探討,磁導(dǎo)航AGV主要是基于磁導(dǎo)航傳感器感應(yīng)貼在路面上的磁條進(jìn)行路徑跟蹤并完成其自主行駛的功能。

磁導(dǎo)航傳感器通過檢測鋪設(shè)在地面上的磁條來判斷AGV與目標(biāo)路徑的偏差,然后輸出電壓模擬量[2]。對于磁導(dǎo)航AGV驅(qū)動器的設(shè)計,為更好地滿足通用性需求,需要對現(xiàn)有驅(qū)動器的組成單元進(jìn)行總結(jié)和歸納,并且結(jié)合實際需求,找出共同點和不同點,為磁導(dǎo)航AGV通用驅(qū)動器的設(shè)計找到突破口。

通過查閱相關(guān)文獻(xiàn),對磁導(dǎo)航AGV驅(qū)動器的組成有了一個總體認(rèn)識,主要包括單片機單元、供電單元、手動控制單元、聲光報警單元、站點識別單元、工位檢測單元、電機驅(qū)動單元、CAN總線單元、避障單元、磁導(dǎo)航單元、姿態(tài)反饋單元、通信單元、安全輔助單元等 [35]。

1 驅(qū)動器硬件電路設(shè)計

在對磁導(dǎo)航AGV驅(qū)動器的組成單元進(jìn)行分析之后,本文提出了一種基于STM32F103芯片為控制核心的通用驅(qū)動器,它包含以下模塊:單片機模塊、電源模塊、DI/DO模塊、RFID讀寫模塊、DAC輸出模塊、ADC采集模塊、CAN總線通信模塊、高速編碼器,安全模塊以及串口通信模塊,這些模塊與磁導(dǎo)航AGV驅(qū)動器的組成單元之間的對應(yīng)關(guān)系如表1所列。

由表1可以看出,提出的通用驅(qū)動器設(shè)計方案可以滿足磁導(dǎo)航AGV對主要組成單元的需求。該驅(qū)動器可同時控制兩個電機以及采集相應(yīng)的速度,還可同時采集兩路磁條傳感器輸出的模擬電壓,對于執(zhí)行復(fù)雜功能的AGV而言,可以增加驅(qū)動器的數(shù)量以滿足要求,各驅(qū)動器之間可以通過CAN總線保持動作協(xié)調(diào)一致,共同完成指定的動作。

各個模塊對應(yīng)不同的功能和作用,各司其職,互相配合,完成指定的功能。各模塊的主要作用如表2所列。

1.1 單片機模塊

本設(shè)計采用STM32作為控制芯片,此芯片基于ARM CortexM3內(nèi)核,具有高性能、低成本、低功耗的特點。另外,此芯片的可移植性很好,并有許多官方函數(shù)庫可以直接調(diào)用,大大縮短了開發(fā)周期。STM32F103系列有80個可以自由操控的芯片引腳,為通用驅(qū)動器的設(shè)計提供了良好的條件。此驅(qū)動器采用模塊化設(shè)計,有利于驅(qū)動器功能擴展和升級。本驅(qū)動器控制板是由STM32F103的最小系統(tǒng)、電源電路實時時鐘系統(tǒng)、時鐘電路、JTAG接口電路、復(fù)位電路、用戶LED和按鍵電路、串口電路等組成。

1.2 電源模塊

AGV大多數(shù)通過鉛酸蓄電池供電,通過將小電壓大容量的鉛蓄電池串聯(lián)起來就可以構(gòu)成高電壓大容量的電池組,通常所用電池組為24 V,因此通過電壓轉(zhuǎn)換芯片將24 V轉(zhuǎn)換為5 V電壓,再將5 V轉(zhuǎn)換為3.3 V,為STM32芯片、MAX3232等供電。電路中需要加入多組電容,用于消除低頻和高頻的電源波動。

1.3 DI/DO模塊

手動操作器和必要的輸入/輸出信號需要多路DI/DO,因此本驅(qū)動器引出了多達(dá)16路的數(shù)字量輸入和16路的數(shù)字量輸出,輸入和輸出電壓為24 V。為了消除外界對驅(qū)動板的影響,在信號輸入部分采用光電耦合器進(jìn)行隔離,由于電信號傳輸具有單向性等特點,可以達(dá)到良好的電絕緣能力和抗干擾能力;在信號輸出部分采用繼電器控制輸出24 V,并達(dá)到物理隔離的效果。根據(jù)光電耦合器二極管允許壓降1.15 V和允許電流10 mA,可以計算出輸入端接入的電阻阻值,公式為:

依據(jù)標(biāo)稱電阻表選擇電阻的阻值為2.2 kΩ。

1.4 CAN總線模塊

由于高性能、高可靠性、及獨特的設(shè)計,CAN總線(控制器局域網(wǎng)絡(luò))越來越受到人們的重視。它可以多主站方式工作,網(wǎng)絡(luò)上任意一個節(jié)點均可以在任意時刻主動地向網(wǎng)絡(luò)上的其他節(jié)點發(fā)送信息,而不分主從;通信方式靈活,可以添加多達(dá)255個節(jié)點。本驅(qū)動器中STM32自帶有CAN控制器,只需要接入一個CAN收發(fā)器即可完成CAN模塊的設(shè)計。

1.5 DAC模塊

DAC模塊主要用于控制電機的轉(zhuǎn)速,這與電機驅(qū)動器的選型有關(guān),電機的控制需要輸入0~10 V的模擬量來控制電機的速度,電機速度的可調(diào)節(jié)范圍是70~4 096 rpm,因此DAC輸出的電壓和電機速度存在一定的對應(yīng)關(guān)系,其對應(yīng)關(guān)系如下所示:

其中,n為電機的轉(zhuǎn)速大?。▎挝粸閞/min),U為DAC輸出的電壓大?。▎挝粸?V)。

為了能夠更好地控制電機,需要輸出的電壓穩(wěn)定且有一定的驅(qū)動能力,由此在原理圖設(shè)計時,首先通過電壓轉(zhuǎn)換芯片把24 V轉(zhuǎn)換為±12 V,再將產(chǎn)生的+12 V的電壓轉(zhuǎn)換為5 V模擬量,最后將5 V轉(zhuǎn)換為+1.25 V和+2.5 V的標(biāo)準(zhǔn)參考電壓,其中+2.5 V的參考電壓接入STM32的 VREF+引腳,作為DAC和ADC的參考電壓。

由于芯片輸出的DAC模擬量的帶負(fù)載能力較弱且電壓輸出范圍只有0~2.5 V,因此,加入運算放大器以提高帶負(fù)載能力,在參考電壓+1.25 V的參考下,將0~2.5 V的輸出范圍變?yōu)?1.25~+1.25 V的輸出范圍,再放大8倍即可達(dá)到設(shè)計要求的0~+10 V的輸出范圍。

放大倍數(shù)可以通過調(diào)節(jié)運算放大器外圍電路中的4個電阻的阻值來改變,另外在設(shè)計時,考慮到電阻阻值的不精確,用可調(diào)電阻替換其中一個電阻,最后調(diào)試PCB板時,通過調(diào)節(jié)這個可調(diào)電阻,使輸出電壓可以達(dá)到10 V。

1.6 ADC模塊

磁導(dǎo)航AG V中的磁條傳感器輸出來的偏差信號是通過電壓反映出來的,具體的比例關(guān)系如圖1所示。由圖1可以看出偏差與傳感器輸出的電壓在一定范圍內(nèi)成正比,GATE用于指示傳感器是否在磁條上。ADC的參考電壓為+2.5 V,傳感器輸出電壓范圍是0~+10 V,采用電阻分壓的方法將0~10 V變?yōu)?~2.5 V,將測量范圍擴大4倍,如果想改變測量范圍,可以改變分壓電阻的阻值。

1.7 高速編碼器模塊

高速編碼器主要依靠STM32上的高速計時器來完成,采集電機輸出來的脈沖信號,將脈沖信號轉(zhuǎn)換為速度值,可以和DAC形成一個速度閉環(huán)控制。另外,對實時速度在時間上積分就可以得到行走的距離,對AGV的實時控制和顯示有用。脈沖信號和速度的具體對應(yīng)關(guān)系如下:

n為電機的轉(zhuǎn)速大?。▎挝粸閞/min),tp為高速編碼器采集到的信號高電平的時間(單位為μs)。

2 系統(tǒng)軟件設(shè)計

系統(tǒng)軟件設(shè)計采用C語言進(jìn)行編寫,編譯器采用IAR 5.3,底層驅(qū)動器軟件控制流程如圖2所示,中斷流程如圖3所示。

程序采用模塊化編程,將各個模塊分別寫到不同的子函數(shù)中,這樣便于調(diào)試、移植和修改。本文采用中斷模式來協(xié)調(diào)實現(xiàn)AGV各項功能,中斷模式中的中斷優(yōu)先級根據(jù)任務(wù)的重要程度來確定,緊急信號中斷的優(yōu)先級最高,CAN總線和串口中斷次之,定時器4的中斷優(yōu)先級最低。定時器4每隔50 ms溢出一次,整個程序執(zhí)行一次,執(zhí)行的過程中讀取磁條傳感器狀態(tài)值,確定當(dāng)前的偏差,根據(jù)糾偏算法控制AGV車的運行狀態(tài)。在糾偏算法中,根據(jù)不同的車型、不同的傳感器位置,建立不同的控制模型,進(jìn)而更好地控制AGV按照設(shè)定好的路線行進(jìn)。

對于不同功能的AGV,軟件控制也不相同,上文中的控制流程圖只針對一種車型,對其他車型,控制方式只需加入相應(yīng)功能的程序模塊即可。

3 試驗測試

該通用驅(qū)動器目前已在3種車型上進(jìn)行過試驗,這3種車型分別是:差速AGV、單舵輪AGV叉車和雙轉(zhuǎn)向架全向AGV,實物圖如圖4所示。前兩種AGV車只需一個驅(qū)動器,雙轉(zhuǎn)向架全向AGV車則需要兩個驅(qū)動器來控制,根據(jù)不同AVG建立不同的數(shù)學(xué)模型[6],完成試驗。

為了測試硬件設(shè)計和軟件設(shè)計是否合理,鋪設(shè)了一段環(huán)形磁條測試三種AGV,測試的路徑示意圖如圖5所示。圖5中1、2、3、4處分別放置編號為1、2、3、4的RFID標(biāo)簽

測試過程如下:

① 將AGV置為手動模式,通過手操器控制AGV運動,能夠快速地完成指定的動作。

② 將AGV置為自動模式,AGV沿著鋪設(shè)的軌跡行走,完成在指定點處執(zhí)行相應(yīng)的動作。

③ 在自動模式下,按下急停按鈕,保證車在緊急狀態(tài)下停止運行。

④ 在自動模式下,在軌跡上放上雜物,AGV在接觸到物品時會自動停止運行。

經(jīng)過測試,3種AGV車都可以沿著鋪設(shè)的磁條穩(wěn)定行進(jìn),并在指定的工位執(zhí)行相應(yīng)的動作,實現(xiàn)基本功能。

結(jié)語

本文設(shè)計的磁導(dǎo)航AGV通用驅(qū)動器采用STM32F103作為主控芯片實現(xiàn)AGV基本功能,在3種車型上能夠穩(wěn)定地工作,實現(xiàn)基本功能,并且模塊化設(shè)計給硬件調(diào)試和檢測提供了很大的方便,可擴展性很高。后期可以根據(jù)功能的需求增加或刪減相應(yīng)的模塊,從而降低成本,增強產(chǎn)品的競爭力。

編輯:hfy

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • STM32
    +關(guān)注

    關(guān)注

    2257

    文章

    10828

    瀏覽量

    352454
  • STM32F103
    +關(guān)注

    關(guān)注

    33

    文章

    475

    瀏覽量

    63207
  • AGV
    AGV
    +關(guān)注

    關(guān)注

    26

    文章

    1217

    瀏覽量

    40835
  • 磁導(dǎo)航
    +關(guān)注

    關(guān)注

    0

    文章

    5

    瀏覽量

    7681
收藏 人收藏

    評論

    相關(guān)推薦

    如何使用STM32F103控制LTC2662?

    使用STM32F103控制LTC2662
    發(fā)表于 07-04 07:46

    STM32F103xC,STM32F103xD,STM32F103xE中文資料

    電子發(fā)燒友網(wǎng)站提供《STM32F103xC,STM32F103xD,STM32F103xE中文資料.pdf》資料免費下載
    發(fā)表于 06-17 14:12 ?1次下載

    如何使用STM32F103硬件SPI驅(qū)動AD5313?

    使用STM32F103硬件SPI驅(qū)動AD5313
    發(fā)表于 06-04 07:17

    32位基于ARM核心的帶512K字節(jié)閃存的微控制器STM32F103xC, STM32F103xD, STM32F103xE數(shù)據(jù)手冊

    電子發(fā)燒友網(wǎng)站提供《32位基于ARM核心的帶512K字節(jié)閃存的微控制器STM32F103xC, STM32F103xD, STM32F103
    發(fā)表于 05-24 14:33 ?0次下載

    stm32f103 CANbus控制器對于擴展幀格式的srr位怎么設(shè)置成低電平?

    這周 用stm32f103芯片自帶的can控制器 驅(qū)動外部的can發(fā)射 ,用擴展幀發(fā)現(xiàn) srr位一直
    發(fā)表于 05-17 07:44

    ARM系列STM32F103芯片的解密方法

    本文介紹ARM系列STM32F103芯片的解密方法,其內(nèi)核是Cortex-M3,內(nèi)存從16K-512K都有。
    發(fā)表于 02-28 11:20 ?1262次閱讀

    stm32f103 flash模擬eeprom

    STM32F103是意法半導(dǎo)體(STMicroelectronics)推出的一款32位單片機系列,該系列芯片具有高性能和豐富的外設(shè)接口,廣泛應(yīng)用于工業(yè)控制、消費電子、汽車電子等領(lǐng)域。其中
    的頭像 發(fā)表于 01-09 11:21 ?1628次閱讀

    在GD32F103移植STM32F103代碼

    使用相同F(xiàn)LASH和管腳數(shù)量相同的芯片,例如GDF103C8T6移植STM32F103C8T6程序。雖然兩個款芯片的寄存地址以及架構(gòu)基本相
    的頭像 發(fā)表于 12-15 13:37 ?1339次閱讀
    在GD32<b class='flag-5'>F103</b>移植<b class='flag-5'>STM32F103</b>代碼

    gd32f103可以完全替代stm32f103

    GD32F103是中國廠商GigaDevice推出的一款低成本、高性能的微控制器產(chǎn)品線。STM32F103是意法半導(dǎo)體(STMicroelectronics)的旗艦產(chǎn)品之一,享有良好的聲譽和廣泛
    的頭像 發(fā)表于 12-07 11:26 ?3809次閱讀

    基于STM32F103的直流電機pid調(diào)節(jié)閉環(huán)控制

    基于STM32F103的直流電機pid調(diào)節(jié)的閉環(huán)控制,主要模塊:NOKIA5110顯示屏紅外測速模塊
    發(fā)表于 11-27 16:50 ?6次下載

    STM32CubeIDE下配置STM32F103輸出帶死區(qū)的互補PWM波

    STM32F103的TIM1和TIM8是高級定時,可以產(chǎn)生嵌入死區(qū)時間的互補PWM波,使用STM32CubeIDE完成相關(guān)配置,可以直接生成代碼,輸出帶死區(qū)的PWM波。
    的頭像 發(fā)表于 11-01 09:41 ?5774次閱讀
    <b class='flag-5'>STM32</b>CubeIDE下配置<b class='flag-5'>STM32F103</b>輸出帶死區(qū)的互補PWM波

    學(xué)習(xí)STM32F103的ADC功能

    三勺最近在學(xué)習(xí)STM32F103的ADC功能,居然連最簡單的獨立模式的單通道的電壓采集都不能實現(xiàn),這就不能忍了,這是對智商的侮辱。
    的頭像 發(fā)表于 10-24 16:06 ?1766次閱讀
    學(xué)習(xí)<b class='flag-5'>STM32F103</b>的ADC功能

    學(xué)習(xí)STM32F103的DAC功能

    三勺最近在學(xué)習(xí)STM32F103的DAC功能,本文主要解釋在配置DAC寄存實現(xiàn)相應(yīng)功能時遇到的一些問題。
    的頭像 發(fā)表于 10-24 16:00 ?2071次閱讀
    學(xué)習(xí)<b class='flag-5'>STM32F103</b>的DAC功能

    學(xué)習(xí)STM32F103的定時功能

    三勺最近在學(xué)習(xí)STM32F103的定時功能,本文主要解釋在配置通用、基本、高級定時寄存實現(xiàn)相應(yīng)功能時遇到的一些問題。
    的頭像 發(fā)表于 10-24 15:49 ?2382次閱讀
    學(xué)習(xí)<b class='flag-5'>STM32F103</b>的定時<b class='flag-5'>器</b>功能

    使用中等密度STM32F103xx微控制器驅(qū)動雙極步進(jìn)電機

    電子發(fā)燒友網(wǎng)站提供《使用中等密度STM32F103xx微控制器驅(qū)動雙極步進(jìn)電機.pdf》資料免費下載
    發(fā)表于 10-07 15:11 ?0次下載
    使用中等密度<b class='flag-5'>STM32F103</b>xx微<b class='flag-5'>控制器</b><b class='flag-5'>驅(qū)動</b>雙極步進(jìn)電機