和12岁小同志搞创客开发:遥控舵机
2021-08-086464
AI 快速预览详细
本文介绍了一个遥控舵机项目,通过旋转电位器控制180°微型舵机的转动。文章详细讲解了舵机控制理论,包括PWM原理和具体的控制关系。在实践中,通过旋转电位器ADC数值 X 18 / 1023,再放大10倍的方法解决了数值超出变量定义极限的问题。该项目适合12岁及以上的孩子进行STEM教育,帮助他们在实践中掌握编程技巧。
|
机缘巧合在网上认识一位12岁小同志,从零开始系统辅导其创客开发思维和技巧。 之前讲到了设计一款亮度可调节灯,在此基础上,实现旋转电位器控制舵机转动。 1、舵机控制理论 控制舵机转动,本质上也是PWM(脉冲宽度调制),通过一个固定的频率,给其不同的占空比来控制舵机不同的转角。 舵机的频率一般为频率为50HZ,也就是一个20ms左右的时基脉冲,而脉冲的高电平部分一般为0.5ms~2.5ms范围,来控制舵机不同的转角,0.5ms~2.5ms的PWM高电平部分对应控制180度舵机的0~180度。 以180度角度伺服为例,那么对应的控制关系如下所示: 0.5ms-------------0度 下图演示占空比从1ms变化到2ms时,转角的变化: 在设计一款亮度可调节灯中使用旋钮电位器ADC采样数值的范围是0~1023之间,但是舵机可接收的旋转角度是:0~180度,故建立转换关系: 当旋转电位器ADC数值为0时,带入公式,舵机旋转度数为0;当旋转电位器ADC数值为1023时,舵机旋转度数为180。 遥控舵机程序设计如下所示: 效果如下所示: |




