和12岁小同志搞创客开发:遥控舵机

简介: 和12岁小同志搞创客开发:遥控舵机

目录

1、舵机控制理论


2、舵机控制实践


机缘巧合在网上认识一位12岁小同志,从零开始系统辅导其创客开发思维和技巧。

image.png

项目专栏:https://blog.csdn.net/m0_38106923/category_11097422.html


之前讲到了设计一款亮度可调节灯,在此基础上,实现旋转电位器控制舵机转动。

image.png

本项目使用的舵机是180°微型舵机,该舵机采用高强度ABS透明外壳配以内部高精度尼龙齿轮组,加上精准的控制电路、高档轻量化空心杯电机使该微型舵机的重量只有9克,而输出力矩达到了惊人的1.6kg*cm,可满足基本的项目应用。


1、舵机控制理论

控制舵机转动,本质上也是PWM(脉冲宽度调制),通过一个固定的频率,给其不同的占空比来控制舵机不同的转角。


舵机的频率一般为频率为50HZ,也就是一个20ms左右的时基脉冲,而脉冲的高电平部分一般为0.5ms~2.5ms范围,来控制舵机不同的转角,0.5ms~2.5ms的PWM高电平部分对应控制180度舵机的0~180度。


以180度角度伺服为例,那么对应的控制关系如下所示:

image.png

下图演示占空比从1ms变化到2ms时,转角的变化:

image.png

2、舵机控制实践

在设计一款亮度可调节灯中使用旋钮电位器ADC采样数值的范围是0~1023之间,但是舵机可接收的旋转角度是:0~180度,故建立转换关系:

image.png

所以,旋转电位器ADC数值 X 180 = 舵机旋转度数 X 1023, 故,舵机旋转度数 = 旋转电位器ADC数值 X 180 / 1023。


当旋转电位器ADC数值为0时,带入公式,舵机旋转度数为0;当旋转电位器ADC数值为1023时,舵机旋转度数为180。


遥控舵机程序设计如下所示:

image.png

在实际的开发过程中,发现如果直接使用旋转电位器ADC数值 X 180 / 1023,数值会超出变量定义的极限,所以将此步骤分为:旋转电位器ADC数值 X 18 / 1023,然后得到的结果再放大10倍。


效果如下所示:

image.png

快来试试吧~


相关文章
|
10月前
|
算法 定位技术 C语言
51单片机实现俄罗斯方块游戏编程
设计了一款基于AT89C51单片机的俄罗斯方块游戏机,使用LCD12864液晶显示,按键控制方块移动与变形。游戏中,7种不同形状的方块随机下落,填满一行得分,满屏则游戏结束。包含电源、单片机最小系统、LCD和按键模块的硬件电路通过Proteus进行了仿真,展示了游戏运行、得分和计时等。代码部分展示了检查碰撞和更新地图的函数。
206 1
|
人工智能 算法 固态存储
这才是模块化电脑该有的样子:一人打造的超迷你计算机,震动了整个极客圈
这才是模块化电脑该有的样子:一人打造的超迷你计算机,震动了整个极客圈
160 0
|
算法
每日一题冲刺大厂第十九天 小车车
大家好,我是泡泡,给大家带来每日一题的目的是为了更好的练习算法,我们的每日一题为了让大家练到各种各样的题目,熟悉各种题型,一年以后,蜕变成为一个不一样的自己!
99 0
和12岁小同志搞创客开发:如何使用继电器?
和12岁小同志搞创客开发:如何使用继电器?
和12岁小同志搞创客开发:如何使用继电器?
|
芯片 开发者
和12岁小同志搞创客开发:如何驱动LED数码管?
和12岁小同志搞创客开发:如何驱动LED数码管?
和12岁小同志搞创客开发:如何驱动LED数码管?
|
编解码 搜索推荐
什么叫顶流显示器,外星人今天给我好好上了一课
什么叫顶流显示器,外星人今天给我好好上了一课
439 0
什么叫顶流显示器,外星人今天给我好好上了一课
万万没想到,低功耗也会烧毁元器件?
万万没想到,低功耗也会烧毁元器件?
万万没想到,低功耗也会烧毁元器件?
|
人工智能 机器人 程序员
在线教育迎风口,少儿编程难起飞
不少头部的少儿编程企业顺势将目光放在线上,迅速行动起来。