目录
很庆幸,我没放弃。很幸运,刚好遇到你。这篇我也不知道花了多少个60分钟。
注意结合Tip更容易理解。
引言
简单一句话,老师要求,自己想学。
做题思路
将热敏电阻模块扔到水里,负责数据的采集。经过数字温度传感器的模块DO口输出相应的电压控制继电器模块。用通过控制继电器模块的常闭口实现热得快的导通与闭合。(后来因数字温度传感器的模块DO输出的电压不足5V,采用了三极管放大电路控制继电器)
硬件模块
1.5V电源模块 2.基于LM393的数字温度传感器模块
3.热敏电阻模块 4.05VDC继电器模块
Tip:请自行查阅各种模块的数据,比如05VDC继电器的开启电流是50mA、DS18B20模块其测量范围为-55℃ — +125℃ ,在-10—+85℃ 范围内,精度为±0.5℃ 等。查阅途径:本网站、AI问答、度娘、某宝等。
实物现场
三极管控制电路实物:
Tip:因数字温度传感器模块DO输出的电压不足5V,故采取了这个电路。原来的设想是实际温度达到预设的温度后,DO指示灯亮,同时数字温度传感器模块的DO接口输出5V的电压,控制继电器的跳断。现在实际是:DO指示灯在整个过程中一直亮,判断继电器的工作状态是通过继电器的S端指示灯。
三极管所用的是S8550(PNP型),PNP和NPN型三极管的接线图并不相同。
上面的电阻为4.66K,下面的电阻为2.65K。
面包板接线方便但存在严重的接触不良情况,电源排先用万用表测量连通距离。
整个模块控制电路:
Tip:因数字温度传感器的热敏电阻过短,无法采集,故用了电焊枪焊接了两个杜邦线接头,用杜邦线连接热敏电阻模块。杜邦线连接的是热敏电阻模块的“-”极和“S”极,“+”极是没连接的。
将热得快的正极线分开插入继电器模块的常开触头,常开触头,常开触头!(以防出事,我在正式使用220V的热得快之前,使用了一个5V的小灯测试)
热敏电阻模块在70°水温下,用小螺丝刀拧动数字温度传感器上面的可调电阻,使继电器达到刚好打开常闭触头。
看着凌乱,实际上把各个模块的正负极接线移除开就是三极管控制电路实物的电路图。
实操现场:
Tip:DS18B20模块不要直接扔水里,将触头接触水面即可,第一次我煮坏一个。
STM32只是最为一个大致的温度显示器,将温度传感器的阻值调整好后可以不要,正点原子官方有18B20的代码,连接好线后,直接烧录就能用,具体连接口需要看代码实际接口而不是注释。
热得快有最低水位线要求,所加的水一定要没过刻度线。
在70°左右的水温下,煮15分钟的鸡蛋:
收获心得
1.用万用表测量三极管的型号,中间为B极,正常数值应为几百,如果为几十,则说明插反了。万用表使用前均因现将两表短接,发出声响即为正常。
2.继电器模块作为一个开关,如同闸刀一样。
3.巩固keil5的使用,使用ST-Link时,出现Can not connect to target,一直无法处理,最后是下载器需要连接GND。个人习惯以前只用下载器SWDIO和SWCLK,供电则是单独使用,以前也没事,复学后出现这种问题,害我多花了好几个小时重装Keil等...
4.继电器控制端不需要接地,否则就是直接短路,干烧三极管。
5.没做之前比较难,做了以后就觉得简单多了。
6.希望这篇笔记可以帮助到你和以后的我。
反思与不足
原标题:【STM32V3战舰版】复学之用基于LM393的数字温度传感器采集温度显示到TFTLCD上,进而控制继电器模块煮温泉蛋。实操的过程中搁置了,这个留给继续实操的诸君。思路大致是利用数字温度传感器模块DO/AO口输出的电压转化为ADC值,进而进行温度的换算,在程序里面设定,到当采集到的达到70°时,打开STM32某个IO口,通过三极管放大电流后控制继电器,模块。正点原子的代码可以直接进行ADC采集(我已实现),数字温度传感器使用是热敏电阻,应该是线性变化的。
1.休学以前好多东西都没做记录,这次回来知识忘了很多,导致做这个小实验浪费了很多的的时间。
2.整体思路不清晰,没有提前把整个过程分解为几部分分开做。
3.三极管的计算公式不会,基本是直接套用的数值。
4.原想法是使用继电器模块的常闭触头,采用电路后才改用继电器模块的常开触头,使用常闭触头的想法没有实现。
参考文章
感谢帮助我的朋友以及大佬
“逛丢一只鞋”提供的三极管电路参数,让我得以顺利实现,以下是原文章
图文内容均为原创,码字不易,请勿随意抄袭,如有疑问可提出互相交流,共同进步,希望大家能在这条路走得更远,与君共勉!