打印
[STM32F0]

【开发板评测】STM32F072 discovery+TI 8301驱动板实现无刷.....

[复制链接]
1901|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
grhr|  楼主 | 2020-3-1 14:39 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 grhr 于 2020-3-1 14:48 编辑

这几天真是加班加点,为了实现一个无刷电机的驱动,最终实现了无刷电机的控制。
话不多说,直接上最终的图,为了具体说明,我将图进行了标注方便下文的讲述。


整个系统如上图所示。可以看到,真的接了很多很多线哇。花了蛮久的时间搭建起来的,我就不破坏环境去重新分解一个个讲述了哈。
图中的电机轴上使用了一个绝缘胶布,可以看到,电机在嗡嗡的转着。
为了表征系统的稳定性,这里使用在网上买的数码管,予以显示控制电机的实时占空比。
总共分为四个部分:
(1)核心主控:STM32F072 discovery开发板。即下面这个板子。

这个板子是在21ic上2016年获得的,在此非常感谢二姨家。
板子将STM32F072芯片的所有引脚都引出来了,给我的开发提供了非常好的资源,有更多的资源去做自己想做的事情。
(2)TI驱动板:使用的是BOOSTXL-DRV8301,长的如下所示:

这里使用的核心驱动芯片是DRV8301,他是一个内置LDO的驱动芯片,通过SPI驱动电管配置,完成电机驱动功能的芯片,相对而言功能还是比较强大的。
(3)执行机构,就是BLDCM了,无刷直流电机,使用的位置传感器为Hall传感器。
(4)为了即使看电机的实时运行状态,使用数码管实时显示占空比。就怕跑飞了。数码管是在网上买的,正反面分别为


这个小板子对外界是SPI通信,内部使用两个74HC595进行锁存,,就能很好的锁存数码管的段选和位选信息。

好了,资源介绍完毕,现在开始介绍我怎么搭建的了。
(1)分配STM32F072的pin资源。
这是非常头痛的工作,首先要考虑每个pin脚的电压承受能力,有些引脚只能承受3.3V的,不能上5V的,有些pin脚还需要支持捕捉跳变沿的,如Hall传感器的引脚。分以下几方面看:
1.STM开发板和电机交互的信息是Hall位置传感器,因为板子上没有上拉,而hall需要上拉才能输出高低电平,所以这里使用内置上拉,且具有捕获功能,所以锁定TIM2的捕获引脚,且一定要配置为上拉功能。然后通过位置信号来计算转速,从而判断是给电机升速和降速。
2.STM开发板和驱动板的交互信息比较多。有三相上下桥臂的PWM驱动信号,共6路。有给DRV8301提供SPI通信接口,以满足内部芯片的驱动要求。
DRV8301除了六路PWM驱动以外,还有一个保护功能,即如果检测不到驱动信号为高电平时,是不能驱动MOS管的,这个信号我之前没有注意,电机一直转不起来,我花了很久很久才定位到这个问题,因此还需要STM32开发板给驱动板一个使能信号,动力才能输出来。
3.STM32开发板还需要和数码管小板子进行通信,通信接口也是SPI接口,不过这里因为不需要返回数据,所以可以省去SPI通信接口中的一根线。
正因为有这么多的信号,所以上图中接了一堆线。在分配引脚的时候,需要不断考虑各个资源之间的矛盾关系,牵一发则动全身,最终达到理想的效果,所有的功能都可以实现。
(2)代码的撰写
可能还是那句话,我的技术水平不是很好,我使用的还是STM32的标准库,因为真的不适应cube库,我使用cube库,让数码管显示一个数字都废了好多天,还是放弃了。这里就不贴代码了,以免影响大家看帖子的心情。简单说说我的代码实现的架构。
这里使用Timer1产生PWM波,timer2捕获Hall信号,timer6实时更新占空比,各家负责做好自己的事情,相互不打扰。这样大家都开心
驱动板方面,我一直没有用过这个DRV8301,比较不适应,对立面的配置,需要在短时间内快速的看到手册的关键数据。这个芯片需要配置运行模式,因为内置电流采集,还需要配置内部的采集gain值,为了保护还要设置保护电流等。只有完成配置以后,才能用它。
(3)调试
起初没有使用Hall的滤波,霍尔传感器一旦有干扰,电机就都得不行,加入了一些滤波措施问题得以解决。
电机转速计算,使用的是T法,其实最终评估下来精度也不是很好,不知道是不是我这边做的不算很好的原因。
顺便还将之前的74HC595的一些驱动使用了起来,实时显示占空比。

经过一番猛如虎的操作,最终成功实现了电机的转动。电机比较稳定运行在1500rpm。

短短一天半,用时大约19工时多,为自己点赞。哈哈。



使用特权

评论回复
沙发
grhr|  楼主 | 2020-3-1 21:50 | 只看该作者
21ic小喇叭 发表于 2020-3-1 17:23
您可以把帖子链接,回复到这个活动,赢取奖金~

开发板评测征集第1期,本月奖励:论坛打赏

感谢喇叭的提醒,下午已经回复至活动帖了,说到做到嘛。
NUCLEO-L552ZE-Q开发板的试用,本次就不参加了,最近可能没时间,就不浪费这么好的资源了。谢谢小喇叭的温馨提示。

使用特权

评论回复
板凳
selongli| | 2020-3-3 21:09 | 只看该作者

使用特权

评论回复
地板
磨砂| | 2020-4-1 17:49 | 只看该作者
非常感谢楼主分享

使用特权

评论回复
5
晓伍| | 2020-4-1 17:51 | 只看该作者
非常感谢楼主分享

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

18

主题

274

帖子

4

粉丝