基于电位器式传感器位移测量仪的仿真设计

摘要

本文介绍了一款基于51单片机的位移测量仪设计,旨在采集和处理测量电路的信号,显示测量位移,实现0-50mm范围内0.1mm的高精度测量。采用米朗科技KPM12型直线位移传感器,结合单片机的串口通信和A/D转换技术,通过标准接口与计算机进行通信,并将测量数据传输到计算机,实现了便捷、高效的位移测量系统。

内容

1. 引言

位移测量在工业和科学研究中具有广泛的应用,而单片机技术的发展使得设计高精度位移测量仪变得更为可行。本设计以51单片机为核心,通过A/D转换技术和串口通信,结合米朗科技KPM12直线位移传感器,实现了精准的位移测量。

2. 位移传感器模块

2.1 米朗科技KPM12型直线位移传感器介绍

米朗科技KPM12型直线位移传感器采用非线绕电位器式传感器技术,同时具备线性电位器的特性。其工作原理类似于滑动变阻器,通过检测滑动触点位置,实现对位移的测量。该传感器具有高灵敏度、稳定性和精确度,适用于高要求的位移测量场景。

3. 单片机与位移传感器的集成

3.1 51单片机的串口通信与A/D转换

本设计采用了51单片机,通过将计算机的波特率与单片机串口通信的波特率设置为相同的9600,实现了串口通信的稳定性。同时,通过A/D转换技术,将位移传感器模块采集到的模拟信号转换为数字信号,为后续数据处理提供了可靠的基础。

4. 通信模块与计算机连接

4.1 标准接口设计

设计了与计算机通信的标准接口,确保了设备的兼容性。通过该接口,单片机能够与计算机进行稳定、高效的数据传输。

4.2 数据传输与计算

在通信初始化完成后,通过指令控制单片机通过通信模块将测量数据传输到计算机。计算机串口调试助手可直观显示测量结果,实现了便捷的数据监测和分析。

结论

本文介绍了一种基于51单片机的位移测量仪设计,利用米朗科技KPM12型直线位移传感器实现了高精度的位移测量。通过串口通信和A/D转换技术,将测量数据传输到计算机,为工业控制和科学研究提供了一种可靠的位移测量解决方案。

关键词

位移传感器;51单片机;A/D转换;串口通信。


/*=============================================================*/
#include<reg52.h>	//器件配置文件
#include <intrins.h>
#include "lcd.h"#define u8 unsigned char  
#define u16 unsigned int
#define uchar unsigned char
#define uint unsigned intunsigned char voltage[] = {'0','0','0','.','0',0};unsigned int circuit,aa,bb,cc,dd,ac,setv1,setv2;float u,k;unsigned int j,ppm,cp; uint dat=0,shidu;void ConfigUART(unsigned int baud);              //串行口配置函数
void ConfigTimer0();                             //定时器0配置函数
void SendData(unsigned char ch);                 //字符发送函数
void SendString(char *s);                        //字符串发送函数
void AlarmJudge(void);														//警报
void delayms(unsigned int ms);
void UartSend();								 //串口数据发送函数//AD管脚sbit ADCS 	=P3^5; 
sbit ADCLK  =P3^2; 
sbit ADDI 	=P3^3;
sbit ADDO 	=P3^4; sbit Buzzer_P  = P2^1;		// 蜂鸣器的管脚sbit KEY  = P1^3;		// “设置”按键的管脚
sbit KeyDown_P = P1^4;		// 按键的管脚uint set_value = 30;
uint set_value_count = 0;		//警报设置菜单
uint key_count=1;/***********************************
函数名:   Adc0832
功能:    启动AD转换将值储存于 dat***********************************/
unsigned int Adc0832(unsigned char channel)
{uchar i=0;uchar j;uchar ndat=0;//	uchar  Vot=0;if(channel==0)channel=2;	//  10if(channel==1)channel=3;	//	11ADDI=1;_nop_();_nop_();ADCS=0;				//拉低CS端 开始_nop_();_nop_();ADCLK=1;			//拉高CLK端_nop_();_nop_();ADCLK=0;			//拉低CLK端,形成下降沿1  第一个脉冲的下降沿,此前DIO必须是高电平_nop_();_nop_();ADCLK=1;			//拉高CLK端ADDI=channel&0x1;			//_nop_();_nop_();ADCLK=0;		//拉低CLK端,形成下降沿2_nop_();_nop_();ADCLK=1;//拉高CLK端ADDI=(channel>>1)&0x1;_nop_();_nop_();ADCLK=0;//拉低CLK端,形成下降沿3ADDI=1;//控制命令结束 输入端DI失去作用,应置1_nop_();_nop_();dat=0;for(i=0;i<8;i++){dat|=ADDO;//收数据	(或)ADCLK=1;_nop_();_nop_();ADCLK=0;//形成一次时钟脉冲_nop_();_nop_();dat<<=1;		//左移一位if(i==7)dat|=ADDO;   //将输出数据DO通过或运算储存在dat最低位 }
.....

资料下载地址:1924 基于电位器式传感器位移测量仪的仿真设计 【毕设课设】

腾讯文档腾讯文档-在线文档icon-default.png?t=N7T8https://docs.qq.com/doc/p/ffc421513a628b30450ae742547c0b850456d7c8

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/527097.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【R语言爬虫实战】抓取省市级城市常务会议内容

&#x1f349;CSDN小墨&晓末:https://blog.csdn.net/jd1813346972 个人介绍: 研一&#xff5c;统计学&#xff5c;干货分享          擅长Python、Matlab、R等主流编程软件          累计十余项国家级比赛奖项&#xff0c;参与研究经费10w、40w级横向 文…

onlyoffice监听https

修改onlyoffice 在开始将您的ONLYOFFICE Docs切换到HTTPS协议之前&#xff0c;您需要创建一个安全证书和证书私钥。将它们放到安装ONLYOFFICE Docs的计算机上的一个文件夹中。 获得证书后&#xff0c;请执行以下步骤&#xff1a; 所有命令都应以管理员权限执行。要以管理员身份…

贝叶斯优化的门控循环神经网络BO-GRU(时序预测)的Matlab实现

贝叶斯优化的门控循环神经网络&#xff08;BO-GRU&#xff09;是一种结合了贝叶斯优化&#xff08;Bayesian Optimization, BO&#xff09;和门控循环单元&#xff08;Gated Recurrent Unit, GRU&#xff09;的模型&#xff0c;旨在进行时序预测。这种模型特别适用于时间序列数…

【Scrapy】京东商品数据可视化

【Scrapy】京东商品数据可视化 文章目录 【Scrapy】京东商品数据可视化  &#x1f449;引言&#x1f48e;一、爬取数据&#xff1a;1.1 scrapy爬虫库简介&#xff1a;1.2 技术实现&#xff1a;1.2.1搭建框架结构1.2.2 分析网页结构 二、数据保存&#xff1a;三、数据读取以及…

基于PCtoLCD实现OLED汉字取模方法

0 工具准备 PCtoLCD2002 NodeMCU&#xff08;ESP8266&#xff09;&#xff08;验证OLED字模效果&#xff09; 0.96寸OLED显示屏 1 基于PCtoLCD实现OLED汉字取模方法 1.1 基础知识介绍 0.96存OLED显示屏包含128x64个像素点&#xff0c;x轴方向为128个像素点&#xff0c;y轴方向…

重学SpringBoot3-内容协商机制

重学SpringBoot3-内容协商机制 ContentNegotiationConfigurer接口配置内容协商URL参数Accept头使用Url扩展名 自定义内容协商格式步骤1: 注册自定义媒体类型步骤2: 实现HttpMessageConverter接口步骤3: 使用自定义HttpMessageConverter 注意点 在 Spring Boot 3 中&#xff0c;…

【共享内存】System V共享内存{通信原理/相关接口/代码测试}

文章目录 1.初识共享内存1.0浅谈System V1.1什么是共享内存&#xff1f;1.2Linux-System V共享内存1.3图解共享内存1.4对共享内存的理解 2.创建共享内存2.1共享内存如何创建&#xff1f;2.2代码运行与测试2.3shm与pipe的区别2.4shm缺乏访问控制 3.代码理解shm3.1Log.hpp3.2comm…

HarmonyOS 数据持久化 关系型数据库之 查询逻辑编写

前面两篇文章 HarmonyOS 数据持久化 关系型数据库之 初始化操作 和 HarmonyOS 数据持久化 关系型数据库之 增删改逻辑编写 我们已经编写了 初始化 和 增删改 操作的基本逻辑 最后 收尾一下查询的函数 我们还是打开编辑器 然后 打开项目 找到 我们正在写的这个 relationalClass…

FPGA - 时钟Buffer的探究

1、IBUF : FPGA上所有的输入信号必须进过IBUF,vivado会自动给所有输入信号分配IBUF OBUF&#xff1a;FPGA上所有的输入信号必须进过IBUF,vivado会自动给所有输入信号分配OBUF BUFG:专用时钟的资源&#xff0c;目的是减少时钟抖动、增强时钟的驱动能力&#xff0c;vivado不会给信…

L2-2 老板的作息表(Python)

作者 陈越 单位 浙江大学 新浪微博上有人发了某老板的作息时间表&#xff0c;表示其每天 4:30 就起床了。但立刻有眼尖的网友问&#xff1a;这时间表不完整啊&#xff0c;早上九点到下午一点干啥了&#xff1f; 本题就请你编写程序&#xff0c;检查任意一张时间表&#xff0c…

Linux Docker安装redis缓存数据库

文章目录 一、查找Redis镜像二、拉取redis镜像三、创建数据目录和配置文件四、创建redis容器 一、查找Redis镜像 首先到docker镜像仓库下载redis镜像。地址&#xff1a;https://hub.docker.com/搜索redis&#xff0c;如下&#xff1a;找到对应想要下载的版本&#xff1a; 二、…

Leetcode - 二分查找 | 在排序数组中查找元素的第一个和最后一个位置

题目一&#xff1a;二分查找 二分查找 看到这道题之后&#xff0c;很快就能想到暴力的解法&#xff0c;把数组遍历一遍就能找到答案&#xff0c;时间复杂度O(n)。 假设存在一批数字[1&#xff0c;1&#xff0c;3&#xff0c;4&#xff0c;5&#xff0c;6&#xff0c;7&#x…