电子发烧友网 > 工业控制 > 正文

基于单片机实现对单相无刷电机的控制系统设计

2020年02月03日 07:48 次阅读

对于小功率电机应用,成本比复杂性更为重要,并且对转矩的平顺性要求较低,因此单相无刷直流(BLDC)电机是三相电机或两相电机不错的替代方案。此类电机结构简单,易于制造,因此成本较低。此外,它只需要使用一个电枢位置传感器和几个MOSFET即可控制电机绕组。

基于单片机实现对单相无刷电机的控制系统设计

对于小功率电机应用,成本比复杂性更为重要,并且对转矩的平顺性要求较低,因此单相无刷直流(BLDC)电机是三相电机或两相电机不错的替代方案。此类电机结构简单,易于制造,因此成本较低。此外,它只需要使用一个电枢位置传感器和几个MOSFET即可控制电机绕组。

基于单片机实现对单相无刷电机的控制系统设计

本文介绍的基于MCU的驱动电路实现对单相无刷电机的控制,它会利用两个反馈回路。一个是内层回路,负责控制换向;另一个是外层回路,负责控制转速。电机转速以外部模拟电压。作为参考,而且会检测出过流和过温故障。

基于单片机实现对单相无刷电机的控制系统设计

图1显示了基于Microchip的8位单片机PIC16F1613的单相驱动器。选择这款单片机是因为其引脚数较少,并且片上外设可以控制驱动器开关测量电机转速、预测转子位置以及实现故障检测。本应用使用以下外设:互补波形发生器(CWG)、信号测量定时器(SMT)、模数转换器(ADC)、数模转换器(DAC)、捕捉/比较/脉宽调制(CCP)、固定参考电压(FVR)、定时器、比较器和温度指示器。上述外设通过固件在内部进行连接,因此可减少所需的外部引脚数。其中值得一提的是,互补波形发生器是一个好东西,由专门的硬件电路产生适合驱动马达的互补信号,大大简化了程序设计。

全桥电路由CWG输出进行控制驱动电机绕组,霍尔传感器用于确定转子位置。流过电机绕组的电流通过检测电阻Rshunt转换为电压,从而实现过流保护。转速以外部模拟输入作为参考。图2显示了电机驱动器控制框图。

基于单片机实现对单相无刷电机的控制系统设计

对于本设计,电机额定电压为5V,额定转速为2400转/分钟。电机驱动器电源电压为9V。改变MOSFET的额定电压和导通电阻可以轻易适应从3.3V~100V不同的电压和对应的功率等级。参考转速可以是任一模拟输入,比如一个电位器和固定电阻组成的分压器,非常方便调速。PIC16F1613单片机的ADC模块具有10位分辨率以及最多8个通道,因此适用于各类模拟输入。ADC模块用于提供参考转速和初始PWM占空比,从而根据参考转速源对电机转速进行初始化。

基于单片机实现对单相无刷电机的控制系统设计

内层回路

内层反馈回路负责控制换向。

马达驱动就好像猴子推秋千一样,需要在恰当的时候用力。霍尔传感器负责告诉单片机何时用力。全桥驱动就好像在左边还有一个猴子,我们还要决定是哪边的猴子要用力。CWG输出用于控制定子绕组的激励,它取决于霍尔传感器输出的状态(霍尔传感器输出将通过比较器与FVR进行比较)。将使能比较器迟滞,以屏蔽传感器输出中的噪声。比较器输出可在正向全桥模式与反向全桥模式之间切换,从而使电机实现顺时针或逆时针旋转。CWG输出将馈入全桥电路的开关的输入。要生成一个电气周期,必须执行一次正反向组合。电机机械旋转一周需要两个电气周期,因此必须执行两次正反向组合电机才能完成一次顺时针旋转。

基于单片机实现对单相无刷电机的控制系统设计

全桥电路

图3所示的全桥电路主要由两个P沟道MOSFET(用作上桥臂开关)和两个N沟道MOSFET(用作下桥臂开关)组成。P沟道晶体管的主要优势在于可以在上桥臂开关位置轻松实现栅极驱动,从而降低上桥臂栅极驱动电路的成本。但这种组合上桥臂开关和下桥臂开关有可能同时导通,就是常说的跨越导通,应极力避免这种状况,否则将产生直通电流,导致驱动器元件损坏。

为避免跨越导通,可使用CWG的计数器寄存器来实现死区延时。这样可避免输出信号发生重叠,继而防止上桥臂和下桥臂同时导通。理想情况下,N沟道MOSFET和P沟道MOSFET应具有相同的导通电阻(RDSon)和总栅极电荷QG,以便获得最佳的开关特性。因此,最好选择一对互补的MOSFET来匹配上述参数。

但实际上,由于互补MOSFET的结构不同,无法完全达到此要求;P沟道器件的芯片尺寸必须是N沟道器件的2到3倍才能匹配RDSon性能。但是,芯片尺寸越大,QG的影响也越大。因此,选择MOSFET时,务必先确定RDSon和QG二者中哪个对开关性能的影响更大,然后再相应地进行选择。

故障检测

若转矩负载超出允许的电机转矩负载最大值,可能会导致电机停转,从而使近似短路电流流过绕组。因此,为保护电机,必须实现过流和停转故障检测。为了实现过流检测,本设计中有Rshunt,该电阻会根据流过电机绕组的电流提供相应的电压。电阻两端的压降随电机电流线性变化。该电压将馈入比较器的反相输入并与参考电压进行比较,参考电压基于Rshunt电阻与允许的电机停转电流最大值之积。参考电压可由FVR提供,并可通过DAC进一步缩小。这样便可以使用非常小的参考电压,从而将电阻保持在较低水平,进而降低Rshunt的功耗。为了滤除噪声和保护单片机的IO,Rshunt上的信号通过R8,C5这个低通滤波器接入单片机,会造成一定时间的延迟触发,可以根据需要略微调整低通滤波器的时间常数。

如果Rshunt电压超出参考电压,比较器输出会触发CWG的自动关断功能,并且只要故障存在,CWG的输出便会保持无效状态。过温故障可通过器件的片上温度指示器进行检测,温度指示器的测量范围为-40˚C至+85˚C。指示器的内部电路会随着温度的不同而产生不同的电压,然后通过ADC将此电压转换为数字量。为提高温度指示器的精确度,可实施单点校准。

下图是马达绕向和电流图,供debug使用。

基于单片机实现对单相无刷电机的控制系统设计

外层回路

图2中所示的外层回路用于控制电机在不同条件下的转速,例如负载需求、干扰和温度漂移变化等。转速由SMT测量。SMT是一款具有时钟和门控逻辑的24位计数定时器,经配置可用于测量多种数字信号参数,如脉冲宽度、频率、占空比以及两输入信号边沿之间的时间差。可通过SMT的周期和占空比采集模式测量电机的输出频率。在此模式下,SMT信号的占空比或周期都可基于SMT时钟进行采集。SMT会计算单个电机旋转周期内的SMT时钟数,然后将结果存储于捕捉周期寄存器中。使用该寄存器可获得电机的实际频率。将实际转速与参考转速进行比较时,如果实际转速高于设定的参考转速,则产生正误差;如果实际转速低于设定的参考转速,则产生负误差。此误差会馈入PI控制器。PI控制器是一种固件算法,用于计算转速偏差的补偿值。在初始PWM占空比的基础上加减此补偿值可得到新的占空比值。

主程序框图:

基于单片机实现对单相无刷电机的控制系统设计

速度控制框图:

基于单片机实现对单相无刷电机的控制系统设计

中断处理流程:

基于单片机实现对单相无刷电机的控制系统设计

结论

在成本敏感型电机控制应用中,高效而灵活的单片机可大显身手。器件效率可针对外设集成度进行测量,从而优化控制任务、引脚和存储器数量以及封装尺寸。此外,如果需要不同的设计,易用性和上市时间也会显得尤为重要。本文介绍了低成本单片机如何满足上述需求,以及如何通过驱动器设置所需的参考转速、预测转子位置、实现控制算法、测量电机实际转速以及执行故障检测。

责任编辑:gt

下载发烧友APP

打造属于您的人脉电子圈

关注电子发烧友微信

有趣有料的资讯及技术干货

关注发烧友课堂

锁定最新课程活动及技术直播

电子发烧友观察

一线报道 · 深度观察 · 最新资讯
收藏 人收藏
分享:

评论

相关推荐

uCOS3源码解析视频教程-第4季第7部分

课程目标本课程是《朱有鹏老师单片机完全学习系列课程》第4季第7个课程,简明扼要的分析了ucos3的源码。其中重点分析了u
发烧友学院发表于 2017-12-16 00:00 17920次阅读
uCOS3源码解析视频教程-第4季第7部分

ST意法半导体与机智云携手打造的物联网开源方案D...

MCU设备端基于ST提供的固定嵌入式开发板进行开发,ST提供最新板卡及开发资源,板卡采用双MCU:S....
发表于 2020-02-04 14:55 22次阅读
ST意法半导体与机智云携手打造的物联网开源方案D...

利用单片机控制MC55 GPRS无线模块实现SO...

系统的组成如图1所示。该系统利用现有的GPRS网络,单片机通过串口对MC55 GPRS模块进行收发控....
发表于 2020-02-04 13:32 44次阅读
利用单片机控制MC55 GPRS无线模块实现SO...

为什么C语言是最适合单片机编程的高级语言

单片机为什么还在用C语言编程?答案是:C语言是最适合单片机编程的高级语言。
发表于 2020-02-03 16:09 148次阅读
为什么C语言是最适合单片机编程的高级语言

Microchip推出经TÜV SÜD认证的MP...

 经TÜV SÜD认证的MPLAB XC功能编译器可满足ISO 26262汽车安全标准、IEC 61....
发表于 2020-02-03 13:25 104次阅读
Microchip推出经TÜV SÜD认证的MP...

基于MCU的物联网应用实现数据和设计的安全性

本文将快速查看MCU的主要安全功能,你应该寻找在物联网为导向的设计。一旦你了解一些常见的功能,可以更....
发表于 2020-02-03 12:36 81次阅读
基于MCU的物联网应用实现数据和设计的安全性

基于单片机的闭环控制系统的设计解决方案

控制回路是许多基于MCU的设计所执行的最基本的任务之一。通常这些设计中未充分利用的关键特征和外围设备....
发表于 2020-02-03 11:50 60次阅读
基于单片机的闭环控制系统的设计解决方案

多模态智能避障小车的实现

想问下智能避障小车的设计与实现需要学习什么资料呀? 学校学过51单片机的知识,但是教课内容也就仅限于对单片机有...
发表于 2020-02-03 11:13 248次阅读
多模态智能避障小车的实现

单片机ct107d与ds18 为啥ds18b20无回应

我用的单片机是CT107D 通过程序响应ds18b20但是没有得到回应这是为什么啊 bit Get18B20Ack() {   &...
发表于 2020-02-02 14:26 262次阅读
单片机ct107d与ds18 为啥ds18b20无回应

求教 帮看一下这个程序问题出在哪里

我是单片机初学者   编了一个秒表的小程序   实际出来的效果读数非常快和计算结果不一样  &...
发表于 2020-02-01 18:54 146次阅读
求教  帮看一下这个程序问题出在哪里

单片机和单片机是怎样通信的

种异型单片机系统设计渐渐成为一种新的思路,但单片机之间的通信一直是困扰这种方法拓展的主要问题。
发表于 2020-01-19 17:36 240次阅读
单片机和单片机是怎样通信的

如何实现嵌入式应用的人机界面交互性设计

用户界面设计是屏幕产品的重要组成部分,它为人机交互构建了一个沟通环境。其中交互性设 计是用户界面设计....
发表于 2020-01-19 10:46 104次阅读
如何实现嵌入式应用的人机界面交互性设计

一个X25045的C51读写程序

本文档的主要内容详细介绍的是一个X25045的C51读写程序。
发表于 2020-01-18 11:13 293次阅读
一个X25045的C51读写程序

如何使用单片机驱动标准PC机键盘?C51程序详细...

键盘时钟接在p3.2口,既8051的外部中断int0上,键盘数据接到p1.0上每次按键,键盘会向单片....
发表于 2020-01-18 11:07 415次阅读
如何使用单片机驱动标准PC机键盘?C51程序详细...

如何使用通用单片机制作MIDI键盘

MIDI是电子乐器的语言,随着MIDI的诞生,数字化电子乐器已经越来越多,MIDI的应用也越来越普遍....
发表于 2020-01-18 09:07 301次阅读
如何使用通用单片机制作MIDI键盘

香橙派OrangePi开发板连接HDMI接口显示屏如何修改分辨率

Orange Pi 全志H2(型号:Zero,R1)和H3芯片系列(型号:One,Lite,PC,PC Plus,Plus 2E)的开发板...
发表于 2020-01-17 19:50 3477次阅读
香橙派OrangePi开发板连接HDMI接口显示屏如何修改分辨率

单片机系统的扩展和配置应遵循哪些原则

一个单片机应用系统的硬件电路设计包含两部门内容:一是系统扩展,即单片机内部的功能单元,如ROM、RA....
发表于 2020-01-17 16:47 327次阅读
单片机系统的扩展和配置应遵循哪些原则

HC32L110设计注意事项

HC32L110设计注意事项 一、华大单片机HC32L110 在做硬件设计时请注意以下事项: 1 RESET引脚可以复...
发表于 2020-01-17 15:57 430次阅读
HC32L110设计注意事项

Orange Pi Zero开发板在Armbian系统下如何使用声卡功能

在使用Orange Pi Zero开发板时,安装Armbian的系统,有开发者反馈找不到声卡,这是因为声卡的功能是在Zero的转接...
发表于 2020-01-16 19:42 3183次阅读
Orange Pi Zero开发板在Armbian系统下如何使用声卡功能

关于中美贸易战的影响,以及国产MCU企业的发展瓶颈

今年中美贸易摩擦对国内半导体企业的影响不少。国民技术认为正是在中美贸易战的影响下,国内市场对国产芯片的需求也更...
发表于 2020-01-16 14:42 222次阅读
关于中美贸易战的影响,以及国产MCU企业的发展瓶颈

Keil 破解

发表于 2020-01-16 10:33 748次阅读
Keil 破解

电机控制优化之PSoC4平台上实现FOC脉宽调制...

矢量控制(FOC)是空间矢量脉宽调制最重要的应用之一。矢量控制,又名磁场定向控制,其特点是通过坐标变....
发表于 2020-01-16 10:30 214次阅读
电机控制优化之PSoC4平台上实现FOC脉宽调制...

Microchip发布业界首款宇航级耐辐射以太网...

Microchip发布业界首款宇航级基于COTS的耐辐射以太网收发器和嵌入式单片机,耐辐射器件拓展了....
发表于 2020-01-16 07:56 189次阅读
Microchip发布业界首款宇航级耐辐射以太网...

香橙派开发板OrangePi 2G-IOT如何升级 NAND 中的 Android

OrangePi 2G-IOT 提供了两种方式的 Android 启动, 分别为 SD 卡启动和 Nand 启动。当需要升级 SD 卡或者 ...
发表于 2020-01-15 20:53 1328次阅读
香橙派开发板OrangePi 2G-IOT如何升级 NAND 中的 Android

基于单片机AT89S52与总线技术实现小区周界防...

随着科学技术和经济的快速发展,人们对居家的概念已从最初满足简单的居住到注重对住宅的人性化需求,如安全....
发表于 2020-01-15 17:07 228次阅读
基于单片机AT89S52与总线技术实现小区周界防...

如何利用PIC16F877A单片机读写AT24C...

AT24C系列在增强型PIC实验板上编程的硬件原理图如下图所示,U7为实验板上24C02芯片,SDA....
发表于 2020-01-15 15:50 207次阅读
如何利用PIC16F877A单片机读写AT24C...

TouchGFX中增加了新功能 方便开发吸引眼球...

意法半导体在STM32微控制器(MCU)软件框架TouchGFX中增加了新功能,方便设备厂商为家用电....
发表于 2020-01-15 14:19 364次阅读
TouchGFX中增加了新功能 方便开发吸引眼球...

求助!单片机测自行车加速度

大四毕设 老师要求做一个单片机自行车测速装置, 要求:能测速度和加速度,要求两种测速方法,一个是通过软件求出,...
发表于 2020-01-14 19:47 378次阅读
求助!单片机测自行车加速度

如何利用单片机和C语言来设计数字滤波系统

数据采集,又称数据获取,是利用一种装置,从系统外部采集数据并输入到系统内部的一个接口。数据采集技术广....
发表于 2020-01-14 15:34 300次阅读
如何利用单片机和C语言来设计数字滤波系统

德州仪器正式推出了新一代低功耗高性能的新型Jac...

高度集成化的处理器包含专用的加速器和功能安全特性的芯片以及统一的软件平台,能够满足整车的计算需求 德....
发表于 2020-01-13 10:25 869次阅读
德州仪器正式推出了新一代低功耗高性能的新型Jac...

兆易创新GigaDevice正式发布了GD32E...

业界领先的半导体供应商兆易创新GigaDevice(股票代码 603986)正式发布基于ArmCor....
发表于 2020-01-13 10:21 1015次阅读
兆易创新GigaDevice正式发布了GD32E...

单片机工作几小时后又出现重启是怎么回事

单片机产品在工作的时候,上电后是正常工作的,但是工作了几个小时后,偶尔会出现单片机重启的现象。从描述....
发表于 2020-01-11 09:39 624次阅读
单片机工作几小时后又出现重启是怎么回事