电机控制
常见的几种电机:直流有刷电机,直流无刷电机,步进电机,伺服电机,舵机。
有刷电机的主要结构是定子,转子,点数,通过旋转磁场获得力矩,获得动能,电刷与换向器不断接触摩擦,在转动中起到导电和换向作用。
有刷电机采用机械换向,磁极不动,线圈旋转。电机工作时,线圈和换向器旋转,磁钢和碳刷不转,线圈电流方向的交替变化是随电机转动的换相器和电刷来完成的。
在有刷电机中,这个过程是将各组线圈的两个电源输入端,依次排成一个环,相互之间用绝缘材料分隔,组成一个圆柱体的东西,与电机轴连成一体,电源通过两个碳元素做成的小柱子(碳刷),在弹簧压力的作用下,从两个特定的固定位置,压在上面线圈电源输入环状圆柱上的两点,给一组线圈通电。
随着电机转动,不同时刻给不同线圈或同一个线圈的不同的两极通电,使得线圈产生磁场的N-S极与最靠近的永磁铁定子的N-S极有一个适合的角度差,磁场异性相吸、同性相斥,产生力量,推动电机转动。碳电极在线圈接线头上滑动,象刷子在物体表面刷,因此叫碳“刷”。
相互滑动,会摩擦碳刷,造成损耗,需要定期更换碳刷;碳刷与线圈接线头之间通断交替,会发生电火花,产生电磁破,干扰电子设备。
有刷电机结构简单,成本低,技术成熟,速度快,启动扭矩大,运行较为平稳,但是其缺点就是噪声大,速度受限。
无刷电机主要外转子和内转子类型,外转子由磁铁和外壳构成转子,线圈和铁芯构成定子;内转子定子放在外部,转子放在内部.外转子式的无刷电机在相同体积的情况下扭矩会大于内转子式的无刷电机,外转子式的无刷电机主要用在机器人关节,云台电机等对扭矩需求较大的地方,而内转子的无刷电机转速相较外转子的无刷电机转速更快,主要用于对转速要求较大的地方,比如航模螺旋桨。
无刷电机中,换相的工作交由控制器中的控制电路(一般为霍尔传感器+控制器,更先进的技术是磁编码器)来完成。
无刷电机的干扰和噪音相较于有刷电机更低,运转更加顺畅,更高速,电机使用寿命长,低维护成本。
无刷电机采取电子换向,线圈不动,磁极旋转。无刷电机,是使用一套电子设备,通过霍尔元件,感知永磁体磁极的位置,根据这种感知,使用电子线路,适时切换线圈中电流的方向,保证产生正确方向的磁力,来驱动电机。消除了有刷电机的缺点。
这些电路,就是电机控制器。无刷电机的控制器,还可以实现一些有刷电机不能实现的功能,比如调整电源切换角,制动电机,使电机反转,锁住电机,利用刹车信号,停止给电机供电。现在电瓶车的电子报警锁,就充分利用了这些功能。
无刷直流电机由电动机主体和驱动器组成,是一种典型的机电一体化产品。由于无刷直流电动机是以自控式运行的,所以不会象变频调速下重载启动的同步电机那样在转子上另加启动绕组,也不会在负载突变时产生振荡和失步。
实际生活中,一般不会直接输出,一般需要带载输出,一般增加减速齿轮来提高扭矩和带负载能力。一般有刷电机是由两个接线就可以实现电机的运动,而无刷电机需要3根线分别输入PWM信号去控制电机转动
有刷直流电机和无刷直流电机驱动方式也各不相同
有刷电机常见的为st公司出品的L298N
其内部本质是H桥的驱动电路,其核心电路H桥加上一些必要的外围器件,就可以共通组成直流有刷电机的驱动器,当Q1接5v,Q4接GND,Q2和Q3关断就可以实现电机的正向导通。当Q2和Q3导通,Q1和Q4关断就可以实现电机的反转
市面上常见的5V减速直流电机驱动模块为L293DDM,基于数据手册可以设计出一个两节锂电池(7.4V电压)输入的直流电机控制板
可以使用stm32的两路IO和两路定时器输入相应信号,既可以实现电机的转动方向,又可以实现电机的转速,配合麦克纳姆轮就可以实现电机的转向
其为在嘉立创设计的电机控制部分接线图
其为在嘉立创设计的整个电机控制板,其中主控为stm32f103RCT6,加入了蓝牙部分,IIC OLED显示部分,stlink下载,单节锂电池DC-DC供电(以及自动切换typec供电,自动过充保护),电机供电开关,舵机控制,蜂鸣器,指示灯,红外遥控器控制,循迹接收等部分。
PCB布线
3D模型图
左路四个接线端子从下到上依次为锂电池为开发板供电,双路电机输出,单路电机输入,程序烧录可以选择stlink和isp烧录,蓝牙和红外接收器可以远程控制电机转动。OLED可以实时监测小车当前状态。开关可以选择是否通过typec给锂电池充电,右侧底部四个指示灯可以显示当前锂电池的电量,左侧led也可以用于状态监测。
无刷电机驱动
无刷电机也是使用H桥电路进行驱动,只不过电机的每一相都使用一个半桥电路进行驱动,一个三项无刷电机总共需要三个半桥,而不需要像直流有刷电机一样使用全桥电路。
具备换向器的有刷直流电机,只要连接电源就可以旋转。但是,无刷直流电机若没有控制电路,就不会旋转。控制电路由以下电路构成:霍尔元件驱动电路 ,霍尔电压放大电路 ,三相逻辑电路 ,驱动电路。此前也有过采用分立元器件设计的时代,后来慢慢转变为使用专用IC。
目前市面上常见的驱动IC有ST公司的L6234和TI公司的DVR8313PWPR
DRV8313提供三个可独立控制的半H桥驱动器。虽然也可被用于驱动螺线管或其它负载,它主要用于驱动一个三相无刷直流电机。每个输出驱动器通道包含采用半H桥配置的N通道功率MOSFET。这个设计将每个驱动器的接地端子接至引脚,以在每个输出上执行电流感测。
DRV8313提供三个可独立控制的半H桥驱动器。虽然也可被用于驱动螺线管或其它负载,它主要用于驱动一个三相无刷直流电机。每个输出驱动器通道包含采用半H桥配置的N通道功率MOSFET。这个设计将每个驱动器的接地端子接至引脚,以在每个输出上执行电流感测。电流限制电路或其它功能可使用一个通用比较器。DRV8313在半H桥的每个通道上提供高达2.5A峰值电流或者1.75A均方根(RMS)输出电流(在24V和25°℃时具有适当的印刷电路板(PCB)散热)。此器件提供实现过流保护、短路保护、欠压闭锁和过温保护的内部关断功能。DRV8313采用28引脚散热薄型小外形尺寸(HTSSOP)PowerPAD封装。
查阅数据手册不难发现,两个无刷电机的驱动器均是 三路1/2 H桥驱动器IC
(左图和右图分别为L6234和DVR8313的电机内部结构框图)
无刷电机控制板原理图
无刷电机控制板PCB
我们的生活与电能息息相关,如果没有了电整个城市都将瘫痪,有研究表明,有
二分之一的电能是由电机消耗的。电机在家庭用电方面占用三分之二以上,有冰箱、
空调、洗衣机等;在工业与农业甚至军事上应用更加的广泛,同时目前国家也在大力
发展节能减排的政策,所以实现电机的高性能、高效率驱动已经是重中之重[1].
电机的调速系统由电机本体,开关管,控制器构成,尽管电机结构优化对电机的整体性能提升极其显著,但是一般更新迭代周期较长,所以硬件不够,软件来凑,可以使用更好的优化算法来实现。目前常见的控制算法为FOC(Field-Oriented-Control)即磁场定向控制,也叫做VC(vector control)矢量控制。BLDC(无刷直流电机)和PMSM(永磁同步电机)的主要控制方法就是FOC,FOC具有效率高,高动态相应范围,低噪声,转动丝滑平稳的优点。
FOC可以使用能量回收的方式提高转速的突变和转向,同时FOC使用三相正弦波进行控制(即为交流发电机的反向工作原理),噪音较小
将示波器设置为双边沿触发,直流触发耦合,触发方式为单次,将示波器表笔分别连接在电机两条输入线上,扭动无刷云台电机,可以观测到示波器上方出现类似正弦波的输出信号,其实发电机的原理就是如此,如果匀速扭动云台电机,三条线输出三条相位差相差120°的正弦曲线(三相电),所以,如果给电机三条线输入三条相位差为120°的正弦曲线就能使电机丝滑转动。
但是,在电子领域无法生成标准的正弦曲线,一般是通过 1.采用微处理器加专用信号发生器芯片(如:MAX038、AD9854等)。 2.基于FPGA的SOPC片上可编程嵌入式系统方式。在片FPGA芯片中嵌入一个软核处理器,再用VHDL硬件描述语言设计出 DDS和必需的外围电路,将其封装成IP核的形式,然后将其与软核处理器一起集中在FPGA芯片中,实现SOPC(system on programmable chip)片上可编程嵌入式系统。[2]来生成较为标准的正弦曲线,但是其开发方式和成本较高。
无刷直流电机的FOC控制原理
电机采用矢量控制,在三相静止坐标系下的电机运动模型较为复杂,所以需要使用坐标变换来简化电机模型,首先使clark用变换将三相静止坐标系变换成两相静止坐标系,然后再使用park变换将两相静止坐标系变换成两相运动坐标系,其中旋转坐标系与静止坐标系之间的夹角就是电机旋转的角度,而电机旋转的角度就方便得到(例如使用AS5600磁编码器读取角度信息)。
其中Ia,Ib,Ic为使用控制器和采样电阻采样得到的三相电流值,Ia,Ib,Ic经过Clark变换得到
Iα,Iβ,再把Iα,Iβ经过Park变换得到Iq,Id,计算Iq,Id和其设定值Iqref和Idref之间的误差,再将误差输入两个PID(使用PI)控制器,得到输出的电压Ud和Uq,再对Ud和Uq进行反park变换得到Uα,Uβ,用Uα,Uβ合成电压空间矢量,输入SVPWM模块进行电压的调制,输出三个半桥控制器的状态值(0和1分别表示导通和关断),然后再将1和1信号转换成相应的电压信号控制MOS开关的导通和关断来驱动电机的运动.
定子三相电压方程在静止坐标系下可以表示为
磁链在静止坐标系数学模型较为复杂,磁链的位置由转子位置确定。可以根据磁动势不变将坐标系使用clark变换变为两相静止坐标系
各个坐标系之间的关系
两相静止坐标系有效绕组匝数/自然坐标系有效绕组匝数=√2/√3
将自然坐标系磁动势变换到两相静止坐标系α和β中可以得到:
将式子写成矩阵的形式:
同时可以得到变换矩阵,逆变矩阵和电压方程:
其中p为微分算子,磁链方程为:
经过clark变换后坐标系相较于三相坐标系得到简化,但是其式子中依然保有转子随着时间变化的变量,仍然不便于计算和电机的精确控制,所以需要引入dq坐标系,dq坐标系是随着电机一起旋转的坐标系,转动的速度与转子的转动角速度相同,所以相对于转子来说,dq是静止的坐标系,id和iq是恒定的两个值
如左图所示,d轴和转子磁链的方向重合,又叫直轴,q轴与磁链方向垂直,又叫交轴。
Park变换就是将静止的α和β坐标系乘以旋转矩阵得到d和q坐标系
其中2*2矩阵即为旋转矩阵,其中电机的运行电流也相互正交,独立解耦(解耦是指使含有多个变量的数学方程变成能够用单个变量表示的方程组,即变量不再同时共同直接影响一个方程的结果,从而简化分析计算。通过适当的控制量的选取,坐标变换等手段将一个多变量系统化为多个独立的单变量系统的数学模型,即解除各个变量之间的耦合。最常见的有发电机控制,锅炉调节等系统。软件开发中的耦合偏向于两者或多者的彼此影响,解耦就是要解除这种影响,增强各自的独立存在能力,可以无限降低存在的耦合度,但不能根除,否则就失去了彼此的关联,失去了存在意义),控制电机变换变得简单。
[1] 文泽瑞.基于 FPGA 的无刷直流电机控制系统的研究[D]. 浙江大学,2018.
[2] 雷道仲.基于FPGA正弦信号发生器的设计和研究[D]. 湖南师范大学,2008
[3] 稚晖君.自制FOC驱动器.深入浅出讲解FOC算法与SVPWM技术.
[4] 丁一鸣.无刷直流电机高性能控制策略研究[D]. 西安电子科技大学,2021