基于AT89C2051的多路舵机控制器设计

发布者:SparklingStar22最新更新时间:2007-07-13 来源: 单片机及嵌入式系统应用关键字:伺服  信号  解调  电位 手机看文章 扫描二维码
随时随地手机看文章
舵机是一种位置伺服的驱动器。它接收一定的控制信号,输出一定的角度,适用于那些需要角度不断变化并可以保持的控制系统。在微机电系统和航模中,它是一个基本的输出执行机构。

1 舵机的工作原理

以日本FUTABA-S3003型舵机为例,图1是FUFABA-S3003型舵机的内部电路。


舵机的工作原理是:PWM信号由接收通道进入信号解调电路BA66881。的12脚进行解调,获得一个直流偏置电压。该直流偏置电压与电位器的电压比较,获得电压差由BA6688的3脚输出。该输出送人电机驱动集成电路BA6686,以驱动电机正反转。当电机转速一定时,通过级联减速齿轮带动电位器R。,旋转,直到电压差为O,电机停止转动。舵机的控制信号是PWM信号,利用占空比的变化改变舵机的位置。

2 舵机的控制方法

标准的舵机有3条导线,分别是:电源线、地线、控制线,如图2所示。

电源线和地线用于提供舵机内部的直流电机和控制线路所需的能源.电压通常介于4~6V,一般取5V。注意,给舵机供电电源应能提供足够的功率。控制线的输入是一个宽度可调的周期性方波脉冲信号,方波脉冲信号的周期为20 ms(即频率为50 Hz)。当方波的脉冲宽度改变时,舵机转轴的角度发生改变,角度变化与脉冲宽度的变化成正比。某型舵机的输出轴转角与输入信号的脉冲宽度之间的关系可用围3来表示。

3 舵机控制器的设计

(1)舵机控制器硬件电路设计

从上述舵机转角的控制方法可看出,舵机的控制信号实质是一个可嗣宽度的方波信号(PWM)。该方波信号可由FPGA、模拟电路或单片机来产生。采用FPGA成本较高,用模拟电路来实现则电路较复杂,不适合作多路输出。一般采用单片机作舵机的控制器。目前采用单片机做舵机控制器的方案比较多,可以利用单片机的定时器中断实现PWM。该方案将20ms的周期信号分为两次定时中断来完成:一次定时实现高电平定时Th;一次定时实现低电平定时T1。Th、T1的时间值随脉冲宽度的变换而变化,但,Th+T1=20ms。该方法的优点是,PWM信号完全由单片机内部定时器的中断来实现,不需要添加外围硬件。缺点是一个周期中的PWM信号要分两次中断来完成,两次中断的定时值计算较麻烦;为了满足20ms的周期,单片机晶振的频率要降低;不能实现多路输出。也可以采用单片机+8253计数器的实现方案。该方案由单片机产生计数脉冲(或外部电路产生计数脉冲)提供给8253进行计数,由单片机给出8253的计数比较值来改变输出脉宽。该方案的优点是可以实现多路输出,软件设计较简单;缺点是要添加l片8253计数器,增加了硬件成本。本文在综合上述两个单片机舵机控制方案基础上,提出了一个新的设计方案,如图4所示。

该方案的舵机控制器以AT89C2051单片机为核心,555构成的振荡器作为定时基准,单片机通过对555振荡器产生的脉冲信号进行计数来产生PWM信号。该控制器中单片机可以产生8个通道的PWM信号,分别由AT89C2051的P1.0~Pl.7(12~19引脚)端口输出。输出的8路PWM信号通过光耦隔离传送到下一级电路中。因为信号通过光耦传送过程中进行了反相,因此从光耦出来的信号必须再经过反相器进行反相。方波信号经过光耦传输后,前沿和后沿会发生畸变,因此反相器采用CD40106施密特反相器对光耦传输过来的信号进行整形,产生标准的PWM方波信号。笔者在实验过程中发现,舵机在运行过程中要从电源吸纳较大的电流,若舵机与单片机控制器共用一个电源,则舵机会对单片机产生较大的干扰。因此,舵机与单片机控制器采用两个电源供电,两者不共地,通过光耦来隔离,并且给舵机供电的电源最好采用输出功率较大的开关电源。该舵机控制器占用单片机的个SCI串口。串口用于接收上位机传送过来的控制命令,以调节每一个通道输出信号的脉冲宽度。MAX232为电平转换器,将上位机的RS232电平转换成TTL电平。

(2)实现多路PWM信号的原理


在模拟电路中,PWM脉冲信号可以通过直流电平与锯齿波信号比较来得到。在单片机中,锯齿波可以通过对整型变量加1操作来实现,如图5所示。假定单片机程序中设置一整型变量SawVal,其值变化范围为O~N。555振荡电路产生的外部计数时钟信号输入到AT89C2051的INTO脚。每当在外部计数时钟脉冲的下降沿,单片机产生外部中断,执行外部中断INT0的中断服务程序。每产生一次外部中断,对SawVal执行一次加1操作,若SawVal已达到最大值N,则对SawVal清O。SawVal值的变化规律相当于锯齿波,如图5所示。若在单片机程序中设置另一整型变量DutyVal,其值的变化范围为O~N。每当在SawVal清0时,DulyVal从上位机发送的控制命令中读入脉冲宽度系数值,例如为H(0≤H≤N)。若DutyVal≥SawVal,则对应端口输出高电平;若DutyVal

设外部计数时钟周期为TINT0,锯齿波周期(PWM脉冲周期)为TPWM,PWM脉冲宽度占空比为D,由图5可得出如下关系:

???
由式(3)可知,PWM波形的周期TPWM一旦确定下来,只须选定计数最大值N,就可以确定外部时钟脉冲所需周期(频率)。外部时钟脉冲周期TINT0显然是PWM脉冲宽度变换的最小步距,即调节精度。由式(4)可知,N越大,步距所占PWM周期的百分比越小,精度越高。例如,若采用8位整型变量,最大值N=28-1=255,则精度为1/(255+1)=1/255;若采用16位整型变量,最大值N=216-1=65535,则精度为1/65536。文中计数变量SawVal采用8位整型变量,因此N=255。对于一般应用,其精度已足够。就舵机而言,要求TPWM=20ms,则可算得外部时钟周期为:

 
因此,设计555振荡电路时,其输出脉冲的频率应为:

 
当有多个变量与SawVal比较,将比较结果输出到多个端口时。就形成了多路PWM波形。各个变量的值可以独立变化,因此各路PWM波形的占空比也可以独立调节,互不相干。多路PWM波形的产生如图6所示。图中以3路PWM波形为例。

4 舵机控制器软件的设计

舵机控制器的控制核心为单片机AT89C2051。文中,程序用C5l编写,工作方式为前后台工作方式。单片机程序包括系统初始化程序、串口通信程序、上位机命令解释与PWM脉宽生成程序和多路PWM波形输出程序。串行通信程序和多路PWM波形输出程序采用中断方式。串口通信格式为渡特率9600bps、8位数据位、1位停止位、无校验、ASCII码字符通信。串口通信程序用于接收上位机发送过来的控制命令。控制命令采用自定义文本协议,即协议内容全部为ASCII码字符。通信协议格式如图7所示。

例如,要控制通道1的PWM脉宽,脉宽系数为25,则通信协议内容为“#”“1”“0”“2”“5”“!”这6个字符。这时通道l的PWM占空比为25/256=O.098。一个通道号对应一个PWM脉冲输出端口。本设计为8个通道,号码为l~8,对应单片机的P1.o~P1.7。起始符和终止符起到帧同步的作用。串口通信程序流程如图8所示。

图8中,CHNo存放的是PWM通道号ASCII码,Dutyl00、DutylO、Duoyl分别存放的是脉宽系数的百位数、十位数和个位数的ASCII码(注意,若高位数为O,则该位的字符应为“0”,不能省略。如25,完整字符应为“O”“2”“5”。CharNo为信号量,用于对串口接收的字符顺序以及串口中断与上位机命令解释程序之间进行同步。

5 舵机控制器实验

图9为舵机控制板输出的其中一路PWM波形(带舵机负载)。

从图9中可看出,舵机控制器输出的PWM波形稳定、干净,符合设计要求。

6 结论

本文提出的多路舵机控制器设计方法,以单片机AT89C2051为核心,由外部振荡电路提供PWM脉冲的定时基准,控制部分与舵机驱动部分由两个电源供电,两者电气隔离。这种设计方案的优点是:

①PWM波形由外部振荡电路提供定时基准,与单片机内部振荡器的频率无关,不影响串口通信、定时器等参数的配置。
②PWM波形的调整精度可任意确定。
③本没计思路可应用于任意多路的PWM输出,只要单片机能提供足够多的输出端口,例如将AT89C2051换成AT89S5l,就可以提供至少24路的PWM输出(P0、Pl、P2)。
④控制参数由SCI串口输入,适应面广,上位机可以是PC机、单片机或是PLC。
⑤本方法具有一般性,任何单片机只要能提供SCI中断、外部中断就可以应用本方法。

关键字:伺服  信号  解调  电位 引用地址:基于AT89C2051的多路舵机控制器设计

上一篇:基于LPC2292的CAN总线智能节点设计
下一篇:AP384XC系列PWM控制器的设计考虑

推荐阅读最新更新时间:2024-03-30 21:23

100MHz可编程数字信号发生器
    摘 要: 介绍一种基于ISA总线的可编程数字信号发生器,其特点是:工作时钟100MHz,用可编程逻辑器件EPLD作为核心元件,信号输出多达16路,用LabWindjows/CVI软件设计的PC机虚拟仪器面板,界面友好,操作方便。并给出了硬件原理框图。     关键词: ISA总线 可编程 数字信号发生器 虚拟仪器     在通讯、电子、自动控制中,经常需要非周期的、能精确定时的数字信号,用以产生测试信号或模拟控制的时序。国内现有的可程控信号发生器输出信号频率较低(几kHz~几MHz)、输出路数较少(一般为两、三路)且结构复杂、操作不方便,难以满足现代电子技术发展的需要。     为此,我们开发了
[测试测量]
用于便携式超声诊断设备的单片多普勒移相器
——AD8339 四正交解调器和移相器取代医学超声诊断设备中的延时线以减少元件数量并且降低功耗。 关于AD8339 AD8339 是一种带移相器的四可编程同相和正交( I&Q) 解调器,非常适合于医学超声诊断系统。在连续波(CW)多普勒超声波等超声波波束成形应用中,AD8339通过替代在典型相位阵列波束赋形应用中使用的大交叉开关矩阵和模拟延时线,比同类产品节省了75%的印制电路板(PCB)面积。AD8339每通道功耗仅为73 mW,比同类解决方案降低了30%,从而允许医学仪器制造商能够在便携式和电池供电设备中提供CW多普勒功能。另外这种新器件节省功耗特性也能使得设计师可以在车载超声波设备中增加通道密度,在这些设备中通常每通道
[新品]
DSP航姿信号模拟器硬件设计
飞机的航向与姿态是飞机操纵的重要参数,航姿信号包括航向信号和姿态信号,一般把飞机的俯仰角、倾斜角、航向角、转弯角速度等称为全姿态。测量全姿态,通常采用的陀螺仪进行,也称为陀螺仪表,根据各种飞机的使用要求,有多种陀螺仪表,比如地平仪、综合罗盘、转弯仪、航向姿态系统等。但是无论哪种情况,其信号输出的变换大多是通过自整角机或旋转变压器来实现的。 航姿信号模拟器是为了给待测的仪表设备或实验室研究提供可以人工调节和控制的信号源而设计的,可以产生各种频率的航姿信号及用户自己定义的任意波形等,以便对飞机性能进行测试。传统的航姿信号模拟系统开发是基于VXI、PCI等总线基础上,大多使用硬件电路设计与实现,通过PC机进行分析处理,功能相对来说也比
[嵌入式]
DSP航姿<font color='red'>信号</font>模拟器硬件设计
一种跳频MSK信号检测算法及FPGA 实现
引言   采用MSK 调制的跳频通信具有主瓣能量集中、旁瓣衰落滚降快、频谱利用率高和抗干扰能力强等优点,在军事通信中应用广泛。如美军现役的联合战术信息分发系统采用的通信信号,工作带宽969~1 206 MHz,跳频速率为 70000 多跳/ s, 单个频点驻留时间约为13 s,信号持续时间* s, 总共有51个间隔为3 MHz 的信道,码速率为5 MHz。已知在该工作频段内主要还存在单频、窄带调幅和线性调频等信号。为了准确截获并识别目标信号,针对此信号环境设计了一种MSK 信号检测识别方法,并使用FPGA 进行了设计实现。    1 算法设计    1.1 宽带跳频信号实时检测算法   用现代技术来实现宽带数字化接收
[嵌入式]
一种跳频MSK<font color='red'>信号</font>检测算法及FPGA 实现
电路设计宝典:信号发生器设计锦集
  凡是产生测试信号的仪器,统称为信号源。信号发生器的振荡电路也称为信号发生器,它用于产生被测电路所需特定参数的电测试信号。在测试、研究或调整电子电路及设备时,为测定电路的一些电参量,如测量频率响应、噪声系数,为电压表定度等,都要求提供符合所定技术条件的电信号,以模拟在实际工作中使用的待测设备的激励信号。当要求进行系统的稳态特性测量时,需使用振幅、频率已知的正弦信号源。当测试系统的瞬态特性时,又需使用前沿时间、脉冲宽度和重复周期已知的矩形脉冲源。并且要求信号源输出信号的参数,如频率、波形、输出电压或功率等,能在一定范围内进行精确调整,有很好的稳定性,有输出指示。本文搜罗了几个经典的信号发生器电路,为工程师及电子爱好者设计信号产生电
[电源管理]
电路设计宝典:<font color='red'>信号</font>发生器设计锦集
跟踪(伺服型)AD转换器电路图
跟踪(伺服型)A,D转换器电路图
[模拟电子]
跟踪(<font color='red'>伺服</font>型)AD转换器电路图
频谱中射频干扰信号流化、分析与回放
理想状态下,接收机将使用砖墙式滤波器,放大器和混频器将永不失真,命令中心始终协调频谱运行,“堵塞”是一种只有在人们早上上班和参加音乐会时才会出现的情况。此时,射频干扰将会出现。 射频干扰分为有意干扰和无意干扰两类。无意干扰是射频环境的一部分:手机、无线链路、无绳电话、地面电视、医疗电子设备等都会产生无意干扰。有意干扰是专门创建的信号,目的是破坏目标接收机的运行。 我们重点关注有意射频干扰,最终目标是抵制多余信号。建议的解决方案包括四步 一捕获现场射频信号 一在实验室进行分析 一仿真并回放信号 一开发解决方案 由于此类射频干扰都是间歇的瞬时信号,捕获信号可能需要数秒、数分钟或数小时的数据。为了确保完整的分析图,捕获数据必须是
[测试测量]
频谱中射频干扰<font color='red'>信号</font>流化、分析与回放
用PS1008和MB1504自制多功能寻呼机信号
1 引言 多功能寻呼机信号仪俗称寻呼机发码器,它作为一种重要的寻呼机维修调试设备,对于寻呼机的维修、调试、改频都是必备的。 然而它的市场售价却比较昂贵,一般都在千元以上。这对于许多电子爱好者来说显得望尘莫及,不敢问津。笔者在这里介绍一种多功能寻呼机信号仪的自制方法。该仪器以ML-18V3型多功能寻呼机信号仪配套软件为基础,并用PS1008单片机为核芯优化设计而成。该仪器具有性能可靠,功能较多,制作比较容易等特点。 自制的多功能寻呼机信号仪所用软件与ML-18V3型多功能寻呼机软件一样(该软件市场有售),具有与ML-18V3型信号仪一样的功能: 1. 与电脑连接,键盘操作,全中文窗式界面,一看就会; 2. 可根
[测试测量]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
最新工业控制文章
换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved