摘 要
本次设计内容为制作一个管道内钢珠运动测量装置,采用STM32F103Z作为主控芯片,装置使用2个非接触式传感器检测钢珠运动。配合信号处理和显示电路获得钢珠的运动参数。本装置可以实现两传感器处于任意间距时,倾斜放置管道,由高端放入2~10粒钢珠,可显示放入钢珠个数。左右两端分别置于高端,放入钢珠可显示其运动方向。并能测出管道的倾斜角a的角度值(倾斜角度a为10°到80°之间的某一角度,测量误差的绝对值≤3°)。
Abstract
The content of the design is to make a measuring device forsteel ball movement in a pipe, using STM32F103Z as the main control chip, andthe device uses 2 non - contact sensors to detect the movement of steel ball.With the signal processing and display circuit, the motion parameters of thesteel ball are obtained. The device can realize two sensors at any distance,tilt the pipeline, and put the 2~10 steel ball into the high end. It candisplay the number of steel balls. The left and right ends are placed at thetop end and placed into the steel ball to show the direction of movement. Itcan also measure the angle of a of the inclination angle of the pipeline (theangle of inclination A is from 10 to 80 degrees, and the absolute value of themeasurement error is less than 3 degrees).
目录 一、系统方案... 1
1、非接触式传感器的论证与选择... 1
2、显示模块的论证与选择... 1
3、控制系统的论证与选择... 2
二、系统理论分析与计算... 2
1、系统总体设计... 2
2、角度值的计算... 3
3、检测电路原理分析计算... 3
4、显示电路的原理及分析... 4
三、电路与程序设计... 5
1、电路的设计... 5
(1)STM32F103Z电路原理图... 5
(2)LCD12864电路原理图... 5
(3)降压稳压模块电路原理图5
(4)复位按键电路原理图6
(5)电源... 6
2、程序的设计... 6
(1)程序功能描述与设计思路... 6
(2)程序流程图... 7
四、测试方案与测试结果... 9
1、测试方案... 9
2、测试条件与仪器... 10
3、测试结果及分析... 10
(1)测试结果(数据) 10
(2)测试分析与结论... 10
五、结论与心得... 11
六、参考文献... 11
附录1:电路原理图... 12
附录2:源程序... 13
管道内钢珠运动测量装置(M题) 【专科组】 一、系统方案本系统主要由主控芯片、传感器模块、显示模块、电源模块组成,下面分别论证这几个模块的选择。
1、非接触式传感器的论证与选择方案一:红外光电传感器
红外光电传感器模块具有一对红外线发射与接受管,发射管发射一定频率的红外线,当检测方向遇到障碍物时,红外线反射回来被接收管接收,经过比较器电路处理之后,信号输出接口输出数字信号,可调节检测距离,有效检测距离2~30cm。
方案二:LJ18A3—8Z/BX接近开关
接近开关又称无触点开关,是理想的电子开关量传感器。当金属检测体接近开关的感应区域 ,开关就能无接触,无压力、无火花、迅速发出电气指令,准确反应出运动机构的位置和行程,其既有行程开关、微动开关的特性,同时具有传感性能,且动作可靠,性能稳定,频率响应快,应用寿命长,抗干扰能力强等特点。
由于本设计被测钢珠要通过不透明的硬塑料管材,且没有加工痕迹,红外对管对环境光线要求比较高,管材无法实现,所以红外光电传感器不适合本次设计。被测钢珠为金属材质,接近开关为无触点式开关,无需破坏管材,为本次实验合适的模块。
综合以上两种方案,选择方案二。
2、显示模块的论证与选择方案一:LCD1602显示模块
LCD1602是一种工业字符型液晶,能够同时显示16x02即32个字符。LCD1602液晶显示原理 LCD1602液晶显示的原理是利用液晶的物理特性,通过电压对其显示区域进行控制,有电就有显示,这样即可以显示出图形。
优点:是字符型液晶,显示字母和数字比较方便、控制简单、成本较低
缺点:显示的字体有大小限制、不能显示图形和汉字、不能显示曲线
方案二:LCD12864显示模块
LCD12864是一种图形点阵液晶显示器,它主要由行驱动器/列驱动器及128&TImes;64 全点阵液晶显示器组成。可完成图形显示,也可以显示8&TImes;4个(16&TImes;16 点阵)汉字或者显示16&TImes;4个(8×16 点阵)ASCII码。
优点:功耗低、背光强、显示内容多
缺点:程序比较复杂
因LCD1602不能显示汉字和图形,显示字符较少,本次设计选择显示信息量大的LCD12864显示模块
综合以上两种方案,选择方案二。
3、控制系统的论证与选择方案一:AT89S52单片机
采用AT89S52单片机进行系统的控制,算术功能强,软件编程灵活,自由度大,功耗小,体积小。最熟悉,可查阅的资料最多,但片内接口少,处理速度慢,不便于实时调控。
方案二:STM32F103Z
采用以ARM Cortex-M3为内核的STM32F103z控制芯片,其内部时钟频率为72MHz,支持CAN总线传输,可以实现多路数据的传输和处理,且有丰富的库函数可供调用,简化了程序设计的过程。片内资源多,速度高,浮点运算快,但一般价格较高。
通过比较,我们选择方案二,采用STM32F103Z作为主控制芯片,控制数据的接收,处理与发送。
综合考虑采用方案二
二、系统理论分析与计算1、系统总体设计 系统总体框图如图1.1所示,系统工作过程为:当开关按键按下之后,各个部分同时工作,显示模块显示钢珠个数及运动方向,并显示倾斜角的角度值。
图1.1 系统总体框图 2、角度值的计算钢珠以零速度进入管道,两个电感式接近开关传感器分别检测钢珠运动通过开关所需时间并送到单片机进行处理,计算出两点的不同速度,进而计算出加速度,最终计算出管道放置的角度
图1.7主程序流程图 2、计算角度值子程序流程图
图1.8 计算角度子程序图 3、判断方向子程序流程图
图1.9 判断方向流程图
4、计数流程图
图2.0 计数程序流程图
5、显示电路程序流程图
图2.1 显示电路程序流程图
四、测试方案与测试结果1、测试方案(1)硬件测试
1)绘制各个电路,焊接完毕后,测试系统各个功能模块的电源值,得到电源模块达到设计要求。
2)测试接近传感器能否正常工作。
3)测量各模块供电电压是否达到要求。
4)测试显示角度值与对照角度值的误差
4)再次检查电路是否有虚焊、漏焊和走线问题。
(2)硬件软件联调
通过编写简单的角度测量程序,对比测量角度值与对照角度刻度是否一致,软件都调试无误后,进入系统最后的软件编写调试。
2、测试条件与仪器测试条件:检查多次,仿真电路和硬件电路必须与系统原理图完全相同,并且检查无误,硬件电路保证无虚焊。
测试仪器:高精度的数字毫伏表,数字万用表,高精度量角器。
3、测试结果及分析(1)测试结果(数据) 角度的误差测量
对照角度值 | 10 | 27 | 35 | 43 | 52 | 68 | 74 | 80 | 显示角度值 | 11 | 26 | 35 | 46 | 53 | 69 | 75 | 79 |
放入钢珠的个数、方向与显示值的对照 放入钢珠个数 | 2 | 4 | 6 | 7 | 8 | 显示钢珠个数 | 2 | 4 | 6 | 7 | 8 | 实际方向 | 01 | 10 | 10 | 01 | 10 | 显示方向 | 01 | 10 | 10 | 01 | 10 | 实际周期 | 2 | 5 | 6 | 8 | 9 | 显示周期 | 2 | 5 | 6 | 8 | 9 |
(2)测试分析与结论根据上述测试数据,由此可以得出以下结论:
1、放入钢珠的个数显示正确。
2、钢珠的运动方向显示正确。
3、管道的倾斜角测量角度值与对照角度值误差file:///C:/Users/IDEAPA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image049.png。
综上所述,本设计达到设计要求。
五、结论与心得经过几天时间的不懈努力,本次实验终于达到预期目标,实现了管道内测量钢珠的个数,运动方向,管道倾斜角的角度值及摆动周期的显示。刚开始在编写程序过程中,钢珠计数及运动方向问题很容易解决,在角度值的计算方面出现了困难,队员之间意见存在分歧,经过严密的分析以及查阅大量资料后,最终消除了分歧,统一了意见,制定出一套较为完美的方案。经过这次实验,我们不仅掌握了STM32开发板的应用和LCD12864的显示。更重要的是培养了我们自主学习和团队协作的能力,更让我们懂得:洒下努力的汗水,你就会收获成功的喜悦。
六、参考文献[1] 谭浩强.C语言程序设计[M].北京:清华大学出版社,2012
[1] 谭浩强.C语言程序设计[M].北京:清华大学出版社,2012
|