传统的悬挂控制系统设计是采用单片机作为系统控制器,通过软件编程实现各种算法和逻辑控制,但由于其芯片资源有限,运算速率慢和易受干扰等因素,因而在较大系统的开发上受到限制。FPGA可实现各种复杂的逻辑功能,密度高,体积小,稳定性高,运算速度快,还可进行软件仿真和调试,适合作为大规模实时系统的控制核心。
本文采用Verilog FPGA设计悬挂运动控制系统的控制器,通过输入模块传送控制参数,采用HDL语言编程实现的控制算法,驱动步进电机,对悬挂运动物体进行精确的控制。
1 系统设计方案
本设计具体设计目标为控制系统能够通过键盘或其他方式任意设定物体坐标点参数,且物体在80 cm×100 cm的范围内做自行设定的运动,运动轨迹既有曲线(圆),也有直线(任意两点和定点),物体在运动时能够在板上画出运动轨迹,限制在一定的时间内完成。根据设计指标,需要实现勾画设定轨迹和对设定轨迹的搜寻功能,并能实时地显示物体中画笔所在位置坐标。其系统方案框图如图1所示。
控制模块是整个系统的核心,键盘输入模块产生按键信号,按键信号送人FPGA对物体进行设置校正以及轨迹参数设定,FPGA对送来的信号进行分析、运算、处理,将控制信号输送到电机驱动模块,控制电动机的转速,使物体的运动轨迹得以控制,同时由显示模块显示物体中画笔的坐标。
2 系统各模块的设计与实现
2.1 控制模块
系统结构图如图2所示。其中,控制模块是系统设计的核心,由FPGA实现。此模块是通过HDL硬件描述语言,在智能型可编程逻辑器件开发试验系统KH- 310的硬件平台来控制设计的,利用FPGA芯片可实现对步进电机的控制功能。功能包括:步进电机的正转、反转、定位功能及调速等功能。FPGA由输入的数据来计算物体要移动的距离,直接发出控制脉冲控制电机的转动,进而控制物体的运动方向。由于少了反馈电路,系统的精度只与FPGA采用的算法准确性有关,此种方式电路结构简单,成本低且易于调整和维护,是一种较理想的方式。
2.2 键盘模块
键盘是实现人机交流的一种装置。在本系统中,采用4×4矩阵式键盘共阳极接法。键盘上的每一个按键其实就是一个开关电路,当某键被按下时,该按键的接点会呈现0的状态设置键;反之,未被按下时则呈现逻辑1的状态。键盘各键布局及功能介绍如图3所示。
“0”~“9”:数字输入,用于设定一个坐标点的X,Y值;而且键1、键2、键3、键4、键5、键6和键9具有第二功能。
“A”:启动键,用于所选运行方式的开始运行控制键。
“B”:复位,用于各项初始化。
“C”:确定键,用于设置、方式输入值的确定。
“D”:停止,用于停止步进电机转动。
“E”:设置键,手动对位或任意设定坐标点参数键,按上、下、左、右键进行手动对位控制,再按确认键确认(图4所示)。
“F”:方式键:首先按下方式键,然后按数字键选择方式再确认(如图5所示),方式有以下几种:
方式1:归位,让物体自行回到原点。
方式2:做自行设定的运动。
方式3:画圆,首先利用数字键设置圆半径进行确认后,再按启动键运行。
方式4:定点运动,首先利用数字键设置一个坐标点的X,Y值进行确认后,再按启动键运行。
方式5:寻迹,首先让物体运行在轨迹起点,按下启动键开始寻迹。
2.3 电机驱动模块
采用功率驱动电路L298内含4通道逻辑驱动电路,分别控制步进电机四组线圈A,/A,B,/B通电与否。步进电机的激磁信号则由智能型可编程逻辑器件开发试验系统KH-310试验平台上的JP4的信号输入控制,分别驱动步进电机的A,/A,B,/B线圈,采用两相激磁方式。
2.4 电机电路
电机是整个系统实现功能的主要载体之一,它的主要功能是通过对缠绕其上的绳子的伸缩来实现悬挂物体的运动。步进电机是一种将电脉冲转化为角位移的执行机构。本系统使用42BYG型号步进电机,其原理是将电脉冲信号转换成角位移,它的转子的转角与输入的电脉冲数成正比,转速与输入的电脉冲的频率成正比,旋转方向由脉冲的分配顺序决定,可以通过控制脉冲个数控制步进电机的角位移量,从而达到准确定位的目的。
2.5 显示模块
液晶显示器是将液晶置于两片导电玻璃之间,靠两个电极间电场的驱动,引起液晶分子扭曲向列的电光效应,在电源的开关之间控制光源透射或遮蔽,产生明暗两种效果。本系统采用16×2 LCD液晶显示屏作为人机对话的友好界面。系统设计实现物体所在坐标和画笔所画线段的长度的动态显示,并有输入光标跟随和开机等待提示等人性化功能。