2024年HarmonyOS鸿蒙最全STM32CubeMX(09)MG90S舵机驱动实验_stm32f407控制mg90s(1),学生会面试题答案

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!


img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上鸿蒙开发知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化的资料的朋友,可以戳这里获取

一般来说:
舵机的控制信号为周期是 20ms (50Hz)的脉宽调制(PWM)信号,其中脉冲宽度从 0.5ms-2.5ms
很明显:脉宽越大,转动角度越大。当然不能超过他最大脉宽,也不能否小于最小脉宽.
以某宝上的SG90S舵机为例
有图有真相,已经说的非常清楚了。
舵机的控制一般需要一个20ms左右的时基脉冲,就是说需要一个50Hz的PWM波,
该脉冲的高电平部分一般是0.5ms–2.5ms。以180°的舵机为例,有如下对应关系
他是按那个顺时针来算的,最左边是-90°,最右边是90°,一共180°,当然也有360°的舵机
0.5ms-------------负90°
1.0ms-------------负45°
1.5ms-------------0°
2.0ms-------------正45°
0.5ms-------------正90°
在这里插入图片描述
在这里插入图片描述

二、STM32CubeMX配置

那么知道了舵机的驱动方式,我们直接在STM32CubeMX配置就行了,首先RCC和SYS还有时钟树的配置不用多说。最重要的还是定时器。那我们找一个有PWM输出功能的定时器1

2.1时钟树配置

在这里插入图片描述
在这里插入图片描述

2.2定时器配置

那么我们在定时器这一篇也详细介绍过F407的定时器
STM32CubeMX(02)HAL库之定时器
定时器1是挂在APB2总线上的,说明定时器1的时钟频率是168MHz,并且计数器是16位的,分频器也是16位的。
在这里插入图片描述
在这里插入图片描述
那么我们把我们定时器1的通道2打开,分频系数为3360,计数值为1000
那么最后定时的时间就是168000000/(3360*1000)=50Hz就是20ms
在这里插入图片描述
在这里插入图片描述
我们的脉宽设为100,100是相对于计数值1000来说的,也就是100/1000=1/10,就是1/10的占空比,那么就是2ms,就是45°,我们使用默认的引脚PB0就可以了。
在这里插入图片描述
在这里插入图片描述

2.3生成代码

配置完了我们就生成代码
在这里插入图片描述
在这里插入图片描述

三、代码编写

通过生成的文件我们看到我们配置的是没有问题的
在这里插入图片描述
加的东西很少,我们这里测试就是改变一下占空比,用到了
__HAL_TIM_SET_COMPARE(&htim1,TIM_CHANNEL_2,50);这个库函数可以改变CCR的值,就是改变占空比,占空比等于CCR/Counter,这里Couter我们设置为1000.
那么这个程序实现了什么功能,就是每隔500ms,逆时针旋转45°,然后又顺时针旋转45°回来。
在这里插入图片描述

在这里插入图片描述

四、测试结果

注意:

千万不要用电脑供电,不然电脑USB串口容易烧,因为我们知道电生磁,磁也能生电,舵机里面有电机,电机里面有线圈。电机在正转或者反转过程中会反过来给电路充电,这样的话电流不稳定。所以说舵机最好单独供电,不要用单片机的5V给舵机供电,实际测试过程中用单片机的5V给舵机供电,发现单片机的电源灯时亮时暗,说明电流很不稳定。

改为单独供电后,工作稳定,非常有力。

在这里插入图片描述

总结

学会了如何使用舵机之后我们可以利用舵机进行一下小制作,比如说简易小车,智能门锁,远程关灯等(懒人福音)。这就需要大家发挥自己的聪明才智,不断探索了。

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

5)**

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 24
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值