承接前两天发布的 自己设计压力传感器驱动PCB的博客,这里希望记录采用STM32F103C8T6对压力传感器进行通信的调试过程。
1. 压力传感器调试步骤:
- STM32点亮PC13的LED闪烁没有问题。STM32系统板状态 OK
- 压力传感器引脚接口导通性万用表测试。传感器板子导通性 OK
- STM32测试OLED显示字符串,OK
- STM32测试OLED显示动态数字,OK
- STM32测试I2C通信压力传感器,OK
- OLED显示压力传感器寄存器里面的压力与温度数值,OK
- OLED显示压力与温度数值换算后的结果,OK
经过以上测试步骤,实现了传感器表面气体压力(表压)数值的动态OLED显示,视频如下:
压力传感器OLED显示
2. 优化压力与温度数值的显示:
参考资料:
我们的系统气路输入压力:10PSI = 0.06895MPa = 68.95KPa
压力传感器原理:惠斯通电桥
MUX :数据选择器(multiplexer)
OTP(One Time Programmable):是单片机的一种存储器类型,意思是一次性可编程,程序烧入单片机后,将不可再次更改和清除。
- OLED显示的有两个数值,一个是传感器气柱表压,另一个是外壳内部温度(非环境温度)。
- 本来想把压力数值显示的零点调到0,但是调到0之后,显示的压力数值,往往在负数和正数之间波动。所以,还是算了,不调0了,接入到我们的系统中直接来用。
- 温度显示这块。这个传感器显示的温度数值是,芯片壳子内部的温度,不是环境温度,所以没啥太大的用处。我在新的一篇博客里提到正在做一个新的温度传感器PCB板,来测量我们系统中的某个模块的温度。
- 总结 就是:目前压力数值显示这块不需要再优化了,直接使用起来。