基于PIC单片机的主动放线机设计
是一种单极性步进电机驱动电路。它使用四个功率MOSFET来驱动步进电机的两组相位。两相绕组的公共端接到电源VSUPPLY,电机绕组的自由端接各自功率MOSFET的漏极,MOSFET的栅极驱动信号来自经过光电隔离的单片机的控制信号。
本设计选用Allegro Microsystems公司的大电流PWM单极性步进电机驱动芯片SLA7026。该芯片集成了低功率CMOS逻辑电路和高电压大电流的电力 MOSFET输出,可利用采样电阻检测电流,并用脉宽调制(PWM)控制输出相电流,其内部钳位和续流二极管可提供对感性负载暂态过程的保护,十分适用于半步/整步单极性驱动模式。该器件的工作电压最大可达46 V,电流可达3A。
由SLA7026构成的步进电机驱动电路如图4所示。该电路的供电电压是24 V,INA、INA、INB、INB是单片机经光电隔离送过来的控制信号,可用来控制驱动芯片内部NMOS管的快速导通与截至,从而变换给电机绕组通电以驱使步进电机转动。OUTA、OUTA、OUTB、OUTB驱动芯片的输出端接步进电机两相绕组的自由端。Rsa、Rsb分别接采样功率电阻0.33Ω以检测电流大小。REFa、REFb是参考电压输入端,主要用来设置输出电流大小。TDa、TDb是OFF时间端。SLA7026驱动芯片内部的PWM电流控制原理为:先使能输出,以使电流流经步进电机绕组和采样电阻,当电流采样电阻上的电压等于参考电压时,电流传感比较器将PWM锁存器复位,此后,驱动芯片关闭一段时间(OFF时间)。在这段时间里,由于负载电感作用会引起续流,并使电流衰减。然后,驱动芯片将重新被使能,这样周期性地重复,就可达到限流的目的。驱动芯片中一相绕组中的电流计算公式为:
若R9取200Ω,R15取0.33Ω,R17选1 kΩ的电位器,那么,实际工作时,通过调节电位器阻值就可使输出电流稳定为3 A。
2.3 电源设计
由于本放线机使用的是市电220 V,所以,本设计选用台湾明纬的AC/DC开关电源将交流220 V变成直流24 V,然后再经过PWM控制器NCP1200构成的反激式开关电源将该24 V变成直流5 V,再经过LDO稳压芯片AS1117-3.3V变换并稳压至3.3 V给单片机供电。另外,该24 V还要经过三端可调稳压块LM317变成5 V以给SLA7026提供辅助电源。
3 软件设计
本系统软件由主程序、A/D转换子程序、PI控制算法子程序和脉冲信号产生子程序等部分组成。主程序主要完成数控系统各子程序的上电初始化,以及实际控制过程中各个功能模块的协调。A/D转换子程序用于完成摆臂位置的采样转换,实际编程时,为了降低采样过程的瞬态误差干扰,本设计运用了算术均值滤波的方法,即最终参与控制运算的位置反馈值是通过多次采样的反馈值求算术平均取得的。PI控制算法子程序是软件设计的重点,调试时要根据放线机的运行状况,反复调整P系数KP、I系数Ki、采样时间Ts和设定值SetValue,以求达到最好的运行效果。脉冲信号产生程序设计应根据步进电机驱动波形的时序关系来不断循环延时,并通过给单片机口线置高、低电平来实现。其中精确定时是使用CCP(捕捉/比较/PWM)模块来完成的。设计中让CCP2工作在比较模式,并选用16位定时器T1作时基,在每个定时器时钟周期到来时使T1数据寄存器中的值从0不断加1,当与16位比较寄存器CCPR2里的设定值匹配时,系统将产生软件中断,然后在中断服务程序中将RC0、RC1、RC2、RC3置高、低电平。图5所示是系统的主程序流程图,而其PI控制算法子程序流程图则如图6所示。
4 结束语
本文分析了主动放线机的软硬件实现方法,该方法通过选用动态响应快,易于启停及变速的步进电机作为执行元件,抗干扰性较强的PIC单片机 PIC18F66J10作为主控芯片和集成PWM驱动芯片SLA7026作为步进电机驱动器来简化硬件电路设计,从而提高了系统工作的稳定性和可靠性。同时使用PI控制算法使放线速度不断跟随绕线速度的变化,近而达到放线速度自动控制目的。实验证明,该系统能达到相关技术指标,可在使用中取得良好的效果。
- 基于PIC单片机的智能型漏电断路器设计(11-25)
- 基于PIC单片机的无线实时监控防盗系统的设计与实现(11-18)
- PIC单片机键盘矩阵扫描C语言程序(12-02)
- PIC单片机控制第一个发光管闪动程序(12-02)
- PIC单片机驱动LCD12864液晶显示闪动字体程序(12-02)
- PIC单片机控制8位流水灯C语言程序(12-02)