1.2 单片机控制器的硬件设计
A T89C51 的P1 口作为4 ×4 矩阵键盘输入口;P0 口和P2 口为液晶显示模块接口,液晶显示模块选用台湾南亚公司的液晶显示模块LMBGA_032_49CK_ ,该模块是根据目前常用的液晶显示控制器SED1335 的特性设计的,它与A T89C51 的接口电路如图2 所示;通过A T89C51 的定时器T0 的定时中断控制脉冲发送频率,进而控制电机的转速;P3.0 口作为液晶显示模块的软件复位口, P3.1 口作为电机的脉冲输入口;另外还有一些开关量的控制。
图2 AT89C51 单片机与LMBGA_032_49CK模块的接口电路
由于单片机属于TTL 电路(逻辑“1” 和“0”的电平分别为2.4 V 和0。 4 V) ,它的I/ O 口输出的开关量控制信号电平无法直接驱动电机,所以在P3.1口控制信号输出端需加入驱动电路。 系统采用光耦耦合器和三极管S8050 作驱动,光电耦合器有隔离作用,可防止强电磁干扰,三极管主要起功率放大作用。 电机驱动电路如图3 所示。
2 系统软件设计
控制器的软件主要完成液晶显示、接受键盘输入、伺服电机匀速运行和气阀控制几项功能,包括主程序、键盘中断服务程序、定时器T0 中断服务程序及液晶显示子程序。 在交流伺服电机控制系统中单片机的主要作用是产生脉冲序列,它是通过89C51的P3.1 口发送的。 系统软件编制采用定时器定时中断产生周期性脉冲序列,不使用软件延时,不占用CPU。 CPU 在非中断时间内可以处理其它事件,唯有到了中断时间,驱动伺服电机转动一步。 因此定时/计数器装入的时间常数的确定是程序的关键。 下面重点讨论时间常数的计算。
由于定时/ 计数器以加1 方式计数,假定计数值为X ,则应装入定时/ 计数器的初值为a= 2n -X , n取决于定时/ 计数器的工作方式。 每个机器周期(设为T J ) 包括12 个振荡周期,控制系统的晶振频率(设为F) 选为12 MHz 。则
系统的控制软件用的汇编语言,为方便计算,程序中涉及到的数据均用16 进制,所以MCU 在接收到式(9) 中的速度输入值N 之后,通过10 进制转换为2 进制的子程序,将式(9 )中的N 转换为2 进制数,再通过除法子程序和减法子程序, 得到式(9 )中的时间常数a。
3 结束语
基于89C51 单片机的交流伺服电机控制系统,具有电路简洁、性能良好、成本低和可靠性高等特点,在激光熔覆自动送粉器中应用取得了良好的效果,可以实现平稳送粉,送粉量波动性小、重复性好,其最大波动值不超过4.17 % ,最小波动值可以达到0.09 %。 在0.5 g/ min 以下的低送粉量情况下,重复性仍然很好。