《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于STM32F107的搬運機器人電機控制系統設計
基于STM32F107的搬運機器人電機控制系統設計
電子設計工程
摘要: 針對搬運機器人的前輪轉向舵機和后輪驅動電機的控制要求,采用以Cortex-M3為內核的STM32F107作為主控制器,采用嵌入實時操作系統μC/OS-II,將程序分成啟動任務、電機轉速控制任務、舵機控制任務等相對獨立的多個任務,并設定了各任務的優先級。該系統能較好地實現搬運機器人的運動控制。
Abstract:
Key words :

作者:李 輝,郭文成,陳浩

引言

    隨著人工成本的不斷升高,用機器人代替人力去做一些重復性的高強度的勞動是現代機器人研究的一個重要方向。搬運機器人在導航尋跡中,需要后輪驅動電機和前輪舵機的協調工作。搬運機器人電機驅動有其特殊的應用要求,對電機的動態性能要求較高,能在任意時刻到達控制需要的指定位置并且使舵機停止在任意角度;電機驅動的轉矩變化范圍大,既有空載平整路面行使的高速度、低轉矩工作環境,也有滿負載爬坡的運行工況,同時還要求保持較高的運行效率。根據以上的技術要求,本文選用了控制技術成熟,易于平滑調速的直流電機作為搬運機器人的執行饑構。

1 系統的硬件設計

1.1 機器人電機控制器硬件結構

    主控制器采用Cortex-M3內核的STM32F107。控制器內部共有8個定時器,其中TIM1_CH1和TIM8_CH1為高級控制定時器引腳,TIM1_CH1用于電機編碼器計數。TLM8_CH1用于舵機控制基準時間。通用定時器引腳TIM2 CH1、TIM3 CH1、TIM4_CH1、TIM5_CH1分別用于電機和舵機驅動電路上下橋壁PWM的產生。

    觸發EXIT0中斷的PA0口和PB0口分別用于電機和舵機的過流中斷保護。觸發EXIT1中斷的PA1口和PB1口用于舵機兩側限位保護。電機驅動電路采用自舉升壓芯片IR2103和MOSFET管75N75,后輪電機和舵機的相電流采集是通過康銅絲轉換成電壓,通過放大濾波處理,分別送至STM3 2F107的A/D采樣引腳ADC12_IN1實現過電流保護。通過上位機串口通信或STM32F107內部程序速度給定,控制電機的正反轉、速度及舵機的轉向。搬運機器人電機控制硬件結構框圖如圖1所示。
b.JPG
1.2 模塊的選擇與設計

1.2.1 功率驅動的設計

    電機的供電電源是由24 V的蓄電池提供,額定功率為240W,由4個75N75組成橋式電路來實現。75N75是MOSFET功率管,其最高耐壓75V,最高耐流75 A,電機驅動電路如圖2所示。
c.JPG

    Q1、Q4和Q2、Q3分別組成兩個橋路,分別控制電機的正轉和反轉。高端驅動的MOS管導通時源極電壓和漏極電壓相同且都等于供電電樂VCC,所以要實現MOS管正常的驅動,柵極電壓要比VCC大,這就需要專門的升壓芯片IR2103。控制器產生的PWM信號輸入HIN引腳,控制器I/O口輸出的EN1、EN2作為使能信號。輸出端HO就可得到比VCC要高的電壓,且高出的電壓值正好是充在電容兩端的電壓。二極管提高導通速度,使得75N75的導通電阻更小,降低了開關管的損失。同時IR2103的兩個輸出口HO、LO具有互鎖功能,防止由于軟件或硬件錯誤造成的電機上下橋臂直通造成短路。

1.2.2 過流保護的設計

    在電機控制系統中安裝過流保護有兩方面的意義:一是防止在電機正常運行時,電機出現超載或堵轉而使得電樞繞組電流過大損害電機甚至引發火災;另一方面是由于電機肩動時啟動電流很大,往往不能直接啟動,既需要等勵磁繞組逐漸建立磁場后再正常運行,又希望電機以盡量快的速度肩動起來。有了過流保護對電流進行斬波,可以使電機安全快速地啟動。過流保護原理圖如圖3所示。
d.JPG


    電機的相電流通過康銅絲轉換成電壓信號Vtext,經過運算放大器放大后的模擬量AD1送至控制器A/D轉換模塊,同時將經過電壓比較器比較后的數字量EVA送至控制器的外部中斷口。

2 系統的軟件設計

2.1 μC/OS-II的體系結構

    μC/OS-II是一種可移植的、可植入ROM的、可裁剪的、搶占式的實時多任務操作系統內核,具有執行效率高、占用空間小、實時性能優良和可擴展性強等特點,最小內核可編譯至2 KB。μC/OS-II是用C語言和匯編語言編寫的,其中絕大部分代碼郜是用C語言編寫的,只有極少部分與處理器密切相關的代碼是用匯編語言編寫。μC/OS-II僅僅包含了任務調度、任務管理、時間管理、內存管理、任務間的通信和同步等基本功能。
2.2 μC/OS-II系統下任務的分配

    成功地將μC/OS-Ⅱ系統移植到STM32F107后,基于μC/OS-II的程序設計是將一個大的應用程序分成相對獨立的多個任務來完成。定義好每個任務的優先級,μC/OS-II內核對這些任務進行調度和管理。

    軟件設計思路是根據機器人實際運行的需要由上位機通過串口對電機轉速和舵機轉動位置進行給定。電機的轉速是由設定的速度值和由增量式編碼器的采集值相比較,經過速度PID算法實現閉環控制。舵機的位置主要是由絕對值式編碼器反饋現在位置,根據動作時間要求調節舵機轉動的速度。本搬運機器人電機控制系統軟件要實現的功能如下:

    ◆上位機給定電機轉速、舵機轉動角度和動作時間;

    ◆要求電機轉速連續可調并且具有良好的靜、動態性能,轉速沒計采用PI算法調節;

    ◆要求舵機快速到達指定角度,有位置反饋作為舵機給定轉速的調整;

    ◆具有一定的故障保護功能。當電機出現堵轉、電流過大以及舵機觸動限位開關時,要求停止驅動模塊工作。

    針對以上要實現的功能,可以將應用程序設計分為以下幾個任務:

    ①啟動任務。對系統進行初始化,創建初始電機狀態,然后自我刪除,啟動任務進入睡眠狀態。

    ②電機和舵機保護任務。用于在過流或限位開關動作時響應外部中斷,進入中斷狀態通過發任務信號量,任務程序檢測信號量有效并響應該任務,停止輸出。任務優先級設為0級。

    ③上位機給定任務。用于上位機控制電機和舵機,任務優先級設為1級。上位機數據輸入寄存器時將產生一個中斷,該中斷將收到的字節送入緩沖區并釋放上位機給定任務的信號量;任務中檢測到信號量有效便開始執行,將對應的字節信息解析成對應的電機轉速和舵機轉角位置信息給相應變量賦值。

    ④電機轉速控制任務。用于電機的閉環調速,任務優先級設為2級。

    ⑤舵機控制任務。用于控制舵機在規定時間內到達指定位置,任務優先級設為3級。

2.3 啟動任務

    主程序中,在調用μC/OS-II的其他任務之前,首先調用系統初始化函數OSInit(),初始化μC/OS-II所有的變量和數據結構;同時,建立空閑任務OS_TaskIdle(),這個任務總是處于就緒態;調用OSTaskCreate()函數建立啟動任務;調用OSStart(),將控制權交給μC/OS-II內核,開始運行多任務。

    啟動任務是在主程序中創建的,它主要有3個功能:

    ①用于系統初始化(PWM輸出模塊、串口、ADC模塊、輸入電平中斷功能、定時器)。

    ②建立系統所要用到的信號量。

    ③建立系統的其他任務。

    最后調用OSTaskDel(OS_PRIO_SELF)進行自我刪除,啟動任務進入睡眠狀態。主程序任務流程如圖4所示。
e.JPG


2.4 電機轉速控制任務

    增量式編碼器每次產生外部中斷,在中斷狀態中發出任務信號量,任務程序檢測信號量有效并響應該任務,任務中通過測得電機當前轉速和給定速度對比實現閉環控制。電機轉速控制任務流程如圖5所示。
f.JPG
2.5 舵機控制任務

    舵機控制由一個定時器產生基準時間,每隔固定時間發送信號量,任務都將執行一次。舵機控制任務將對絕對值編碼器測出的位置和給定的位置進行比較,根據剩余時間調整舵機的轉速。舵機控制任務流程如圖6所示。
g.JPG

3 系統機電接口

    機器人的舵機由直流電機外連一個30:1的減速機組成。絕對式位置編碼器同舵機相連,將舵機的角度信號送到驅動器控制板中。機器人前輪的兩個軸由傳動桿相連,其中一個軸由傳動帶與舵機相連,這樣在舵機轉動時,傳動帶帶動傳動桿,保證兩個前輪能夠同步轉動。后輪驅動電機為直流電機,直接與增量式編碼器相連,經減速比為25:1減速機減速后,經機械差速器驅動后輪轉動。增量式編碼器的信號同樣送到驅動器控制板中。機電系統結構如圖7所示。
a.JPG

結語

    本文實現了搬運機器人的電機和舵機控制器硬件的設計,成功地在STM32F107上嵌入了實時操作系統μC/OS-II,完成了電機和舵機的轉速閉環實驗。利用Cortex-M3內核控制器和μC/OS-II系統多任務實時性的特點,為后續的機器人圖像視頻采集和導航尋跡提供了軟硬件基礎。如果對現有PI算法進行改進,并且能夠實現電機速度和電流雙閉環控制,則機器人電機的特性將會更好,搬運機器人的應用前景將更加廣闊。

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
国产婷婷精品| 日韩一级免费| 欧美日韩另类字幕中文| 六十路精品视频| 久久久夜精品| 久久精品视频在线免费观看| 欧美亚洲综合网| 欧美亚洲综合另类| 欧美一区二区日韩一区二区| 午夜日韩福利| 欧美影院成人| 久久国产免费看| 久久久久欧美| 米奇777在线欧美播放| 欧美mv日韩mv国产网站| 欧美插天视频在线播放| 欧美激情视频网站| 欧美激情综合亚洲一二区| 欧美精品97| 欧美视频三区在线播放| 国产精品扒开腿爽爽爽视频| 国产精品久久久久久久久搜平片| 国产精品久久久久免费a∨| 国产精品日韩一区二区| 国产日韩精品一区二区| 国内自拍一区| 亚洲国产精品欧美一二99| 亚洲人午夜精品| 亚洲视频电影图片偷拍一区| 亚洲视频在线观看网站| 亚洲免费影视第一页| 欧美中文在线字幕| 亚洲黄色高清| 中文精品视频| 欧美亚洲一级片| 久久裸体视频| 欧美激情国产精品| 欧美日韩精品欧美日韩精品一| 欧美午夜影院| 国产亚洲视频在线| 亚洲国产高清自拍| 一本色道久久综合精品竹菊| 亚洲欧美一区二区激情| 亚洲国产天堂久久综合| 妖精成人www高清在线观看| 亚洲欧美激情一区二区| 久久久噜噜噜久久狠狠50岁| 欧美国产日本在线| 国产精品久久777777毛茸茸| 国内欧美视频一区二区| 亚洲国产毛片完整版| 亚洲深夜激情| 亚洲福利视频专区| 亚洲视频视频在线| 久久久蜜桃精品| 欧美精品久久久久久久| 国产精品一区二区三区观看| 伊人婷婷欧美激情| 一区二区三区国产在线| 久久xxxx精品视频| 在线视频精品| 久久久久久久国产| 欧美美女视频| 国产欧美亚洲视频| 亚洲乱码国产乱码精品精天堂| 午夜国产精品视频| 99精品国产在热久久婷婷| 欧美一区高清| 欧美区亚洲区| 国产亚洲欧洲997久久综合| 亚洲伦理在线观看| 久久精品视频在线播放| 亚洲欧美综合精品久久成人| 欧美电影免费| 国产自产精品| 亚洲视频视频在线| 亚洲精选中文字幕| 久久久99爱| 国产精品二区二区三区| 亚洲国产老妈| 久久国产精品网站| 亚洲综合国产激情另类一区| 欧美大秀在线观看| 国内精品久久久| 亚洲一区二区三区久久| 日韩网站在线看片你懂的| 久久久夜色精品亚洲| 国产精品一区久久久| 亚洲日本中文字幕免费在线不卡| 久久国产精品一区二区| 亚洲欧美激情一区| 欧美精品久久久久久久| 在线观看91精品国产麻豆| 午夜天堂精品久久久久| 亚洲欧美不卡| 欧美日韩一区二区欧美激情| 亚洲国语精品自产拍在线观看| 亚洲电影中文字幕| 久久精品官网| 国产精品美女久久久浪潮软件 | 狠狠综合久久av一区二区老牛| 在线午夜精品自拍| 在线午夜精品| 欧美高清在线| 亚洲大胆人体视频| 亚洲电影av在线| 久久久久久成人| 国产日韩欧美一区二区三区在线观看| 亚洲特色特黄| 亚洲主播在线| 欧美视频在线观看| 99视频国产精品免费观看| 日韩亚洲欧美一区二区三区| 欧美成人a视频| 1024成人网色www| 亚洲国产小视频| 免费成人美女女| 在线观看日韩精品| 亚洲黄色一区| 欧美国产丝袜视频| 亚洲国产专区校园欧美| 亚洲精品偷拍| 欧美另类专区| 亚洲免费播放| 亚洲一区视频在线观看视频| 欧美午夜国产| 亚洲视频一区二区| 亚洲一区中文| 国产精品稀缺呦系列在线| 亚洲欧美第一页| 久久成人羞羞网站| 国产亚洲欧洲| 亚洲福利专区| 欧美电影免费| 99国产精品久久久久老师| 亚洲一区二区高清| 国产精品美女www爽爽爽| 亚洲男同1069视频| 久久精品国产第一区二区三区最新章节 | 欧美在线一区二区三区| 久久五月激情| 久久爱www.| 99国产精品视频免费观看| 欧美肥婆bbw| 亚洲日本黄色| 亚洲欧美激情一区| 国产一区二区久久久| 亚洲电影免费观看高清完整版在线| 美日韩精品视频| 亚洲日本va午夜在线影院| 亚洲午夜精品在线| 国产精品亚洲人在线观看| 欧美一区二区啪啪| 欧美成年人视频网站欧美| 亚洲精一区二区三区| 亚洲欧美日本伦理| 国产最新精品精品你懂的| 亚洲人成在线免费观看| 欧美三级视频在线播放| 欧美亚洲日本一区| 模特精品在线| 亚洲婷婷国产精品电影人久久| 久久国产主播| 亚洲国产小视频在线观看| 亚洲伊人第一页| 黑人巨大精品欧美黑白配亚洲 | 91久久精品网| 欧美日韩亚洲一区二区三区在线观看 | 好吊视频一区二区三区四区| 亚洲日本中文字幕| 国产精品久久久久毛片大屁完整版| 欧美在线精品免播放器视频| 欧美另类极品videosbest最新版本| 亚洲影院在线观看| 欧美成人精品h版在线观看| 一本色道久久综合| 久久久久久久久伊人| 99re8这里有精品热视频免费| 久久久国产精品一区二区三区| 亚洲精品字幕| 久久久无码精品亚洲日韩按摩| 日韩视频在线观看国产| 久久久久综合| 亚洲视频自拍偷拍| 免费亚洲网站| 欧美亚洲日本网站| 欧美啪啪成人vr| 久久成人综合网| 国产精品成人aaaaa网站| 亚洲国产精品va| 国产麻豆综合| 99精品黄色片免费大全| 国产专区欧美精品| 亚洲欧美日韩天堂一区二区| 亚洲激情国产| 久久久亚洲综合| 亚洲午夜免费福利视频| 欧美黄色一区| 久久精品99无色码中文字幕| 国产精品网站在线播放|