RM新时代网站-首页

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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

舵機驅動電路原理圖_基于AVR單片機的舵機驅動電路詳解

h1654155282.3538 ? 2018-05-30 15:17 ? 次閱讀

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

舵機工作原理

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

舵機驅動電路原理圖_基于AVR單片機的舵機驅動電路詳解

基于AVR單片機的舵機驅動電路原理圖

1、舵機驅動電路板接受上位機PWM信號對電機控制

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

舵機驅動電路原理圖_基于AVR單片機的舵機驅動電路詳解

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

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

舵機驅動電路原理圖_基于AVR單片機的舵機驅動電路詳解

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

舵機驅動電路原理圖_基于AVR單片機的舵機驅動電路詳解

2、單片機初始化包括I/O口、定時器、A/D轉換的初始化

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

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

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

舵機驅動電路原理圖_基于AVR單片機的舵機驅動電路詳解

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

3、PID調節(jié)

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

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

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

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

4、舵機驅動板以TWI方式與上位機通訊對舵機的控制

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

舵機驅動電路原理圖_基于AVR單片機的舵機驅動電路詳解

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

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

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

    關注

    22

    文章

    607

    瀏覽量

    55484
  • 舵機
    +關注

    關注

    17

    文章

    268

    瀏覽量

    41013
收藏 人收藏

    評論

    相關推薦

    STM32 PWM驅動舵機實驗

    STM32 simulink驅動舵機效果如圖5.1所示,本次實驗用到的Simulink簡易模型如圖5.2所示,電路圖接法如圖5.3所示,YF-STM32-ALPHA開發(fā)板舵機接口位置如
    的頭像 發(fā)表于 11-29 16:30 ?2831次閱讀
    STM32 PWM<b class='flag-5'>驅動</b><b class='flag-5'>舵機</b>實驗

    AVR單片機驅動舵機問題

    請高手賜教AVR單片機用72LS244怎么驅動舵機(MG996),原理是什么?
    發(fā)表于 05-03 10:00

    單片機驅動舵機問題

    本帖最后由 tangkii 于 2014-11-1 22:43 編輯 小弟用STC89C52驅動一個舵機,MG996R,用P1.0口直接接到舵機信號線上,舵機電源和
    發(fā)表于 11-01 22:32

    【小白求助】單片機舵機與電機的電源如何得到?

    本人小白,準備做一個4個舵機+1個電機并且用單片機控制的小制作。舵機采用輝盛9g舵機,電機利用電機驅動板電源12V左右,
    發(fā)表于 10-14 15:28

    51單片機舵機控制系統(tǒng)的相關資料分享

    搭建,主要包括51單片機最小系統(tǒng),矩陣按鍵,數(shù)碼管驅動舵機四個部分。Protues仿真電路圖如下數(shù)碼管驅動仿真測試程序數(shù)碼管時可以直接用I
    發(fā)表于 11-10 07:46

    單片機驅動舵機的時候是否需要功率放大器件呢

    內部集成了驅動電路,可以對我們輸入的PWM信號直接采樣,所以,控制舵機的時候,用一個單片機的PWM輸出引腳即可,這大大精簡了電路的設計。供電
    發(fā)表于 01-14 08:56

    51單片機控制舵機

    利用簡單的51單片機的PWM的脈沖控制信號來很方便的控制舵機
    發(fā)表于 11-10 15:25 ?103次下載

    電機驅動&&舵機驅動

    電機驅動&&舵機驅動
    發(fā)表于 03-21 11:52 ?27次下載

    單片機實現(xiàn)舵機轉角控制

    單片機實現(xiàn)舵機轉角控制單片機實現(xiàn)舵機轉角控制單片機實現(xiàn)舵機轉角控制
    發(fā)表于 04-28 14:57 ?24次下載

    如何使用AT89S52單片機進行舵機控制系統(tǒng)的設計

    文中設計了一種基于AT89S52單片機舵機控制系統(tǒng),單片機通過定時中斷產生脈寬調制信號PWM來控制Futaba-S3003舵機轉動。文中給出了系統(tǒng)的
    發(fā)表于 08-12 08:00 ?37次下載
    如何使用AT89S52<b class='flag-5'>單片機</b>進行<b class='flag-5'>舵機</b>控制系統(tǒng)的設計

    單片機操控舵機電路圖

    舵機的作業(yè)原理是:PWM信號由接納通道進入信號解調電路BA66881。的12腳進行解調,取得一個直流偏置電壓。該直流偏置電壓與電位器的電壓比照,取得電壓差由BA6688的3腳輸出。該輸出送人電機驅動
    的頭像 發(fā)表于 03-22 15:46 ?1.2w次閱讀
    <b class='flag-5'>單片機</b>操控<b class='flag-5'>舵機電路圖</b>

    使用STM32單片機實現(xiàn)16路PWM舵機驅動的程序和工程文件

    本文檔的主要內容詳細介紹的是使用STM32單片機實現(xiàn)16路PWM舵機驅動的程序和工程文件免費下載。
    發(fā)表于 11-11 08:00 ?26次下載
    使用STM32<b class='flag-5'>單片機</b>實現(xiàn)16路PWM<b class='flag-5'>舵機</b><b class='flag-5'>驅動</b>的程序和工程文件

    51單片機舵機控制

    搭建,主要包括51單片機最小系統(tǒng),矩陣按鍵,數(shù)碼管驅動舵機四個部分。Protues仿真電路圖如下數(shù)碼管驅動仿真測試程序數(shù)碼管時可以直接用I
    發(fā)表于 11-05 11:06 ?21次下載
    51<b class='flag-5'>單片機</b><b class='flag-5'>舵機</b>控制

    51單片機——舵機的原理及應用

    三條引線,分別是電源線Vcc、地線GND和控制信號線舵機的控制信號也是PWN信號,利用占空比的變化改變舵機的位置,其脈沖寬度在0-2.5ms變化時,舵機輸出的軸轉角在0-180°變化三.用單片
    發(fā)表于 11-10 19:20 ?17次下載
    51<b class='flag-5'>單片機</b>——<b class='flag-5'>舵機</b>的原理及應用

    51單片機-步進電機-舵機

    51單片機-步進電機-舵機
    發(fā)表于 11-23 17:06 ?23次下載
    51<b class='flag-5'>單片機</b>-步進電機-<b class='flag-5'>舵機</b>
    RM新时代网站-首页