和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

快来试试吧~


相关文章
|
XML JSON API
免费手机号码归属地API查询接口
一、淘宝网API    API地址: http://tcc.taobao.com/cc/json/mobile_tel_segment.htm?tel=15850781443 参数: tel:手机号码 返回:JSON 二、拍拍API   API地址:   http://virtual.
5765 0
|
3月前
|
机器学习/深度学习 人工智能 监控
基于深度学习的河道垃圾检测系统设计(YOLOv8)
本项目基于YOLOv8设计河道塑料瓶智能检测系统,融合深度学习与PyQt5界面开发,实现图像、视频及实时摄像头输入下的垃圾识别。具备高精度、实时性强、操作简便等优点,支持模型训练、推理与结果可视化,推动AI在环保治理中的工程化应用,助力河道环境智能监测与可持续管理。
158 4
|
11月前
|
SQL 关系型数据库 MySQL
【MySQL】SQL分析的几种方法
以上就是SQL分析的几种方法。需要注意的是,这些方法并不是孤立的,而是相互关联的。在实际的SQL分析中,我们通常需要结合使用这些方法,才能找出最佳的优化策略。同时,SQL分析也需要对数据库管理系统,数据,业务需求有深入的理解,这需要时间和经验的积累。
358 12
|
存储 前端开发 JavaScript
前端技术深度探索:从基础到现代框架的实践之旅
前端技术深度探索:从基础到现代框架的实践之旅
300 3
|
运维 Linux Apache
【一键变身超人!】Puppet 自动化运维神器 —— 让你的服务器听话如婴儿,轻松管理资源不是梦!
【8月更文挑战第9天】随着云计算与容器化技术的发展,自动化运维已成为现代IT基础设施的核心部分。Puppet是一款强大的自动化工具,用于配置管理,确保系统保持预期状态。通过易于理解的配置文件定义资源及其依赖关系,Puppet实现了“基础设施即代码”的理念。本文简要介绍了Puppet的安装配置方法及示例,包括Puppet Agent与Master的安装、基本配置步骤和一个简单的Apache HTTP Server管理示例,展示了Puppet在实际应用中的强大功能与灵活性。
303 9
|
缓存 安全 Java
Spring高手之路21——深入剖析Spring AOP代理对象的创建
本文详细介绍了Spring AOP代理对象的创建过程,分为三个核心步骤:判断是否增强、匹配增强器和创建代理对象。通过源码分析和时序图展示,深入剖析了Spring AOP的工作原理,帮助读者全面理解Spring AOP代理对象的生成机制及其实现细节。
642 0
Spring高手之路21——深入剖析Spring AOP代理对象的创建
|
Linux 网络安全
在 Alibaba Cloud Linux 上编辑 iptables
本场景是在Alibaba Cloud Linux上编辑 iptables防火墙
|
存储 缓存 编解码
计算机硬件学习教程
【7月更文挑战第26天】
816 2
|
Java 应用服务中间件 调度
JavaWeb 速通Listener
JavaWeb——监听器Listener 内容分享。
249 0
|
Java Android开发
Android 切换壁纸代码流程追踪
Android 切换壁纸代码流程追踪
288 0