首页 基于AVR单片机的舵机驱动电路研究

基于AVR单片机的舵机驱动电路研究

举报
开通vip

基于AVR单片机的舵机驱动电路研究 《自动化技术与应用》2008年第 27卷第 6期 Techniques of Automation & Applications | 85 经验交流 Technical Communications 基于 AVR单片机的舵机驱动电路研究 任 志 敏 (中国地质大学(武汉)信息工程学院,湖北 武汉 430074) 摘 要:本文主要介绍了舵机工作的基本原理,设计了以Atmega8L单片机为控制芯片的舵机驱动电路板,在舵机驱动电路的软件设 计方面,分别以接受PWM信号和以TWI通讯的方式实现对电机...

基于AVR单片机的舵机驱动电路研究
《自动化技术与应用》2008年第 27卷第 6期 Techniques of Automation & Applications | 85 经验交流 Technical Communications 基于 AVR单片机的舵机驱动电路研究 任 志 敏 (中国地质大学(武汉)信息工程学院,湖北 武汉 430074) 摘 要:本文主要介绍了舵机工作的基本原理, 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 了以Atmega8L单片机为控制芯片的舵机驱动电路板,在舵机驱动电路的软件设 计方面,分别以接受PWM信号和以TWI通讯的方式实现对电机的控制。 关键词:舵机;AVR;Atmega8L;PWM;TWI;H型桥 中图分类号:TP368.1 文献标识码:B 文章编号:1003-7241(2008)06-0085-03 The Driving Circuit of the Servo Motor Based on AVR REN Zhi-min (Faculty of Information Engineering, China University of Geosciences(Wuhan), Wuhan 430074 China) Abstract: This paper presents a driving circuit of the servo motor based on the chip of Atmega8L. In the program firmed in the chip, the PWM signal and TWI are used for control of the servo motor. keyword: servo motor; AVR; Atmega8L; PWM; TWI; H-bridge 收稿日期:2007-11-29 图1 PWM信号与转角关系图 1 引言 舵机(servo motor),又名伺服电机,主要是由外 壳、电路板、马达、减速齿轮和电位器构成。舵机主要 适用于那些需要角度不断变化并可以保持的控制系统, 比如人形机器人的手臂和腿,车模和航模的方向控制。 舵机的基本工作原理是发一个控制信号给舵机,经电路 板判断转动方向,再驱动马达开始转动,透过减速齿轮 将动力传至摆臂,同时由电位器检测送回讯号,判断是 否已经到达指定位置。目前,市面上的成熟的舵机工业 产品都来自日本、韩国和我国台湾地区。本文基于舵机 工作的基本原理,选用Atmega8L单片机作为舵机电路 板控制芯片,对舵机控制进行了一系列实验,并取得了 很好的实验效果。 2 舵机驱动电路板接受上位机PWM信 号对电机控制[1] 舵机的转角范围通常是0到180度,舵机的转角通 常由脉宽来控制,一般舵机都会有三根输入线(电源 正,地,信号线),PWM信号由信号线输入,上位机产生 周期为20ms左右的方波作为输入信号,方波的占空比 决定舵机转的角度。如图1所示: 根据以上原理,设计出以下实验电路(图2)。通过 Atmega8L单片机和电机专用驱动芯片L298N的连接实 现了舵机工作的基本原理。 AVR单片机是Atmel公司8位RISC结构的单片 机。具有系统内可编程存储器Flash、电擦写可编程存 储器EEPROM 、随机访问存储器RAM 、模数A/D 转换器、大量I/O口、16/8位定时器、RS-232 通讯 接口UART,两线串行接口TWI以及其他很多功能的单 片集成电路。本文采用的是AVR 系列常用型号的产品 《自动化技术与应用》2008年第 27卷第 6期 86 | Techniques of Automation & Applications 经验交流 Technical Communications ATMega8L,系统时钟频率使用外部晶振7.3728Mhz,工 作电压5V。 L298是双H型桥高电压大电流集成电路,可用来驱 动继电器、线圈、直流电动机和步进电动机等。原理图 如图3所示,Vss接逻辑控制的电源。Vs为电机驱动电 源。IN1-IN4输入引脚为 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 TTL 逻辑电平信号,ENA、 ENB引脚则为使能控制端。本来是通过IN1-IN4输入用 来控制H型桥的开与关即实现电机的正反转。E N A、 ENB使能控制端,用来输入PWM信号实现电机调速。本 文使用了L298N的一组H型桥,ENA使能控制端一直导 通,输入IN1,IN2PWM信号来控制电机速度和转向。 单片机初始化包括I/O口、定时器、A/D转换的 初始化[2]。 上位机发出的PWM信号通过Atmega8L的一个I/ O口读入,为了读取PWM信号的高电平时间,采用计数 方式,使用Atmega8L的T0计数,T0是一个8位定时器, 定时器分频为8分频,TCCR0=0x02。若读入PD0的 PWM信号是高电平,T0开始计时,T0的计数值TCNT0 从0计数到255,产生计数溢出中断,在中断服务程序里 图2 舵机驱动电路原理图 图3 L298N原理图 设置一个累加器C O U N T ,每次进入中断服务程序 COUNT加1。当PD0口读入的PWM信号是低电平时, T 0停止计时,计算出整个P W M高电平时间是: INPUTPWM=(COUNT×255+TCNT0)/921.6(ms)。若 PD0口读入的PWM高电平时间低于1ms,在程序中处理 INPUTPWM=1ms,若高于2ms,则INPUTPWM=2ms。 在实验过程中,为了避免第一次计时未能从PWM信号 的高电平始端计时,忽略PWM信号第一次高电平的时 间,从PD0口读到的第二个高电平开始计时。 读电位器电压,通过A/D转换读取当前电位器的 电压值(ADC),Atmega8L提供最高分辨率为10位的 A/D转换精度,即转换后的电压值从0到1023。基于这 一考虑,PD0口读入的PWM信号转换为电压值target= (INPUTPWM-1)*1023,采用这一设计,有利于减少PW M信号转换为相应电压值的复杂过程。 用Atmega8L的T1定时器产生两路16位pwm信 号,其占空比决定控制电机的转速,占空比越大,电流持 续时间越长,舵机转动越快,反之则越慢。为了与A/D 转换的最大值1023相匹配,减少计算复杂度,T1定时器 采用8号相位与频率修正P W M模式,让计数最大值 ICR1=1023,其比较值OCR1=(ADC-target)。为了控 制电机的转向,若(ADC-target)>0,OCR1A=(ADC- target),OCR1B=0;反之,OCR1A=0,OCR1B=(ADC- 图4 舵机的控制 流程 快递问题件怎么处理流程河南自建厂房流程下载关于规范招聘需求审批流程制作流程表下载邮件下载流程设计 图 《自动化技术与应用》2008年第 27卷第 6期 Techniques of Automation & Applications | 87 target)。随着电机的转动,采集的电位器的电压值不断 与目标值接近,OCR1的值变小,占空比也变小,舵机转 速也持续变慢,理论上,当ADC与target相等,占空比为 0,电机到达目标位置,停止转动。电机的控制流程图如 图4所示。 4 PID调节 理论上当电机达到目标位置时,电机将停止转动, 此时没有电流流过电机,但是舵机是一个需要保持角度 的系统,并且保持力越大越好,即舵机的扭矩(torque) 越大越好。具体而言,当电机到达目标位置时,电机停 止转动,但是此时只要稍微有外力转动电机,电机将流 过一个与外力相逆的电流来保持角度,这电流就是堵转 电流。因此,一方面要求电机到达目标位置电流越来越 小,这样容易停止,另一方面要求在偏离目标位置的微 小区域电机又要有很大的堵转电流,使用 P I D (Proportional Integral Differential)调节就可以很好 的解决这一矛盾。 PID可以很好地控制电机很快地到达目标位置而不 产生抖动。对于舵机而言,上面提到的定时器T1的比 较值OCR1就简单的给定为当前的电机位置和目标位 置的差值,引入PID控制后,这一项乘以一个系数kp,作 为OCR1的比例项;上一周期的电机位置和这一周期的 电机位置的差值乘以系数kd,作为OCR1的微分项,这 一项的作用主要是如果电机两次位置的差值很大的话, 可以加快电机的转速;每一周期电机位置和目标位置的 差值的平均值乘以系数ki作为OCR1的积分项,这一项 的作用是使电机阻尼来减少电机抖动。把这三项加起 来作为OCR1的值,作为T1定时器的比较值。 公式 小学单位换算公式大全免费下载公式下载行测公式大全下载excel公式下载逻辑回归公式下载 如下: OCR1=kp×(ADC-target)+ki×((ADC-target)/n) +kd×(adcvalpre-ADC) 其中,ADC为采集到的当前电位器的值,target为目 标位置转换后的电压值,n为周期次数,adcvalpre为上一 周期的电压值,kp,ki,kd为选定的参数,选择合适的参 数可以保证电机又快又稳的到达目标位置。 5 舵机驱动板以TWI方式与上位机 通讯对舵机的控制[3] TWI(Two-wire Serial Interface)作为Atmega8L 的一个通讯接口,提供最快400khz的数据传输率。TWI 协议允许系统设计者只用两根双向传输线就可以将128 个不同的设备互连到一起。这两根线一是时钟SCL,一 是数据SDA。使用TWI方式通讯主要是可以精确的传 输舵机要到达的指定位置以及方便地调节kp,ki,kd系 数。本文采用两片Atmega8L单片机进行TWI通讯,PC 机端采用RS-232与其中一片单片机通讯,模型如图5 所示: PC机端是一个用VC6写的串口通讯程序和单片机 a通讯,单片机a主要是处理RS-232传输的数据并重新 装包以TWI方式发送给舵机控制电路板。这样在实验 过程中可以很方便的通过PC机端的串口通讯程序发送 目标位置,kp,ki,kd等参数,容易调试。 6 结束语 本文选用FutabaS3003舵机的机械部件,用图4的 舵机控制电路,很好的控制电机到达目标位置,而且产 生了较大的扭矩。作为一个实验产品,达到了预期的效 果,下一步寻求更好的调节算法,更稳定地控制电机,产 生更大的扭矩。 参考文献: [1] 张军 AVR单片机应用系统开发典型实例[M].北京: 中国电力出版社 2005年 [2] 宋建国 AVR单片机原理及应用[M].北京:北京航空 航天大学出版社 1998年 [3] Barry Carter Mike Thompson Open Servo Project [eb/ol] http://www.openservo.com 2007:5 作者简介:任志敏(1981-),男,江苏常州人,中国地质大学 信息工程学院硕士研究生,研究方向:机器人。 图5 上位机下位机通讯图 经验交流 Technical Communications
本文档为【基于AVR单片机的舵机驱动电路研究】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_845514
暂无简介~
格式:pdf
大小:390KB
软件:PDF阅读器
页数:3
分类:互联网
上传时间:2010-05-17
浏览量:22