我用单片机STC89c51驱动舵机辉盛SG90,给它脉宽2ms,周期20ms的PWM信号,舵机没反应,怎么样才行?

舵机的信号端,我是连在P0口,接5v电压,另一端接地给脉冲以后,舵机只是嗡嗡响,就是不转。信号端与IO口接触的瞬间会转动。谁能告诉我具体应该怎么做才行。但是相当困扰我,把自己所有的分都拿出来了,哪位大侠帮帮忙。

51的P0口要是做IO口的话需要上拉10K电阻,或者你拿其他IO口。舵机只要有点源就嗡嗡响,如果你信号脉宽和周期没错的话应该是IO口没上拉的原因。模拟舵机的信号端上电瞬间就是会转动一下,这个没什么问题,如果手转舵机没阻力就是没信号,反之就是有信号的。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-05-15
舵机多使用调节方波占空比来调节转度速度与方向,所以我建议你先用函数发生器来控制舵机,再根据测定的工作频率范围和占空比来编写程序,这样会效果更好。本回答被提问者和网友采纳
第2个回答  2012-12-30
在你接触的瞬间已经转到指定位置了,当然以后就不转了,如果想要再转,你得改变脉冲宽度。舵机只能转180度以内,别指它能转圈圈。
第3个回答  2011-05-15
P0口下拉电流有限,只有20mA,可能不足以驱动舵机。追问

我想的也是这样,可是为什么当信号端接触IO口的瞬间,舵机会旋转呢?如果电流不够的话,不是应该不转吗?

追答

最好测一下电流。

第4个回答  2011-05-19
现用示波器看一下输出的波形,在仔细看看舵机的数据手册吧,这种问题当然也可能是舵机的问题。