单片机pmsm电机_8bit单片机foc矢量控制pmsm电机无传感器 - CSDN
精华内容
参与话题
  • 下面程序取自 IFX 8 位机无传感器 PMSM 电机矢量控制程序。整个程序是连续的矢量控制计算函数,其中有图片说明打断,便于更好的理解。其中包括坐标系变换, 磁链角估算,PI 速度环电流环调节。(单片机 XC886,Keil ...
  • elmo驱动器用stm32单片机控制

    千次阅读 热门讨论 2018-11-21 15:53:23
    最近课题需要用单片机来驱动力矩电机。在这里盛赞ELMO驱动器代理商——北京高控科技公司的质量与服务,果然一分价钱一分货。 设备:sol-whia15/100e02; usb-232模块,国产5000线编码器,国产力矩电机,stm32单片机...

    最近课题需要用单片机来驱动力矩电机。在这里盛赞ELMO驱动器代理商——北京高控科技公司的质量与服务,果然一分价钱一分货。

    设备:sol-whia15/100e02; usb-232模块,国产5000线编码器,国产力矩电机,stm32单片机,pc。

    目的:用单片机驱动力矩电机。

    硬件接线部分

    1)驱动器主电源(Main power)

    根据官方手册,我们可以发现,只需要关注四个接口-pin1,2,3/4,5/6。也就是说将辅助电源和主电源都接好就可以。这里我直接将VL+和VP+接到24v,PR接到GND

    2)232通讯线

    这个是最简单的,只有三根线Rx,Tx,GND。依次接到232转usb的,Tx,Rx,GND。

    3)编码器接线部分

    我这里使用的增量式光电编码器,上面只有ABZ三相,并没有霍尔传感器,因此不用管就是了。对了,手册里说的Index就是z相。另外,这里我也并没有接屏蔽线,据代理商那边的工程师说,最好接上。我后面装电机的时候再接吧。

    4)电机接线(Motor Power)

    根据官方手册的这页,我们可以看到pin1.2需要接到电机的温度系数线,pin5.6.7.8根据所驱动电机的实际情况选择连线。我这里所用的是一款国产力矩电机,只需要将电机的VCC接到M2,0v接到M3,剩下的都不用管

    来个全身照:

    把以上的硬件接线部分整理好后,就可以对驱动器进行初步的调试了。

    软件调试部分

    1)Elmo Composer

    这里要说一点,elmo的官网可能是由于墙的原因没办法注册用户。因此,我只能和官方代理的工程师那里要来了composer软件。尴尬的是第一个版本只能在win7或者win10环境下安装,而我确实win8.1的忠实用户,所以只能安装更新的版本了。需要的在下面的百度网盘里。

    链接:https://pan.baidu.com/s/1AInADdd5veUduDTtWnwW2A 密码:ixa5

    (1)与PC通信

    这里我们首先将usb-232模块插入pc中。注意,这里我们需要先装好相应的驱动。如果,没有的话可以从下面的网盘里面自取。

    链接:https://pan.baidu.com/s/1arHZzxZ3zKjXfEu55FMKlQ 密码:7rrz

    插入模块后,我们可以看到如下:

    接下来打开composer软件,我们新建一个应用(application)。如下:

    接下来配置各种信息。如下:

    点击connect,经过一段时间的读条后,我们就可以连接到驱动器了。这里读条的原因,我猜测可能是由于第一次与设备连接需要配置各种信息。因为这里,我之前已经连接好了。所以我就直接进去了。如下:

    motor那里我选择的是旋转有刷,然后后面依次输入电机的额定电流1.3,额定转速1500r/min。记得点击,edit保存电机配置

    接下来,配置编码器。如下:

    这里我的编码器是5000线的无霍尔普通编码器,就选择第一个encoder,输入5000。

    接下来,确认电机配置,并设置最大电流。如下:

    下一步,将所有IO输入和输出都设定为忽略。这里,我们不需要 IO功能。

    然后,开始调试tune。如下:

    首先,调试电流环。点击run。如下:

    调试成功,如下。

    下一步,与编码器连接通信。如下:

    点击run,得到如下:

    接下来,就进入了驱动器参数调试阶段了。这里推荐大家,选择自动调试模式(auto tuning for speed designd),然后点击run auto running。如下:

    如果想更改参数的话,在customize那里点勾。

    自动调试进行中,如下:

    调试结束,电机曲线图,如下:

    这样速度环就调好了。

    下一步,调位置环。

    同样选择,自动模式,如下:

    这里,我们出现一个问题,显示PA=1604,超范围了。如下:

    我们将cumstomize打钩,将step改成1000。继续调试。成功了,如下:

    下一步,保存应用(application)。

    下次要用配置的时候,直接加载就可以了。

    2)串口助手测试232控制驱动器

    接下来,我们用串口助手发送命令来控制电机。

    我们在发送窗口,依次输入如下命令:

    UM=2;  //速度环模式
    MO=1;  //电机开始
    JV=1666;//持续运动,速度为1666
    BG;     //开始
    

    如图:

    电机开始运转。

    这里注意:一旦发送MO=0命令,电机立即停止转动,处于失电状态,不会有钳位。

    3)单片机程序部分

    这部分就很简单了,只需要根据ELMO驱动器命令手册,编写函数命令。将控制模式和控制参数设为形参输入,在函数内用printf打印命令即可。

    希望有志同道合的小伙伴关注我的公众平台,欢迎您的批评指正,共同交流进步。

    展开全文
  •   针对电机控制或者其他电力电子应用场合,各大芯片厂商不仅生产了各种芯片和功率器件,并且针对这些应用场合,设计了许多控制算法的类库。   厂商提供的demo大部分都是基于状态机的模型设计,并且将各部分功能...

    针对电机控制、微网控制等应用,各大芯片厂商不仅生产了各种芯片和功率器件,还提供了一套完成的解决方案。这些解决方案包含了相关控制算法的程序、硬件设计方案和上位机调试工具。一般使用厂商提供的算法程序时,需要使用相应厂商的芯片,部分厂商提供的是开源的类库(就是直接给代码了)或开放的算法方案(比如告诉你具体的公式),可以直接移植到开发者所想使用的芯片上。

    ST解决方案

    ST为电机控制应用设计了FOC库,目前已经到了5.x系列版本,并且在5.x系列开始完全开源,当然了开源代码的获取需要用企业邮箱或者教育邮箱才能申请得到。此前的版本开放了各种算法,但是无位置控制算法和弱磁等控制策略是闭源的。
    无位置传感器算法上,在低速情况下,早期版本,ST采用I/F开环启动,4系列版本之后已经加入了高频注入法作为启动方式。初期版本的开环到闭环的切换策略是直接强行切换,3系列版本之后改为了加权角度切换。在中高速阶段采用了龙伯格观测器法,通过观测到的反电动势,用PLL或者cordic算法,来计算出最终的角度和速度。当然,FOC库也包含了霍尔传感器和编码器等驱动程序。
    此外,库函数包含了前馈解耦的PI控制器、分段PI控制,并且含有弱磁和MTPA的模块。FOC库包含了单电阻采样法、三电阻采样法和隔离霍尔传感器驱动程序。底层驱动是以库函数形式操作为主,从以前的标准外设库(SPL库)转为了现在的HAL库和LL库,后两者只需要采用STM32CubeMX就可以自动生成。停机方案考虑了零矢量停机,需要外部加上泄流电阻。
    FOC库目前适用的电机有PMSM、BLDC等。该库有一个图形化配置工具,可以自由选择上述各个模块搭配,一键生成控制程序,无需手工编写代码。这一工具包含了自行开发的GUI调试界面,基于串口通讯,为了考虑在stm32系列芯片的通用性,其没有利用IDLE中断而直接采用了串口中断进行数据接收,这一上位机能帮助进行离线参数辨识。
    整体来看,这一库采用c语言实现,模块化程度较高,尤其是HAL库引入后,控制算法和底层驱动分离程度更高,适合移植和学习。风格库函数在2.0时为面向对象型,3.0-4.0系列采用类似C++的面向对象型,而5.0系列开始,回归模块化风格,代码相对比3.x和4.x更加精简。使用时需要注意的是,ST的静止坐标系中,采用的是beta轴滞后于alpha轴的形式。
    ST的单片机很便宜,它的产品路线也有规划。
    在这里插入图片描述
    ST的方案还是比较容易上手的,无位置方案采用的龙伯格观测器虽然对电机参数有一定依赖, 但是如果看懂了状态观测器的算法,并且学会设计参数的话,也是个不错的选择。ST的算法和代码是开源的,只要你能真正弄懂ST的控制算法,而不是只是把它代码复制来,对电机控制学习是有帮助的。

    TI解决方案

    TI的电机控制库,主要是Controlsuit中的DMC库和MotorWare中的InstaSPIN库,此外还有针对光伏的solar lib和频率分析的SFRA lib。目前TI的资料已转向C2000ware这一软件包,对Controlsuit已经停止更新,但是短期内Controlsuit的资料仍然较为丰富。

    DMC

    DMC库是模块化且开源的,每个功能模块用宏函数的方式实现,需要利用相应的功能时,只需包含相应的h文件。DMC库包含了滑模观测器、抗积分饱和的PI控制器等模块。针对电流控制,里面有FCL模型,其功能是利用CLA或双核CPU等硬件条件建立快速电流内环,提高电流环的控制效果。其demo中没有切换方案,并且各个模块需要自行组合使用。总体来看,这一库移植和代码复用上很方便,可定制化程度很高。
    不过DMC库给出方案不是个完整方案,各个模块之间的衔接语句需要你自己写,而且这一方案的各个模块都是宏定义实现的,调试时候不大方便。这一个库更多时候适合用来学习它的编程风格和模块化的思想。当然,里面设计的不错的模块也是值得我们学习的。

    InstaSPIN

    nstaSPIN库是一个闭源的类库,并且其算法方案大部分没有开放。针对所有三相电机系统而设计,具有简单的 API 接口和针对专家级用户的完全自定义功能,包含了弱磁控制。
    nstaSPIN-FOC内部不仅有传统PI控制器、无位置算法模块,还含有参数辨识等模块。其说明文档详细介绍了PI控制器的调参方法,离线参数辨识的方案等。离线参数的数据可以帮助开发者快速配置PI控制器的参数,并且有在线辨识可以帮助实时调整参数。无位置控制是InstaSPIN库的核心,在低速运行的时候,采用HFI,全程都是闭环控制,不存在切换角度的问题。中高速时,采用了FAST观测器。这一观测器细节没有公开。
    InstaSPIN-MOTION的特点是含有SpinTAC控制器。为了提高控制精度,库中也包含传感器的驱动程序。SpinTAC控制器用于速度环和位置环上,其控制性能优于PI控制器。适用于任何三相电机的含传感器位置或速度运动控制,只需要单变量便可完成位置或速度控制调优。SpinTAC 控制器自动抑制以下情况造成的干扰:周期变换、负载变化环境干扰。这一控制器的细节也没有公开。
    InstaSPIN-BLDC则是专门针对BLDC的一个版本。与其他基于反电动势过零检测时序的无传感器 BLDC 控制技术不同,InstaSPIN-BLDC 通过监测电机的磁通量来判定为电机换向的时间,能让电机在较低速度下更加稳定地运转。
    此外,还有PowerWarp 技术可在部分负载情况下实现节能。针对异步电机ACI,还有相应的功率因素模块,控制最小的励磁电流。采样上也包含了单电阻、两电阻、三电阻采样方式,并且目前来看,三电阻采样法是性能和成本最均衡的采样方法。
    InstaSPIN 还有一个上位机。该 GUI 可以检测任何 MotorWare 项目中的常用变量,在评估和开发过程中非常有用。该GUI基于web app设计,通过仿真器于DSP进行连接,调试时不对运行本身产生影响,属于非侵入式调试。
    这一方案是个完整的电机控制方案,可惜核心算法和代码是闭源的。

    TI FOC与方波驱动对比

    针对正弦波与方波驱动进行对比,在一般情况下,方波驱动比正弦波驱动的转矩脉动大且噪声多。而在高速运行领域,方波驱动又优于正弦波驱动、FOC控制,方波驱动的电压利用率高,可在不弱磁的情况下达到电机真正的最高转速,而正弦波驱动时最高转速则容易受电压利用率和开关频率的限制。 在这里插入图片描述
    在这里插入图片描述

    Infineon解决方案

    iMOTION™ Modular Application Design Kit

    固件库是模块化的,包含了基于锁相环的无位置算法、抗积分饱和的PI控制器、SVPWM模块等。启动方式是VF启动,并且提供了切换至闭环的模块(MET)。在开环启动至一定转速后,无传感器MET闭环控制状态接管控制。该状态的加入保证了定子磁通与转子磁通垂直,且磁通平稳可控。

    UCPROBE

    针对cortex-M内核的MCU,均可采用UCPROBE作为上位机。它可以直接读取内存单元中变量的值,并且对其修改,并且可以选择修改数组元素或者数据的某一个位。不过这一软件是收费软件。英飞凌系列单片机有专门定制版的UCPROBE,针对英飞凌单片机可以免费使用。
    通讯时可以使用的硬件为JLINK、CMSIS DAP等仿真器,STlink除外。通讯使用的接口即为原来的仿真接口,JTAG或者SWD接口均可。使用仿真器来通讯的好处是不需要添加额外代码,其通讯和调试不占用CPU资源,属于非侵入式调试。此外,可以使用RS232(普通串口)、网络作为接口,这时候需要增加相应的驱动程序,并且会占用CPU资源。
    UCPROBE带有虚拟示波器功能,只需增加官方给的代码,与原有工程整合即可使用。如果不需要虚拟示波器功能,则不必添加代码,直接原工程即可使用。虚拟示波器最多可以开启8通道,且需要占用一定的内存,所以必须根据实际情况选择开启的通道数以及通道缓冲区的大小。

    灵动微电子控制方案

    以风机为例,主要有正弦波、120度方波、150度方波三种控制驱动方式。

    矢量控制方案

    目前的无位置传感器控制,使用较多的是滑膜观测器。根据框图看,与其他几家基本上相同。
    在这里插入图片描述
    针对逆风启动,整体控制过程中,对电流进行闭环控制
    在这里插入图片描述

    120度与150度方波控制对比

    方波控制,主要是针对梯形波的BLDC以及高速电机采用。
    在这里插入图片描述

    单相电机控制

    考虑单相电机的低成本,研究以正弦波驱动单相电机,针对噪声问题就行优化解决。
    在这里插入图片描述

    IRMCF343

    芯片

    IR公司的IRMCF343是高性能基于RAM的马达控制,对于高端变频电器马达控制具有低成本和高性能的优势。IRMCF343集成了两个计算引擎:一个是用于无传感器永磁马达控制的运动控制引擎(MCETM),另一个是8位高速MCU(8051)。晶振频率最大为60MHz,内部时钟最大为128MHz,无传感器控制计算时间典型为11μs,MCETM计算数据范围16位。MCETM的控制元件包含:比例加积分(proportional plus integral)、向量旋转、角度估计、乘法/除法、低损耗SVPWM、单分流IFB。

    编程方式

    用户可采用图形编译器,来连接这些控制元件,用以编程运动控制算法。该器件提供了主要的,无传感器控制算法的元素(如,角度估测器),以实现硬件的预定义控制块的功能。该器件还具有一个独特的,模拟/数字电路,和算法,完全支持单旁路电流重建。 8051微控制器执行2周期指令(60MIPS,120MHz)。
    MCE和8051微控制器通过双口RAM连接,来处理信号监测和命令输入。用于MCETM的,先进的图形编译器被无缝集成到MATLAB/ Simulink中,基于仿真器工具的,第三方JTAG,可用于支持8051开发。IRMCF343为QFP64引脚无铅小型封装。
    在这里插入图片描述
    IRMCF343 是为了适应低成本高性能的逆变控制电机调速而开发的一款低损耗高性能的运动控制芯片。此芯片包括三个部分:一部分是为空调提供用户接口、处理主通讯和上层控制任务等功能而配备的8 位高速单片机处理器(Microcontroller,简称MCU),另一部分是执行信号处理和模数转换的模拟信号引擎(Analog Signal Engine,简称ASE),还有一部分是用于无传感器永磁同步电机控制的运动控制引擎(Motion Control Engine,简称MCE)。

    华芯维特SWM180

    芯片

    SWM180 系列32 位MCU内嵌ARM Cortex - M0 内核,凭借其出色的性能以及高可靠性、低功耗、代码密度大等突出特点,可选择基于片内RAM执行或基于叠封FLASH执行,最大支持1MB。可应用于工业控制、电机控制、白色家电等多种领域。

    算法

    空调风机驱动采用SWM180芯片进行设计,实现矢量控制算法,具有防台风翻转检查功能,并实现对无霍尔永磁同步电机的精确调速。最后,空调压缩机驱动板载超值型SWM320芯片,驱动方案采用FOC算法,结合空调压缩机负载特性,通过力矩补偿功能实现了低频10Hz稳定运行,并通过恒功率控制实现了120Hz的高频运行,此芯片能满足空调压缩机FOC算法开发要求。

    展开全文
  • 摘要:本文在简要介绍当前驱动汽车技术革命的电动汽车技术的前提下,详细介绍了电动汽车主要核心部件的驱动电机及其控制器,重点分析了英飞凌32 位新型单片机电机控制器中的应用以及软件的基本架构,探讨了用软件...
  • BLDC电机控制算法——FOC简述

    万次阅读 多人点赞 2018-08-26 13:39:34
    最近做完了一个直流无刷电机电机调速项目,查阅了各种大神所写的博客和论文,在这里我只做一下小小的总结; FOC(Filed Oriented Control)是采用数学方法实现三相马达的力矩与励磁的解耦控制。 主要是对电机的...

    最近做完了一个直流无刷电机的电机调速项目,查阅了各种大神所写的博客和论文,在这里我只做一下小小的总结;
    FOC(Filed Oriented Control)是采用数学方法实现三相马达的力矩与励磁的解耦控制。
    主要是对电机的控制电流进行矢量分解,变成励磁电流Id 和交轴电流Iq ,励磁电流主要是产生励磁,控制的是磁场的强度,而交轴电流是用来控制力矩,所以在实际使用过程中,我们常令Id=0 。之后我将详细介绍一下这个算法的数学原理和一些自己的理解。

    FOC矢量控制总体算法简述

    输入:位置信息,两相采样电流值,(3相电流、电机位置或者电机速度)
    输出:三相PWM波
    所需硬件:两个ADC,一个光电或磁编码器,主控,依据电压等级的不同有mosfet或者IGBT或者SiC功率模块组成的三个半桥
    FOC算法在本质上就是一些线性代数中的矩阵变换,我在这里讲述的是有传感器的FOC算法,转子的位置信息是通过绝对式磁编码器反馈的,直接是数字量。
    首先是通过ADC采样得到电机的ia,ib 两项电流信息,由于基尔霍夫电流定律,同一个节点流入电流值与流出电流相等,我们可以计算出ic,之后通过Clark变换,可以将三相定子坐标系(三个轴互为120°,ia,ib,ic)转化为两相的定子直角坐标系(iα,iβ),因为我们主要控制的是转子的旋转,所以需要通过Park变换将两相定子坐标系变换到两相转子坐标系(iq,id),本质上就是矩阵的旋转变换,在这里,我们用到的转子的位置信息。该位置信息便是由磁编码器返回的绝对角度信息,(其实也可以用增量式编码器,我感觉应该只是在电机位置校准的时候需要定义零点,其他的应该一样,我暂时还没有做过,属于猜想的,当然有的还可以通过无位置的控制方式,通过三相采样电流值计算转子位置信息,还有需要注意的是得到的是角度信息,我们需要将其转化为电角度信息,=),其中id 为励磁电流分量,iq为转矩电流分量,可以建立两个PI调节器分别对两个电流分量进行调节。通常情况下,励磁电流分析应该为0,而转矩电流分量为给定值或者是经过速度环输出值。速度环可以根据速度反馈来控制该电流的大小,之后转矩电流的PI调节器输出Vq ,励磁电流的PI调节器输出Vd。之后通过反Park变换再将其转化为两相定子坐标系(Vα,Vβ),Vα,Vβ 通过Clark逆变换得到需要施加在三相定子上的电压值(Va,Vb,Vc )然后通过SVPWM模块,输出到逆变器。
    SVPWM是磁场定向控制中常用的PWM波调制技术。其全称是空间矢量脉宽调制(Space Vector Pulse Width Modulation)是由三相功率逆变器的六个功率开关原件组成的特定开关模式产生的脉宽调制波,能够使输出电流波形尽可能接近于理想的正弦波。理论基础是平均值等效原理,即在一个开关周期内通过对基本电压矢量加以组合,使其平均值与给定电压矢量相等。
    假设三相电压分别为UA,UB,UC ,且相互之间相位差为120°,假设Um为相电压的有效值,f为电源频率,则有:

    {UA(t)=2Umcos(2πft)UB(t)=2Umcos(2πft2π3)UC(t)=2Umcos(2πft+2π3)

    则三相电压空间矢量相加的合成空间矢量U(t) 就可以表示为:
    U(t)=23[UA(t)+UB(t)ej2π3+Uc(t)ej4π3]=2Umej2πft

    U(t) 是一个旋转的空间矢量,幅值不变,为相电压的峰值,且以角频率w=2πf按逆时针方向旋转,其在三相坐标轴上的投影就是对应的三相正弦量。
    FOC算法的优点有:
    1、当负载变化时,速度响应快而且精确;
    2、电机的瞬时效率高;
    3、能实现位置控制;
    FOC和PID调节的方式参考了
    http://bbs.elecfans.com/jishu_546001_1_1.html
    主要为先调试内环之后调试外环;
    1、首先应该调试ADC和编码器,看是否可以得到正确的采样电流和编码器数值;
    2、调试FOC算法中的SVPWM环节,认为的给定UαUβ 两个值,看电机是否运行,确保SVPWM没问题
    3、 人为给定id,iq 参考值,通过实时采样电流,调节电流环的PID,调节的目标是启动响应速度足够快,平衡运行波动足够小,通过DAC输出实时的采样电流来进行观测调试(这里我直接在算法中让id 为0,所以只给定iq 的值)。
    4、人为给定速度,调试速度环PID,输出iq ,调节的目标是根据在足够宽的速度范围内平稳启动和运行。可以采用专家PID算法;
    5、位置环调节,输出为速度,调节目标,从一个位置快速的到达另一个位置来回跑,停止静差足够小,速度增减足够快,即瞬时速度大且需要合理的根据位置路径的长度规划一个速度曲线。
    注意:如果要达到较高的速度精度,可能需要针对不同的速度值设置不同的速度PID参数,且需要进一步实时的调节观测器、PLL及速度PID参数。

    其他的一些知识总结:

    FOC与DTC控制区别

    (参考知乎一位大神的):
    来源:https://www.zhihu.com/question/265079828/answer/291686684
    FOC(电机矢量控制)要求严格的转子磁场定向,对于BLDC电机而言转子磁场方向始终与转子位置一致,因此其控制输入需要准确的转子绝对位置信号
    DTC(直接转矩控制)实际上与基于定子磁场定向,而定子磁场则是依据电压积分估算获得,在这个过程中跟转子位置没有关系,其控制过程中用到的量也都是静止坐标系下的量,因此DTC控制相比于FOC控制要简单很多,完全不需要求解三角函数、坐标变换,如果需要用DTC进行速度闭环则需要测量电机的速度,但是依然不需要准确的绝对位置。
    总结下来,从硬件的角度DTC相比于FOC可以省略一个位置传感器!当然,现在有很多改进的DTC算法需要用到电机的绝对位置。
    但是在电机控制中,无论是DTC控制还是FOC控制,最后倒要基于PID调节实现稳定控制。

    市场上电调分类

    1、FOC电调:矢量控制,效率高,转矩脉动小,电机噪音小,减速制动快
    2、普通电调:六步换向控制,方波驱动
    STM32有BLDC开发套件

    BLDC电机控制算法:

    PID控制,专家PID控制,模糊PID控制,神经PID控制,基于遗传算法整定的PID控制,鲁棒控制,滑膜控制等;

    电机方面的知识:

    1、根据《无刷电机控制系统》中所讲述:目前国内外对无刷直流电机的定义一般有两种:一种定义认为只有梯形波/方波无刷直流电机才可以称为无刷直流电机,而正弦波无刷电机则被称为永磁同步电机(Permanent Magnet Synchronous Motor,PMSM);另一种定义认为梯形波/方波无刷电机和正弦波无刷电机都是直流无刷电机。
    2、直流电机的调速是用直流电压来控制,电压越高,转的越快,不过单片机并不能输出可调的直流电压,于是只好变通采用PWM的方式来控制电机的输入电压。PWM占空比越高,等效电压就越高,当然单片机给出的PWM波形只是控制信号,而且最高电压只有5V,其能量并不足以驱动无刷直流电机,所以必须要再接一个功率管来驱动电机,功率管可以是MOSFET(场效应管),也可以是IGBT(绝缘栅双极晶体管)。
    3、一般而言,电机的绕组数量都和永磁极的数量是不一致的(比如用9绕组6极,而不是6绕组6极),这是为了防止定子的磁极与转子的磁钢相互吸引对其,产生类似于步进电机的效果,此种情况下转矩会产生很大的波动。
    4、外转子无刷直流电机比内转子电机要慢,但是力矩更大,例如四旋翼等可以不通过减速器直接驱动螺旋桨旋转。
    5、无刷直流电机KV值定义为:转速/V,意思是输入电压每增加1V,BLDC电机空转转速增加的转速值。同系列同外形尺寸的无刷电机,根据绕线匝数的多少,会表现出不同的KV特性。绕线匝数多的,KV低,最高输出电流小,扭力大;绕线匝数少的,KV高,最高输出电流大,扭力小;

    自己的一些经验:

    1、计算角度信息一定要用电角度,而不能直接计算
    2、电机的最高转速与电流和编码器采样频率也有一定关系;

    展开全文
  • 有刷电机是大家最早接触的一类电机,中学时物理课堂上介绍电动机也是以它为模型来展示的。有刷电机的主要结构就是定子+转子+电刷,通过旋转磁场获得转动力矩,从而输出动能。电刷与换向器不断接触摩擦,在转动中起...

     

    前言

          有刷电机是大家最早接触的一类电机,中学时物理课堂上介绍电动机也是以它为模型来展示的。有刷电机的主要结构就是定子+转子+电刷,通过旋转磁场获得转动力矩,从而输出动能。电刷与换向器不断接触摩擦,在转动中起到导电和换相作用。

    https://images2018.cnblogs.com/blog/1435508/201808/1435508-20180822191635169-1771943257.gif

    有刷电机采用机械换向,磁极不动,线圈旋转。电机工作时,线圈和换向器旋转,磁钢和碳刷不转,线圈电流方向的交替变化是随电机转动的换相器和电刷来完成的。

    在有刷电机中,这个过程是将各组线圈的两个电源输入端,依次排成一个环,相互之间用绝缘材料分隔,组成一个像圆柱体的东西,与电机轴连成一体,电源通过两个碳元素做成的小柱子(碳刷),在弹簧压力的作用下,从两个特定的固定位置,压在上面线圈电源输入环状圆柱上的两点,给一组线圈通电。

    随着电机转动,不同时刻给不同线圈或同一个线圈的不同的两极通电,使得线圈产生磁场的N-S极与最靠近的永磁铁定子的N-S极有一个适合的角度差,磁场异性相吸、同性相斥,产生力量,推动电机转动。碳电极在线圈接线头上滑动,像刷子在物体表面刷,因此叫碳“刷”。

    相互滑动,会摩擦碳刷,造成损耗,需要定期更换碳刷;碳刷与线圈接线头之间通断交替,会发生电火花,产生电磁破,干扰电子设备。

    有刷电机采用机械自动换向方式,控制起来特别简单,特别是直流有刷电机,只需在电机电极上通上直流电就可以让其转动起来,本节以下图所示的1718直流有刷电机为例 ,为大家展示如何用NUCLEO-F103RB和X-NUCLEO-IHM07M1 3SH让其转动起来!!

     

     

    示例详解

    本节用到ST官方推出的NUCLEO-F103RB和X-NUCLEO-IHM07M1 3SH 开发板。

     

    NUCLEO-F103RB对应的大致原理接线图:

    X-NUCLEO-IHM07M1 3SH部分原理图:

     

     

      1. 准备操作
        1. X-NUCLEO-IHM07M1 3SH是一款专门用于PMSM(永磁同步)或BLDC(直流无刷 )的电机驱动板(后面的章节将会给大家展示),当然也可以用于驱动直流有刷电机,本节就用它来控制直流有刷电机(1718,电压7-11V,实际使用9.6V),X-NUCLEO-IHM07M1 3SH电机驱动板驱动芯片型号为L6230(详细数据手册可在st官网下载),本节仅用IN1,IN2,和OUT1,OUT2即可!

    需要用到的信号

    对应MCU引脚

    EN1

    PC10

    IN1

    PA8

    EN2

    PC11

    IN2

    PA9

    本节将直接使能EN1及EN2引脚,并直接置高或拉低IN1或IN2引脚,实现有刷直流电机的正反转(全速)。

     

        1. 打开stcubemx,新建工程,MCU选择stm32f103rb,在弹上的列表中双击STM32F103RBTX(LQFP64封装的那个):

    本按下方图分别对RCC,SYS,GPIO进行配置并生成工程:

     

        1. 在main.c中main函数里加入如下代码,让电机实现正转10秒后反转10秒循环:

    设置工程下载后自动运行:

    编译代码,下载程序运行可以看到电机成功转动起来,并如程序设定效果一致实现了正转10秒后反转10秒循环。

    本节,成功让电机转动起来并实现了转动方向控制,但是电机的转速是完全是受控制,下一节将结合STM32的定时器产生PWM波的功能来控制PWM波的占空(相当于控制电机的电压)实现电机的速度控制(开环)!OK,本期实验完成!同时如果大家有什么疑问或是有想了解的其它内容,也欢迎大家留言!!最后喜欢这个公众号的同学们记得加关注了,每天都会有技术干货推出!!

     

    文中源码资料下载,关注十三公众号:

    在公众号里给十三发送 “下载|STM32 电机教程2” :

     

     

    展开全文
  • 电机驱动方式的简介

    千次阅读 2012-04-10 13:57:41
     随着控制技术的发展以及社会对节能要求的提高,直流无刷电机作为一种新型、高效率的电机得到了广泛的应用。传统的直流无刷电机采用方波控制方式,控制简单,容易实现,同时存在转矩脉动、换相噪声等问题,在一些对...
  • 前几天一直在用 MPLAB工程调试PMSM电机,中间用到了 X2C调试工具!中间碰见了很多坑今天把所有的问题总结一下, 对自己的工作也做小总结! X2C本身是一个开源的工具, microchip把它做成了一个自己的插件!主要原理就是...
  • 永磁同步电机在汽车上的应用越来越广泛,从动力驱动到转向刹车的执行机构,都可以见到其踪影。今天想谈谈永磁同步电机的控制。 做控制的人都知道,任何电机的控制,无非三种不同的控制目标: 位置控制:想让电机转...
  • 网上很难找到这本书完整版的免费下载,本书分为14章,全面阐述了现代永磁交流电机系统的设计及读懂控制。构思继承了国外高水平著作的一贯特色,内容由浅入深、理论详实,分析透彻,能够最大程度的反映近20年国际上...
  • 转至: 加载中... ... 传统的直流无刷电机采用方波控制方式,控制简单,容易实现,同时...直流无刷电机的正弦波控制简介直流无刷电机的正弦波控制即通过对电机绕组施加一定的电压,使电机绕组中产生正弦电流,通...
  • 无位置传感器的电机控制

    千次阅读 2018-06-09 13:30:38
    电机控制一般使用闭环控制,这就必须使用传感器,如:霍尔传感器、编码盘等。但是有的应用场合下,难以安装霍尔传感器、编码盘,或者就算是安装好,也很容易损坏。霍尔传感器、编码盘都属于位置传感器。那么,无位置...
  • 在研究永磁同步电机PMSM)矢量控制的时候,坐标变换的三角函数运算、观测器的迭代、锁相环的鉴相环节(用到了三角函数)都比较消耗电机主控芯片的计算能力。在考虑算法实现的时候,都需要针对主控芯片的实际性能...
  • BLDC与PMSM关系 关于这个问题,很多人不太注意,我见过很多人把无刷直流电机和永磁同步电机不区分,以至于出现了正弦波无刷直流电机这样的叫法。实际上,在学校里面学习的时候,这个还是区分开的。一般把梯形波的无...
  • 三大电机控制方案之DSP篇(1):TMS320F28335     简介: TMS320F28335数字信号处理器是属于C2000系列的一款...近几年来,基于DSP的电机专用集成电路由于在计算速度、容量存储等方面比单片机具有更优的性能,已...
  • STM32 电机教程 12 - BLDC 闭环电流控制

    千次阅读 2019-11-10 19:17:00
    无刷直流 (Brushless Direct Current, BLDC)电机是一种正快速普及的电机类型,它可在家用电器、汽车、航空航天、消费品、医疗、工业自动化设备和仪器等行业中使用。正如名称指出的那样,BLDC 电机不用电刷来换向...
  • 你可能知道,电机控制应用已经使用MCU...今天,单片机用于几乎所有的电机控制应用的想象;和在所附的电源模块,采用新的控制算法和功率因数校正,电机效率明显提高。 随着对电机相关能源的估计占全球能源使用率的20%...
  • TI例程.zip

    2020-07-27 23:32:01
    TI官网http://www.ti.com/product/TMS320F2812/toolssoftware 提供了电机控制相关的例程,但现在发现比原来少了很多,现在给出我下载的部分程序,包括PMSM的。
  • 最近做完了一个直流无刷电机电机调速项目,查阅了各种大神所写的博客和论文,在这里我只做一下小小的总结; FOC(Filed Oriented Control)是采用数学方法实现三相马达的力矩与励磁的解耦控制。 主要是对电机的...
  • 电机测速

    千次阅读 2020-01-31 03:13:17
    提问:那么,对于动力过剩的B车,是否可以通过测量反电动势的方法,不用编码器获得电机的转速呢? 提问:卓大大,三轮车可以用编码器测速吗?还是只能用光电编码盘?? 提问:亲爱的卓大大,给你问声好,这个新车模的...
1 2 3
收藏数 53
精华内容 21
关键字:

单片机pmsm电机