19905浏览
查看: 19905|回复: 7

[求助] 舵机的初始化问题。

[复制链接]
写了一些正确的代码。过程中正常使用,但是每次拔电关机后,开机和与电脑交互,它某一些舵机就不自主的抽动,输入设定的代码后就正常回来了。
输入5V,功率5安(有一个电压控制系统)稳定输入。

求:有没有什么代码可以初始化它们呢?或者让他们不要动,直至我输入代码

sicoco  中级技师

发表于 2016-7-6 00:56:25

本帖最后由 sicoco 于 2016-7-6 00:58 编辑

你可以把舵机的电源正极和Arduino供电的正极分开供电,或舵机电源正极到Arduino供电正极之间设一个大电流的开关,在arduino刚上电时开关断开,不给舵机供电,等arduino启动完毕,然后给舵机供电。这样就不会因为arduino刚上电时初始化过程使PWM口发出的一些电平变化触发舵机动作。开关可以是机械开关,也可以是用一个IO口控制的MOSFET充当,这样Arduino可以主动控制舵机的电源通断。
其实就和玩航模要先开遥控器再接飞机的电池的道理一样。控制电要先接上,保证控制侧运作正常,再接上动力电。
回复

使用道具 举报

alientg  见习技师
 楼主|

发表于 2016-7-6 09:40:52

sicoco 发表于 2016-7-6 00:56
你可以把舵机的电源正极和Arduino供电的正极分开供电,或舵机电源正极到Arduino供电正极之间设一个大电流的 ...

大神,请问这个‘IO口控制的MOSFET’是不是额外增加一个硬件然后在主板里写一个代码让IO延迟打开通道给舵机延迟供电呢?另外我的舵机是有一个控制板的是和UNO分开供电的,请指教
回复

使用道具 举报

sicoco  中级技师

发表于 2016-7-6 10:08:07

alientg 发表于 2016-7-6 09:40
大神,请问这个‘IO口控制的MOSFET’是不是额外增加一个硬件然后在主板里写一个代码让IO延迟打开通道给舵 ...

对,是额外增加一个硬件。
即使是分开供电的,只要舵机的控制板先上电,UNO刚上电初始化时设置PWM管脚时会有一些电平变化,使舵机接收到后误触发。
不过其实我并不完全确定一般的IO口在刚上电时会不会有电平变化,如果也有,那刚上电时那个MOSFET也有可能被导通,使舵机动起来。
我想加个手动的开关应该是最简单最可靠的方案。
回复

使用道具 举报

sicoco  中级技师

发表于 2016-7-6 10:26:53

alientg 发表于 2016-7-6 09:40
大神,请问这个‘IO口控制的MOSFET’是不是额外增加一个硬件然后在主板里写一个代码让IO延迟打开通道给舵 ...

哦,想起来还可以在舵机的PWM端接一个与门,然后设一个IO口只有在初始化完成后才会从低电平变成高电平。然后只有那个IO口变成高电平,arduino的PWM信号才能输出到舵机。这方法就不需要考虑MOSFET允许的电流大小,只要有与门就行。
IO口也可以替换成一个拨码开关,上电完毕后手动掰到高电平。这比直接在电源上加大电流开关要简单许多。
回复

使用道具 举报

alientg  见习技师
 楼主|

发表于 2016-7-7 12:43:44

sicoco 发表于 2016-7-6 10:26
哦,想起来还可以在舵机的PWM端接一个与门,然后设一个IO口只有在初始化完成后才会从低电平变成高电平。 ...

我好像懂了
因为是大电流和电压,我考虑用IO输出给额外继电器来硬控制舵机控制板的开机延迟通电时间。
回复

使用道具 举报

alientg  见习技师
 楼主|

发表于 2016-7-7 12:44:48

alientg 发表于 2016-7-7 12:43
我好像懂了
因为是大电流和电压,我考虑用IO输出给额外继电器来硬控制舵机控制板的开机延迟通电 ...

maby 手动开关好一点,安全
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail