步进电机在其规格要求范围之内工作,电机的运动只受单片机的影响 ,与电机所带的负载无关。即在本系统中单片机发送一个特定的脉冲信号频率和脉冲数量,电机驱动芯片接收后转换为歩矩角便驱使电机按照规则转动。由此可见步进电机的运动与单片机的脉冲信号是以一种线性的关系存在,而脉冲信号之存在周期性误差不存在累积性误差,正是因为这种线性机制与脉冲信号的特点使步进电机的控制变得十分智能且方便,所以目前步进电机的应用十分广泛[4-5]。
步进电机的控制原理为:旗帜的匀速升降与步进电机的运动息息相关,而步进电机的运动与单片机的脉冲信号呈线性关系,因此要做到精准定位就需要精确识别单片机发送的脉冲频率以及总脉冲数。本系统选用半步歩矩角为0。45度的四相步进电机,设步进电机的转动转速为 v, 卷绳子所用的轮子的直径为D,绳子的直径为d,旗上升的高度为 H , 上升的时间为t , 则国旗上升时步进电机转动的总转数为:N=H/(D+d),步进电机的转速为:n=H/(D+d)t[3]。根据卷线轮的直径和升旗的总高度,可计算出步进电机的总步数,并可调步长和时间间隔(本系统中步进电机走一圈需400步)。
本系统中单片机AT89S52产生控制信号并传递给步进电机驱动芯片,驱动芯片驱动电机工作。而单片机内部的RAM,ROM即可满足本系统对步进电机工作灵活性的需求。步进电机的控制驱动芯片采用L298N芯片,一般驱动系统由环形脉冲和功率放大器等组成。L298N芯片驱动步进电机的电路图如图2所示。L298N芯片中EN是驱动芯片的两个使能引脚,单片机的2个IO端口输出PWM波到两个EN引脚去控制步进电机转动。占空比越高电机转速越快,IN-1~IN-4接口文献综述
是单片机用来控制电机转动方向的[6]。
图2驱动芯片L298N工作电路图
2。2 显示模块
LED数码管高亮度的特点适用于强光照射的环境场合,而且十分廉价;缺点是功耗相对稍微较大等。而LCD液晶显示的体积相对较小,具有良好的人机界面,并且因为其工作电流小而导致功耗很低;缺点是在强光环境下显示略微模糊不清。由于本系统基本都是在白天强光下显示,并且只需要显示0-9的数字以及一些比较简单的字符,为了使显示更加清晰,所以选择了功耗比较大的数码管。这也是本系统的一个缺点。数码管显示模块的电路图如图3所示:
图3数码管显示模块电路图
2。3 键盘模块
因为本系统中键盘模块中按键比较多,若用独立键盘则意味着要占用较多的I/O端口,所以本系统采用矩阵式键盘。但是缺点是电路会比较复杂,矩阵键盘的每条水平线和垂直线在交叉处不能直接连通,而是通过按键连通,同时也会加大编程难度。在本系统中一共设计了八个按键,分别用来控制旗帜的上升、下降和升半旗切换,以及高度和时间的调节,其键盘摸板如图4所示:
图4键盘模版图来:自[优E尔L论W文W网www.youerw.com +QQ752018766-
键盘工作电路图如图5所示。
图5键盘模块电路图
其工作原理为:矩阵键盘上每一个按键都会被赋予一个键号,无按键按下时,行线处于高电平状态;若有按键按下时,行线至少有一条处于低电平状。系统会扫描各行线的状态,根据列线I/O端口和行线I/O端口的数据求出按下按键的键号。得到键号后程序会跳转到相应的键盘子程序下执行相应的程序[9]。
本系统的按键共由上升按键、下降按键、暂停键、升半旗按键、高度上调键、高度下调键、时间上调键以及时间下调键组成