历史上的今天
返回首页

历史上的今天

今天是:2025年03月15日(星期六)

2020年03月15日 | 四轴飞行器无刷直流电机驱动控制设计的实现

2020-03-15 来源:eefocus

简介:下面这篇文章针对四轴飞行器无位置传感器无刷直流电机的驱动控制,设计开发了三相六臂全桥驱动电路及控制程序。设计采用ATMEGA16单片机作为控制核心,利用反电势过零点检测轮流导通驱动电路的6个MOSFET实现换向;直流无刷电机控制程序完成MOSFET上电自检、电机启动软件控制,PWM电机转速控制以及电路保护功能。该设计电路结构简单,成本低、电机运行稳定可靠,实现了电机连续运转。


近年来,四轴飞行器的研究和应用范围逐步扩大,它采用四个无刷直流电机作为其动力来源。无刷直流电机为外转子结构,直接驱动螺旋桨高速旋转。


无刷主流电机的驱动控制方式主要分为有位置传感器和无位置传感器的控制方式两种。由于在四轴飞行器中的要求无刷直流电机控制器要求体积小、重量轻、高效可靠,因而采用无位置传感器的无刷直流电机。本文采用的是朗宇X2212 kv980无刷直流电机。


无刷直流电机驱动控制系统包括驱动电路和系统程序控制两部分。采用功率管的开关特性构成三相全桥驱动电路,之后使用DSP作为主控芯片,借助其强大的运算处理能力,实现电机的启动与控制,但电路结构复杂成本高,缺乏经济性。


直流无刷电机的换向采用反电势过零检测法,一旦检测到第三相的反电势过零点就为换向做准备。反电势过零检测采用虚拟中性点的方法,通过检测电机各相的反电势过零点来判断转子位置。而基于电机三相绕组端电压变化规律的电机电流换向理论,可以大大提高系统控制精度。


本文无刷直流电机的驱动电路采用三相六臂全桥电路,控制电路的管理控制芯片采用ATmega 16单片机实现,以充分发挥其高性能、资源丰富的特点,因而外围电路结构简单。无刷直流电机采用软件启动和PWM速度控制的方式,实现电机的启动和稳定运行,大大提高四轴飞行器无刷直流电机的调速和控制性能。


1 三相六臂全桥驱动电路

无刷直流电机驱动控制电路如图1 所示。该电路采用三相六臂全桥驱动方式,采用此方式可以减少电流波动和转矩脉动,使得电机输出较大的转矩。在电机驱动部分使用6个功率场效应管控制输出电压,四轴飞行器中的直流无刷电机驱动电路电源电压为12 V.驱动电路中,Q1~Q3采用IR公司的IRFR5305(P沟道),Q4~Q6为IRFR1205(N 沟道)。该场效应管内藏续流二极管,为场效应管关断时提供电流通路,以避免管子的反向击穿,其典型特性参数见表1.T1~T3 采用PDTC143ET 为场效应管提供驱动信号。

表1 MOSFET管参数

表1 MOSFET管参数


由图1 可知,A1~A3 提供三相全桥上桥臂栅极驱动信号,并与ATMEGA16单片机的硬件PWM驱动信号相接,通过改变PWM信号的占空比来实现电机转速控制;B1~B3提供下桥臂栅极驱动信号,由单片机的I/O口直接提供,具有导通与截止两种状态。

图1 无刷直流电机三相六臂全桥驱动电路

图1 无刷直流电机三相六臂全桥驱动电路


无刷直流电机驱动控制采用三相六状态控制策略,功率管具有六种触发状态,每次只有两个管子导通,每60°电角度换向一次,若某一时刻AB 相导通时,C 相截至,无电流输出。单片机根据检测到的电机转子位置,利用MOSFET的开关特性,实现电机的通电控制,例如,当Q1、Q5 打开时,AB 相导通,此时电流流向为电源正极→Q1→绕组A→绕组B→Q5→电源负极。类似的,当MOSFET 打开顺序分别为Q1Q5,Q1Q6,Q2Q6,Q2Q4,Q3Q4,Q3Q5时,只要在合适的时机进行准确换向,就可实现无刷直流电机的连续运转。


2 反电势过零检测

无刷直流电机能够正常连续运转,就要对转子位置进行检测,从而实现准确换向。电机转子位置检测方式主要有光电编码盘、霍尔传感器、无感测量三种方式.由于四轴飞行器无刷直流电机要求系统结构简单、重量轻,因而采用无位置传感器的方式,利用第三相产生的感生电动势过零点时刻延迟30°换向。虽然该方法在电机启动时比较麻烦,可控性差,但由于电路简单、成本低,因而适合于在正常飞行过程中不需要频繁启动的四轴飞行器电机。


由于无刷直流电机的两相导通模式,因而可以利用不导通的第三相检测反电势的大小。如图2反电势检测电路,中性点N 与单片机的AIN0 相接,Ain,Bin,Cin分别接单片机的ADC0,ADC1,ADC2.不停地比较中性点N电压与A,B,C三相三个端点电压的大小,以检测出每相感生电动势的过零点。ATMEGA16单片机模拟比较器的正向输入端为AIN0,负向输入端根据ADMUX寄存器的配置而选择ADC0,ADC1,ADC2,从而利用了单片机自带的模拟比较器的复用功能。当A,B相通电期间,C相反电势与中性点N进行比较,类似的,就可以成功检测出各相的过零事件。

图2 反电势检测电路

图2 反电势检测电路


电机的反电势检测出来后,就可以找到反电势的过零点,在反电势过零后延迟30°电角度进行换向操作。


3 控制程序设计

3.1 驱动控制电路上电自检

无刷直流电机驱动控制部分包括MOSFET 自检、电机启动控制和电压电流监测功能3部分。驱动控制电路的上电自检流程如图3 所示,包括MOSFET 短路特性与导通特性测试、以防止过流损坏电路。

图3 驱动控制电路上电自检流程图

图3 驱动控制电路上电自检流程图


3.2 软件启动控制

反电势检测法只有在电机正常运转后才能进行,当电机不转或转速很低时,其反电势无法检测,因而采用软件启动的方式。针对无位置传感器无刷直流电机的控制,本文采用三步启动的方法,首先,给A,B相通电一段时间以固定电机转子位置;六状态轮流换向,通电时间逐步减少;检测第三相的反电势,若正常则启动成功,否则重新启动。具体的启动流程如图4所示。

图4 无刷无感直流电机启动流程

图4 无刷无感直流电机启动流程


3.3 系统保护功能设计

四轴飞行器的系统保护功能包括电压、电流监测功能。电池电压监测功能电路:通过简单的分压电路将电池电压降到单片机A/D 转换允许的输入范围内(0~5 V),通过电压监测防止电压不足时电机停转;电流检测功能电路:通过0.01 Ω电阻采样电流,转化为电压,送到单片机的A/D转换口,以防止发生故障时大电流损坏电路。在电流监测时,采用简单的数值平均滤波方式,减弱瞬时峰值电流对测量结果的影响。


4 结语

本文实现四轴飞行器的直流无刷电机的驱动电路和系统控制软件程序设计。驱动电路采用三相六臂全桥电路,MOSFET作为开关元件,利用ATmega 16 单片机作为控制芯片,反电势过零检测以及软件启动的控制方式,并延迟30°进行换向。正常启动后,单片机输出PWM 实现无刷直流电机转速调节。同时设计了电压、电流监测电路,保证系统安全,因而,该系统能够正常驱动无位置传感器无刷直流电机,并且能够应用于四轴飞行器。

推荐阅读

史海拾趣

Gennum ( Semtech )公司的发展小趣事
用于调节电路中的电流、电压以及实现特定的时间延迟等功能。
Acopian Power Supplies公司的发展小趣事
用于实现整流、稳压等功能,也可能用于保护电路中的其他元件。
Davies Molding公司的发展小趣事

随着电子行业的快速发展,Davies Molding公司意识到,只有不断创新,才能在市场上保持领先地位。因此,公司积极引进先进的生产技术和设备,不断提升自身的研发能力。通过不断的技术创新,Davies Molding公司成功推出了一系列具有竞争力的新产品,满足了市场对高品质塑料注塑成型产品的需求。

DETCO公司的发展小趣事

ElectronicsCorp最初是一个在亚洲某城市的小型电子产品制造商。它以其高质量和合理的价格迅速获得了市场份额。公司创始人李先生坚持将研发作为核心驱动力,不断投入资金研发新技术。随着时间的推移,ElectronicsCorp的产品线不断扩大,包括智能手机、平板电脑和智能家居设备。凭借持续的创新和卓越的质量,ElectronicsCorp逐渐成长为全球电子行业的领导者。

Geo Semiconductor Inc公司的发展小趣事
采用更合理的电路布局和元件选型,减少因设计不当导致的故障。
Fujisoku Corporation公司的发展小趣事

“未来电子”深知人才是企业发展的第一资源。因此,公司高度重视人才培养和团队建设工作。通过建立完善的培训体系、激励机制和晋升通道,公司吸引并留住了一大批优秀的研发、生产和销售人才。这些人才在各自的岗位上发挥出色,为公司的快速发展提供了有力保障。同时,“未来电子”还注重团队合作和跨部门协作,通过组织丰富多彩的团队建设活动,增强了员工的归属感和凝聚力。

问答坊 | AI 解惑

HDTV介绍

本帖最后由 jameswangsynnex 于 2015-3-3 19:57 编辑 HDTV原理介绍 …

查看全部问答>

_简明集成运算放大器应用手册

好书_简明集成运算放大器应用手册…

查看全部问答>

(急切求助)CE5.0模拟环境下(C#.Net)如何调用第三方DLL控件...

想把视频监控的客户端放到智能手机上用, 现在可以在普通WinForm(C#.Net)下实现服务端和客户端的视频浏览和录制等功能; 但在模拟环境下调试的时候提示找不到Hik.DLL,不知如何下手解决? 是DLL放的位置不对,还是DLL版本问题? 请遇到过同 ...…

查看全部问答>

哪里有破解版的QAC下载?

哪里有破解版的QAC下载?…

查看全部问答>

移植Virtual_COM_Port[急]

小弟去下載USB的3.3.0的資料庫,裡面有EVAL的Virtual COM Port程式,想要一直到我的板子上,對照了電路圖,小弟的板子不是市面上的開發板,用的IC是STM32F102R8,USB的PULL UP控制是在PB9,照原本的是設定在platform_config.h裡設定是PD9,把它修改 ...…

查看全部问答>

keil和iar下同样时序进行触屏位置读取,得到不同的结果?

问题:如题 现象:我用IO口模拟SPI 进行触屏芯片(xpt2046)读写,在keil和iar下采用同样的读写函数(读写时序一样),两种环境下都能正常进出中断(编译器环境设置没错??)。奇怪的是,在IAR下能够正常读取到点触的位置,而在keil读数始终为零 ...…

查看全部问答>

2013年电赛全国奖评审--复测名单 --E题

本帖最后由 paulhyde 于 2014-9-15 03:06 编辑 2013年电赛全国奖评审--复测名单 --E题 [ 本帖最后由 lmx 于 2013-9-22 23:48 编辑 ]    …

查看全部问答>

51程序问题·····

先说问题吧···· 就是矩阵反转扫描函数中的问题··· 源函数如下····· unsigned char KeyScan(void)  //键盘扫描函数,使用行列反转扫描法 { unsigned char cord_h,cord_l;//行列值中间变量 KeyPort=0x0f;    ...…

查看全部问答>

ADC中关于ADCSequenceStepConfigure函数的问题

ADCSequenceStepConfigure(uint32_t ui32Base, uint32_t ui32SequenceNum,uint32_t ui32Step, uint32_t ui32Config) 这个函数第3和4个参数理解不是很清楚。有4个样本序列。0序列有8个step\\1和2序列有4个step.3序列有1个step.step是什么用的。还有 ...…

查看全部问答>