用atmel系列的avr单片机控制多个舵机同时动作,如何实现,求原理说明,及c语言例程。单片机可以用atmega8l 或atmega16l 目前手中只有这两款
åçä¸å¯ä»¥æ§å¶ä¸IOå£ç¸åçèµæºï¼ä¸è¿æ¥å¤äºï¼å°±äºç¸å½±åæå¨ï¼
温馨提示:答案为网友推荐,仅供参考
第1个回答 2013-03-31
没有现成的例程,但是知道怎么做。
首先选用单片机上带PWM输出功能的引脚,然后设置成PWM输出模式,设置定时器模式,然后简单计算一下,就是主频是多少、定时器1个数字代表多长时间、你需要多长的周期需要设置成哪个数字(舵机好像是需要20ms,你自己查一下你那种舵机的控制方法)、多少占空比(好像是0.5至1.5ms分别代表0°至180°,也你那种舵机的控制方法吧,我忘了)……大概就是这样。
你再搜一下你那款单片机的PWM例程,就基本可以搞定了!追问
首先选用单片机上带PWM输出功能的引脚,然后设置成PWM输出模式,设置定时器模式,然后简单计算一下,就是主频是多少、定时器1个数字代表多长时间、你需要多长的周期需要设置成哪个数字(舵机好像是需要20ms,你自己查一下你那种舵机的控制方法)、多少占空比(好像是0.5至1.5ms分别代表0°至180°,也你那种舵机的控制方法吧,我忘了)……大概就是这样。
你再搜一下你那款单片机的PWM例程,就基本可以搞定了!追问
PWM输出这些都不是问题 主要我想了解的是如何同时控制,而且相互之间没有干扰
追答单片机的PWM模式下就是多个口同步输出的啊,喜欢同时控制几个就可以控制几个!怎么会干扰呢!