基于8XC196MC波形发生器的步进电机控制
扫描二维码
随时随地手机看文章
MCS-96系列16位单片机特别适用于各类自动控制系统,如工业过程控制系统,伺服系统,分布式控制系统,变频调速电机控制系统等,还适用于一般的信号处理系统和高级智能仪器,以及高性能的计算机外部设备控制器和办公自动化设备控制器。这些系统通常要求实时处理,实时控制。由于8XCl96MC单片机完善而卓越的性能,它必将在智能仪表、家用电器、计算机终端设备、汽车电子、人工智能、机器人、机电一体化以及传统设备改造等广泛的应用领域中大显身手,充分发挥其优点,因此,它具有良好的发展前景。
1 波形发生器
1.1 片内波形发生器WFG概述
片内波形发生器’WFG(Wave Form Generator)是8XCl96MC/MD独具的特点之一。它有三个同步的PWM模块,每个模块包含一个相位比较寄存器、一个无信号时间(dead— time)发生器和一对可编程的输出。WFG可以产生独立的3对PWM波形,但它们有共同的载波频率、无信号时间和操作方式。一旦启动之后,WFG只要求 CP[J在改变PWM的占空比时加以干预。波形发生器的专用寄存器有双向计数器’WG—COUNT、重装载寄存器WG—RELOAD、相位比较缓冲寄存器 WG-RCOMPX、控制寄存器WG·C0N、输出控制缓冲寄存器WG—OUT。用户可以对WG—RELOAD寄存器进行写操作,而它的值周期地(取决于操作方式)装到第2个寄存器中,用这个计数器比较寄存器与WG—COUNT比较。对第2个寄存器的装载发生于WG-COUNT一1或WG—COUNT的值等于计数器比较寄存器的值时,与WFG的操作方式有关。若写“O”到WG—RELOAD寄存器中,则当该值装入计数器中,它就停止计数。
1.2 波形发生器基本工作原理
波形发生器从功能上分3部分。时基发生器,相位驱动器通道和控制电路。时基发生器为PWM建立载波周期。该周期取决于WG—RELOAD寄存器的值和操作方式。时基发生器的核心是一个16位双向计数器WG—COUNT,可工作于4种不同的方式,产生中心对准或边沿对准的PWM,中心对准的PWM波形所造成的谐波小,通常采用中心对准方式。相位驱动通道决定PWM波形占空比。它有3个独立的相位驱动通道,它们电路是一样的,每个通道有一对可编程的输出。每个相位通道包含一个可编程的无信号时间发生器,用来防止一对互补输出在同一时刻都有效。控制部分包含一些用来确定工作模式和其他配置信息的寄存器。一个可编程的保护电路可监视。EXTINT输入脚,若检测到一次有效的事件,就产生一次中断,禁止波形输出。
时基发生器WG-COUNT的工作方式O、1在上电复位后WFG中所有寄存器的值为O。计数器停止工作,写入到WG-REL0AD中的所有值在1/2状态周期(一个晶振周期)后有效,首次写入WG—RELOAD的值将传送给WG—COUNT,若WG—CON寄存器中的允许计数位EC一1,开始减l计数,至 0001H,等待一个状态周期后再加1计数,直至WG—COUNT中的值等于计数比较寄存器的值,此时完成一个载波周期。当计数比较寄存器的值与WG— COUNT相等时,WG—RELOAD的内容装入WG—COUNT和计数比较寄存器;WG-COMPX(X一1,2,3)的内容装入相位比较寄存器;输出缓冲寄存器的内容装入WG—OUT;在PI—PEND寄存器中把WG中断标志置1。在原来(或新)的值重新加载到WG—COUNT后,WG—COUNT开始新一个开关周期的计数,循环往复。’WG—COUNT的输出数据与时间的关系是三角形。载波周期Ts=4×WG-RELOAD/Fxtal(μs); WG-RELOAD是16位的二进制数;Fxta是xtal引脚上的晶振频率,不考虑无信号时间时;输出“有效”的时间是ToutpuT=4×WG- COMP/Fxtal(μs),其中WC-COMP的值是16位,等于或小于WG-RELOAD,占空比=WG-COMP/WG-RELOAD× 100%。由此可见,改变WG-RELOAD的值,不仅会改变PWM的载波周期,而且也会改变PWM的占空比。只有在改变WG-RELOAD的同时,按比例改变WG-COMP,才可能在改变载波周期的同时不改变占空比。
工作方式0和1产生的都是中心对准的PWM。在方式0中,每个载波周期产生一次中断请求,产生于计数器三角波的峰顶(WG-COUT=WG- RELOAD),此时,波形发生器各缓冲器的值将重装载到关联寄存器中。方式2和3是边沿对准的PWM,计数器工作于向上计数方式,它计数器波形是锯齿状波形。
2 控制步进电机原理
2.1 步进电机控制工作原理
步进电动机又称脉冲电动机,步进电动机是一种将电脉冲信号变换成相应的角位移或直线位移的机电执行元件。每当输入一个脉冲,电动机就转动一个角度前进一步。因此,步进电动机输出的角位移与输入的脉冲数成正比,相应地转速与脉冲频率成正比。控制输入脉冲的数量、频率及电动机各相绕组的通电顺序,就可以得到各种需要的运行特性,电机的位置和速度由导电次数 (脉冲数)和频率成一一对应关系。而方向由导电顺序决定。步进电机有步距角(涉及到相数)、静转矩、及电流三大要素组成。一旦三大要素确定,步进电机的型号便确定下来了。步进电机以相数可分为:二相电机、三相电机、四相电机、五相电机等。它们都广泛运用于数字控制系统中。
四相步进电机控制电路如图1,本方案使用了8XC196MC波形发生器的两组输出。它由输入电路、微处理器、功放电路等构成,控制驱动步进电机的时序是半步距时序。一个调制周期控制八拍。它的控制时序是A-AB-B-BC-C-CD-D-DA-A(正转),DA-D-CD-C-BC-B-BA-A-DA (反转)。
步距角:Qn=360°/8*转子齿数=360°/8*50=0.9°(转子齿数=50),则步进电机转一圈所需的步进数:360°/0.9°=400,根据输入信息决定电机的转动。
2.2 电源一频率控制特性
电源一频率控制特性(AMP)数据表的建立,由于所加的是直流信号,故可以认为电流与电压成正比,控制电流也就是控制电压。当调制频率为0时,电流幅值最大,表格数据规化为65535(0FFFFH),调制频率为400 Hz时,电流幅值数据为0,中间隔0.25 Hz取一个数据。最高调制频率为200 Hz,故表格包含数据801项数据,共占1 602字节。所以WG_COMP=AMP×WB_RELOAD/216.其中:WG_COMP是装入相比较寄存器的值;AMP是由表格查得的电流幅值; WG-RELOAD是载波周期。
2.3 程序框图
主程序初始化须设置允许CAPCOMP0(INT02)中断,允许EXTINT(INT14)中断,设置最小、最大调制频率,设置初始电流幅值,设置PWM载波周期,设置初始PWM占空比,开中断等。由输入电路装入调制频率,比较调制频率,并控制调制频率的极限在初始设置最大到最小范围内。查表取出AMP表中的数据,并计算再次节拍时间。CAPCOMP0中断子程序对电机的八拍转动特性进行控制输出,并在中断程序最后修改占空比和下一次中断时间。
3 结束语
本文利用单片机技术控制电机转动工作,使编程由复杂化走向简单化。INTEL公司的8XC196MC 系列是专门为电机高速控制所设计的一种16位微控制器,其后缀MC正是英文“电机控制器”(Motor Controller)的字头缩写,已被广泛用于电机的控制中。它具有性能高,功能全,用户使用方便等特点,尤其是高速的处理能力和对交流电的特殊应用,因此它必将在我国的智能领域控制广泛应用,也将带来可观的经济效益。