自由摆实验报告.docx
- 文档编号:8148073
- 上传时间:2023-01-29
- 格式:DOCX
- 页数:21
- 大小:292.09KB
自由摆实验报告.docx
《自由摆实验报告.docx》由会员分享,可在线阅读,更多相关《自由摆实验报告.docx(21页珍藏版)》请在冰豆网上搜索。
自由摆实验报告
基于自由摆的平板控制系统(B题)
摘要
本系统以单片机为控制核心,采用增量旋转编码器实时采集自由摆旋转角度及方向,通过步进电机开环控制平板旋转角度,以实现控制要求。
此外,为方便实验和调试,专门设计了独立的单片机角度显示电路。
本设计以旋转编码器的脉冲触发单片机的中断来控制平板角度的调整,这种外部事件驱动的程序设计方法能够及时响应摆杆角度的变化,避免了复杂的定时采样程序设计,总体程序设计简洁,响应时间快,控制精度高。
在激光笔瞄准时采用了查表法,避免了单片机进行复杂三角函数运算造成的舍入误差对实验精度的影响,从而达到了在一个周期里电机精确旋转一周;平板角度调整速度快,8枚硬币滑动小无跌落;实时控制激光笔保持静态水平误差在1cm以内;动态控制误差在2cm以内的实验效果。
关键字:
外部事件驱动程序设计旋转编码器平板精确控制
1系统方案分析1
1.1.1控制器选用2
1.1.2控制系统方案选择2
1.2角度测量模块的论证与选择2
1.3步进电机及其驱动模块的论证与选择2
2系统理论分析与计算3
2.1自由摆平板控制系统的分析....................................3
2.1.1自由摆平板系统模型建立4
2.1.2角度测量原理分析5
2.1.3平板角度的分析5
2.2角度测量的计算7
2.2.1单位脉冲转过角度计算7
2.2.2编码器可行性计算7
2.3步进电机模块的论证分析......................................7
2.3.1步进电机节拍数与螺旋码盘输出脉冲之间关系7
2.3.2步进电机最大空载启动频率分析与计算7
3电路与程序设计8
3.1电路的设计8
3.1.1系统总体框图8
3.1.2整体电路原理图9
3.1.3显示子系统框图与电路原理图9
3.2程序的设计10
3.2.1程序功能描述10
3.2.2具体的程序分析设计12
4测试方案与测试结果13
4.1测试方案13
4.2测试条件与仪器13
4.3测试结果及分析14
4.3.1测试结果(数据)14
4.3.2测试分析与结论16
实验总结16
参考文献17
附录1:
电路原理图18
附录2:
源程序21
附录3:
主要元器件清单22
基于自由摆的平板控制系统(B题)
【本科组】
1系统方案分析
系统设计任务为一种基于自由摆的保持平板平衡的控制系统。
基本要求是保持平板上硬币的平衡滑动小或滑落少,进一步的要求是让平板上激光笔射在靶纸上的光斑偏移量尽可能小。
在实时控制时,对自由摆的摆角、摆速及摆动方向的测量十分关键,平板角度的控制精度和相应速度也直接决定着最终的控制效果。
据此,本系统采用以单片机为核心的自由摆控制系统主要由以下几个功能模块构成:
1、单片机控制模块
2、角度测量获取模块
3、平板平衡控制模块
4、电机驱动模块
5、角度值显示模块
系统框图如图一所示。
图一系统组成框图
1.1主控制器件的论证与选择
1.1.1控制器选用
我们选用MC9S12XS128单片机作为控制核心。
1.1.2控制系统方案选择
方案一:
采用在面包板上搭建简易单片机系统
在面包板上搭建单片机系统可以方便的对硬件做随时修改,也易于搭建,但是系统连线较多,不仅相互干扰,使电路杂乱无章,而且系统可靠性低,不适合本系统使用。
方案二:
自制单片机印刷电路板
自制印刷电路实现较为困难,实现周期长,此外也会花费较多的时间,影响整体设计进程。
不宜采用该方案。
方案三:
采用单片机最小系统。
单片机最小系统包含了显示、矩阵键盘、A/D、D/A等模块,能明显减少外围电路的设计,降低系统设计的难度,非常适合本系统的设计。
1.2角度测量获取模块的论证与选择
方案一:
采用加速度传感器
加速度传感器采用模拟量输出,需要放大电路及A/D完成角度的测量,由于在传输回路中模拟信号易受干扰,测量结果容易产生误差,通过数字滤波等技术虽然能够在一定程度上消除干扰造成的误差,但是,滤波运算增加了CPU的负荷。
方案二:
采用电位器作为角度传感器
自由摆系统的角度测量也可采用可变电阻器。
精密的可变电阻器具易获得、价格低廉、重复性高、分辨率高、高频响应特性好、易使用等特点。
但是可变电阻器也是模拟信号输出,需要A/D信号的转换,增加系统复杂性,而且安装要求较高,带来了硬件设计的不便。
方案三:
采用增量式光电旋转编码器
光电编码器是一种角度(角速度)检测装置,它将输入给轴的角度量,利用光电转换原理转换成相应的电脉冲。
旋转编码器具有体积小,精度高,工作可靠,接口数字化等优点。
此外旋转编码器安装较为方便,接口电路较为简单,能够减少系统硬件电路的工作量。
综合以上三种方案,我们选择方案三。
最终我们选择了欧姆龙的1000线高精度旋转编码器E6B2C它测量精度高,分辨率达到了0.36°。
1.3步进电机及其驱动模块的论证与选择
步进电动机的驱动电路可采用配套的高性能步进电机驱动器ZD-6209-V2。
ZD-6209-V2高性能步进驱动器具有集成度高可靠性好抗高频干扰强,并且接口采用超高速光耦隔离等特点。
能够对整步、半步、四细分、八细分、十六细分可调;输出电流线行可调支持脱机、使能、锁定等功能。
最终选定的步进电机型号为42H系列。
电机为四相步进电机,它的步距角仅为0.9°扭矩为0.50N/m,有较高的空载启动频率,在十六细分后能实现0.225°的步距角能够满足本系统的控制要求。
2系统理论分析与计算
2.1自由摆平板控制系统的分析
2.1.1自由摆平板系统模型建立
(1)建立自由摆运动模型,由于系统是由轻杆和步进电机等组成,相较于步进电机,轻杆质量很小,可以近似认为旋转臂重心在平板附近,平板沿半径为L的弧长自由摆动。
示意图如图二
图二自由摆模型示意图
①在最低位置时平板将达到最大速度,因此在不计空气阻力及固定点摩擦力的情况下利用能量守恒定律有:
,得出
在θ不超过60°,l=1.0m的情况下。
计算得v=2.236m/s,由角速度与线速度之间的关系,得出
=
=2.236rad/s=128/s
②自由摆周期计算
根据单摆的周期计算公式
;
得单摆周期T=1.986ms
(2)使硬币不滑落的模型分析
在自由摆在一个小角度时摆动时,自由摆运动模型便是一个化为物理单摆模型。
因在实际中自由摆臂质量集中在端点的电机上,受力分析如图三所示。
图三硬币受力模型
硬币受到重力mg,板的支持力合外力方向垂直与摆臂,大小为F合。
根据单摆的物理规律平板随自由摆摆臂运动的加速的a方向将始终垂直与摆臂,为保证平板上硬币不会滑落平板需要保证硬币在沿平板方向上没有分力的作用,也就是硬币与平板是没有摩擦力的。
也即平板对硬币力的作用方向始终在垂直于平板方向上,
当摆角30°-45°之间时,经过推算,硬币会受到平板沿平板方向上微弱的分力作用,但是考虑到两者之间的摩擦力作用,静摩擦力要远大于沿平板方向分力作用,是不会使硬币发生位移。
因此只要保持平板与摆臂的垂直就能保证硬币不会滑落。
自由臂开始运动时平板保持水平位置,而要保证硬币不从平板上滑落则需要平板尽快保持与自由臂垂直,因此在放开平板时需要让平板带动硬币尽快达到与自由臂垂直位置。
2.1.2判断正反转原理分析
角度测量模块由高精度旋转编码盘构成,编码盘转轴随自由摆旋转臂转动,当旋转臂摆过一个角度后旋转编码盘将输出一串脉冲通过对脉冲的计数可以算出转臂摆过的角度。
旋转编码的输出信号A、B时序图如图四所示。
当转轴正转时A相输出脉冲超前B相输出脉冲,反转时则相反。
通过单片机检测A、B相输出脉冲的相位关系可以精确地判断自由摆臂的正反转。
图四旋转编码器判断正反转
2.1.3自由摆旋转角度与电机旋转角度关系建模与分析
对于基础部分,为使硬币不从平板上滑落,需要保持平板始终垂直与自由摆臂垂直,而在初始时刻,平板保持水平,与自由摆臂夹角达到30-45°左右,为保证硬币不滑落,需要在自由摆开始摆动时刻步进电机控制平板尽快达到与自由摆臂垂直位置。
而在以后的摆动过程中,保持平板方向不变便能满足硬币不滑落的要求。
根据上述公式,可以算出旋转编码器脉冲数与步进电机转动脉冲数对应关系,几个主要的对应关系如表一所示。
右侧
左侧
编码器脉冲数
自由摆臂度数
平板调整角度
8细分步进电机对应脉冲数
16细分对应脉冲数
编码器脉冲数
自由摆臂度数
平板调整角度
8细分步进电机对应脉冲数
16细分对应脉冲数
0
0
0
0
0
0
0
0
0
0
1
0.36
0.360642
2
3
1
0.36
0.006296
2
4
2
0.72
0.722811
3
6
2
0.72
0.012619
3
6
3
1.08
1.086526
5
10
3
1.08
0.018967
5
10
…
……
……
……
……
……
……
……
……
……
84
30.24
38.00478
169
338
84
30.24
0.5956
152
304
…
……
……
……
……
……
……
……
……
……
125
45
65.25342
290
580
125
45
0.917334
234
468
…
……
……
……
……
……
……
……
……
……
167
60.12
98.49769
438
876
167
60.12
1.2582
320
640
…
……
……
……
……
……
……
……
……
172
61.92
102.4797
455
911
172
61.92
1.299339
331
662
2.2角度测量的计算
2.2.1单位脉冲转过角度计算
根据旋转编码器的精度指标,旋转一周为360°,每一个脉冲为旋转0.36°,通过获取旋转编码器的脉冲数目n,从而得到旋转角度值是n*0.36°。
旋转编码器的脉冲式送到单片机的外部中断口,从而记录脉冲的数目。
2.2.2编码器可行性计算
根据单摆的可能出现的最大角速度计算系统中可能的最小脉冲周期
T=
,其中θ为编码器分辨率,为0.36°。
计算得T=2.8ms,而采用12M晶振的单片机对脉冲计数的周期仅为1μs,远远小于T,因此采用该编码器能够满足系统要求。
2.3步进电机模块的论证分析
2.3.1步进电机步进数与螺旋编码盘输出脉冲之间关系
由于步进电机步进角为1.8°,旋转编码盘分辨率为0.36°,可以求得每一个步进角将对应5个旋转编码器输出脉冲。
我们所采用的是步进电机十六细分下的,所以最后的送给电机的单个步进角对应脉冲数N=5*16.
2.3.2步进电机最大空载启动频率分析与计算
根据自由摆运动模型可知,平板在最低位置处角速度达到最大值,
=128°/s,为保证系统的可靠,要求步进电机最大启动速度能达到2
=256°/s,由于步进电机步进角为1.8°,因此可以算出空载启动频率f=2
/1.8=142.3Hz,而我们选用的步进电机空载启动频率远高于该频率,因此我们选用的步进电机能符合系统要求。
3电路与程序设计
3.1电路的设计
3.1.1系统总体框图,如图六所示。
图六系统总体框图
3.1.1电路原理图见附录1
3.2程序的设计
3.2.1程序功能描述
主程序根据不同的要求设定不同的控制模式,在各个模式间切换。
根据设计要求,我们把程序归为几个模式,由按键切换模式。
具体分配如下:
模式一对应为基本要求一,即平板跟随自由摆旋转一周误差不超过45°;
模式二对应为基本要求二和基本要求三,即保持硬币在平板上的平衡,不让硬币掉落;
模式三对应发挥部分一和发挥部分二,对激光笔入射位置的调整以及保持激光笔入射位置的固定与平衡;
3.2.2具体的程序分析设计
(1)主程序分析设计
主程序流程图如图五所示,主程序由两个按键控制三个模式的选择。
当系统启动时,S1按下选择模式一,S2按下选择模式二;若S1和S2都未按下,那么执行模式三。
图七主程序流程图
(2)模式一的分析论证
模式一程序流程图,如图八所示。
图八模式一程序流程图
因为自由摆的周期是固定的,我们计算为2s一个周期,所以需要控制电机转动在2s内旋转360。
采用定时器定时,在十六细分下,发每个脉冲的周期为625us。
定时器定时即为625us。
3200脉冲电机旋转一周,此时,每旋转一周,记录旋转周数的变量加一,到五周后,程序执行结束。
(3)模式二的角度测量中断服务判断程序的分析论证
模式二的角度测量中断服务判断程序,如图九所示。
进入中断程序后,我们需要确定的是左右侧的方向标志。
设定两个定时器分别为T1和T2。
T1为左侧的计数器,T2为右侧的计数器。
判断当T2大于零而且T1等于零时,表明平板往右摆,置右摆标志位为一。
判断当T1大于零而且T2等于零时,表明平板往左摆,置左摆标志位为一。
对应的计数器加一后,开始查表,找到对应的电机脉冲数,送给电机,从而控制电机转动。
图八模式二角度测量中断服务程序流程图
(4)模式二程序分析与设计
选择模式二后,摆杆缓慢拉到一定的角度,同时单片机获得旋转编码器所送来的脉冲并记录下来,拉到一定角度后摆杆停止,此时,单片机就获得了最后的角度值。
按键开始后,单片机根据获取的角度值,换算为电机的转动脉冲数,发给电机,电机立即开始转动,保持平板对摆杆的垂直。
最后,电机锁定,避免电机的抖动。
此时程序执行结束。
模式二的程序流程图,如图九。
图九模式二程序流程图
3.2.3部分源程序见附录2
4测试方案与测试结果
4.1测试方案
(1)硬件测试
采用数字万用表对电路板连接情况测试。
(2)软件仿真测试
通过信号发生器产生周期方波,单片机最小系统对方波信号计数并显示脉冲数。
通过比较显示信息与数字示波器显示频率比较。
(3)系统误差测试
系统误差按照系统要求分别测试在一个周期内平板旋转角度、当放一枚硬币时自由摆在30°和45°起始位置摆动时,硬币摆动一周初始位置偏离的距离及自由摆在45°和60°起始位置摆动时,八枚硬币滑落平板的个数。
发挥部分分别测量角度在30°-60°之间各角度下,激光笔光线偏离中心线的距离。
4.2测试条件与仪器
测试条件:
检查多次,仿真电路和硬件电路必须与系统原理图完全相同,并且检查无误,硬件电路保证无虚焊。
单片机显示脉冲数与信号发生器产生相同时间显示脉冲数相符。
测试仪器:
量角器、米尺、数字万用表(DT9205)、游标卡尺,铅垂。
4.3测试结果及分析
(1)多次测量在一个摆动周期内平板转动角度
测试方法:
在最低点处保持平板水平,将摆杆拉至最高点,启动电机开始转动8圈后停止,同时让单摆自由摆动8个周期后到达最高点时停止,用量角器测出平板偏离水平的角度。
测量
次数
1
2
3
4
5
6
7
8
平板偏离水平的角度
52°
63°
49°
54°
51°
59°
58°
64°
平均
误差
6.5°
7.9°
6.1°
6.8°
6.6°
7.2°
7.2°
8.0°
误差分析:
该测试方法通过多次测量求均值降低了测试时的系统误差,较为准确的测试出了实验的误差。
(2)1枚硬币滑离中心位置的距离(cm)
测试方法:
将摆杆推至一个角度(30°-45°),在水平的平板上放置1枚硬币,并在白纸上标记其轮廓,启动系统后,观测硬币滑动的距离。
(1)在一个周期内平板旋转角度误差基本在15°以下,完全能满足设计要求。
(2)在摆动一个角度硬币偏离中心位置的距离30°时误差基本保持在5%以内,在45°时偏离中心位置距离变大,但是也都能满足设计要求。
((4)在30°到60°之间均匀取角度测量激光笔光线与中心线的距离。
测量结果偏距均在要求2cm内。
综上所述,本设计基本达到设计要求。
5.总结
此次基于自由摆的平板控制系统设计,以单片机为控制核心,采用1000线增量型旋转编码器实时采集自由摆旋转角度及方向信息,并通过步进电机开环控制平板旋转角度,以实现控制要求。
达到了在一个周期里电机精确旋转一周;平板角度调整速度快,8枚硬币滑动小无跌落;实时控制激光笔保持静态水平误差在1cm以内;动态控制误差在2cm以内的实验效果。
总结该设计的实现过程,具有以下三个方面的优点:
首先,采用1000线增量型光电旋转编码器,输出信号A、B为高低电平的数字脉冲信号,可直接与单片机管脚相连,无需额外附加驱动电路,精简了整体硬件电路设计。
实验中可根据光电旋转编码器输出脉冲触发单片机外部中断的快慢,判断摆杆的旋转速度,根据光电旋转编码器输出脉冲的多少,判断摆杆的旋转角度,根据光电旋转编码器输出信号A、B的相位关系,判断摆杆的旋转方向。
因而该设计方案具有角度值精确度高,旋转方向判别稳定可靠,硬件电路接口简单的优点。
其次,采用高性能步进电机及配套的步进电机驱动器,该步进电机最小步进角为1.8度,且可对步进电机进行四细分、八细分、十六细分可调控制,进而实现步进电机的微小精确控制。
此外,该步进电机具有较短的响应时间,经理论计算可完全满足平板保持动态水平的实时性要求。
再者,该步进电机驱动器具有脱机功能,可实现步进电机的锁定,从而使步进电机转动到指定角度后能够稳定保持在这一位置,增强了控制的稳定性。
最后,该步进电机具有较大的带负载能力,保障了在带动平板转动的过程中稳定而可靠。
再次,在该设计的程序编写方面,用光电旋转编码器输出信号产生脉冲数,直接计算出摆杆的角度,再由摆杆角度计算出步进电机需要转动的角度,再由步进电机转动角度计算出步进电机的步进数,人为的算出光电旋转编码器输出信号脉冲数与步进电机步进数的对应关系后,建立起两者的关系数组,单片机直接查表即可输出对步进电机的步进数控制量,极大的减少了单片机进行复杂的三角函数运算的时间,且有效的降低了单片机进行复杂的三角函数运算的舍入误差,提高了实验的精度。
以上三方面的优点是该设计方案得以取得良好的实验结果的有力保障。
同时,该设计方案也存在不足和有待完善之处。
如查表法虽提高了运算速度和实验精度,但在程序修改上比较麻烦和不便。
参考文献
[1]全国大学生电子设计竞赛组委会.全国大学生电子设计竞赛获奖作品选编[M].北京:
北京理工大学出版社,2007.
[2]刘宝延.步进电机及其驱动控制系统[M].哈尔滨:
哈尔滨工业大学出版社,1972.
[3]周航慈.单片机应用程序设计技术[M].北京:
北京航空航天大学出版社,1991.
[4]郁有文.传感器原理及工程应用[M].西安:
西安电子科技大学出版社,2008.
[5]吴建平.传感器原理及应用[M].北京:
机械工业出版社,2009.
[6]宋戈.51单片机应用开发范例大全[M].北京:
人民邮电出版社,2010.
[7]唐继贤.51单片机工程应用实例[M].北京:
北京航空航天大学出版社,2009.
附录1:
电路原理图
显示模块电路图
附录2:
部分源程序
(1)判断正反转程序
/************************判断正反转程序***************************/
voidint0_fun()interrupt0
{
if(e6b2c_b==1)//若为右摆
{
int0_flag_l=0;//左摆计数值清零
int0_flag_r++;//右摆计数
flag_r==1;
flag_l==0;
}
if(e6b2c_b==0)//若为左摆
{
int0_flag_r=0;//右摆计数值清零
int0_flag_l++;//左摆计数
flag_r==0;
flag_l==1;
}
}
(2)电机正反转程序
/**********************步进电机转动(逆时针)*********************/
voidmotor_ni(uintb)
{
unsignedchari,j;
j=0;
for(i=0;i<16*b;i++)
{
motor&=0xf0;
motor|=FFW[j];
j++;
if(j>=8)j=0;
delay
(2);
}
delay(200);
}
/*********************步进电机转动(顺时针)***********************/
voidmotor_shun(uinta)
{
unsignedchari,j;
j=0;
for(i=0;i<16*a;i++)
{
motor&=0xf0;
motor|=FFZ[j];
j++;
if(j>=8)j=0;
delay
(2);
}
delay(200);
}
(3)摆角测量程序
/********************向左/向右摆动的角度计算程序********************/
voidangle_count()
{
angle_r=int0_flag_r*0.36;
angle_l=int0_flag_l*0.36;
if(angle_r>0)
{
angle_l=0;
angle=angle_r;
}
elseif(angle_l>0)
{
angle_r=0;
angle=angle_l;
}
}
附录3:
主要元器件明细
序号
名称、型号及规格
数量
备注
1
STC89C51最小系统
1
系统控制
2
光电编码器E6B2-CWZ6C
1
旋转角度测量
3
步进电机42BYG250-48
1
控制平板转动4
4
步进电机驱动ZD-6209-V2
1
驱动步进电机
5
三端稳压器7805
1
产生5V电压
6
电阻
若干
7
电容
若干
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 自由 实验 报告