用AVR单片机产生多路(如16路)PWM信号而且是可调的,用于控制舞蹈机器人身上的舵机。

可以给一些这方面的具体资料 思想呀什么的 有好的程序也可以的,主要是想自己写一个这方面的程序,教我思想或给我程序我自己看都可以的。哦最好是AVR的8515的单片机 若是我真的成功了的话,愿意再追加5分以上的分数。 请大侠指教啊,谢谢。

用16个IO口去模拟。软件上用中断处理。比如每200uS一次中断。这样100次为一个周期。定义一个计数器。从0加到99. 当计数器=0时把16个IO口置位(或清0).当计数器与相对应的占空比设定值相等时。再取反相对应的IO口。独立的16路(占空比值)最好通过按键设定。追问

那么如果想实现:用两个按键控制一个舵机,一个键按下一次舵机正转一度,再按一次又转一度等等。而另一个键按下一次舵机会反转一度,再按下一次又会再反转一度等等。{按键按一下也不一定要一度,越精确越好了。}对于这个你有什么好的思想,说来分享一下。

温馨提示:内容为网友见解,仅供参考
第1个回答  2011-09-07
hh .你说的什么是可调的。是频率还是占空比。多路PWM一种方法就是用输出口中的某一位模拟输出PWM,如果功率大的,要注意增加驱动芯片,比如74ls244缓冲器。
要不你就选择本身带pwm输出多的芯片。比如340,430这类的单片机。比较好。追问

周期是20ms 是占空比可调的 思想 能明确点吗

追答

20ms容易实现。占空比你打算用什么跳?如果想用电位器调,那就需要弄AD转换,检测电位器两端的电压,然后根据测得的电压值,调节占空比。要不你就弄个键盘,直接输入占空比。

第2个回答  2011-09-08
avr自带pwm输出达不到16路,avr自带pwm占空比可调,加一些电路可作DA用

你好,我用单片机控制舵机的,可是控制3个以上舵机的时候就有误动作了...
如一楼所说,电源容量不够,舵机多了,引起电源波动,引起干扰。最好舵机单独供电。还有可能,程序BUG,标准舵机是1.5MS之2.5MS之间,用于处理的定时中断非常紧迫,一般用51就很难搞定太多舵机,用AVR比较常见,如果用C语言写,代码也会加大,这个你也得注意。

想做一个六足机器人,控制18个舵机,请问用AVR还是AT89S51控制比较好
肯定是AVR比AT89S51好。因为AVR速度快,能通过定时器直接产生PWM。AT89S51只能模拟产生,浪费cpu资源。但两个跟ARM相比就差远了,比如STM32,你可以直接用定时器轻易的产生至少16路的PWM,不需要程序模拟。

机器人传统是力气大,那么我想知道机器人是靠什么来发动臂力的?
在机器人机电控制系统中,舵机控制效果是性能的重要影响因素。舵机可以在微机电系统和航模中作为基本的输出执行机构,其简单的控制和输出使得单片机系统非常容易与之接口。舵机是一种位置(角度)伺服的驱动器,适用于那些需要角度不断变化并可以保持的控制系统。目前在高档遥控玩具,如航模,包括飞机模型,潜艇...

相似回答