求一个51控制51舵机控制程序的程序

AT89C2051解密单片机程序在多路51舵机控制程序控制电路的应用案例

专业芯片解密解密单片机程序,IC破解芯片程序反汇编修改,原理图BOM表制作,样机调试一条龙服务!

AT89C2051解密單片机程序在多路51舵机控制程序控制电路的应用案例

51舵机控制程序是一种位置伺服的驱动器。它接收一定的控制信号输出一定的角度,適用于那些需要角度不断变化并可以保持的控制系统在微机电系统和航模中,它是一个基本的输出执行机构以FUTABA-S3003型51舵机控制程序为例,圖1是FUFABA-S3003型51舵机控制程序的内部电路

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

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

51舵机控制程序控制器硬件电路设计

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

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

实现多路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《Sawval则对应端口输出低电平。從图5中可看出若改变 DutyVal的值,则对应端口输出脉冲的宽度发生变化但输出脉冲的频率不变,此即为PWM波形

}

我要回帖

更多关于 51舵机控制程序 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信