Table of Contents
- Project Introduction
- Testing the OHD1-50B Thermal Sensor
- Testing the OHD1-50B and M-TRS5-60B Thermal Sensors
- Detecting Transition From ON to OFF on Thermal Sensors
- Activation of a Fan with a OHD1-30B Thermal Sensor
- Cutting Power to the 3D Printer when Thermal Sensor Detects Thermal Runaway
- Project Report Updated
**********************************************************************************************************************
Activation of a Fan with a OHD1-30B Thermal Sensor
As part of my objectives, I want to activate a fan with a thermal sensor so that once a threshold temperature is reached, it cools the hot driver. In this experiment I am going to use the OHD1-30B thermal sensor.
OHD1-30B Thermal Sensor
According the datasheet KEMET, OHD1-30B is a Thermal Reed Switch, Axial, 5C Temperature Accuracy, High Reliability, High-Speed Response, Long Operational Life, Excellent Environmental Durability, High Temperature Accuracy, 30°C, Break.
Schematic Diagram
Below you can see the electrical connections to test our OHD1-30B thermal sensor:
How does it work?
- The OHD1-30B thermal sensor is normally closed at low temperature and the green LED is on;
- The OHD1-30B thermal sensor is open at 30 degrees Celsius and the green LED turns off, then the relay is activated and the fan turns on;and
- The OHD1-50B thermal sensor will also be mounted on the module, although we already experimented with it in the second and third posts of this project;
Experiment:
- The thermal sensor will be placed on the power module of the heated bed to monitor the temperature of this module and to avoid it from reaching high temperatures between 50 and 60 degrees Celsius.
In the figure below you can see the test module once it has been assembled.
Software
Below I show you the code that we will upload to the Arduino NANO 33 BLE Sense board.
ThermalSensor_ver3.ino
// AUTHOR: GUILLERMO PEREZ GUILLEN #include <Wire.h> #include "rgb_lcd.h" rgb_lcd lcd; const int colorR = 0; const int colorG = 0; const int colorB = 100; // SENSOR1: OHD1-30B -> MOSFET MODULE const int buttonPin_s1 = 9; // the number of the pushbutton pin for the OHD1-30B const int ledPin_s1 = 2; // the number of the LED pin for the OHD1-30B int buttonState_s1 = 0; // variable for reading the pushbutton status for the OHD1-30B // SENSOR2: M-OHD1-50B -> HEATED BED const int buttonPin_s2 = 8; // the number of the pushbutton pin for the M-OHD1-50B const int ledPin_s2 = 3; // the number of the LED pin for the M-OHD1-50B int buttonState_s2 = 0; // variable for reading the pushbutton status for the M-OHD1-50B void setup() { // set up the LCD's number of columns and rows: lcd.begin(16, 2); lcd.setRGB(colorR, colorG, colorB); delay(100); pinMode(ledPin_s1, OUTPUT); pinMode(buttonPin_s1, INPUT); pinMode(ledPin_s2, OUTPUT); pinMode(buttonPin_s2, INPUT); pinMode(6, OUTPUT); // fan } void loop() { // read the state of the pushbutton value: buttonState_s1 = digitalRead(buttonPin_s1); buttonState_s2 = digitalRead(buttonPin_s2); lcd.clear(); lcd.setCursor(0, 0); lcd.print("T-S1 T-S2"); // SENSOR1 if (buttonState_s1 == HIGH) { //SENSOR 1 - LOW TEMP digitalWrite(ledPin_s1, HIGH); lcd.setCursor(0, 1); lcd.print("LOW"); digitalWrite(6, LOW); // fan } if (buttonState_s1 == LOW) { //SENSOR 1 - HIGH TEMP digitalWrite(ledPin_s1, LOW); lcd.setCursor(0, 1); lcd.print("HIGH"); digitalWrite(6, HIGH); // fan } // SENSOR2 if (buttonState_s2 == HIGH) { // SENSOR 2 - LOW TEMP digitalWrite(ledPin_s2, HIGH); lcd.setCursor(6, 1); lcd.print("LOW"); } if (buttonState_s2 == LOW) { // SENSOR 2 - HIGH TEMP digitalWrite(ledPin_s2, LOW); lcd.setCursor(6, 1); lcd.print("HIGH"); } delay(100); }
Test
In the video below I show you the tests carried out with the OHD1-30B thermal sensor with the 3D printer working in Preheat PLA mode.
After more than 30 minutes of running this experiment, the power module heat sink temperature was approximately 36 degrees Celsius. In the image below I show you a reading made with a multimeter.
Conclusion:
- Using the OHD1-30B thermal sensor as a thermal switch to activate a fan is a good idea, since this experiment shows me that it acts in time to keep the power module of the 3D printer's heated bed cool. Remember that this power module can reach temperatures between 50 and 60 degrees Celsius.