你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

Nucleo开发板方案设计—BLDC电机电调设计  

[复制链接]
shiyongzhu 发布时间:2014-12-30 22:59
本帖最后由 shiyongzhu 于 2015-1-17 08:45 编辑

拿到Nucleo开发板有一段时间了,这段时间认真的学习了一下Nucleo开发板,这款开发板的开发资源实在是太丰富了,且开发板的底层驱动很完善,必需点个赞。这不年关将近,抓紧把方案给晒下。

做四轴飞行器电调一份重要的参考资料timegate墨鸢所写的《无感无刷直流电机之电调设计全攻略》,本文主要参考该文献。目前,国内外对无刷直流电机(Brushless DC motor,BLDCM)定义一般有两种:一种定义认为只有梯形波/方波无刷直流电机才可以被称为无刷直流电机,而正弦波无刷电机则被称为永磁同步电机(permanent magnet synchronous motorPMSM);另一种定义则认为梯形波/方波无刷电机和正弦波无刷电机都是无刷直流电机。在此本帖采用第一种定义。

直流无刷电机根据转子结构可分为内转子和外转子两种结构,主要区别在于转动部分处于内部还是外部。

直流无刷电机绕组通电后,线圈内产生电流,在永磁体的磁场下产生洛伦兹力,产生力矩,从而推动转子转动。为了产生持续的力矩,线圈内的电流需要根据转子所处的位置改变方向,这也就是所产说的换相。有刷电机的换相通过电刷完成,而无刷电机的换相则是通过电子器件控制电流的通断来完成。

无刷直流电机的换相与转子的位置有关,为了产生同一个方向持续的电磁力矩,需要根据位置的不同控制每相电流通断。根据换相位置的检测方式又可以分为无感和有感。有感指的是采用霍尔传感器检测转子位置,控制换相。而无感指的是直接利用电机的线圈绕组来控制换相。这也正是本次电调设计的主要方式。

本次电调设计主要控制框图如下图所示,零位检测电路检测能够检测出无刷电机转子的切换位置,控制器根据转子位置,控制驱动电路进行每相通断切换,从而实现对电机的控制。
控制方案.JPG
如图所示,Nucleo开发板通过自制的电调驱动板进行电机控制。电调驱动板上设置有功率mosfet管、用于检测中性点电压的比较器等。
驱动板至Nucleo开发板的连接接口:
A+、B+、C+为六臂全桥驱动电路的上臂导通控制接口,高电平时导通,低电平时截止;
A-、B-、C-为六臂全桥驱动电路的下臂导通控制接口,高电平时导通,低电平时截止;
INT A、INT B、INT C为各相感应反电势与中点电压比较;
Current为电流检测电路输出的电压;
接口分配:
A+、B+、C+需要接入PWM信号,在此利用Nucleo开发板的定时器TIM1产生三路PWM信号;
A-、B-、C-只要输出低电平、高电平即可,利用普通的GPIO口即可即可;
INT A、INT B、INT C接入Nucleo开发板的中断,并要求能够上升沿和下降沿都可以检测该中断;
Current接入开发板的ADC用于检测电机工作电流。
驱动板至电机A、B、C三相分别接上电机即可。
------------------------------分割线--------------------
各位看官久等了,自从上次发布了BLDC电机电调设计方案后,一直没什么动静,还让管理员沐紫同学提醒了下,真心的不应该啊,在次谢罪啦,呵呵,第一次使用STM32,诸事不顺啊,闲话少叙了,现进入主题。上次发布的电调的方案中提到需要自制一块驱动板,今天将驱动板原理进行一下介绍。
电调驱动板由五部分组成,分别为六臂功率mos管桥、过零检测电路、电流检测电路、输入电源、对外接口。
六臂功率mos管桥用于控制电机线圈的通断电,也就是所说的换相。
mos1.JPG mos2.JPG mos3.JPG
过零检测电路用于检测感应电动势的过零点,提供换相的参考。
过零.JPG
电流检测电路用于实时检测电机的工作电流。
电流检测.JPG
输入电源用于对输入电源的滤波和稳压。
电源.JPG
对外接口提供了电调的控制输入、检测输入以及电源等接口。
接口.JPG
如果大家对于上述电路的原理不甚了解的话,强烈建议大家拜读下网友timegate 墨鸢所著的《无感无刷直流电机之电调设计全攻略》一文,读完此文后相信大家对BLDC的控制方法会有清晰的认识,有此强大的参考资料在,本人也就不敢班门弄斧了。下面就说下,驱动板和STM32_Nucleo开发板之间的连接。
六臂功率桥的控制信号A+、B+、C+、A-、B-、C-与高级控制定时器TIM1的输出PA8、PA9、PA10、PB13、PB14、PB15相连。过零点比较输出的CMP_A、CMP_B、CMP_C分别与PC6、PC7、PC8相连。+5V、GND与开发板的+5V、GND相连。+12V、GND与锂电池连接。PHASE_A、PHASE_B、PHASE_C与电机连接。图中MIDDLE、NULL_A、NULL_B、NULL_C为预留接口,不需要接。实物连接图如下所示。
实物图.jpg




BLCtrl v1.0.pdf

下载

92.9 KB, 下载次数: 521

无感无刷直流电机之电调设计全攻略.pdf

下载

4.78 MB, 下载次数: 1006

收藏 18 评论86 发布时间:2014-12-30 22:59

举报

86个回答
沐紫 回答时间:2014-12-31 10:30:34
Dylan疾风闪电 回答时间:2015-1-1 10:42:39
mark,备学
时光碎了天 回答时间:2015-1-4 09:56:35
好方案,学习了
万里-363223 回答时间:2015-1-7 08:41:40
电机控制,好方案
沐紫 回答时间:2015-1-13 17:17:03
后续原理图和实物出来了不?
shiyongzhu 回答时间:2015-1-13 18:15:38
沐紫 发表于 2015-1-13 17:17
后续原理图和实物出来了不?

原理图实物已有,这几天就传上论坛啊,
mlxy123xy 回答时间:2015-1-13 23:34:19
这个不是要控制4个电机吗?四个一起控制还是需要再有一个姿态控制的CPU?
shiyongzhu 回答时间:2015-1-24 20:12:29
mlxy123xy 发表于 2015-1-13 23:34
这个不是要控制4个电机吗?四个一起控制还是需要再有一个姿态控制的CPU?

四个有点难啊,先实现控制一个吧。做飞控的话,需要单独一个飞控板的。
shiyongzhu 回答时间:2015-1-24 20:29:22
本帖最后由 shiyongzhu 于 2015-1-24 20:52 编辑

首先请各位看官原谅俺,没有在一楼中进行内容更新,主要是因为上次更新的时候发现,所有的图片需要重新的插入,实在的费事,所以这次重开一楼了。
硬件平台搭建起来已经有段时间了,本人在枫叶老师的视频教程中的BLDC程序的基础上对本项目的BLDC程序进行了编写,初步实现了BLDC电机启动和转动工程。现将程序编写和调试过程与大家分享。主程序如图所示,非常的简单,首先进行初始化,包括系统初始化、中断初始化、系统时钟初始化、LED初始化、按键初始化等。
主程序.jpg
初始完成后进行一些变量的赋值后进入while循环,该循环中包含两个子程序按键检测和电机运行。按键检测程序采用定时运行策略,每1ms运行一次检测按键,改程序具有消除按键抖动的功能,可以检测出Nucleo开发板上user键的单击和双击,如果读者对按键检测感兴趣可以阅读一下《匠人手记》的按键漫谈一节,相信会有所收获。现介绍下我们的主角电机运行的程序,为了能够清晰明了的表示出电机运行的状态,该程序主体采用switch语句。电机运行状态转移如图所示。
电机运行状态图.JPG
由于本次DIY的电调针对的是无感的BLDC,该电机没有位置传感器,启动时需要对线圈依次循环的通电,使转子加速,然后再开启过零检测,进入正常的换向过程,因而在电机运行状态图中有电机启动状态。初始时电机处于停止状态下时,收到启动启动指令后则进入电机启动状态,当启动完成后则进入电机运行状态,启动失败则进入电机停止状态。电机启动状态又由四个子状态图组成:
电机启动状态图.JPG
首先进行一些启动的初始化,然后使转子转到AB线圈下,然后开始循环的通电加速转子,然后进入启动完成状态。
电机停止由两个子状态组成。
电机停止状态图.JPG
之所以需要两个状态是为了确保不出现电机未停稳时,电机又启动的这种情况,保护电机。
在程序调试的初期,电机经常性的启动失败,而且转速很慢,似乎没什么力量,刚开始以为是电池没电,但是测量电池电压为12.56V,电池电量充足。因而将怀疑对象转向了驱动板,查了下下臂1205 nmos管的VT电压为3-4V,而开发板的输出电压为3.3V,不足以使mos管完全导通。将驱动板进行了改动,采用三极管来驱动功率mos管,没办法飞线已经不行了,只能飞芯片了。硬件改完将程序中PWM的下臂的程序设定进行了更改,再次测试电机正常启动且转速明显比之前快,终于正常了,泪流满面啊!!!电机运行视频来了,https://v.youku.com/v_show/id_XODc4ODA4Mzg0.html
驱动桥更改.JPG
电调更改.JPG

程序下载: BLDC-DIY.rar (4.58 MB, 下载次数: 1773)

所属标签

STM32团队

意法半导体微控制器和微处理器拥有广泛的产品线,包含低成本的8位单片机和基于ARM® Cortex®-M0、M0+、M3、M4、M33、M7及A7内核并具备丰富外设选择的32位微控制器及微处理器


最新内容

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版