繁体   English   中英

PIC或ARDUINO用于伺服电机控制

[英]PIC or ARDUINO for servo motor controling

我是PIC迷。 我没有用过arduino。 但是当我要用图片控制伺服时,我遇到了一个问题。

1)当PIc控制伺服器时,它无法执行其他操作。 因此在此期间它无法获取传感器读数。

2)在将伺服驱动器驱动到某个位置之后,现在图片正在做其他事情时,图片不会在伺服连接的引脚上进一步产生pwm信号。 因此伺服可能会因负载而向后旋转。

现在我的第一个问题是arduino将在代码后连续不断地在连接的针脚上使脉搏停止

 servo s;
 s.attach(13);
 s.write(120);

或在mikroc中有eny库来控制使用PIC的多伺服系统,以避免上述问题。

或者最好使用两个PIC,一个仅驱动伺服器,另一个用于处理和读取传感器,然后使用I2C连接它们。

请我需要专家的帮助。 请回复。 谢谢...

是的,Arduino能够连续生成pwm

Arduino语言是C / C ++,具有一些内置功能,例如pwm analogWrite() ,这使得编程非常容易。

关于您的“何时某事正在运行,它无能为力”问题,这是Arduino平台的主要限制之一。 您可以通过使用ISR (中断服务程序), timershardware interrupts来克服这些限制。

如果您对C / C ++感到满意,则还可以使用实时操作系统(RTOS),让您像常规操作系统一样运行:允许cpu时间处理每个任务的速度如此之快,以至于它们似乎可以并行运行。 但这并不像Arduino的基本功能那样容易使用,因此请仔细考虑是否确实需要这些功能(计划程序,“多任务”,轮次鲁宾等等)。

希望能帮助到你!

我正在计划使用PIC16F872来控制伺服电机的类似项目。 我正在考虑使用32 kHz晶振来具有合适的PWM,频率为35Hz,脉冲宽度以1.05 mS为中心。 就我而言,我将首先进行A / D测量; 然后在需要时运行电动机。 电机将发出连续的信号,直到“停止”开关为PIC中断为止。 我应该提到的是,我已经通过断开反馈罐的方式对伺服进行了修改,使其可以连续运行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM