alientg 发表于 2016-7-5 18:46:20

舵机的初始化问题。

写了一些正确的代码。过程中正常使用,但是每次拔电关机后,开机和与电脑交互,它某一些舵机就不自主的抽动,输入设定的代码后就正常回来了。
输入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分开供电的,请指教{:5_168:}

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口只有在初始化完成后才会从低电平变成高电平。 ...

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

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

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

maby 手动开关好一点,安全
页: [1]
查看完整版本: 舵机的初始化问题。