2.2 步进电机驱动电路
步进电动机是一种用电脉冲信号进行控制,并将电脉冲信号转换成相应角位移的执行器。在跟踪系统中,以74HC240的16个输出信号作为步进电机驱动器的输入控制信号,用以控制步进电机俯仰方向和水平方位的正反转。图4所示的是步进电机一路驱动电路图,系统共有四路驱动电路,分别驱动步进电机俯仰方向和水平方位的正反转。其中,水平方位电机由D7,D6,D5,D4驱动;俯仰方向电机由D3,D2,D1,D0驱动。跟踪装置中步进电机选用42BYG250C型,步矩角1.8°。水平俯仰方向步进电机运行的最大角度是360°,共需运行20 000步。减速器的传动比为1:100,即电机转动100°时水平转台相应转动1°。以步进电机1.8°的步距角计算,当镜面装置的水平转台转动1°时,步进电机发出100/1.8个脉冲,由此可以计算平面镜法向量的方位角为a时步进电机发出的脉冲数为100α/1.8个。步进电机动作频率可手动设置,默认情况下,步进电机每隔15 s动作一次。
2.3 限位信号采集电路
采用光电耦合器与电压比较器电路组成的微机步进电机限位电路,其电路图如图5所示。
限位电路中利用双三态门来控制步进电机的脉冲通路。工作原理是:在到达限位位置之前,光耦导通,电压比较器LM393的反向输入端有信号,允许步进电机控制脉冲从此通过。当限位杆到达限位位置时,挡住了光耦的光通路,使LM393的反向输入端无信号,步进电机就停止。
3 软件设计
太阳自动跟踪系统的软件分为两部分,一是步进电机控制部分,主要由单片机完成。单片机的软件设计采用模块化设计的方法,主要分为如下几个软件模块:主程序模块、串行口中断处理模块、正常跟踪处理模块、串行口中断复位处理模块等。单片机主程序流程图如图6所示。
软件的另一部分为PC机部分,PC机软件部分主要是负责任意时刻太阳位置的计算并运用软件计算出当前状况下俯仰与水平方向步进电机运行的步数,并将数据送给跟踪系统驱动器。与单片机通信的部分使用VC++中的MSComm控件来编译串口通讯的应用程序,采用MSComm32.OCX控件。使用控件的属性进行串口设置,使用控件的事件驱动进行串口响应,使用控件的方法完成串行口接收和发送数据。PC机通信流程图如图7所示。