我是PIC的粉丝。我没有用过arduino。但我有一个问题,当我要控制伺服与图片。
1)当PIc控制伺服时,它不能做其他任何事情。因此,在此期间,它无法获得传感器读数。
2)在将伺服驱动到某一位置之后,当pic正在做其他事情时,pic不再在伺服连接的引脚中产生pwm信号。因此,由于负载,伺服系统可能会向后旋转。
现在我的第一个问题是,arduino会在代码之后,在附加的引脚中连续产生脉冲吗?
servo s;
s.attach(13);
s.write(120);或者,在mikroc中是否有很多库可以使用PIC来控制多个伺服系统,以避免上述问题。
或者使用两张图片更好,一张仅用于驱动伺服系统,另一张用于处理和传感器读取,并使用I2C连接它们。
求求你我需要专家的帮助。请回复。谢谢..。
发布于 2013-10-16 00:22:18
是的,Arduino能够连续生成pwm。
Arduino langage是C/C++,内置了一些特性,比如pwm的analogWrite(),这使得编程变得非常容易。
关于你的“当某些东西运行时,它不能做其他任何事情”的问题,这是Arduino平台目前的主要限制之一。您可以通过使用ISR (中断服务例程)、timers和hardware interrupts来克服这些限制。
如果您熟悉C/C++,您还可以使用实时操作系统(RTOS),它让您可以像常规操作系统一样思考运行:允许cpu快速处理每个任务,使它们看起来像是并行运行。但这并不像基本的Arduino功能那样容易使用,所以如果你真的需要这些功能(调度器、“多任务”、循环rubin等),请仔细考虑。
希望它能帮上忙!
发布于 2013-10-17 04:20:31
我正在计划一个类似的项目,使用PIC16F872,来控制伺服电机。我正在考虑使用一个32 kHz的晶体有一个脉宽调制合适,35赫兹和脉冲宽度中心1.05 mS。在我的情况下,我将首先进行A/D测量;然后在需要时运行电机。电机将有一个连续的信号,直到‘停止’开关给PIC一个中断。我应该提到的是,我已经修改了通过断开反馈锅连续运行的伺服。
https://stackoverflow.com/questions/19385505
复制相似问题