1
控制/MCU
本文利用TMS320F28027控制两个步进电机,从而使物体在平面内运动,实现物体在平面内可以任意地画指定的曲线和圆等。图1为悬挂系统的模型。
图2为悬挂系统控制框图,以TMS320F28027为控制芯片,利用L298N驱动两个步进电机。步进电机采用42HS4813A4,其额定电流为1.3A,步距角为1.8°,利用LCD-12864液晶显示被控制物的实时坐标。控制2个步进电机正向、反向转动来达到物体在平面内任意运动的效果。
L298N是ST公司生产的一种高电压、大电流电机驱动芯片。图3为L298N模块的电路原理图。该芯片的主要特点是:工作电压高,其最高工作电压可达46V;输出电流大,瞬间峰值电流可达3A,持续工作电流为2A;内含两个H桥的高电压大电流全桥式驱动器。利用2个L298N来分别控制2个步进电机,步进电机的额定电流为1.3A,同时通2相时,电流为2.6A,L298N可以达到42HS4813A4步进电机的电流要求。
绝对式编码器的精度必须要高于步进电机的精度,所以这里采用的是10位绝对式编码器。选用的型号是Minil024J,精度为10位,优点在于采用无接触霍尔检测技术,传感器运行不受灰尘或其他杂物影响,很好克服了基于光学检测原理的缺点。
坐标示意图如图4所示,有如下的边长和角度关系:
如图5所示,存在以下的角度和边长关系:
步进电机闭环控制框图如图6所示,TMS320F28027分别用2个定时器来控制两个电机,用绝对式编码器对位置进行监控,进行失步补偿,保证位置正确,并且可以使曲线圆滑。
步进电机的型号为42HS4813A4,为了防止失步,步进电机每步的最小间隔为4ms,并且用软件对步进电机进行了十六细分,即每步的间距为0.45°。控制电机部分的程序流程图如图7所示。
控制代码如下:
newsf_motorl_SpeedAndSpace_access((int)flag_motorl_paces,flag_cputimer_1,2);//定时器1控制步进电机1
newsf_motor2_SpeedAndSpace_acccss((int)flag_motor2paces,flag_cputimer_2,2);//定时器2控制步进电机2
利用几何关系任意点到任意点的算法,分别给处理器一连串的位置坐标,控制物体的运动轨迹,如图8所示。
相同间隔取N个点,分别输入处理器,来控制物体的坐标。将取的点传递给TMS320F28027时,为了让圆足够的平滑,消去锯齿状,所以在圆上取了200个点。控制代码如下所示:
系统完成后,进行了两项测试,分别是画圆运动和运动到指定点。
其中画圆运动测试是在输入圆心坐标以及半径后,对实际画出圆的直径与理论直径作了对比,并且记录了画圆的耗时。此测试中,圆心坐标为(40.0cm,40.0cm),输入的半径值为30.0cm,测试结果如表1所列。
其中,运动到指定点测试是以坐标原点为起始点,在输入指定坐标之后,对原点到指定点距离的理论值和实际值作了对比,并且记录了运动完后回到原点的误差距离,即是否能准确回到原点。在此测试中,运动的原点坐标为(0cm,0cm),目标坐标为(49.0cm,50.0cm),即距离原点为70.0cm,实际测试时,运动到(49.1cm,49.2cm),即距离原点69.5cm,测试结果如表2所列。
由测试结果可看出,该系统具有高效、稳定、准确的优点,符合实验预期。
全部0条评论
快来发表一下你的评论吧 !