做好电机驱动,这三大方面一定得懂 前言 我国每年电机耗电量占据全国耗电量的60%,而且逐年在增多,由于国家“智能制造2025”战略及电动汽车的高速发展,有越来越多的人才投入到电机开发、电机驱动开发及自动化系统开发中。本着共同学习的态度,想对刚刚踏入这个行业的工程师说,想做好电机驱动,以下这三大方面您一定得懂。 一、电机的工作原理 做好电机驱动,电机的工作原理可以不用深入研究但基本的工作原理还是要懂的,电机的形式很多,但其工作原理都基于电磁感应定律和电磁力定律。因此,其构造的一般原则是:用适当的导磁和导电材料构成互相进行电磁感应的磁路和电路,以产生电磁功率,达到能量转换的目的。下面简单介绍几种常用电机的工作原理。 1、交流电动机 交流电动机还分为单相交流电动机和三相交流电动机。 单相异步电动机由于只需要单相交流电,故使用方便、应用广泛,并且有结构简单、成本低廉、噪声小、对无线电系统干扰小等优点,所以普通家用电器早期均选用单相交流异步电动机。交流异步电动机的启停控制多采用继电器和可控硅,调速采用电抗器或利用改变晶闸管的导通角进行调速,控制相对简单。 三相交流异步电动机根据转子结构分鼠笼型感应电动机(旧标准称为鼠笼型异步电动机)和绕线转子感应电动机(旧标准称为绕线型异步电动机),三相异步电动机的驱动可选用变频器来驱动和调速,采用调压调频控制相对简单,难一点的要做矢量控制,控制器相对有点复杂。根据以下两个动图了解下交流异步电动机的原理。
交流异步电动机的原理
交流异步电动机的原理 2、直流电动机 直流电动机按结构及工作原理可分为无刷直流电动机和有刷直流电动机。 有刷直流电动机可分为永磁直流电动机和电磁直流电动机。电磁直流电动机又分为串励直流电动机、并励直流电动机、他励直流电动机和复励直流电动机。永磁直流电动机又分为稀土永磁直流电动机、铁氧体永磁直流电动机和铝镍钴永磁直流电动机。不管结构如何有刷电机只有两根引出线,接入电源电机即可转动,交换电源方向电机转动方向随着改变。
有刷电机工作原理 如果有兴趣学习一下永磁直流电机技术可以参考这本书《永磁直流电机实用技术及应用技术》,内容比较贴近工程实际。
永磁直流电机实用技术及应用技术 无刷直流电动机无刷直流电机由电动机主体和驱动器组成,是一种典型的机电一体化产品。无刷电机是指无电刷和换向器(或集电环)的电机, 电动机的定子绕组多做成三相对称星形接法,同三相异步电动机十分相似。电动机的转子上粘有已充磁的永磁体 ,为了检测电动机转子的极性,在电动机内装有位置传感器。驱动器由功率电子器件和集成电路等构成,其功能是:接受电动机的启动、停止、制动信号,以控制电动机的启动、停止和制动;接受位置传感器信号和正反转信号,用来控制逆变桥各功率管的通断,产生连续转矩;接受速度指令和速度反馈信号,用来控制和调整转速。
无刷直流电动机 谭建成老师的《永磁无刷直流电机技术》内容比较好,推荐电机电控的都可以学习一下。
永磁无刷直流电机技术 3、永磁同步电动机 永磁同步电动机的结构和无刷直流电动机的结构和原理类似,根据安装永磁体的方式不同,永磁同步电机反电动势为正弦波,无刷直流电机则为方波,因此永磁同步电机的运行转矩更加平稳。控制上永磁同步电机相对无刷直流电机也要难度大些。
转子结构
工作原理 4、步进电机 步进电机是将电脉冲信号转变为角位移或线位移的开环控制步进电机件。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。如图为步进电机的电气接口图。按照所接到的脉冲数按照固定的节拍给步进电机供驱动电源。例:两相四拍:(+A)(+B)–(-A)(+B)–(-A)(-B)–(+A)(-B)–
步进电机 5、伺服系统 伺服系统是使物体的位置、方位、状态等输出被控量能够跟随输入目标(或给定值)的任意变化的自动控制系统。伺服主要靠脉冲来定位,基本上可以这样理解,伺服电机接收到1个脉冲,就会旋转1个脉冲对应的角度,从而实现位移,因为,伺服电机本身具备发出脉冲的功能,所以伺服电机每旋转一个角度,都会发出对应数量的脉冲,这样,和伺服电机接受的脉冲形成了呼应,或者叫闭环,如此一来,系统就会知道发了多少脉冲给伺服电机,同时又收了多少脉冲回来,这样,就能够很精确的控制电机的转动,从而实现精确的定位。 伺服电机分为直流伺服电机和交流伺服电机。 直流伺服电机分为有刷和无刷电机。 交流伺服电机也是无刷电机,分为同步和异步电机。 简单理解:伺服电机就是在上述几种电机上增加了编码器,而驱动系统则要增加位置闭环。 步进电机也属于伺服电机,属于开环伺服电机。
伺服电机 实际工作中远远不止这几类电机,而且从结构上电机又会有更详细的划分。在电机这部分本文就介绍这几种电动机,在实际设计中根据需要再系统的学习,电机的基本工作原理一定得掌握。 二、硬件设计 做电机驱动,硬件设计是最基础的能力,而且是最必要有的能力,而且要熟练掌握,电机驱动硬件设计几个小点的学习是非常必要的。 1、图纸绘制 硬件工程师最基础的就是电路原理图和PCB板的绘制。建立原理图、PCB、原理图库、封装库、3D模型及规则设置等,这些都得需要熟练掌握。绘图软件种类很多,小编最开始用的是protel 99se,后面改用Altium Designer 6.9,现在一直用Altium Designer 10.0,做电机驱动设计这些绘图软件足够用了,网上教学视频很多,自行学习。
protel99se
ad6.9
AD10.0 2、电源系统 电源系统的设计不但电机驱动中是相当重要一部分,在其他系统中同样很重要。供电系统的不同,电源系统的设计也不同,跟着小编由易到难一起学习一下:最简单的应该是线性稳压器,常用的7815,7812,7805等,电路简单,输入端最好串接分压电阻,记得计算分压电阻的功率,另外该系列稳压器的压降较大,输入端要保证足够高的输入电压。
7805 3.3V或更低电压会选用AMS1117系列芯片。
选用LM317也是不错的选择。
LM317 其次是BUCK电路,BOOST电路,BUCK电路是降压型,BOOST是升压型,根据不同的供电系统进行合理选择。BUCK电路,BOOST电路相对线性稳压器的优点是其损耗小,电源基本不会像线性稳压器那样发热。
BUCK BUCK电路的基本原理靠开关管Q进行脉宽输出通过LC滤波得到合适的电压。
BOOST BUCK电路的基本原理靠开关管Q导通时电感Lf储能,断开时通过二极管D供给系统。给大家贴一个小编用过的一个BUCK电路,BUCK电路芯片比较多,根据需要选择合适的芯片。
buck 以上两种均是非隔离电源,下面我们来学习一下隔离电源。隔离电源通常在系统中有高压电源时会应用到,为了不干扰低压系统选择隔离电源。隔离电源可以多路输出,通常选择电源品质要求较高一路电源作为反馈,在不同负载时其他路电源会存在一定的电压变化。工业上常用的一个芯片UC3843,根据需要可选择UC3842、UC3843、UC3844、UC3845,不同点在于输入电压值和输出占空比的最大值。基本电路如图
TI公司lm3481也是一款不错的芯片,电压输入范围可以达到4倍以上,TI公司有DEMO,文件编号snvu528,可网上下载学习。
推荐两个电源设计器:一个是TI的WEBENCH,TI官网在线设计
另一个是PI的PI Expert Suite
3、变压器的设计 隔离电源会用到变压器的设计,变压器做的较少,怕对大家进行误导,这里不做过多讲解,设计时注意绕线方向,在这给大家推荐一本书籍《变压器与电感器设计手册》,内容非常非常好。
4、模拟电路 模拟电路是电子学中的基础,不过相对数字电路来说有点难,很多人更愿意学数字电路,电机驱动设计中模电用的内容不是很多,主要是运算放大器的应用和比较器的应用,运算放大器的应用虽说有点难度,但还是要深入的学习一下,在系统功能扩展时还是会用的上的。 5、数字电路 数字电路主要是一个门电路、触发器、逻辑电平转换,有点基础都能应用的得心应手。设计时注意一下逻辑芯片的输入输出电平,不同芯片的有效电平存在着一定差异的。TTL电平标准 输出 L: <0.8V ; H:>2.4V 输入 L: <1.2V ; H:>2.0V TTL电平的输入低电平的噪声容限就只有(0.8-0)/2=0.4V,高电平的噪声容限为(5-2.4)/2=1.3V。 CMOS电平标准 输出 L: <0.1*Vcc ; H:>0.9*Vcc。 输入 L: <0.3*Vcc ; H:>0.7*Vcc. 由于CMOS电源采用12V,则输入低于3.6V为低电平,噪声容限为1.8V,高于3.5V为高电平,噪声容限高为1.8V。比TTL有更高的噪声容限。 6、光电耦合器 光耦主要用在具有电源隔离的系统中,通常在具有高电压的系统中会用到,在抗干扰要求较高的场合信号输入端也会采用光耦进行隔离,设计时需注意光耦的速度、发射端电流和输出端是否上拉。
此外还需介绍一种线性HCPL-7800A,可以用来进行电流的隔离采样。
7、主控芯片的选择 主控芯片根据系统要求可灵活的选择,可根据以下几方面进行选型:供电电压、是否需具备AD转换口,芯片的存储容量,通讯接口及外设接口,都满足后还需要根据产品的成本进行选型。 8、接口 每个系统的工作内容不同需要的外设及通讯接口也不同,下面介绍一些常用的外设及通讯接口。 RS232: 现在的单片机基本上都具有串口通讯,同时很多外设也通过串口与单片机交流,RS232逻辑1的电平为-3~-15V,逻辑0的电平为+3~+15V,注意电平的定义反相了一次。串口逻辑转换芯片MAX232,3.3V芯片选择MAX3232。
RS485: RS485属差分传输方式,传递距离较RS232要长很多。 发送端AB间的电压差 +2V – +6V H ;-2V – -6V L; 接收端AB间的电压差 大于 +200mV H ; 小于 -200mV L RS485转换芯片可选择MAX485。
CAN总线: CAN是控制器局域网络,最早应用在汽车上,现在CAN总线已有很广泛的应用。CAN总线网络主要挂在CAN_H和CAN_L,各个节点通过这两条线实现信号的串行差分传输,为了避免信号的反射和干扰,还需要在CAN_H和CAN_L之间接上120欧姆的终端电阻。
SPI是串行外设接口: SPI属于同步串行外设接口,SPI接口主要应用在 EEPROM,FLASH,实时时钟,AD转换器,还有数字信号处理器和数字信号解码器之间。 SPI主从模式硬件连接如下图
SPI的通信原理很简单,它以主从方式工作,这种模式通常有一个主设备和一个或多个从设备,需要至少4根线,事实上3根也可以(单向传输时)。也是所有基于SPI的设备共有的,它们是SDI(数据输入),SDO(数据输出),SCK(时钟),CS(片选)。 SDO–主设备数据输出,从设备数据输入 对应MOSI SDI–主设备数据输入,从设备数据输出 对应MISO SCLK – 时钟信号,由主设备产生 CS – 从设备使能信号,由主设备控制 CS: 其中CS是控制芯片是否被选中的,也就是说只有片选信号为预先规定的使能信号时(高电位或低电位),对此芯片的操作才有效,这就允许在同一总线上连接多个SPI设备成为可能。 IIC总线: IIC 总线在物理连接上非常简单,分别由SDA(串行数据线)和SCL(串行时钟线)及上拉电阻组成。通信原理是通过对SCL和SDA线高低电平时序的控制,来产生I2C总线协议所需要的信号进行数据的传递。在总线空闲状态时,这两根线一般被上面所接的上拉电阻拉高,保持着高电平。 起始和结束信号产生条件:总线在空闲状态时,SCL和SDA都保持着高电平,当SCL为高电平而SDA由高到低的跳变,表示产生一个起始条件;当SCL为高而SDA由低到高的跳变,表示产生一个停止条件。
9、电源滤波 在系统可靠性要求较高及具有EMC要求的场景电源滤波器是必不可少的。电源滤波器主要有差模滤波和共模滤波组成。
图中L1、L2、C3、C4、C6、C7构成共模滤波,C1、C2、C5属于差模滤波。差模滤波电容比较大,主要滤低频干扰,共模电容比较小,滤高频干扰。 三、软件设计 软件设计是整个电机驱动系统的最核心的内容,控制思想及算法都需要软件去执行,因此软件设计至关重要。 1、C语言 C语言可以说是电机驱动软件设计最基础的知识,很多单片机都可以采用C语言进行编程,所以C语言的学习是重中之重。大学时学习单片机的采用的是汇编编程,工作后基本上都不用了,虽然汇编的执行效率较高而且对单片机运行的理解也更为深刻,但学习资料太少了,大家还是用C吧。谭浩强老师的《C程序设计》是一本非常好的书,每个搞C语言编程的旁边估计都会有一本。 2、设计流程图 编程序一定要养好习惯,流程图在编写之前一定要画好,对后面程序编写时有很大帮助,特别是稍微大一点的驱动程序,软件的架构就显得非常重要了,因此流程图的绘制一定要掌握。 3、中断系统 中断的概念在这里就不讲了,搞过单片机的应该都懂,电机驱动系统中会需要几个重要的中断,快速响应的信号最好放在中断里面做,位置信号、编码器信号、启停信号、过流保护信号等。AD采样最好也放在中断中,利用一个固定时钟触发AD采样。在编写中断程序时,进入中断后首先清中断标志位再进行其他操作,并且中断程序要尽可能的少占时钟周期。中断系统在电机驱动系统中应用较多,学习各类单片机时中断得多费点功夫。 4、PID控制 PID用于闭环控制,在电机驱动系统中是关键,电机驱动系统由内到外分别是电流环、速度环和位置环。由外到内逐步得到PID控制的目标值。给大家搬运点PID讲解内容。
位置式编程 typedef struct { float Kp; //比例系数Proportional float Ki; //积分系数Integral float Kd; //微分系数Derivative float Ek; //当前误差 float Ek1; //前一次误差e(k-1) float Ek2; //再前一次误差 e(k-2) float LocSum; //累计积分位置 }PID_LocTypeDef; float PID_Loc(float SetValue, floatActualValue, PID_LocTypeDef *PID) { float PIDLoc; //位置 PID->Ek = SetValue – ActualValue; PID->LocSum += PID->Ek; //累计误差 PIDLoc = PID->Kp * PID->Ek +(PID->Ki * PID->LocSum) + PID->Kd * (PID->Ek1 – PID->Ek); PID->Ek1 = PID->Ek; returnPIDLoc; } 增量式PID typedef struct { float Kp; //比例系数Proportional float Ki; //积分系数Integral float Kd; //微分系数Derivative float Ek; //当前误差 float Ek1; //前一次误差e(k-1) float Ek2; //再前一次误差 e(k-2) }PID_IncTypeDef; float PID_Inc(float SetValue, floatActualValue, PID_IncTypeDef *PID) { float PIDInc; //增量 PID->Ek = SetValue – ActualValue; PIDInc = (PID->Kp * PID->Ek) -(PID->Ki * PID->Ek1) + (PID->Kd * PID->Ek2); PID->Ek2 = PID->Ek1; PID->Ek1 = PID->Ek; returnPIDInc; } 5、开发环境 根据选择不同的主控芯片,芯片的开发环境也不同,每家芯片厂商基本都有自己的开发环境,也可使用像IAR这样的第三方开发环境。芯片的开发环境一定要熟练使用,软件这个东西就得是多用才能更熟悉,所以有空多练练有好处。 总结 以上介绍了做电机驱动需要掌握的三大方面:电机工作原理、硬件设计和软件设计,当然这只是电机驱动学习过程中掌握的一部分,在产品设计中根据需要都得要系统的学习,希望各位在自己的技术领域都有所突破。
2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/47269.html