基于单片机的锥管螺纹参数测量系统的开发与设计.doc
基于单片机的锥管螺纹参数测量系统的开发与设计,摘 要螺纹连接作为石油油管的常见连接方式,因此在采油作业中螺纹连接效果至关重要。本文选取资源丰富的c8051f005单片机,以该单片机为系统核心,提出了一种新的、基于单片机的锥管螺纹几何参数自动测量方法。其具体过程为:通过光栅和编码器两种传感方式测量螺纹垂直和水平两个方向的数...
内容介绍
此文档由会员 yanglin224 发布基于单片机的锥管螺纹参数测量系统的开发与设计
摘 要
螺纹连接作为石油油管的常见连接方式,因此在采油作业中螺纹连接效果至关重要。本文选取资源丰富的C8051F005单片机,以该单片机为系统核心,提出了一种新的、基于单片机的锥管螺纹几何参数自动测量方法。其具体过程为:通过光栅和编码器两种传感方式测量螺纹垂直和水平两个方向的数据,并将数据传输到PC机,然后用PC机处理数据信息来获得被测锥管螺纹的相关几何参数。论文主要包括机械结构、硬件电路和软件程序三个方面的内容。
机械结构部分:机械结构部分是系统正常运动的基础。本系统机械结构部分使用步进电机为系统动力来源,采用电机带动丝杆转动,丝杆带动其上的螺母左右移动来实现螺纹测量。
硬件电路部分:主要包括单片机最小系统,电源模块的设计;光栅信号的细分辨向处理以及对细分后得到的数据进行采集与存储, 编码器信号的辨相及对数据的采集与存储;液晶电路用于测量数据的显示;步进电机控制电路完成对步进电机起停以及转向的控制;单片机和PC机数据的串口通信部分,实现把采集来的数据通过串口送入PC机进行保存、处理。
单片机软件程序的设计:本课题采用C语言,使用目前流行的keil开发环境,基于模块化、便于调试的原则编写了单片机软件程序。
PC机软件部分的设计。由于Visual C++功能强大、应用灵活,选用Visual C++作为系统编程软件;PC机程序部分包括串口通信,数据实时显示,系统运动控制,被测件轮廓曲线显示,数据保存、读取、处理及显示等五大模块。
通过实验验证,该系统功能完善、智能性高,能达到多种领域的测量要求,具有很好的应用价值。
关键词:螺纹;C8051F005;Visual C++;步进电机控制
DEVELOPMENT OF MEASURING CONICAL SCREW THREAD PARAMETER BASED ON MICROCONTROLLER
Abstract
Tube use screw thread to connect more to entirety. So it is important to examine the screw thread for normal oil production. This paper introduces an instrument for auto-measuring parameters of screw thread. This use C8051F005 microcontroller as the core of the system, grating sensor and rotary encode sensor, to get level data and vertical data, then send the data to PC, finally, calculation and treatment. This paper includes the following content:
Design of mechanical of system: mechanical is the base of moving of system, stepper motor is used to provide power, stepper motor drive screw rotation, screw drive screw nut move around, then the system can measure.
Design of hardware circuit of system: mainly include minimum system of microcontroller, design of power, the subdivision and sensing treatment of the grating signals, as well as collection and storage of grating data. The distinguish direction of rotary encode sensor, the part of LCD is used to display the data. electrical machine control circuit finished the controlling of the start, stop and direction of motor, serial connecting circuit is used to communicate with the PC.
Design of software of MCU: C Language Programming is used in this paper, use the pop compile environment keil, module principle is adopted in program.
Design of software of PC: on considering several interface programming software, because of the power, application flexibility of Visual C++, it is used. This part mainly includes serial connecting program, displaying of data, controlling of motor, saving and reading of data, displaying of curve and result.
It is proved that the design has the characteristic of featured and high intelligence, It has a very good application.
Key words: Screw thread, C8051F005, C++, Stepper Motor Control
目 录
1 绪论 1
1.1 课题的研究背景 1
1.2螺纹传统的测量方法 1
1.3螺纹测量的研究现状 3
1.3.1国外研究现状 3
1.3.2国内研究现状 3
1.3.3发展趋势 4
1.4本课题的研究内容及研究意义 4
2 系统总体方案的研究与设计 6
2.1 系统总体设计思路 6
2.2 系统机械原理图 7
2.3 系统硬件和软件总体方案设计 9
2.3.1 系统总体硬件设计 9
2.3.2 系统总体软件设计 10
2.4 本章小结 12
3系统硬件电路研究与设计开发 13
3.1单片机及最小系统电路 13
3.1.1 C8051F005单片机介绍 13
3.1.2单片机外围电路 14
3.1.3电源及电源管理模块 14
3.1.4 系统时钟电路 15
3.1.5 JTAG接口电路 16
3.2光栅信号采集处理电路 16
3.2.1光栅传感器的工作原理 16
3.2.2光栅传感器的技术参数 18
3.2.3 光栅传感器数据的处理 19
3.3编码器信号采集处理电路 20
3.3.1 编码器 20
3.3.2编码器数据的处理 21
3.4 LCD显示部分电路 21
3.5 USB转UART桥接通信电路 23
3.5.1 USB通讯技术 23
3.5.2 CP2102芯片简介 23
3.6 数据存储电路 24
3.6.1 I2C串行通讯技术 24
3.6.2存储器接口电路 25
3.7 步进电机驱动电路 25
3.8 本章小结 27
4系统软件设计 28
4.1 下位机软件设计 28
4.1.1 Keil简介 28
4.1.2主程序设计 29
4.1.3 LCD显示程序 29
4.1.4 数据采集函数 32
4.1.5 串口通信程序 32
4.1.6 数据存取程序设计 34
4.1.7 步进电机控制程序 35
4.2上位机软件设计 36
4.2.1面向对象编程 36
4.2.2 上位机界面设计 37
4.2.3 串口通信模块 38
4.2.4电机运动控制模块 41
4.2.5数据实时显示及绘图模块 41
4.2.6 采样数据的保存与读取 42
4.3 本章小结 43
5 系统调试及实验验证 44
5.1 系统硬件调试 44
5.1.1 上电前检查 44
5.1.2 电源电路调试 44
5.1.3 单片机最小系统调试 45
5.1.4 单片机外围电路调试 45
5.2系统验证 46
5.2.1螺纹几何参数的测量 46
5.2.2实验验证 47
5.3本章小结 49
6 总结与展望 50
致谢 51
参考文献 52
附录A 55
附录B 58