43

您所在的位置:网站首页 pt100温度采集电路如何设计 43

43

2023-10-21 04:32| 来源: 网络整理| 查看: 265

功能介绍:采用stm32单片机作为主控MCU,采用MAX31865模块采集PT100温度数据,并且通过SPI协议将数据传送到单片机,stm32单片机收到数据将温度显示到OLED显示屏上,MAX31865是简单易用的热敏电阻至数字输出转换器,优化用于铂电阻温度检测器(RTD)。外部电阻设置RTD灵敏度,高精度Δ- Σ ADC将RTD电阻与基准电阻之比转换为数字输出。MAX31865输入具有高达±45V的过压保护,提供可配置的RTD及电缆开路、短路条件检测。全部资料都经过实物验证,程序有中文注释,新手容易看懂,资料分享下载链接:设计资料合集

43-基于stm32单片机MAX31865铂电阻PT100温度测量(程序+原理图+元器件清单全套资料)

 下面是部分程序展示,程序中文注释,新手容易看懂

//初始化SPI max31865 的IO口 void SPI1_MAX31865_Init(void) { SPI1_Init(); //初始化SPI1 SPI1_SetSpeed(SPI_BaudRatePrescaler_64); //设置为 72/64 = 1.125 M时钟 writeRegister8_1(0x00, 0x00); //清除配置寄存器 enableBias_1(1); //使能偏置电压 delay_ms(10); //等待10ms使得RTDIN的滤波电容充电 setWires_1(MAX31865_3WIRE); //使能PT100 三线工作模式 clearFault_1(); //清除故障检测位 } //RTD接线模式设置 void setWires_1(max31865_numwires_t wires) { uint8_t t = readRegister8_1(MAX31856_CONFIG_REG); if (wires == MAX31865_3WIRE) { t |= MAX31856_CONFIG_3WIRE; } else { // 2 or 4 wire t &= ~MAX31856_CONFIG_3WIRE; } writeRegister8_1(MAX31856_CONFIG_REG, t); } //设置自动转换模式 void autoConvert_1(bool b) { uint8_t t = readRegister8_1(MAX31856_CONFIG_REG); if (b) { t |= MAX31856_CONFIG_MODEAUTO; // enable autoconvert } else { t &= ~MAX31856_CONFIG_MODEAUTO; // disable autoconvert } writeRegister8_1(MAX31856_CONFIG_REG, t); } //使能偏执电压 void enableBias_1(bool b) { uint8_t t = readRegister8_1(MAX31856_CONFIG_REG); if (b) { t |= MAX31856_CONFIG_BIAS; // enable bias } else { t &= ~MAX31856_CONFIG_BIAS; // disable bias } writeRegister8_1(MAX31856_CONFIG_REG, t); } //读寄存器,8位 u8 readRegister8_1(u8 addr) { uint8_t ret = 0; addr &= 0x7F; // make sure top bit is set to 1 SPI1_FLASH_CS=0; delay_us(100); SPI1_ReadWriteByte(addr); //发送写取状态寄存器命令 ret = SPI1_ReadWriteByte(0xff); //写入一个字节 delay_us(100); SPI1_FLASH_CS=1; //取消片选 return ret; } //读两个寄存器,16位 u16 readRegister16_1(u8 addr) { uint8_t buffer[2] = {0, 0}; uint16_t ret = 0; readRegisterN_1(addr, buffer, 2); ret = buffer[0]; ret


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3