当前位置: 首页 > news >正文

单片机设计电流与温度监控python上位机监控平台设计

目录

前言

一、本设计主要实现哪些很“开门”功能?

二、电路设计原理图

电路图采用Altium Designer进行设计:

三、实物设计图

四、程序源代码设计 

五、获取资料内容


前言

在现代工业自动化和智能设备管理中,对电流和温度的实时监控是至关重要的。电流和温度作为反映设备运行状态的关键参数,其稳定性和安全性直接关系到整个系统的可靠性和效率。为了确保设备的正常运行,及时发现并解决潜在问题,设计一个高效的电流与温度监控系统显得尤为重要。

然而,仅有单片机采集的数据是远远不够的,我们还需要一个能够接收、处理和展示这些数据的上位机监控平台。Python,作为一种高级编程语言,以其简洁的语法、丰富的库和强大的功能,成为开发上位机监控平台的优选工具。。

本文将详细介绍一个基于单片机和Python的上位机监控平台的设计和实现过程。该平台将采用单片机作为数据采集的核心,通过传感器实时获取电流和温度数据,并将这些数据通过串口或其他通信协议传输给上位机。上位机则使用Python进行开发,负责接收数据、处理数据、展示数据和触发报警。

本设计旨在提供一个稳定、可靠、易于使用的电流与温度监控系统,为设备的维护和管理提供便捷的工具。通过该平台,用户可以实时查看设备的电流和温度情况,及时发现异常情况并采取相应措施,从而确保设备的正常运行和延长使用寿命。

接下来,本文将详细介绍该监控平台的硬件设计、软件实现以及具体的功能展示,为读者提供一个全面的设计和实现方案。

一、本设计主要实现哪些很“开门”功能?

        1)精密电流uA级别检测功能,实时检测存储
        2)实时温控检测,采用卡尔曼滤波实现温度误差便宜
        3)同讯上位机采用自制的485USB模块,加上抗静电与EMC保护电路
        4)采用加密协议进行传输至上位机
        5)python上位机绘制的QT界面,实现全方面数据检测
        6)具备后台log数据日志存储

二、电路设计原理图

电路图采用Altium Designer进行设计:


1、通过STM32F103C8T6单片机作为系统主控,最小系统电路是整个电路的核心。

2、高精密电流检测运放电路,ADC模拟接口与单片机进行连接

3、 使用485转USB模块连接上位机,模块与单片机使用485接口连接

4、通过DS18B20进行温度监控

5、使用卡尔曼滤波算法,程序内部运行

6、通过防静电电路设置,模块与单片机使用数据总线控制连接稳妥

 

三、实物设计图


四、程序源代码设计 

int main(void)
{
    u8 rs485buf[22] = {0X00}; 
    u8 num = 0;
    u16 t=0,t2=0,t3=0,t4=0,t5=0,I = 0,I2 = 0,I3 = 0,I4 = 0,I5 = 0;    
    short temperature,temperature2,temperature3,temperature4,temperature5; 
  float temp = 0,temp2 = 0,temp3 = 0,temp4 = 0,temp5 = 0;
    delay_init();             //延时函数初始化    
    NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置中断优先级分组为组2:2位抢占优先级,2位响应优先级 
    uart_init(9600);
    RS485_Init(9600);    //初始化RS485

    Adc_Init();
    Adc_Init2();    

    TIM2_Int_Init(4999,7199);//计时500ms
//    TIM3_Int_Init(9999,7199);//1s计时
    while(1)
    {    
        if(num == 20)
        {
            num = 0;
            
            t = t/20;
            temp = (float)t*33/16384;I = temp*100000;rs485buf[11] = I>>8; rs485buf[12] = I;
            
            t2 = t2/20;
            temp2 = (float)t2*33/16384;I2 = temp2*100000;rs485buf[13] = I2>>8; rs485buf[14] = I2;

            
            RS485_Send_Data(rs485buf,22);//发送5个字节     

        }
        if(fla_con)
        {
            fla_con = 0;
            temperature=DS18B20_Get_Temp();    rs485buf[1] = temperature>>8; rs485buf[2] = temperature;
            adcx1=Get_Adc_Average(ADC_Channel_2,1);
            
            temperature2=DS18B20_Get_Temp2();rs485buf[3] = temperature2>>8; rs485buf[4] = temperature2;
            adcx2=Get_Adc_Average(ADC_Channel_3,1);
            
            temperature3=DS18B20_Get_Temp3();rs485buf[5] = temperature3>>8; rs485buf[6] = temperature3;
            adcx3=Get_Adc_Average2(ADC_Channel_4,1);

    }

}


 


 

五、获取资料内容

资料获取
链接:https://pan.baidu.com/s/1hv8MSqt4AmWzFdYzM_D7Eg 
提取码:u2n9 


http://www.mrgr.cn/news/74870.html

相关文章:

  • 机器学习基础04
  • 力扣 二叉树的直径-543
  • 第四节-OSI-网络层
  • 未来汽车新变革,智能表面浮出水面
  • 【算法一周目】双指针(2)
  • Springboot 微信小程序定位后将坐标转换为百度地图坐标,在百度地图做逆地址解析
  • 三维点云 和模型转换的问题
  • 【Linux】多线程(中)
  • maven 中存在jar包,但是pom无法依赖
  • ssm114基于SSM框架的网上拍卖系统的设计与实现+vue(论文+源码)_kaic
  • ABAP开发学习——权限控制
  • 重磅!EN 1888-3欧盟婴儿手推车标准更新
  • 从H264视频中获取宽、高、帧率、比特率等属性信息
  • 【轻松解决】Defender SmartScreen 风险提示
  • 意式轻奢风!
  • shell批量重命名
  • 【SQL】一文速通SQL
  • aitrader双界面引擎(dash和streamlit),引入zvt作为数据获取及存储支持
  • 前端数据可视化库介绍Echarts、D3.js、Plotly、Matplotlib
  • ssh登陆服务器后支持Tab键命令补全
  • 改扩配系列:浪潮英政服务器CS5280H2、IR5280H2——板载前置3.5寸*12口背板
  • 抠图软件哪个好用?8款抠图软件轻松实现一键抠图!
  • Java EE 技术基础知识体系梳理
  • MATLAB保存多帧图形为视频格式
  • 【redis】—— 初识redis(redis基本特征、应用场景、以及重大版本说明)
  • 淘宝代购系统;海外代购系统;代购程序,代购系统源码PHP前端源码