999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

輪式機器人控制系統設計

2011-06-09 10:15:04楊春雷宋玉龍楊姍姍
電子設計工程 2011年24期
關鍵詞:單片機

楊春雷,宋玉龍,張 騰,楊姍姍

(1.西北工業大學 電子信息學院,陜西 西安 710129;2.西北工業大學 計算機學院,陜西 西安 710129;3.西北工業大學 自動化學院,陜西 西安 710129)

移動機器人主要有輪式、履帶式、腿式、蛇形式、跳躍式和復合式。輪式機器人具有機構簡單、驅動和控制相對方便、機動靈活等優點,被大量應用于工業、農業、反恐防爆、家庭、空間探測等領域[1]。本系統用兩個直流電機驅動4個輪子,用差動的方式實現機器人各種直線、曲線運動。在各類機電系統中,直流電機具有良好的起動、制動和調速性能。最常用的直流調速技術是脈寬調制(Pulse Width Modulation,PWM)直流調速技術,它具有調速精度高、響應速度快、調速范圍寬和耗損低等特點[2]。本系統選用具有6個PWM通道的Atmega168單片機作為處理器,使用兩個定時器的快速PWM模式對電機進行速度控制。

1 硬件設計

1.1 Atmega168特征

Atmega168是ATMEL公司的一款高性能、低功耗的8位AVR微控制器[3],采用先進的精簡指令集架構。Atmega168有3個定時/計數器:8位的定時/計數器 0、16位的定時/計數器1以及8位的定時/計數器3。每個定時器有2個PWM通道,因此共有6個PWM通道,它們對應的PWM波輸出引腳分別為 PD6(OC0A)、PD5(OC0B)、PB1(OC1A)、PB2(OC1B)、PB3(OC2A)、PD3(OC2B)。

1.2 電路原理圖設計

圖1所示為Atmega168最小系統的原理圖,包括電源電路、復位電路和晶振電路。圖中復位電路制造出兩個復位信號,其中信號用于單片機,RST信號用于ISP下載。

圖2所示為電機的雙H橋驅動電路原理圖,下面對重要部分作說明:

1)H橋電路 驅動電路采用功率 MOSFET(Metal-Oxide-Semiconductor Field Effect Transistor)構成 H 橋驅動電路。如圖2所示,當PWM1A為高電平、PWM1B為低電平時,NMOS管U9和PMOS管U7導通,另外兩個截止,電機反轉;當PWM1A為低電平、PWM1B為高電平時,NMOS管 U9和PMOS管U7截止,另外兩個導通,電機正轉。PWM2A和PWM2B同上。

圖1 Atmega168最小系統Fig.1 Atmega168 Minimum System

2)二極管D1~D8 因為電機線圈在電路開閉瞬間產生的反向電動勢通過會高過電源,這樣對MOSFET和電路會有很大的影響甚至燒毀電機,為避免這種情況發生,通常需要在MOSFET兩端并聯二極管[4]。

圖2 雙H橋驅動電路Fig.2 Dual H bridge drive circuit

1.3 印刷電路板設計

為了使機器人有較大的驅動能力,必須在設計PCB時注意電機相關電源線的線寬,要有能力經過較大電流。然而由于MOS管引腳焊盤間距的限制,線寬不可能太大,為此采用焊盤布線。如圖3右邊H橋驅動電路部分所示,與MOS管源極、漏極相連的大電流線均是由焊盤拉制成的,可以通過在焊接時增加錫量來提升過大電流的能力。這樣制出的電路板可以承受10 A以上驅動電流。

2 軟件設計

2.1 開發軟件及配置

1)開發環境構建

文中選用AVR Studio 4+WinAVR構建開發環境。AVR Studio 4是官方的開發環境,可使用匯編語言進行開發,使用其他語言需第三方軟件協助,集軟硬件仿真、調試、編程下載于一體。它是唯一的調試器。WinAVR是基于GCC編譯器的開源軟件,補充AVR Studio 4的不足,用于C語言開發。

圖3 驅動控制電路PCB圖[5]Fig.3 Drive and control circuit PCB

2)修改 Makefile

WinAVR基于GCC,因此就免不了使用makefile來實現自動編譯,打開一個已有的Makefile進行修改即可。將MCU改為Atmega168,F_CPU改為12MHz(電路板上使用晶振的頻率),SRC改為工程中C源文件的名字 (如SRC=file1.c file2.c file3.c)。另存為新的Makefile文件并放在工程文件夾中。

2.2 定時器PWM模塊使用

圖4所示為定時/計數器 0的控制寄存器 TCCR0A、TCCR0B 的位定義。其中 COM0A1、COM0A0、COM0B1、COM0B0為比較輸出模式(Compare Output Mode)位,決定了在計數器TCNT0與輸出比較寄存器OCR0A、OCR0B值相同時,引腳OC0A、OC0B 輸出電平的高低;WGM02、WGM01、WGM00 為波形發生模式(Waveform Generation Mode)位,決定定時/計數器 0 工作模式;CS02、CS01、CS00 為時鐘選擇 (Clock Select)位,決定定時/計數器0所用時鐘對主時鐘的分頻比;FOC0A、FOC0B為引腳OC0A、OC0B強制輸出,此處不用。

定時/計數器有 4種工作模式:普通模式、CTC(Clear Timer on Compare Match)模式、快速PWM模式、相位修正PWM模式。模式的設置方法如圖表1所示。本系統采用模式3,計數最大值為0xFF的快速PWM模式。

圖4 定時/計數器0控制寄存器Fig.4 Timer/Counter 0 Control Register

表1 定時/計數器0工作模式設置Tab.1 Timer/Counter 0 work mode settings

2.3 程序原理及實現

圖2中H橋驅動電路中,PWM1A若為高電平,PWM1B則必須為低電平,否則反之。故PWM1A與PWM1B波形應是互相反相的。PWM2A、PWM2B也是如此。對于快速PWM模式,通過比較輸出模式位的設置可以得到反轉和非反轉兩個正好互相反相的PWM波信號。

圖5 電機驅動程序流程Fig.5 Motor drive program flow

如圖5所示為電機驅動程序的流程。程序中使用了兩個 8位定時器(定時器 0和定時器 2),通過 PD6(OC0A)、PD5(OC0B)、PB3 (OC2A)、PD3 (OC2B)4個引腳輸出信號PWM1A、PWM1B、PWM2A和PWM2B。下面對流程中各個步驟進行詳細說明:

1)端口初始化:

將端口方向寄存器 DDRx(Data Direction Register)中對應引腳 PD6(OC0A)、PD5(OC0B)、PB3(OC2A)、PD3(OC2B)的比特位設為1,從而使這些引腳處于輸出模式。

2)定時器0、2初始化:

定時器0、2的設置方法是一樣的,下面僅對定時器0的設置作詳細說明:

①WGM02、WGM021、WGM00 取 011, 即快速 PWM 模式,計數器最大值為0xff。

②COM0A1、COM0A0取10,為非反轉模式,即當計數器TCNT0的值與輸出比較寄存器OCR0A的值相同匹配時,OC0A引腳輸出低電平,當計數器TCNT0計數值溢出回到0時,OC0A引腳輸出高電平。

③COM0B1、COM0B0取11,為反轉模式,即當計數器TCNT0的值與輸出比較寄存器OCR0B的值相同匹配時,OC0B引腳輸出高電平,當計數器TCNT0計數值溢出回到0時,OC0B引腳輸出低電平。可以看出,當OCR0B的值與OCR0A設成一樣時,OC0B的輸出波形正好與OC0A的反相。

④時鐘選擇位CS02、CS01、CS00取001,則定時/計數器使用的時鐘頻率沒有經過主時鐘預分頻,即等于晶振主時鐘頻率。

⑤計數寄存器初值TCNT0設為0x00,則計數器從0加計數到255,溢出后又直接從0加計數到255,如此往復。

⑥輸出比較寄存器OCR0A=OCR0B=100,當TCNT0計數值等于100時,則引腳OC0A、OC0B輸出電平發生改變。此數值決定了直流電機的轉速,在整個機器人程序系統中,當由機器人的策略子程序給出合適的值。

3)死循環:

一般單片機程序都要主函數執行死循環,以避免程序執行到不可預知的地方。

2.4 下載目標代碼

選擇AVR Studio的菜單欄Project|Configuration Options即可打開工程設置,確保Create Hex File前的復選框被選中,然后編譯上述C程序,若無錯誤即可生成.hex文件用于下載。

將ISP下載線與單片機端和計算機端都連接好,打開一款AVR下載軟件,在下載之前要設置一下熔絲位。新的Atmega168單片機時鐘源選擇熔絲位是配置在 “校準的內部RC振蕩器”狀態的,改成“外部8 mHz以上石英晶振”狀態[6]。然后即可將.hex文件下載到單片機Flash中。

3 結 論

本文從硬件和軟件兩方面詳細講述了輪式機器人直流電機驅動板整個系統的開發原理和過程。其中,硬件部分介紹了驅動電路的設計原理圖,并給出了支持電機大電流、大功率運轉條件下PCB的畫法。軟件部分首先介紹了AVR單片機開發環境的構建以及新建工程所需的配置,然后詳述了用2個定時器的快速PWM模式產生4路PWM信號的方法,最后說明了ISP下載所需配置和下載方法。使用6節強力鎳氫電池,系統實際運行可達到15 A的驅動電流,達到預期目的。

[1]朱磊磊,陳軍.輪式移動機器人研究綜述[J].機床與液壓,2009,37(8):242-247.ZHU Lei-lei,CHEN Jun.Wheeled mobile robot research[J].Machine Tool&Hydraulics,2009,37(8):242-247.

[2]張立勛,沈錦華,路敦民,等.AVR單片機實現的直流電機PWM調速控制器[J].機械與電子,2004,4:29-32.ZHANG Li-xun, SHEN Jin-hua, Lu Dun-min, et al.Pulse width modulation speed controller of DC motor based on AVR Microcontroller[J].Machinery and Electronics,2004,4:29-32.

[3]Atmel Corporation.8-bit AVR Microcontroller with 8K Bytes In-System Programmable Flash:ATmega48、ATmega88、ATmega168[M].USA:Atmel Corporation,2004.

[4]陳萬米,張冰,朱明,等.智能足球機器人系統[M].北京:清華大學出版社,2009.

[5]談世哲.PROTEL DXP2004電路設計基礎與典型范例[M].北京:電子工業出版社,2007.

[6]江海波,王卓然,耿德根,等.深入淺出AVR—從Atmega48/88/168開始[M].北京:中國電力出版社,2008.

猜你喜歡
單片機
基于單片機的SPWM控制逆變器的設計與實現
電子制作(2019年13期)2020-01-14 03:15:28
基于單片機的層次漸變暖燈的研究
電子制作(2019年15期)2019-08-27 01:12:10
基于單片機的多功能智能插排
電子制作(2019年11期)2019-07-04 00:34:48
基于單片機的便捷式LCF測量儀
電子制作(2019年9期)2019-05-30 09:42:02
小議PLC與單片機之間的串行通信及應用
電子制作(2018年12期)2018-08-01 00:48:04
MSP430單片機在仿真中要注意的幾點問題
電子制作(2017年9期)2017-04-17 03:00:53
基于單片機的平衡控制系統設計
電子制作(2017年19期)2017-02-02 07:08:27
基于單片機的三維LED點陣設計
電子制作(2016年21期)2016-05-17 03:52:51
Microchip推出兩個全新PIC單片機系列
基于Proteus的單片機控制系統的仿真設計
主站蜘蛛池模板: 蜜桃视频一区二区| 亚洲欧洲天堂色AV| 午夜免费小视频| 欧美h在线观看| 蜜桃视频一区二区| 国产精品一区在线麻豆| 欧美伦理一区| 精品国产免费观看| 精品一区二区三区波多野结衣| 免费福利视频网站| 精品成人一区二区三区电影 | 国产真实乱子伦视频播放| 久久国产免费观看| 一级毛片中文字幕| 中文字幕免费播放| 国产主播在线一区| 香蕉久久国产超碰青草| 中文字幕调教一区二区视频| 日本一区二区三区精品AⅤ| 亚洲欧洲自拍拍偷午夜色无码| 日韩福利在线观看| 国产手机在线小视频免费观看 | 最新国产精品第1页| 亚洲网综合| 成人在线视频一区| 成人综合久久综合| 亚洲精品天堂自在久久77| 国产精品密蕾丝视频| 亚洲国产精品无码AV| 国产凹凸视频在线观看| 亚洲IV视频免费在线光看| 被公侵犯人妻少妇一区二区三区| 天堂av综合网| 色噜噜在线观看| 国产福利影院在线观看| 理论片一区| 日韩人妻少妇一区二区| 欧美激情福利| 伊伊人成亚洲综合人网7777| 日韩无码白| 精品福利视频导航| 国产欧美日韩另类| 免费jizz在线播放| 永久天堂网Av| 91精品国产麻豆国产自产在线| 影音先锋亚洲无码| 国产女人水多毛片18| 色噜噜综合网| 中文字幕无线码一区| 国产视频欧美| 亚洲欧洲自拍拍偷午夜色| 午夜爽爽视频| 精品久久国产综合精麻豆| 欧美国产在线看| 美女免费黄网站| 精品欧美一区二区三区久久久| 久久网综合| 天天色天天综合网| www.99精品视频在线播放| 亚洲香蕉在线| 亚洲无码精彩视频在线观看| 99re在线视频观看| 亚洲高清在线天堂精品| 色吊丝av中文字幕| 久久精品aⅴ无码中文字幕| 精品夜恋影院亚洲欧洲| 国产成人无码播放| 欧美一级黄色影院| 成人亚洲国产| 在线免费不卡视频| 国产理论一区| 人人爱天天做夜夜爽| 久久久久青草大香线综合精品| 婷婷色中文网| 久久精品人人做人人爽97| 免费高清自慰一区二区三区| 99在线观看视频免费| 麻豆精品在线视频| 第一区免费在线观看| 日韩不卡免费视频| 无码国内精品人妻少妇蜜桃视频| 萌白酱国产一区二区|