一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

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

h1654155282.3538 ? 2018-05-30 15:17 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

舵機(jī)工作原理

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

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

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

1、舵機(jī)驅(qū)動(dòng)電路板接受上位機(jī)PWM信號(hào)對(duì)電機(jī)控制

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

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

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

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

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

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

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

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

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

在實(shí)驗(yàn)過(guò)程中,為了避免第一次計(jì)時(shí)未能從PWM信號(hào)的高電平始端計(jì)時(shí),忽略PWM信號(hào)第一次高電平的時(shí)間,從PD0口讀到的第二個(gè)高電平開(kāi)始計(jì)時(shí)。

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

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

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

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

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

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

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ū)動(dòng)板以TWI方式與上位機(jī)通訊對(duì)舵機(jī)的控制

TWI(Two-wireSerialInterface)作為Atmega8L的一個(gè)通訊接口,提供最快400khz的數(shù)據(jù)傳輸率。IWI協(xié)議允許系統(tǒng)設(shè)計(jì)者只用兩根雙向傳輸線就可以將128個(gè)不同的設(shè)備互連到一起。這兩根線一是時(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所示:

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

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

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

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

    關(guān)注

    22

    文章

    608

    瀏覽量

    56472
  • 舵機(jī)
    +關(guān)注

    關(guān)注

    17

    文章

    298

    瀏覽量

    41914
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    AVR單片機(jī)驅(qū)動(dòng)舵機(jī)問(wèn)題

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

    單片機(jī)驅(qū)動(dòng)舵機(jī)問(wèn)題

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

    舵機(jī)控制板 51單片機(jī)

    本帖最后由 linchenfeng 于 2019-1-26 22:59 編輯 在論壇和群里發(fā)現(xiàn)有很多同學(xué)在玩舵機(jī)。 這里設(shè)計(jì)一個(gè)48路的舵機(jī)控制板。并且?guī)б粋€(gè)OLED顯示屏的接口。單片機(jī)采用
    發(fā)表于 11-23 16:06

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

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

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

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

    單片機(jī)驅(qū)動(dòng)舵機(jī)的時(shí)候是否需要功率放大器件呢

    內(nèi)部集成了驅(qū)動(dòng)電路,可以對(duì)我們輸入的PWM信號(hào)直接采樣,所以,控制舵機(jī)的時(shí)候,用一個(gè)單片機(jī)的PWM輸出引腳即可,這大大精簡(jiǎn)了電路的設(shè)計(jì)。供電
    發(fā)表于 01-14 08:56

    51單片機(jī)控制舵機(jī)

    利用簡(jiǎn)單的51單片機(jī)的PWM的脈沖控制信號(hào)來(lái)很方便的控制機(jī)舵機(jī)
    發(fā)表于 11-10 15:25 ?104次下載

    電機(jī)驅(qū)動(dòng)&&舵機(jī)驅(qū)動(dòng)

    電機(jī)驅(qū)動(dòng)&&舵機(jī)驅(qū)動(dòng)。
    發(fā)表于 03-21 11:52 ?27次下載

    單片機(jī)實(shí)現(xiàn)舵機(jī)轉(zhuǎn)角控制

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

    如何使用AT89S52單片機(jī)進(jìn)行舵機(jī)控制系統(tǒng)的設(shè)計(jì)

    文中設(shè)計(jì)了一種基于AT89S52單片機(jī)舵機(jī)控制系統(tǒng),單片機(jī)通過(guò)定時(shí)中斷產(chǎn)生脈寬調(diào)制信號(hào)PWM來(lái)控制Futaba-S3003舵機(jī)轉(zhuǎn)動(dòng)。文中給出了系統(tǒng)的
    發(fā)表于 08-12 08:00 ?37次下載
    如何使用AT89S52<b class='flag-5'>單片機(jī)</b>進(jìn)行<b class='flag-5'>舵機(jī)</b>控制系統(tǒng)的設(shè)計(jì)

    單片機(jī)操控舵機(jī)電路圖

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

    使用STM32單片機(jī)實(shí)現(xiàn)16路PWM舵機(jī)驅(qū)動(dòng)的程序和工程文件

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

    51單片機(jī)舵機(jī)控制

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

    51單片機(jī)——舵機(jī)的原理及應(yīng)用

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

    51單片機(jī)-步進(jìn)電機(jī)-舵機(jī)

    51單片機(jī)-步進(jìn)電機(jī)-舵機(jī)
    發(fā)表于 11-23 17:06 ?23次下載
    51<b class='flag-5'>單片機(jī)</b>-步進(jìn)電機(jī)-<b class='flag-5'>舵機(jī)</b>