技術(shù)頻道

娓娓工業(yè)
您現(xiàn)在的位置: 中國傳動網(wǎng) > 技術(shù)頻道 > 技術(shù)百科 > 舵機(jī)驅(qū)動電路原理圖:基于AVR單片機(jī)的舵機(jī)驅(qū)動電路詳解

舵機(jī)驅(qū)動電路原理圖:基于AVR單片機(jī)的舵機(jī)驅(qū)動電路詳解

時間:2018-06-04 15:53:31來源:網(wǎng)絡(luò)轉(zhuǎn)載

導(dǎo)語:?舵機(jī)(servomotor),又名伺服電機(jī),主要是由外殼、電路板、馬達(dá)、減速齒輪和電位器構(gòu)成。舵機(jī)主要適用于那些需要角度不斷變化并可以保持的控制系統(tǒng),比如人形機(jī)器人的手臂和腿,車模和航模的方向控制。目前,市面上的成熟的舵機(jī)工業(yè)產(chǎn)品都來自日本、韓國和我國臺灣地區(qū)。

舵機(jī)(servomotor),又名伺服電機(jī),主要是由外殼、電路板、馬達(dá)、減速齒輪和電位器構(gòu)成。舵機(jī)主要適用于那些需要角度不斷變化并可以保持的控制系統(tǒng),比如人形機(jī)器人的手臂和腿,車模和航模的方向控制。目前,市面上的成熟的舵機(jī)工業(yè)產(chǎn)品都來自日本、韓國和我國臺灣地區(qū)。本文基于舵機(jī)工作的基本原理,選用Atmega8L單片機(jī)作為舵機(jī)電路板控制芯片,對舵機(jī)控制進(jìn)行了一系列實驗,并取得了很好的實驗效果。

舵機(jī)工作原理

控制信號由接收機(jī)的通道進(jìn)入信號調(diào)制芯片,獲得直流偏置電壓。它內(nèi)部有一個基準(zhǔn)電路,產(chǎn)生周期為20ms,寬度為1.5ms的基準(zhǔn)信號,將獲得的直流偏置電壓與電位器的電壓比較,獲得電壓差輸出。最后,電壓差的正負(fù)輸出到電機(jī)驅(qū)動芯片決定電機(jī)的正反轉(zhuǎn)。當(dāng)電機(jī)轉(zhuǎn)速一定時,通過級聯(lián)減速齒輪帶動電位器旋轉(zhuǎn),使得電壓差為0,電機(jī)停止轉(zhuǎn)動。

基于AVR單片機(jī)的舵機(jī)驅(qū)動電路原理圖

1、舵機(jī)驅(qū)動電路板接受上位機(jī)PWM信號對電機(jī)控制

舵機(jī)的轉(zhuǎn)角范圍通常是0到180度,舵機(jī)的轉(zhuǎn)角通常由脈寬來控制,一般舵機(jī)都會有三根輸入線(電源正,地,信號線),PWM信號由信號線輸入,上位機(jī)產(chǎn)生周期為20ms左右的方波作為輸入信號,方波的占空比決定舵機(jī)轉(zhuǎn)的角度。如圖1所示:

根據(jù)以上原理,設(shè)計出以下實驗電路(圖2)。通過Atmega8L單片機(jī)和電機(jī)專用驅(qū)動芯片L298N的連接實現(xiàn)了舵機(jī)工作的基本原理。

AVR單片機(jī)是Atmel公司8位RISC結(jié)構(gòu)的單片機(jī)。具有系統(tǒng)內(nèi)可編程存儲器Flash電擦寫可編程存儲器EEPROM隨機(jī)訪問存儲器RAM模數(shù)A/D轉(zhuǎn)換器、大量I/0口、16/8位定時器、RS-232通訊接口UART,兩線串行接口TWI以及其他很多功能的單片集成電路。本文采用的是AVR系列常用型號的產(chǎn)品ATMega8L系統(tǒng)時鐘頻率使用外部晶振7.3728Mhz,工作電壓5V。

L298是雙H型橋高電壓大電流集成電路,可用來驅(qū)動繼電器、線圈、直流電動機(jī)和步進(jìn)電動機(jī)等。原理圖如圖3所示,Vss接邏輯控制的電源。Vs為電機(jī)驅(qū)動電源。IN1-IN4輸入引腳為標(biāo)準(zhǔn)TTL邏輯電平信號,ENAENB引腳則為使能控制端。本來是通過IN1--IN4輸入用來控制H型橋的開與關(guān)即實現(xiàn)電機(jī)的正反轉(zhuǎn)。ENA、ENB使能控制端,用來輸入PWM信號實現(xiàn)電機(jī)調(diào)速。本文使用了L298N的一組H型橋,ENA使能控制端一直導(dǎo)通,輸入IN1,IN2PWM信號來控制電機(jī)速度和轉(zhuǎn)向。

2、單片機(jī)初始化包括I/O口、定時器、A/D轉(zhuǎn)換的初始化

上位機(jī)發(fā)出的PWM信號通過Atmega8L的一個I/0口讀入,為了讀取PWM信號的高電平時間,采用計數(shù)方式,使用Atmega8L的T0計數(shù),T0是一個8位定時器,定時器分頻為8分頻,TCCR0=0x02。若讀入PD0的PWM信號是高電平,T0開始計時,T0的計數(shù)值TCNTO從0計數(shù)到255,產(chǎn)生計數(shù)溢出中斷,在中斷服務(wù)程序里設(shè)置一個累加器COUNT,每次進(jìn)入中斷服務(wù)程序COUNT加1。當(dāng)PD0口讀入的PWM信號是低電平時,T0停止計時,計算出整個PWM高電平時間是:INPUTPWM=(COUNTX255+TCNT0)/921.6(ms)。若PD0口讀入的PWM高電平時間低于1ms,在程序中處理INPUTPWM=lms,若高于2ms,則INPUTPWM==2ms。

在實驗過程中,為了避免第一次計時未能從PWM信號的高電平始端計時,忽略PWM信號第一次高電平的時間,從PD0口讀到的第二個高電平開始計時。

讀電位器電壓,通過A/D轉(zhuǎn)換讀取當(dāng)前電位器的電壓值(ADC),Atmega8L提供最高分辨率為10位的A/D轉(zhuǎn)換精度,即轉(zhuǎn)換后的電壓值從0到1023基于這一考慮,PDO讀入的PWM信號轉(zhuǎn)換為電壓值target=(INPUTPWM-1)*1023,采用這一設(shè)計,有利于減少PWM信號轉(zhuǎn)換為相應(yīng)電壓值的復(fù)雜過程。

用Atmega8L的Tl定時器產(chǎn)生兩路16位pwm信號,其占空比決定控制電機(jī)的轉(zhuǎn)速,占空比越大,電流持續(xù)時間越長,舵機(jī)轉(zhuǎn)動越快,反之則越慢。為了與A/D轉(zhuǎn)換的最大值1023相匹配,減少計算復(fù)雜度,T1定時器采用8號相位與頻率修正PWM模式,讓計數(shù)最大值ICR1=1023,其比較值0CR1=(ADC-target)。為了控制電機(jī)的轉(zhuǎn)向,若(ADC--target)。隨著電機(jī)的轉(zhuǎn)動,采集的電位器的電壓值不斷與目標(biāo)值接近,OCR1的值變小,占空比也變小,舵機(jī)轉(zhuǎn)速也持續(xù)變慢,理論上,當(dāng)ADC與target相等,占空比為0,電機(jī)到達(dá)目標(biāo)位置,停止轉(zhuǎn)動。電機(jī)的控制流程圖如圖4所示。

3、PID調(diào)節(jié)

理論上當(dāng)電機(jī)達(dá)到目標(biāo)位置時,電機(jī)將停止轉(zhuǎn)動,此時沒有電流流過電機(jī),但是舵機(jī)是一個需要保持角度的系統(tǒng),并且保持力越大越好,即舵機(jī)的扭矩(torque)越大越好。具體而言,當(dāng)電機(jī)到達(dá)目標(biāo)位置時,電機(jī)停止轉(zhuǎn)動,但是此時只要稍微有外力轉(zhuǎn)動電機(jī),電機(jī)將流過一個與外力相逆的電流來保持角度,這電流就是堵轉(zhuǎn)電流。因此,一方面要求電機(jī)到達(dá)目標(biāo)位置電流越來越小,這樣容易停止,另一方面要求在偏離目標(biāo)位置的微小區(qū)域電機(jī)又要有很大的堵轉(zhuǎn)電流,使用PID(ProportionalIntegralDifferential)調(diào)節(jié)就可以很好的解決這一矛盾。

PID可以很好地控制電機(jī)很快地到達(dá)目標(biāo)位置而不產(chǎn)生抖動。對于舵機(jī)而言,上面提到的定時器T1的比較值0CR1就簡單的給定為當(dāng)前的電機(jī)位置和目標(biāo)位置的差值,引入PID控制后,這一項乘以一個系數(shù)kp,作為OCR1的比例項;上一周期的電機(jī)位置和這一周期的電機(jī)位置的差值乘以系數(shù)kd,作為OCR1的微分項,這一項的作用主要是如果電機(jī)兩次位置的差值很大的話,可以加快電機(jī)的轉(zhuǎn)速;每一周期電機(jī)位置和目標(biāo)位置的差值的平均值乘以系數(shù)ki作為OCR1的積分項,這一項的作用是使電機(jī)阻尼來減少電機(jī)抖動。把這三項加起來作為OCRl的值,作為T1定時器的比較值。公式如下:

OCRl=kpX(ADC-target)+kiX((ADC-target)/n)+HkdX(adcvalpre-ADC)

其中,ADC為采集到的當(dāng)前電位器的值,target為目標(biāo)位置轉(zhuǎn)換后的電壓值,溈周期次數(shù),adcvalpre為上一周期的電壓值,kp,ki,kd為選定的參數(shù),選擇合適的參數(shù)可以保證電機(jī)又快又穩(wěn)的到達(dá)月標(biāo)位置。

4、舵機(jī)驅(qū)動板以TWI方式與上位機(jī)通訊對舵機(jī)的控制

TWI(Two-wireSerialInterface)作為Atmega8L的一個通訊接口,提供最快400khz的數(shù)據(jù)傳輸率。IWI協(xié)議允許系統(tǒng)設(shè)計者只用兩根雙向傳輸線就可以將128個不同的設(shè)備互連到一起。這兩根線一是時鐘SCL,-是數(shù)據(jù)SDA。使用TWI方式通訊主要是可以精確的傳輸舵機(jī)要到達(dá)的指定位置以及方便地調(diào)節(jié)kp,ki,kd系數(shù)。本文采用兩片Atmega8L單片機(jī)進(jìn)行TWI通訊,PC機(jī)端采用RS-232與其中一片單片機(jī)通訊,模型如圖5所示:

PC機(jī)端是一個用VC6寫的串口通訊程序和單片機(jī)a通訊,單片機(jī)a主要是處理RS--232傳輸?shù)臄?shù)據(jù)并重新裝包以TWI方式發(fā)送給舵機(jī)控制電路板。這樣在實驗過程中可以很方便的通過PC機(jī)端的串口通訊程序發(fā)送目標(biāo)位置,kp,ki,kd等參數(shù),容易調(diào)試。

本文選用FutabaS3003舵機(jī)的機(jī)械部件,用圖4的舵機(jī)控制電路,很好的控制電機(jī)到達(dá)目標(biāo)位置,而且產(chǎn)生了較大的扭矩。作為一個實驗產(chǎn)品,達(dá)到了預(yù)期的效果,下一步尋求更好的調(diào)節(jié)算法,更穩(wěn)定地控制電機(jī),產(chǎn)生更大的扭矩。

標(biāo)簽:

點(diǎn)贊

分享到:

上一篇:PLC工程師須掌握的3種伺服電...

下一篇:伺服驅(qū)動器的相關(guān)參數(shù)設(shè)置與...

中國傳動網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來源:中國傳動網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國傳動網(wǎng)(www.treenowplaneincome.com)獨(dú)家所有。如需轉(zhuǎn)載請與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個人轉(zhuǎn)載使用時須注明來源“中國傳動網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請保留稿件來源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。

網(wǎng)站簡介|會員服務(wù)|聯(lián)系方式|幫助信息|版權(quán)信息|網(wǎng)站地圖|友情鏈接|法律支持|意見反饋|sitemap

中國傳動網(wǎng)-工業(yè)自動化與智能制造的全媒體“互聯(lián)網(wǎng)+”創(chuàng)新服務(wù)平臺

網(wǎng)站客服服務(wù)咨詢采購咨詢媒體合作

Chuandong.com Copyright ?2005 - 2024 ,All Rights Reserved 版權(quán)所有 粵ICP備 14004826號 | 營業(yè)執(zhí)照證書 | 不良信息舉報中心 | 粵公網(wǎng)安備 44030402000946號