刘 佳,柴浩元
(山西职业技术学院 电子信息工程系,山西 太原 030006)
小球滚动控制系统的设计与实现
刘 佳,柴浩元
(山西职业技术学院 电子信息工程系,山西 太原 030006)
该系统采用STC90C516单片机作为控制核心,对一端固定导轨上的小球实现滚动控制。系统设计由控制模块、声光报警模块、电机驱动模块、光电测距模块和电源模块组成。由51单片机PWM控制42步进电机的正反转通过收放线圈以控制U型导轨上下运动,从而控制小球滚动,同时利用光电测距模块检测小球运动轨迹,最终实现小球在轨道上的定位和运动,并在小球通过固定位置或者完成某项动作后,触动声光报警模块来实现报警。
STC90C516单片机;小球滚动控制;光电测距;步进电机;PWM
本系统在设计中主要包括:核心控制模块STC90C516单片机[1]、电机驱动模块、声光报警模块和按键开关等功能模块,系统组成框图如图1所示。
图1 系统组成框图
1.1 核心控制模块的论证与选择
方案一:采用目前大范围使用的STC89C516系列单片机。此单片机的处理数据速度较快,运算能力强,软件编程简单灵活,可控性大兼容性强,能够对外围电路实现较理想的智能控制。
方案二:考虑系统的核心部件若选用一片CPLD(如EPM7128LC84-15)来实现系统的控制与数据的处理功能。CPLD处理数据速度快、程序编写容易、可利用VHDL语言进行编程开发并且具有资源丰富、开发周期短等优点。在控制上较单片机上有很大的优势。但CPLD结构较复杂,比较适用于在逻辑功能及数据处理速度两方面要求比较高的系统方案里。
方案三:采用TI公司的16位MSP430F2011单片机。此单片机体积不大、系统的时钟频率最高可达49 MHz,并且功能较强,在集成度、兼容性及性价比方面都表现出明显的优势;但MSP4330F2011内部只集成了模数A/D转换器,没有数模D/A转换器。所以外围电路必须加上12位D/A。这样电路变得复杂,给编程带来困难。
综合以上三种方案,选择采用方案一。
1.2 电机驱动模块的论证与选择
方案一:采用直流电机。直流电机控制相对简单,但是定位精度不高,可用于对速度要求高,而对位移定位不高的系统。
方案二:采用步进电机28BYJ48型四相八拍电机,电压为DC5 V~DC12 V。可通过脉冲控制电机转动,但扭矩力较小,无法驱动较复杂的系统。
方案三:采用5相42步进电机,该步进电机定位精确,适合应用于位移精确定位系统中。5相42步进电机定位精度高,输出力矩高,响应频率高,加减速时间较短,动态惯性较低运行噪音低,动态特性好。
考虑本小球系统的特点,选择方案三。
1.3 测距模块的论证与选择
方案一:采用红外测距模块。红外测距电路简单,操作方便,具有较强的发射和接收能力。但传感器在本系统中检测存在多个盲区。在测试过程当中,很难检测到直径较小的物体,误差较大。
方案二:采用超声波测距模块。超声波检测具有快速简便、易于控制的优点,但在实际应用中容易受环境因素影响测量精度。
方案三:光电传感器测距模块[2]。光电检测方法可以对多个参数进行检测,具有测试精准、反应速度快、不直接接触等优点,传感器的体积小,安装灵活,结构简单,在测试过程中,易检测到体积较小的物体,容易控制。
结合本系统的测试需求,选择方案三。
在整个控制系统中,通过位置的检测、水平调零、角度检测以及导轨的控制才能实现小球在轨道上灵活滚动并定位。
1) 位置的检测:利用数字万用表测量光电传感器输出信号的电压,当小球通过既定位置时,即有障碍物通过,输出高电平;否则,输出低电平。
2) 水平调零:将小球控制系统台放置于测试桌后,为避免测试桌的倾角影响小球的控制的准确性,在小球运动控制前,首先对导轨进行调零,即通过上、下按键,将导轨调至水平位置,并在轨道25 cm~35 cm范围内放置小球验证是否水平,确定轨道水平后,通过按键操作,记录当前步进电机的初始位置为0,在此后的所有控制运动中再记录步进电机的偏移位置。
3) 角度检测:我们采用的步进电机的步距角为0.72°,即500步完成一周转动,驱动轮的半径为r,那么电机每转动一步,对应的提升线的移动距离:d=(2×π×r)/500,再根据(如图2):sina=(d/2)/60计算出角a,再由b=2a计算出偏移角度。
4) 导轨控制方法:如图3所示,在a,b,c,d,e五个位置放置光电检测器。先将导轨左端降低,使小球从起始端(右端)开始向左运动,经过e点时,光电传感器将信号送至单片机,单片机控制导轨水平,小球继续向左运动,当经过c点后,再控制导轨左端升高,小球在惯性运动后,反向从左向右运动,再次经过c点后,控制导轨左端降低,从而使小球在导轨上往复运动。为保证小球能在导轨的5 cm~55 cm范围内运动,单片机会通过b,d光电检测器识别小球运动方向和速度,再结合模糊控制法,准确控制小球不超出5 cm~55 cm的运动范围。
图2 角度示意图
图3 导轨位置示意图
3.1 电路设计
3.1.1 单片机最小系统
小球滚动控制系统的核心控制模块采用STC89C51系列单片机,其最小系统电路图如图4所示。
图4 最小系统电路图
3.1.2 声光报警系统
当小球滚动到导轨两端时,触发器工作,启动声光报警系统[3]。声光报警电路图如图5所示。
图5 声光报警电路图
3.1.3 独立按键系统
通过独立按键系统来控制51单片机[4],以便各项程序运行,最终实现系统中所设定的各项任务。独立按键电路图如图6所示。
图6 独立按键电路图
3.1.4 电源系统
电源系统由电源模块提供一个+5 V和+24 V的输出电压,因为整个系统被提供+5 V电压,所以需要三端集成稳压器7 812进行稳压工作,将24 V的电压稳压成12 V,以确保电路的正常稳定工作。电路简单,故不作详述。
3.2 程序设计
该系统程序主要包括:主控程序模块、按键处理程序模块、红外测距采样数据处理子程序、定时器子程序等几个部分,如图7所示。
图7 程序流程图
4.1 测试方案
1) 硬件测试:利用数字万用表测量光电传感器输出信号的电压,当小球通过既定位置时,即有障碍物通过,输出高电平;否则,输出低电平。
2) 软件测试:通过按键4或5来调制步进电机的转动速度及转动圈数,并通过收放线圈,使导轨调整角度;通过按键3,将导轨调制水平,并保存当前位置。
4.2 测试条件与仪器
测试条件:必须将装置放置与水平桌面;轨道必须平直光滑,长度60 cm;小球硬质光滑均质,直径在6 mm~20 mm;硬件电路保证无虚焊。
测试仪器:数字万用表、量角器、皮尺、数字示波器。
4.3 测试数据结果分析
经测试和不断统计数据后,发现系统原理图无问题,硬件电路完全可以实现其题目要求的功能。光电传感器数据误差在1 cm~2 cm之间,符合要求。
4.3.1 测试数据
表1 小球往复运动测试数据
表2 小球在往复运动状态下通过指令使其静止时的测试数据
表3 小球往复运动测试数据
4.3.2 测试分析与结论
根据测试数据,由此可以得出以下结论:
1) 小球触碰轨道两端光电传感器时,声光报警器会工作,有明显的声音信号响出,以及发光二极管发出光闪烁指示。10 s可以将导轨从正负15°范围内调整至水平,小球在任一个区间都达到静止不动。达到题目要求。2) 根据测试,小球在13 s内在导轨上往复运动3次,这3次平均中心位置为29.2 cm,符合题目要求的5 cm~55 cm区间范围。3) 通过多次测试,并取样三组数据,小球平均在14 s内停止在31 cm位置区域内,并保持10 s以上。4) 根据测试,小球在26 s内在导轨上往复运动4次,这4次平均中心位置为30 cm,偏离中心最大位移为19 cm,符合题目要求的5 cm~25 cm区间。
[1] 宋海兰.单片机原理与应用设计[M].北京:清华大学出版社,2013.
[2] 黄志伟.全国大学生电子设计竞赛训练教程[M].北京:电子工业出版社,2005.
[3] 吴运昌.模拟电子线路基础[M].广州:华南理工大学出版社,2004.
[4] 阎石.数字电子技术基础[M].北京:高等教育出版社,1997.
Design and Implementation of a Ball Rolling Control System
Liu Jia, Chai Haoyuan
(ElectronicInformationEngineeringDepartment,ShanxiPolytechnicCollege,TaiyuanShanxi030006,China)
The system adopts STC90C516 single chip microcomputer as control core to control a ball rolling on guide rail which one end is fixed. The system design is composed of control module, sound and light alarm module, motor drive module, photoelectric ranging module and power module. The PWM control 51 single-chip microcomputer is used to control the positive inversion of 42 stepper motor by retracting the coil to control u rail movement up and down, and then control the ball rolling. At the same time, the photoelectric ranging module is used to detect the ball movement, and finally realizes the ball movement and positioning in orbit. After the ball is in a fixed position or a certain action is completed, the audible and visual alarm module is used to make the alarm.
STC90C516 microcontroller; ball rolling control; electro-optical distance; stepping motor; PWM
2017-03-03
刘 佳(1983- ),女,山西大同人,讲师,太原理工大学在读博士研究生,主要从事通信与信息系统的教学研究。
1674- 4578(2017)02- 0021- 04
TP273
A