前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >DIY四轴无人机(二、STM32调制PWM)

DIY四轴无人机(二、STM32调制PWM)

作者头像
Melody132
发布2020-10-26 11:08:13
1.3K0
发布2020-10-26 11:08:13
举报
文章被收录于专栏:时光笔记时光笔记

STM32单片机想要直接驱动电机旋转显然是不可能的,那么中间就需要一个电调模块,也就是说,STM32去与电调沟通需要让电机转多快,而STM32与电调之间的通信协议就是PWM信号。

PWM其实就是下图这种一定频率的脉冲,电调收到这种脉冲就会计算,每个周期脉宽时间占比,我们把它称为脉宽占比,比如像下图一看奥脉宽占比是80%,就控制电机80%的“油门”。大概就是这么个意思。

那么STM32想要输出这种波其实也不难,原理图如下。

解释一下,就是说,我们来掰手指头数数,比如从1数到10,而且每数一个数要和一个比较值做大小比较,比如比较值是5。然后我们数的数小于5的时候,都看作0,数到等于5或大于5都看作1,数到10以后重新数,0看成低电平,1看成高电平,反复来回数。那么就会出来这么一个方波。____-----____-----____-----。

其中从1累加到10的数,就是图中CNT,最大值也就是10,就是ARR,比较值5就是CCRx。如果要改变比较值,是不是就能改变所谓的脉宽占比?怎么说,还是刚才手指数数,你把比较值5换成2,那出来的波是不是就是这样_-------_--------_--------_-------。原理就是这样。

我写出来程序以后,并没有急着买电机电调等硬件,因为我先利用板子上带的LED灯做了个有趣的试验,什么试验呢,就是用PWM控制LED的亮度,可以理解为PWM的脉宽占比越大,LED灯的亮度越大。然后我动态调整脉宽占比,让其从10%到100%,再从100%到10%,重复这个过程,那么LED灯就会是从暗到亮,从亮到暗,这是啥?这是呼吸灯

放个视频!大概1.2M。不是我说,呼吸灯不知道是谁发明的,真他娘的好看!

dPlayerOptions.push({"id":"140fafe181129d9e1f41c2c776a46e02","live":false,"autoplay":false,"theme":"#FADFA3","loop":false,"screenshot":false,"hotkey":true,"preload":"metadata","lang":"zh-cn","logo":null,"volume":0.69999999999999996,"mutex":true,"video":{"url":"https:\/\/cdn.ttext.cn\/2020\/10\/15\/1602731398.mp4","pic":"","type":"auto","thumbnails":""},"danmaku":null,"subtitle":null});

如此就说明PWM调制成功了,接下来就是买买买,开始组装机架和动力装置!

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-10-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档