历史上的今天
返回首页

历史上的今天

今天是:2025年01月31日(星期五)

2020年01月31日 | 基于AVR单片机的舵机驱动电路详解

2020-01-31 来源:elecfans

  舵机( servo motor),又名伺服电机,主要是由外壳、电路板、马达、减速齿轮和电位器构成。舵机主要适用于那些需要角度不断变化并可以保持的控制系统,比如人形机器人的手臂和腿,车模和航模的方向控制。目前,市面上的成熟的舵机工业产品都来自日本、韩国和我国台湾地区。本文基于舵机工作的基本原理,选用Atmega8L单片机作为舵机电路板控制芯片,对舵机控制进行了一系列实验,并取得了很好的实验效果。

  舵机工作原理

  控制信号由接收机的通道进入信号调制芯片,获得直流偏置电压。它内部有一个基准电路,产生周期为20ms,宽度为1.5ms的基准信号,将获得的直流偏置电压与电位器的电压比较,获得电压差输出。最后,电压差的正负输出到电机驱动芯片决定电机的正反转。当电机转速一定时,通过级联减速齿轮带动电位器旋转,使得电压差为0,电机停止转动。

  舵机驱动电路原理图_基于AVR单片机的舵机驱动电路详解

  基于AVR单片机的舵机驱动电路原理图

  1、舵机驱动电路板接受上位机PWM信号对电机控制

  舵机的转角范围通常是0到180度,舵机的转角通常由脉宽来控制,一般舵机都会有三根输入线(电源正,地,信号线), PWM信号由信号线输入,上位机产生周期为20ms左右的方波作为输入信号,方波的占空比决定舵机转的角度。如图1所示:

  舵机驱动电路原理图_基于AVR单片机的舵机驱动电路详解

  根据以上原理,设计出以下实验电路(图2)。 通过A tmega8L单片机和电机专用驱动芯片L298N的连接实现了舵机工作的基本原理。


  AVR单片机是Atmel公司8位RISC结构的单片机。具有系统内可编程存储器Flash电擦写可编程存储器EEPROM 随机访问存储器RAM 模数A/D转换器、大量I/0口、 16/8位定时器、 RS-232通讯接口UART,两线串行接口TWI以及其他很多功能的单片集成电路。本文采用的是AVR系列常用型号的产品ATMega8L系统时钟频率使用外部晶振7.3728Mhz,工作电压5V。

  舵机驱动电路原理图_基于AVR单片机的舵机驱动电路详解

  L298是双H型桥高电压大电流集成电路,可用来驱动继电器、线圈、直流电动机和步进电动机等。原理图如图3所示,Vss接逻辑控制的电源。Vs为电机驱动电源。 IN1-IN4输入引脚为标准TTL逻辑电平信号,ENAENB引脚则为使能控制端。本来是通过IN1--IN4输入用来控制H型桥的开与关即实现电机的正反转。ENA、ENB使能控制端,用来输入PWM信号实现电机调速。本文使用了L298N的一组H型桥,ENA使能控制端一直导通,输入IN1,IN2PWM信号来控制电机速度和转向。

  舵机驱动电路原理图_基于AVR单片机的舵机驱动电路详解

  上位机发出的PWM信号通过Atmega8L的一个I/0口读入,为了读取PWM信号的高电平时间,采用计数方式,使用Atmega8L的T0计数,T0是一个8位定时器,定时器分频为8分频,TCCR0=0x02。若读入PD0的PWM信号是高电平,T0开始计时,T0的计数值TCNTO从0计数到255,产生计数溢出中断,在中断服务程序里设置一个累加器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信号,其占空比决定控制电机的转速,占空比越大,电流持续时间越长,舵机转动越快,反之则越慢。为了与A/D转换的最大值1023相匹配,减少计算复杂度,T1定时器采用8号相位与频率修正PWM模式,让计数最大值ICR1=1023,其比较值0CR1=( ADC-target)。为了控制电机的转向,若(ADC- -  target)。随着电机的转动,采集的电位器的电压值不断与目标值接近,OCR1的值变小,占空比也变小,舵机转速也持续变慢,理论上,当ADC与target相等, 占空比为0,电机到达目标位置,停止转动。电机的控制流程图如图4所示。


  3、PID调节

  理论上当电机达到目标位置时,电机将停止转动,此时没有电流流过电机,但是舵机是一个需要保持角度的系统,并且保持力越大越好,即舵机的扭矩(torque)越大越好。具体而言,当电机到达目标位置时,电机停止转动,但是此时只要稍微有外力转动电机,电机将流过一个与外力相逆的电流来保持角度,这电流就是堵转电流。因此,一方面要求电机到达目标位置电流越来越小,这样容易停止,另一方面要求在偏离目标位置的微小区域电机又要有很大的堵转电流,使用PID(ProportionalIntegralDifferential)调节就可以很好的解决这一矛盾。


  PID可以很好地控制电机很快地到达目标位置而不产生抖动。对于舵机而言,上面提到的定时器T1的比较值0CR1就简单的给定为当前的电机位置和目标位置的差值,引入PID控制后,这一项乘以一个系数kp,作为OCR1的比例项;上一周期的电机位置和这一周期的电机位置的差值乘以系数kd,作为OCR1的微分项,这一项的作用主要是如果电机两次位置的差值很大的话,可以加快电机的转速;每一周期电机位置和目标位置的差值的平均值乘以系数ki作为OCR1的积分项,这一项的作用是使电机阻尼来减少电机抖动。把这三项加起来作为OCRl的值,作为T1定时器的比较值。公式如下:

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

  其中,ADC为采集到的当前电位器的值,target为目标位置转换后的电压值,沩周期次数,adcvalpre为上一周期的电压值,kp,ki,kd为选定的参数,选择合适的参数可以保证电机又快又稳的到达月标位置。


  4、舵机驱动板以TWI方式与上位机通讯对舵机的控制

  TWI(Two-wireSerialInterface)作为Atmega8L的一个通讯接口,提供最快400khz的数据传输率。IWI协议允许系统设计者只用两根双向传输线就可以将128个不同的设备互连到一起。这两根线一是时钟SCL,-是数据SDA。使用TWI方式通讯主要是可以精确的传输舵机要到达的指定位置以及方便地调节kp,ki,kd系数。本文采用两片Atmega8L单片机进行TWI通讯,PC机端采用RS-232与其中一片单片机通讯,模型如图5所示:

  舵机驱动电路原理图_基于AVR单片机的舵机驱动电路详解

  PC机端是一个用VC6写的串口通讯程序和单片机a通讯,单片机a主要是处理RS--232传输的数据并重新装包以TWI方式发送给舵机控制电路板。这样在实验过程中可以很方便的通过PC机端的串口通讯程序发送目标位置,kp,ki,kd等参数,容易调试。


  本文选用FutabaS3003舵机的机械部件,用图4的舵机控制电路,很好的控制电机到达目标位置,而且产生了较大的扭矩。作为一个实验产品,达到了预期的效果,下一步寻求更好的调节算法,更稳定地控制电机,产生更大的扭矩。

推荐阅读

史海拾趣

德旭电子(DEXU)公司的发展小趣事

在德旭电子的发展历程中,供应链管理和成本控制一直是公司关注的重点。为了降低生产成本和提高产品质量,公司不断优化供应链管理流程和技术手段。

德旭电子与多家优质供应商建立了长期稳定的合作关系,并通过引入先进的供应链管理软件和系统实现了供应链的数字化和信息化管理。这些措施有效提高了供应链的响应速度和灵活性,降低了库存和运营成本。

在成本控制方面,德旭电子注重精细化管理和持续改进。公司通过优化生产流程、提高生产效率、降低能耗和原材料成本等措施不断降低生产成本。同时,公司还建立了完善的成本管理体系和考核机制确保成本控制工作的有效实施。

Delphi Connection Systems公司的发展小趣事

面对日益激烈的市场竞争和客户需求的变化,Delphi Connection Systems公司积极推进数字化转型。公司引入先进的生产管理系统和智能化设备,实现了生产过程的自动化和智能化。这不仅提高了生产效率和质量稳定性,也降低了生产成本和人力需求。数字化转型使公司更加灵活和高效地应对市场变化,为未来的发展奠定了坚实基础。

ERA Transformers公司的发展小趣事

随着市场需求的不断增长,ERA Transformers公司面临着扩大生产规模的挑战。为了满足客户需求并保持市场竞争力,公司决定投资建设一个新的生产基地。经过精心规划和筹备,新的生产基地顺利建成并投入使用。这不仅大大提高了公司的生产能力,还进一步提升了产品质量和生产效率。新基地的建成标志着ERA Transformers公司在电子行业中的地位更加稳固。

CommScope Inc公司的发展小趣事

CommScope Inc公司的前身可以追溯到1953年,在北卡罗莱纳州的山核桃成立的高级电缆公司。这个公司以其卓越的电话线产品赢得了市场的认可。到了1964年,康普的产品线开始使用高级电缆和同轴电缆,标志着公司在电缆技术领域的突破。随着技术的不断革新,1966年,康普在卡托巴县的福特社区开始数控制造,进一步提升了生产效率。1976年,大陆高级康普部门被Frank Drendel领导的投资者集团收购,这为公司日后的发展奠定了坚实的基础。

光磊(GL)公司的发展小趣事

在通信行业,技术的不断创新和产品的持续升级是企业保持竞争力的关键。康普公司一直注重研发和创新,不断推出具有竞争力的新产品和解决方案。例如,在2004年,康普成立了CCS(连接解决方案)工厂,主要生产宽带同轴电缆、网络对绞线缆以及铜和光纤连接器系列产品。这些产品不仅满足了市场对于高速、高质量网络连接的需求,也进一步巩固了康普在通信行业的领先地位。

Elektron公司的发展小趣事

随着业务的不断拓展和市场的不断扩大,Elektron公司逐渐将目光投向了全球市场。公司在全球范围内设立了多个代表处和分支机构,与当地的合作伙伴建立了紧密的合作关系。通过全球化战略的实施,Elektron成功进入了焊接设备、等离子切割设备和电池服务设备的高端市场,并成为了世界市场的领导者之一。

问答坊 | AI 解惑

什么是闭路监控系统?

电视监控系统的英文缩写是:CCTV(closed-circuit television),闭路电视监控系统是一个跨行业的综合性保安系统,该系统运用了世界上最先进的传感技术、监控摄像技术、通讯技术和计算机技术,组成一个多功能全方位监控的高智能化的处理系统。闭路电视 ...…

查看全部问答>

寻Win7驱动开发经验人才

有个项目涉及到WIN7的底层驱动,在此寻找WIN7底层驱动开发有经验人才,联系方式:xttqdh@gmail.com…

查看全部问答>

急!急!急求VHDL高手帮忙!!!!

小弟初学VHDL但眼下急需用VHDL写一个JPEG2000D的编码器的程序,望各位高手赐教,小弟感激不尽!!…

查看全部问答>

Bluez是否支持bluetooth2.0+EDR

rt bluez协议栈是否支持bluetooth2.0+EDR的传输标准?…

查看全部问答>

wince5.0中如何实现中断

基于s3c2410,在网上找到4.2的,http://www.yuanma.org/data/2006/0707/article_1104.htm 不过里面提到的文件很多找不到。或者有文件名,当路径不对,而且还有多个,请求兄弟们的帮助。 第一次搞嵌入式。谢谢!…

查看全部问答>

开关电源的纹波(或噪声)一般有多大?如27V5.6A输出的有CE认证的电源

各位工程师: 请问开关电源的纹波(或噪声)一般有多大呀?比如 27V 5.6A的输出有CE认证的电源输出的杂波一般有多大?开关电源输出的电源上的杂波该怎么滤除呢?怎么把它减小到5mV以下?用什么滤波?…

查看全部问答>

STM8SMCFWlibrarybuilder软件

STM8S MC FW library builder  软件是用来干嘛的? 好像能对电机控制系统的参数做设置。设置好参数后,能做编译,但编译后就什么也没有了。 我还以为能生成可执行的C代码呢。 网上搜不到相关的东西啊 2.jpg (28 ...…

查看全部问答>

Altium designer画板子的问题

我把一块板子的PCB图复制到另一个上面,在各个连接处出现很多圆圈,这是什么意思?我忽略它会影响做出来的板子吗??…

查看全部问答>

芯片去耦电容问题

一个芯片同时包含数字电源,模拟电源和对应的数字地,模拟地,是整个芯片只需画一个去耦电容?还是要分开来画?也就是数字接数字的去耦电容,模拟接模拟的去耦电容?…

查看全部问答>