2020年 02月 03日 星期一
您的位置: 威廉希尔主页 > 单片机技术 >

基于AVR单片机的舵机驱动电详解

来源:未知     作者:威廉希尔     发布时间:2020-02-02 10:51         

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

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

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

  根据以上原理,设计出以下实验电(图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。

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

  上位机发出的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信号转换为相应电压值的复杂过程。

  用Atmega8L的Tl定时器产生两16位pwm信号,其占空比决定控制电机的转速,占空比越大,电流持续时间越长,舵机转动越快,反之则越慢。为了与A/D转换的最大值1023相匹配,减少计算复杂度,T1定时器采用8号相位与频率修正PWM模式,让计数最大值ICR1=1023,其比较值0CR1=( ADC-target)。为了控制电机的转向,若(ADC- -target)。随着电机的转动,采集的电位器的电压值不断与目标值接近,OCR1的值变小,占空比也变小,舵机转速也持续变慢,理论上,当ADC与target相等, 占空比为0,电机到达目标,停止转动。电机的控制流程图如图4所示。

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

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

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

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

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

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

  本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

  目前,随着信息产业的迅猛发展,各类船舶亟需配备更多质优价廉的中小型信息终端,用于气象状况、获取信息以便航行安全。以ARM、MIPS等领衔的32位处理器在信息终端应用中,显示出极大优势,但是一般以32位处理器构建的嵌入式系统往往需要配置外部FLASH和SDRAM,这样就使得开发和整个系统的成本较高,本设计采用高性能低功耗的AVR单片机和LCD液晶模块来设计信息终端,具有价格低廉、性能稳定、显示清晰、人机界面良好等优点,能够满足船舶对中小型信息终端的需求。1 总体设计信息终端主要由显示控制板、键盘、通信接口和液晶显示模块构成,具有数据收发、数据显示、人机交互和屏幕亮度调整等功能,其组成如图1所示

  在AVR单片机烧写的过程中,难免有弄错熔丝位的时候,结果是AVR单片机无法读写了!这时我们该怎么办呢,将昂贵的芯片丢掉,再用一块新的。其实这一般是没有必要的,写错熔丝位而导致单片机不能读写,一般不外乎(个人)设设置错了时钟模式,比如说本来是用内部晶振的,结果弄成了外部晶振,而单片机的外部有没有接晶振,这时单片机没有了时钟信号,当然就没有办法在读写了,估计大家也猜到了怎么办了吧,是的,就是由外部提供时钟源。有第一张图的时钟选择,我们就知道我们得准备多种时钟源:高频石英/陶瓷晶振,这个直接接在 单片机 晶振就可以了,注意频率不要太高,4~5M的就可以了,不放心的线P的电容也行!低频晶振,和的插补多,也就

  引言智能化和便携式是现代电子产品的发展趋势,医疗电子的智能化使得医务人员的操作变得更方便。医务人员可随身携带手持式仪对各病房点滴实时,及时了解相关情况;如遇突发情况如点滴低于设定警戒值,终端装置可产生中断信号,主控制端则可优先进行相应的处理。本设计实现了一种以AT32UC3A0512[1]单片机为主控制器的便携式远程无线点滴系统,可及时了解点滴状态,提高医疗点滴设备安全性。1 系统原理介绍本系统主要包括两个部分:手持式控制端和终端装置。手持式控制端主要实现信息输入和查询界面的操作,通过输入询的病房号及点滴速度值,以数据包形式发送给相应的病房终端,实时显示终端传送来的点滴状态数据信息。终端

  逆变电源应用广泛,特别是精密仪器对逆变电源性能要求更高。好的逆变电源不仅要求工作稳定、逆变效率高、输出的波形特性好、瞬态响应特性好,还要求逆变电源小型化、智能化、并且具备可扩展性。因此,这里提出一种基于AVR 系列单片机AT90PWM2 的数字正弦逆变电源, 前级SG3525A采用PWM 控制升压电实现输入和过热。后级单片机AT90PWM2 使用单极性倍频SPWM 控制方式进行全桥逆变,且进行输出。1 总体设计及工作原理逆变电源的系统整体框图如图1 所示,系统的主电采用前级推挽升压和后级全桥逆变的2 级结构[2],这样可以避免使用工频变压器,有效降低电源的体积和质量,提高逆变效率。其工作原理为:12 V 的直流输入

  控制。负载电流检测电用于过流及负载功率检测。状态显示电用于系统状态的显示,包括电压、负载状况及充放电状态的显示。串行口上传数据电用于系统运行参数的上传,实现远程。键盘输入电用于充电模式设定及LCD背光。该控制器在有阳光时接通电池板,向蓄电池充电;当夜晚或阴天阳光不足时,蓄电池放电,以负载不停电。1.3 AVR单片机AVR微处理器是Atmel公司的8位嵌入式RISC处理器,具有高性能、高保密性、低功耗等优点。程序存储器和数据存储器可访问的哈佛结构,代码执行效率高。系统采用的mega 32处理器包含有32 KB片内可编程FLASH程序存储器;1 KB的E2PROM和2 KBRAM;同时片内集成了看门狗;8

  与报警系统,滴速系统(包括滴速控制装置,钢珠等执行机构),单片机处理系统,通讯模块,自定义遥控器模块,显示以及报警模块,角度传感模块等部分。液位检测模块主要用于对液位的报警,执行机构在程序的控制下完成滴速控制;通讯模块用于和主机的通讯。图1 硬件结构框图2.1 液滴检测方案滴速检测采用的是红外检测技术,在茂菲氏滴管上方处对输液速度进行测量。滴速检测装置结构图如图2所示。红外发射器发出红外光后,光线穿透茂菲氏滴管后照射到光电三极管上,光电三极管将照射到它的光线变成电流信号进行输出。如果此时茂菲氏滴管中没有液滴滴下,光线的衰减就比较小,照射到三极管上的电流就比较大;如果此时茂菲氏滴管中有液滴滴下,由于液滴挡了一下光线,液滴对光线具有吸收

  【报名】在RISC-V应用中实现MultiZone安全性|Microchip 安全解决方案系列在线研讨会

  STM32MP1系列通用型MPU, 集成双 Arm® Cortex®-A7和 Cortex®-M4 内核

  STM32MP1系列通用型MPU, 集成双 Arm® Cortex®-A7和 Cortex®-M4 内核

  站点相关:综合资讯51单片机PIC单片机AVR单片机ARM单片机嵌入式系统汽车电子消费电子数据处理视频教程电子百科其他技术STM32MSP430单片机资源下载单片机习题与教程

      威廉希尔