将元器件三面体上的元件信号通过数据线引至控制板,并实现与上位机的通信。为避免旋转过程中数据线出现缠绕,选取某个操作面为基准操作面,其他两个面采用往复双向旋转复位方式运行工作。
1.3控制板设计
旋转式面板控制板由主控制器、电源电路、CAN通信电路、驱动电机转动电路、元器件通信电路组成(见图2)。主控制器接收上位机指令,转动元器件三面体至合适的平面位置。电源电路实现将12V转换为5V,再将5V电压转换为3.3V供给给主控制器。CAN通信电路主要由CAN总线接口及CAN收发器组成,连接上位机并接收CAN通信指令。驱动电机转动电路主要完成发送步进脉冲信号和方向电平信号至电机,驱动电机转动,使其带动元器件三面体转动。元器件通信电路实现元器件与上位机通信。
2通信协议设计
为实现上位机软件与控制板软件的通信,需要设计通信协议格式。通信指令分为两类:
(1)上位机向控制板发送元器件三面体切换指令。
(2)控制板向上位机发送操作面板的元器件状态指令。
通信协议格式见表1.
3软件设计
3.1下位机软件设计
下位机软件主要实现接收上位机指令驱动电机转动元器件三面体、扫描元器件操作状态等功能。
3.1.1接收指令切换旋转面板
判断是否接收到指令,当接收到指令时转Step2,否则继续等待;设置步进脉冲信号和方向电平信号;将面板切换至合适的位置。
3.1.2扫描元器件状态
启动定时器,定时扫描元器件状态;扫描元器件状态是否发生变化,当发生变化时发送给上位机程序,否则继续定时扫描元器件状态。
3.2上位机软件设计
上位机软件采用面向对象技术,设计的重点是上位机通信类。CAN通信接口采用千目电子的USB-CAN转换器,该产品附带支持二次开发的动态库。
利用VC++实现上位机通信类的编程,该类的功能主要是下发旋转式操作面板切换方案、接收元器件状态。该类主要包括设备初始化方法(InitCan)、数据发送方法(SendData)、数据接收方法(RecvData)。
InitCan方法
InitCan方法完成连接并打开CAN设备,输入参数是CAN设备号、波特率,输出值为布尔类型,标识CAN设备是否打开。
处理过程:
加载收发指令动态库;
调用动态库中的Init_can函数连接并打开CAN设备。
SendData方法
SendData完成下发指令功能,输入参数是显示指令,输出值为布尔类型,标识发送是否成功。处理过程:
设置要发送的指令;
调用动态库中的Can_send函数发送指令。
RecvData方法
RecvData完成接收指令和解析指令的功能。处理过程:
调用动态库中的Can_receive函数接收指令;
根据通信协议进行解析,符合协议则处理,否则不处理。
4结束语
本文设计并实现了一种基于步进电机自动控制的多功能旋转式操作面板,并应用于某型舰艇电子装备通用模拟器的研制,较好地解决了同一系列不同型号装备操作面板的模拟问题。该设计方案同样适用于其他多功能机电设备的设计,可以为解决操作面板可用面积不足时的元器件布设问题提供很好的借鉴作用。
『本文转载自网络,版权归原作者所有,如有侵权请联系删除』