ART-PI调试记录

ART-PI PWM舵机使用(RT-Studio平台)

雷德斯 and枕头们,小飞哥好久没更新文章啦,最近实在是太忙啦,大家久等啦,这次是一个小伙伴想学习下舵机的使用,小飞哥立马到淘宝淘了一款,安排上,废话不多说,来干货,干就完事了!

最近比较忙,仅仅是做了移植,并没有像RTT的框架那样处理,伙伴们先凑合看吧,哈哈。

一、舵机简介(大多摘自网友帖子)

大致介绍下舵机的控制原理,错误之处,多多指教,作者看到,多多包涵!

控制信号由接收机的通道进入信号调制芯片,获得直流偏置电压。它内部有一个基准电路,产生周期为20ms,宽度为1.5ms的基准信号,将获得的直流偏置电压与电位器的电压比较,获得电压差输出。最后,电压差的正负输出到电机驱动芯片决定电机的正反转。当电机转速一定时,通过级联减速齿轮带动电位器旋转,使得电压差为0,电机停止转动。当然我们可以不用去了解它的具体工作原理,知道它的控制原理就够了。就象我们使用晶体管一样,知道可以拿它来做开关管或放大管就行了,至于管内的电子具体怎么流动是可以完全不用去考虑的。

 舵机的控制:

舵机的控制一般需要一个20ms左右的时基脉冲,该脉冲的高电平部分一般为0.5ms~2.5ms范围内的角度控制脉冲部分。

其中,90度为中立位置,如果脉冲宽度小于1.5毫秒,那么电机轴向朝向0度方向。如果脉冲宽度大于1.5毫秒,轴向就朝向180度方向。以180度舵机为例,对应的控制关系是这样的:

   0.5ms-------------0度;

   1.0ms------------45度;

   1.5ms------------90度(中立位置);

   2.0ms-----------135度;

   2.5ms-----------180度;

看下面形象描述:

ART-PI调试记录_第1张图片

舵机内部的控制电路,电位计(可变电阻器)和电机均被连接到电路板上,如内部结构图的右边部分。控制电路通过电位计可监控舵机的当前角度。

如果轴的位置与控制信号相符,那么电机就会关闭。如果控制电路发现这个角度不正确,它就会控制马达转动,直到它达到指定的角度。舵机角度根据制造商的不同而有所不同。比如,一个180度的舵机,它可以在0度至180度之间运动。由于限位装置被安装在主输出装置上,超出这个范围机械结构就不能再转动了。

舵机的输出功率与它所需要转动的距离成正比。如果输出轴需要转动很长的距离,马达就会全速运转,如果它只需要短距离转动,马达就会以较慢的速度运行,这叫做速度比例控制。

ART-PI调试记录_第2张图片

二、测试硬件

1、ART-PI开发板

2、舵机

ART-PI调试记录_第3张图片

ART-PI调试记录_第4张图片

 老规矩,还是基于RT-Studio的,原理都是一样的,大家看明白就可以啦,RT-Studio平台封了一路PWM,小飞哥没使用,此次使用的是PB0,对应TM3的通道3。

ART-PI调试记录_第5张图片

我们可以打开任意一个工程,找到CUBEMX创建的工程文件,double click点击打开即可,参看手册或者代码,其实库函数会告诉你很多东西,一定要利用好,TIM3是挂载在APB1时钟线上的,通过CUBEMX时钟树图,我们可以看到,配置的是240MHZ

ART-PI调试记录_第6张图片

 

 

ART-PI调试记录_第7张图片

ART-PI调试记录_第8张图片

我们需要产生一个周期为20ms的PWM信号,下面对TIM3下的通道3进行配置,选择最后一项

ART-PI调试记录_第9张图片

分频系数选择239,一个clock即为240MHZ/(239+1) = 1us,周期我们选择19999,也即是240MHZ/(239+1)*(19999+1) = 20ms

ART-PI调试记录_第10张图片

建议把CUBEMX文件另存为其他地方,不影响源文件,然后对代码生成就行一下如下面的设置,使得生成的代码层次清晰

ART-PI调试记录_第11张图片

接下来,就开始我们的代码移植到RT-Studio平台上,下图是我们生成的代码关于定时器3的配置内容,只需要把这部分拷贝到RT-Studio平台下即可

ART-PI调试记录_第12张图片

先在RT-Studio平台已有的工程文件下添加关于PB0映射到TIM3-Channel3的代码,开启PWM时钟配置

ART-PI调试记录_第13张图片

ART-PI调试记录_第14张图片

 

ART-PI调试记录_第15张图片

然后在drv_PWM.c文件中添加TIM3的初始化函数,也即是我们刚才代码生成的部分,直接拷贝过来即可,然后我们封装几个函数,在控制台调用,主要是初始化函数,几个时间控制函数,分别如下图所示

ART-PI调试记录_第16张图片

 

ART-PI调试记录_第17张图片

 

ART-PI调试记录_第18张图片

封装完以上几个函数后,我们在控制台输入help,可以看到,我们封装的函数已经出现在控制台啦,首先要输入初始化函数,这步是必须要做的,然后分别输入每个函数,查看舵机的动态就好啦;ART-PI调试记录_第19张图片

 

ART-PI调试记录_第20张图片

ART-PI调试记录_第21张图片

控制舵机对我们来讲不过是一堆时钟信号,信号对了,自然结果就对,下面是在逻辑分析仪上观测的各个函数的波形,对应红色框框里面的

1、0.5ms高电平时钟信号

ART-PI调试记录_第22张图片

2、1ms高电平时钟信号

ART-PI调试记录_第23张图片

3、1.5ms高电平时钟信号

ART-PI调试记录_第24张图片

4、2.0ms高电平时钟信号

ART-PI调试记录_第25张图片

4、2.5ms高电平时钟信号

ART-PI调试记录_第26张图片

 

如果你觉得对自己有帮助的话,给个赞,点个关注,点个在看,感谢前进的道路上有你的陪伴!

    伙伴们可以关注ART-PI官方指导网站:

    https://github.com/ART-Pi/website/tree/main/docs/tutorial

图片欢迎大家关注 Embeded小飞哥  ,我是小飞哥,让我快点遇到优秀的你,然后一起变得更加优秀,加油!!!

小飞哥微信号:w974762670,加好友进群一起交流呀,获取资料!

演示视频见公众号:

 

 

你可能感兴趣的:(ART-PI,嵌入式,单片机,stm32)