力矩电机控制系统
一、 设计目的及任务
力矩电机分直流力矩电机和交流力矩电机,其工作原理和普通直流和交流电机的工作原理是一样的。但是不同的是直流力矩电机的电枢绕组的电阻比普通直流电机的电枢绕组的电阻大,同样交流力矩电机转子的电阻比普通交流电机的转子电阻大。对于力矩电机我们注重它的技术参数主要是额定堵转电压,额定堵转电流和额定堵转电流下的堵转时间。
力矩电机的特点是具有软的机械特性,可以堵转。当负载转矩增大时能自动降低转速,同时加大输出转矩。当负载转矩为一定值时改变电机端电压便可调速,但转速的调整率不好。因而在电机轴上加一测速装置,配上控制器,利用测速装置输出的电压和控制器给定的电压相比,来自动调节电机的端电压,使电机稳定。
设计任务就是要设计一个控制系统来控制力矩电机,使其产生满足要求的力矩。
1、 能产生所要求的力矩,可用于一些地面模拟设备上,用来模拟设备运行时的干扰力矩;
2、 可用于控制系统设计课程实验设备或是控制算法的验证。
二、 设计要求
本系统为力矩电机的控制系统,设计要求如下: 1、可以产生三种固定的力矩波形;
2、可以根据要求任意设定力矩波形,这样可以大大增加系统的灵活性; 3、可以实现单片机和PC的相互传输; 4、控制精度高,响应快; 5、力求简单,实用。
三、 设计方案
系统的装置由光电码盘,稀土永磁直流力矩电机和飞轮组成。
在控制器的设计上,为了做到简单、实用,选择了常用的PID控制;为了提高系统的控制精度,从软件上对系统进行误差补偿。 1、系统工作原理
通过控制向力矩电机施加的电流,向飞轮施加力矩,使飞轮加速后减速旋转,反作用力矩通过模拟器机械装置的底座同时施加到连接的转台上,达到向状态施加力矩的作用,全部过程再闭环控制下进行。系统总体框图如图1所示:
控制计算机 功率放大 飞轮机械装置 码盘 图1. 系统总体框图
2、 控制系统描述
电机转动的角度经光电码盘检测转化为脉冲输出,对脉冲信号进行计算就得到角度转动的累计值,控制计算机将指令与光电码盘输出的角度信号相比较,得到误差信号,计算机将误差信号按照控制算法后,经D/A输出并经功率放大后转换
1
少年易学老难成,一寸光阴不可轻 -
成驱动电流施加到力矩电机上,电机按输入信号要求驱动负载转动。
系统机械装置单台质量在5.2Kg以内,地盘直径为150mm,系统转子的转动惯量J=0.0078kg·m2,所以在0.02N·m力矩作用0.5秒时,系统可以从0º/s达到73.2º/s,这是一个不太高的转速,从使用角度分析,这样比较有利、系统驱动采用稀土力矩电机,其技术指标为:在加入电机1.78A电流时,电机输出0.28N·m的力矩,最大可加入5.3A的电流,此时电机将输出0.84N·m的力矩。角度测量采用高精度光电编码器,分辨率为2000脉冲/周,经四倍频后可达到8000脉冲/周。 3、机械系统描述
机械系统为可拆装结构,为了时结构讲古可靠,对连接、定位部分进行了强化,系统支撑轴承采用高精度级别的轴承,从而减小系统的质量。在机构上选用两端出轴的的电机,一段直接接负载飞轮,另一端通过联轴器接光电码盘,电机在机械装置的中部, 4、系统功能和操作
系统可以产生三种固定的力矩波形;也可以根据要求任意设定力矩波形,这样可以大大增加系统的灵活性;同时可以实现单片机和PC的相互传输;
上电后系统进入零位模式,电机始终保持零位,直到接收到上位机的控制指令为止。用串口发送1~3之间的数,命令电机做不同的运动,使其加速得到力矩。
四、 硬件设计
系统选用AD公司的AduC841作为控制处理器;选用EPM7218作为逻辑控制器;码盘选用欧姆龙公司的光电码盘来采集电机实际转动的位置信息作为系统的反馈传感器。
1、 ADuC841芯片
ADuC841芯片是ADI公司生产的MCS-51系列单片机的兼容芯片,其功能框图如图2所示,它在保持 MCS51系列单片机优良的性价比的同时,还具有如下主要资源及功能:
·单指令周期20MIPS8052内核;
·6通道12位高速420kSps模拟/数字转换器; ·2个12位电压输出DAC;
·62KB片内闪速/电檫除程序存储器; ·4KBy片内Flash/EE数据存储空间; ·2304B片内RAM数据存储空间; ·精确的2.5V参考电压; ·时间间隔计数器;
·USART串行接口I/O;
·看门狗定时器,电源监视器。
ADuC841可用于精密仪器和传感器控制、瞬间捕获系统、以及DAS和通信系统等。它自身集成了高性能的多通道的ADC,双通道的DAC,和一个20MHz、8位的8052内核。ADuC841的时钟直接由外部的晶振倍频到20MHz。
特殊功能寄存器(SFRS)
这部分空间被映射到内部数据存储器的的高128位,只能直接访问它们。它们为CPU和片上外围设备提供一个界面。除了程序计数器PC和4个通用寄存器块外,所有的都在SFR区域。特殊功能寄存器包含了CPU和片上外围设备的控制、配置和数据寄存器。PCON:它包含电源优化和通用状态标志位。
2
少年易学老难成,一寸光阴不可轻 -
图2. ADuC841功能框图
2、 光电码盘信号处理逻辑芯片EPM7128 由于选用的是增量编码器,所以需要对编码器输出的脉冲进行计数,采用CPLD芯片,并开发了相应的逻辑程序。
CPLD(Complex Programmable Logic Device)即为复杂可编程逻辑器件,是从EPLD改进而来的,采用EEPROM工艺制作,对逻辑宏单元和I/O单元也有重大的改进,它的性能更好,实用更方便。从结构上看,CPLD大都包含了三种结构:宏单元、可编程I/O单元和可编程内部连线。宏单元是CPLD器件的基本单元,宏单元内部主要包括“与或”阵列、触发器和多路选择其等电路,能独立地配置为组合或者时序工作方式。 3、硬件电路结构设计
系统采用ADuC841作为主控芯片,来完成所有的运算和控制过程,采用欧姆龙公司生产的光电码盘来采集电机实际转动的位置信息,然后根据系统要求运行的轨迹,生成控制器的指令曲线,将位置信息和指令信息作差,得到系统的偏差,利用PID控制的策略,设计而行控制器,依据偏差的大小来调节系统的控制量,对于输出的控制量在输出前加入饱和限制,当偏差超过一定的范围时,强制的将偏差拉为给定值,将控制量送入DAC,生成模拟量形式的控制量,进而送入模拟电路,控制对应的电机进行工作,电机依据给定的指令,按照对应的运动曲线进行运转,由于DAC的输出的时0~5V的电压,为了使电机能够实现正反向的转动,我们将DAC的输出控制量和一个2.5V的基准源送到一个加法电路中进行计算,使得输出的控制量是-2.5~2.5V的一个电压值,从而实现了电机的正反转的控制。
3
少年易学老难成,一寸光阴不可轻 -
系统的硬件框图如图3所示。
控制信号 CPLD7128 码盘采样值 P0 DAC0 DAC1 ADuC841 2304BRAM PC机 电机驱动电路 电机 运行状态选择模块 64KB FLASH 晶振 串行口 图3. 系统硬件框图
4、 功放系统
功放部分主要用于接受D/A给出的脉冲指令信号,通过低通滤波后转变为模拟信号,该信号经过功率放大后用于驱动电机转动,D/A给出的脉冲指令信号经过一次电压跟随和一次低通滤波转换为模拟信号,通过实验观察,滤波后信号的纹波较小,完全能够满足对电机转动稳定性的要求,低通滤波的带宽的要求而设计为300rad/s。
滤波后的信号经过一次电压跟随以增强带负载能力,该信号作为控制系统的输入信号控制电机的转动,由于D/A给出的信号为单极性输出,而为了电机能过获得正反两个方向的转动,要求将系统的参考基准设为2.5V,当控制信号低于2.5V时电机反转,高于2.5V时电机正转。
电机驱动电路的工作原理:单片机给出的D/A信号,经过低通滤波电路,i放大及功率输出之后驱动电机。
如图4所示,该部分的功能是由DAC0给出控制信号,经有源滤波后电压取反;DAC1给出一个偏置电压,其中DAC1时单片机给出的2.5V电压信号,2.5 V接一电压跟随电路后,输出和控制信号信号的输出再经过一个反向求和电路,得到电机的真实控制信号即控制器输出信号和基准做差,当控制器输出大于2.5V时电机正转,小于2.5V时电机反转;然后给到功放输出来驱动电机。此处用达林顿管BD681和BD682是为了增加输出的驱动能力。 系统上电延时部分电路设计
系统上后,单片机自身有延时,由此导致的结果时数字电路的相应滞后与模拟电路部分,结果上电后电机有一个冲击转动,为了消除这个冲击,设计时加入一个延时电路。此电路由一个时间继电器和三个普通几点器组成,时间继电器控制三个普通继电器。不通电时普通几点的长闭节点闭合,使电机处于短路状态。当5V和12V供电都正常之后,时间继电器延时10秒(该时间可调),普通继电器常闭节点打开,使转台投入工作,与此同时时间继电器给单片机一个信号,到哪偏激接到此信号后,控制系统开始工作,此后整个系统处于受控工作状态。 驱动电路的设计是为了满足正反旋转的要求而设计成互补功率输出形式,按照力矩指标要求及电机参数,系统中采用的达林顿管的最大输出电流为1A,为了防止达林顿管功耗过大而导致放热,设计时采用散热片为其散热,当达林顿管持续流过电流小于0.4A时温度升高的很小,完全可以满足系统再最大力矩输出时的要
4
J6.1
123J3C10U6DAC0R15Q1+12VU7DAC1-12VR12R13J6.2C9R17R14R18+5VSW2R21K1K1KR41234oe87R365123LP353-12V+12VD1IN A+IN A-IN B-IN B+D2OUT AOUT BVCCVEE32651784R16R9R10+5VDGNDR11LP353IN A+IN A-IN B-IN B+OUT AOUT BVCCVEER19+12VU1321sel21sel2032651784R1INT1OUTDGNDQ2R20J5-12VC21NCGNDOUTU53R81KVCC2BLACK+5VR62KU2JZC333pF33pFU4+5V4EPM7128DGND+5V12345678910111213141516171819202122232425262728P1.1P1.2P1.3AVDDAVDDAGNDAGNDAGNDCREFVREFDAC0DAC1P1.4/ADC4P1.5/ADC5P1.6/ADC6P1.7/ADC7RESETP3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1DVDDDGNDP3.4P3.5P3.6/WRP3.6/RDSCLOCKoeADuC841R72KWHITEP1.0P0.7P0.6P0.5P0.4DVDDDGNDP0.3P0.2P0.1P0.0ALEPSENEAP2.7P2.6P2.5P2.4DGNDDGNDDVDDXTAL2XTAL1P2.3P2.2P2.1P2.0SDATA565554535251504948474645444342414039383736353433323130291234567A1VCCY1A6A2Y6Y2A5A3Y5Y3A4GNDY474LS04+5V141312111098OUT0OUT1OUT2OUT3OUT4OUT5OUT6OUT715C4GND0.12MAX202U3C5V+V-60.178T2OUTR2INR2OUTT2IN910+5VDGNDT1OUT14R1IN13T1OUTR1INR1OUTT1IN12RXD11TXD5C6C2-C1-3C70.1求,带宽指标为500kHz,完全可以满足系统要求。
少年易学老难成,一寸光阴不可轻 -
图4. 电路原理图
J1.1+12VAGND-12V21+5VDGND21BLACKWHITE+5VR4R2R210KTDI10KTDO10KTMSJ4321+C17105105105105C18C19C20C1647uF+12V-12VC22104104104104104104105C23C24C25C26C27C28C29105C3010516Vcc4C2+C1+10.1C80.1+5VJ2.1J2.2J1.2TDIDGND54321TMSTDOTCK54321+5VDGND+12V+5VC11+C15105C1247uF10528384148495051P2.752P2.654sel2055sel21568910111215164182021222425275293031TDI14TDO71TMS23I/OE2/GCLK2IN/GCLK1IN/OE1INPUT/GLCRIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOTDITDOTMSTCKIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIO6217284557586061636465676869707374757677798081333435363739404144646-12VC13++5VC21105C1447uF104215
LEDR5+5V1KOUT1OUT2OUT3+5V+5VDGNDDGNDSW1R1C1103100KOUT4OUT5OUT6OUT7少年易学老难成,一寸光阴不可轻 -
五、 软件设计
1、光电码盘信号处理逻辑
逻辑运算的主要功能是对光电编码器脉冲信号四倍频,并对四倍频后的脉冲进行加减计数,提高对电机转角的精确检测。由于采用增量式光电码盘,A、B两路脉冲信号输出香味相差90度,若A相 超前B相90度为正转,否则则认为B相超前A相90度电机为反转。电机正转时进行加计数,反转时减计数,当单片机发出输出使能信号时,把计数值锁存到一个寄存器,并输出计数值。程序流程图如图5所示。
开始 反向 判断电机转向 正向 加计数 无 减计数 是否有输出使能信号 有 锁存并输出计数值 返回 图5. 四倍频计数程序流程图
程序设计实用状态检测的方法,将正转和反转分别分为4种状态的循环,当两个时刻的状态满足正转循环的情况时,判断电机为正转,将计数器加一;反之亦然。
2、 主程序工作过程
系统要求能产生规定的典型的3种力矩波形。分别定义为状态0、状态1、状态2。控制系统主程序流程图6如图所示,系统的工作过程为,上电后首先进行系统的初始化,包括设置堆栈首地址,上电后将DAC输出的2.5V电压,来平衡硬件电路中2.5V的偏置电压,从而使电机在上电时(控制率未投入以前)保持静止状态;初始化定时器的控制字及定时时长:另外初始化中断设置,打开系统中断和定时器中断。在这里我们采用3.3ms的采样时间。
由于单片机在上电之后的一段时间之内,需要对系统内部的一些设置进行初始化,这样单片机将处于失控状态,而在这段时间内,模拟电路中的2.5V已经投入运行,在这种情况下2.5V的电压将加在了电机电枢的两端,从而使电机进行转动,而这种转动是我们所不希望见到的。因此,在这里我们采用了时间继电器来消除单片机的失控时间,采用肠壁继电器,使得在上电后电机电枢两端处于短接状态,延时10s后,等单片机系统的初始化过程结束后,将常闭节点打开,电机处于正常的运行状态,进而消除了失控时间的问题。延时10s后,单片机系统等待上位机发送命令指令,当上位机发送0x30到下位机时,电机投入运行状态0;当上位机发送0x31到下位机时,电机投入运行状态1;当上位机发送0x32到下位机时,电机
6
少年易学老难成,一寸光阴不可轻 -
投入运行状态2。下位机接收到上位机的命令指令以后,则出发定时器0开始即使,定时器溢出后,则系统进入定时器中断子程序,进行相应的控制和操作,下位机向上位机上传电机误差的初始值,然后在进入死循环时,每隔0.1s将电机的误差值上传到上位机进行运算和处理。
控制主程序 系统初始化(堆栈、DAC、定时器、中断、控制参量初始化) 延时控制,时间继电器延时10s,否 定时器中断子程序 中断系统中参数定义,定时器定时初始化 延时控制,时间继电器延时10s,消除单片机初始化失控时间 读取光电码盘32位计数值f 生成电机控制指令u 延时时间到? 是 上下微机通信,接受上位机控制指令,选择不同的控制策略 启动定时器0 计算偏差e=u-f 定时器中断子程序 系统等待定时器溢出,进入死循环,循环中将误差上传到PC机 结束 图6. 控制主程序流程图
针对e加入控制算法,生成控制信号 按照控制要求输出控制量 中断返回
图7. 定时器中断子程序
3、定时器中断子程序工作过程
定时器中断子程序流程图如下图7所示,其工作过程如下,首先定义一些在中断子程序中使用到的变量,另外还要进行一些定时器的初始化处理。紧接着发出控制指令,控制光电码盘对电机的当前位置信息进行采集,获得32位的关于电机位置的计数值f。按照指标要求,给出电机运转的指令曲线u,将u和f相减得系统的偏差e(e=u-f),根据e的大小,将设计好的二型PID控制器投入,经过运算后得到系统的控制参数,为了防止系统溢出,加入先付指令,然后根据上位机下达的控制指令,将不同的电机控制参数以不同的方式投入运转,从而实现不同的控制。
六、 控制系统设计
控制器设计步骤: ·建立力矩电机模型
·画出对象的波特图,根据控制精度要求设计增益
7
少年易学老难成,一寸光阴不可轻 -
·根据动态指标设计带宽,确定剪切频率ωc
系统采用稀土力矩电机,其技术指标为:在加入电机1.78A电流时,电机输出0.28N·m的力矩;最大空载转速为1500r/min(50πrad/s)。由于系统的负载和所加电压的因素,实际转速最大为6πrad/s,很有可能因为力矩加载过长而使电机饱和。系统控制框图如下图8所示。
控制器 电机模型 · 指令信号 图8. 控制框图
8
因篇幅问题不能全部显示,请点此查看更多更全内容