**单片机设计介绍,基于单片机低频数字式相位测量仪设计
文章目录
一 概要
基于单片机低频数字式相位测量仪的设计概要主要包括以下几个方面:
一、设计目标
低频数字式相位测量仪的设计目标是实现低频信号(一般指100Hz以内的正弦频率信号)的相位差测量,具有读数方便、精度高、测量速度快的特点。该仪器能够解决相邻区段有车占用时极性交叉无法检查的问题,并对轨道电路相位差、相邻区段极性交叉进行检查。
二、系统构成
系统主要由单片机、信号输入与处理模块、显示模块等构成。单片机作为核心控制单元,负责整体的控制和数据处理;信号输入与处理模块负责将待测信号转化为适合单片机处理的数字信号;显示模块则用于将测量结果直观地展示给用户。
三、工作原理
低频数字式相位测量仪的工作原理是将输入的两路信号经过某种处理将其变成方波,然后通过比较这两路方波计算出相位差脉宽。最后,通过用高频脉冲填充相位差来实现相位差的测量。在这个过程中,单片机扮演着关键角色,负责控制信号的处理、计算和显示。
四、软件设计
软件设计部分主要涉及到信号的采集、处理、计算和显示。单片机通过特定的算法对输入信号进行处理,计算相位差,并将结果通过显示模块输出。为了提高测量的精度和稳定性,还需要对算法进行优化和校准。
五、硬件设计
硬件设计部分主要涉及到单片机的选型、电路的设计、信号输入与处理模块的实现等。需要选择合适的单片机型号,设计合理的电路来连接各个模块,确保信号的稳定性和可靠性。
六、精度优化
为了提高测量精度,可以采取多种措施,如优化算法、提高单片机的处理能力、采用更精确的时钟源等。同时,还需要对仪器进行定期校准和维护,以确保其长期稳定运行。
七、功能扩展
除了基本的相位测量功能外,还可以根据实际需求扩展其他功能,如频率测量、波形显示等。这可以通过增加相应的硬件模块和软件功能来实现。
综上所述,基于单片机低频数字式相位测量仪的设计是一个复杂而精细的过程,需要综合考虑硬件和软件设计、精度优化和功能扩展等多个方面。通过合理的设计和实现,可以开发出具有高性能和广泛应用前景的低频数字式相位测量仪。
二、功能设计
1、基本要求
(1)方波信号频率范围:100Hz~1kHz。
(2)方波信号幅度范围3.3V-5V。
(3)频率测量相对误差<1%
(4)相位差测量绝对误差<5°
(5)具有频率和相位差显示功能。
(6)相位差显示范围为0~359.9,显示分辨力为0.1°。
2.发挥部分
(1)正弦信号频率范围:10Hz~100kHz。
设计思路
设计思路
文献研究法:搜集整理相关单片机系统相关研究资料,认真阅读文献,为研究做准备;
调查研究法:通过调查、分析、具体试用等方法,发现单片机系统的现状、存在问题和解决办法;
比较分析法:比较不同系统的具体原理,以及同一类传感器性能的区别,分析系统的研究现状与发展前景;
软硬件设计法:通过软硬件设计实现具体硬件实物,最后测试各项功能是否满足要求。
三、 软件设计
本系统原理图设计采用Altium Designer19,具体如图。在本科单片机设计中,设计电路使用的软件一般是Altium Designer或proteus,由于Altium Designer功能强大,可以设计硬件电路的原理图、PCB图,且界面简单,易操作,上手快。Altium Designer19是一款专业的整的端到端电子印刷电路板设计环境,用于电子印刷电路板设计。它结合了原理图设计、PCB设计、多种管理及仿真技术,能够很好的满足本次设计需求。
————————————————
仿真实现
本设计利用protues8.7软件实现仿真设计,具体如图。
Protues也是在单片机仿真设计中常用的设计软件之一,通过设计出硬件电路图,及写入驱动程序,就能在不实现硬件的情况进行电路调试。另外,protues还能实现PCB的设计,在仿真中也可以与KEIL实现联调,便于程序的调试,且支持多种平台,使用简单便捷。
————————————————
原理图
五、 程序
本设计利用KEIL5软件实现程序设计,具体如图。作为本科期间学习的第一门编程语言,C语言是我们最熟悉的编程语言之一。当然,由于其功能强大,C语言是当前世界上使用最广泛、最受欢迎的编程语言。在单片机设计中,C语言已经逐步完全取代汇编语言,因为相比于汇编语言,C语言编译与运行、调试十分方便,且可移植性高,可读性好,便于烧录与写入硬件系统,因此C语言被广泛应用在单片机设计中。keil软件由于其兼容单片机的设计,能够实现快速调试,并生成烧录文件,被广泛应用于C语言的编写和单片机的设计。
————————————————
六、 文章目录
目 录
摘 要 I
Abstract II
引 言 1
1 控制系统设计 2
1.1 主控系统方案设计 2
1.2 传感器方案设计 3
1.3 系统工作原理 5
2 硬件设计 6
2.1 主电路 6
2.1.1 单片机的选择 6
2.2 驱动电路 8
2.2.1 比较器的介绍 8
2.3放大电路 8
2.4最小系统 11
3 软件设计 13
3.1编程语言的选择 13
4 系统调试 16
4.1 系统硬件调试 16
4.2 系统软件调试 16
结 论 17
参考文献 18
附录1 总体原理图设计 20
附录2 源程序清单 21
致 谢 25