正点原子电机笔记——直流无刷电机基础驱动 1.直流无刷电机简介 直流无刷电机(BLDC)是无电刷和换向器的电机,也称为无换向器电机。
有刷无刷的区别:无刷没有电刷和换向器;定转子位置相反!
2.无刷电机分类
BLDC与PMSM的不同点
3.无刷电机主要参数 极对数:转子磁天NS极的对数,此参数和电机转速有关:电子速度=电机实际速度*极对数;KV值:值越大电机转速越大:转速=KV值*工作电压;额定转速:额定电流下的空载转速,通常用RPM表示;转矩:典籍中转子产生的可以带动机械负载的驱动力矩,通常为N*m。 4.应用场景 常用于电动车、无人机、风扇、鼓风机等…… 5.无刷电机驱动原理
BLDC内部结构图:
正点原子的无刷电机,最终可以简化成为星型结构(所有绕组都会连接到中间的转轴上,并且简化暂时只看一对磁对极)。通过三相绕组的开关情况,可以得到当前的电流流向,并通过矢量计算得到当前的电流方向,并最终通过电流方向来判断开通的时机。 这种控制方法,称为6步换向法,可以根据下图来判断所需电流方向:
最终,这种控制方法可以简化称为下表形式,并可以查表来判断所需的电流开断:
实现三相极性切换 通过三相逆变电路实现极性更换
如图中的方法是直接把电源加载在线圈上,会导致电压过高从而导致电机转速飙升一般通过PWM来控制,可以方便的控制线圈电流,来控制转子扭矩与转速 无刷电机的基本驱动换向控制示意图
PWM控制直流无刷电机的常见方法
图e所示就是均为PWM控制的方法,也就是全桥控制这种控制方法会导致IGBT开关频率过高,容易导致损坏。其余四种方法都是半桥控制,正点原子的例程汇总均采用图d的方法:H_PWM-L_ON:上桥臂使用PWM,下桥臂用高低电平直接控制。那么,电机转速取决于上桥臂的PWM占空比。 确定当前转子位置
位置检测(通过霍尔传感器)总体而言就是通过霍尔效应来得到传感器的电平信号,电平信号为高电平说明对应N极,反之S极。
电角度=机械角度*极对数。
霍尔与绕组得电情况的真值表 根据分析,就可以得到一张表格,来对应霍尔传感器的所读电平来判断当前需要的开通相,下图就是正点原子的BLDC对应的真值表:
无刷电机的驱动总体示意图
通过三相逆变电路切换极性,通过控制上桥臂PWM占空比来调速;通过位置传感器检测当前转子位置,控制线圈按照真值表顺序通电。 6.无刷电机驱动板介绍
半桥电路
左侧的TLP2355(TPL)是一个光耦模块,主要起到隔离效果,保护IO口。 半桥芯片
半桥芯片的SD高电平,就会使得输出信号一直是低电平;从而能够推导出右边的半桥输出真值表。 MOS管开断
通过右下角的MOS管的手册表格,室温下的开关情况,可以发现GS之间电压>7V,MOS管完全导通。在驱动电路中,判断上桥臂开断情况。当HO导通时,HO=VB,则G处获得了VCC11的11V电压,开通;开通后S处获得了POWER,也就是24V电压,会通过下面的电路连接来到C!!这个电容给他充电,连回到VB,而VB=HO=G处电势,则始终保证GS之间有11V的电势差,保持MOS管的导通。 三相电流采集
电源电压采集
温度采集
霍尔&编码器接口
7.编程实战 实验目的:实现直流无刷电机的旋转、方向、调速功能 硬件准备 需要硬件为:f4电机开发板(找到合适的引脚,用f1也可以控制);无刷驱动板;无刷电机;24P专用排线;8P接线柱(接线牢固);直流电源(24V,根据电机的额定电压来选择)。
驱动配置流程 初始化TIM及IO:初始化相关IO,初始化定时器,6路通道(3路上桥臂以及3路下桥臂),开启中断;霍尔状态读取:编写霍尔传感器状态读取函数;6步组合:上下桥臂的导通情况,工6种;设置无刷参数:设置旋转方向以及脉冲占空比,编写无刷启停函数;中断服务函数:中断里读取霍尔状态,根据方向以及霍尔状态依次导通上下桥臂。 在正点原子的例程中,无刷直流电机的运转状态,通过定义一个结构体就可以查询和存储,其中包括了运行状态、旋转方向、当前霍尔传感器、之前的霍尔传感器、电机占空比工5个状态量。 首先初始化GPIO以及TIM1,按照电机的接线,先初始化bldc的相关接线:需要初始化SD引脚(PF10),推挽输出,低速、浮空;然后初始化霍尔传感器的引脚,分别为U相(PH10)、V相(PH11)和W相(PH12),都设置为上拉的输入;然后初始化TIM1,需要用到3路PWM输出,分别是上桥臂的UH(PA8)、VH(PA9)以及WH(PA10),都设置为复用推挽输出、上拉、高速,并且f4系列还有一个复用的功能要设置,复用为TIM1;下桥臂UL(PB13)、VB(PB14)和WB(PB15)都设置为推挽输出、浮空和高速;最后初始化TIM1,预分频和自动重装载设为函数入口参数的psc和arr,向上计数,不分频,不设置缓冲,关闭重复计数器,选择PWM模式1,输出极性为高,最后开启PWM以及使能更新中断。 然后编写霍尔传感器的读取函数:设置一个参数来读取(uint8_t),通过HAL_READ_PIN来读取高低电平情况,使用参数的低三位来表达是否为高电平(|=0x01、|=0x02以及|=0x04)。 然后编写6步换向:上桥臂通过控制PWM占空比来实现(g_atim_handle.Instance->CCRx),通过句柄来控制自动重装载值CCRx;下桥臂直接通过控制GPIO输出即可(HAL_WRITE_PIN);具体的操作逻辑就是上桥臂导通,就设置占空比,下桥臂导通,就把SET给GPIO。 接着设置无刷电机的启停参数: 先设置关闭电机函数,将SD引脚的电平设置为RESET,同时把上桥臂的PWM占空比都置0,关闭PWM输出,下桥臂全部RESET即可;开启电机,只需要开启PWM输出,并且使能SD引脚即可;在main函数中进行KEY的操作,按下对应的键值,完成对占空比的改写,同时占空比的改变后的正负可以写进旋转方向的变量,并标记电机的运行状态。 最后编写中断服务函数:根据电机的启停状态以及旋转方向,通过读取霍尔传感器的状态,由控制的真值表来判断对应的上下桥臂导通情况并进行6步换向。
2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/52098.html