这个比较简单吧,驱动普通舵机只要一个口线直接接舵机信号线就行了。
软件上可以用“分时复用比较法(我自己想的名字)”来做。
简单来说就是:设置一个定时器让它按舵机最小分辨率的周期来溢出,
溢出后让某个寄存器从1开始到最大值不断重复,这个最大值不一定是0FFH,
可以根据自己的需要设。每次定时器溢出的时候进入中断,
寄存器加1后和每个舵机的预设值进行比较,判断是否改变高电平的宽度。
这个比较一般只能处理不多的几路(要保证在下个定时器中断前完成比较)。
因为舵机信号的脉宽最大只有2.5MS,
在处理这几路舵机的时候把其它的舵机信号都拉低。当处理完这几路的时候,
也就是定时器从1到最大值完成一次后,
(这时候前面处理过的几路应该都是低电平了)
把下次需要处理的几路都拉高。然后再比较这几路该什么时候拉低,
依次循环,直到总时间达到20MS,再回过头来处理刚开始处理的几路。
本文下载地址:/p-31911495.html
在机器人机电控制系统中,舵机控制效果是性能的重要影响因素。舵机可以在微机电系统和航模中作为基本的输出执行机构,其简单的控制和输出使得单片机系统非常容易与之接口。
是一种位置(角度)伺服的驱动器,适用于那些需要角度不断变化并可以保持的控制系统。目前在高档遥控玩具,如航模,包括飞机模型,潜艇模型;遥控机器人中已经使用得比较普遍。舵机是一种俗称,其实是一种伺服马达。 其工作原理是:
控制信号由接收机的通道进入信号调制芯片,获得直流偏置电压。它内部有一个基准电路,产生周期为20ms,宽度为1.5ms的基准信号,将获得的直流偏置电压与电位器的电压比较,获得电压差输出。最后,电压差的正负输出到电机驱动芯片决定电机的正反转。当电机转速一定时,通过级联减速齿轮带动电位器旋转,使得电压差为0,电机停止转动。当然我们可以不用去了解它的具体工作原理,知道它的控制原理就够了。就象我们使用晶体管一样,知道可以拿它来做开关管或放大管就行了,至于管内的电子具体怎么流动是可以完全不用去考虑的。
舵机的控制一般需要一个20ms左右的时基脉冲,该脉冲的高电平部分一般为0.5ms~2.5ms范围内的角度控制脉冲部分。以180度角度伺服为例,那么