Input Devices

I kept this week's objective - to use an input device to a board I designed on Eagle - relatively simple and functional. A temperature sensor is quite an important component of my final project. In order to designate and maintain a desired temperature, it would be helpful to have a temperature sensor which could display the water temperature to the user and also feed that reading back into the system, triggering fans and pumps in order for heat regulation.

Thermistors

The board I drew up on Eagle was modelled on Neil's NTC thermistor board, which is itself a very simple circuit for measuring temperature. It does so by using a thermistor, a resistor which responds to temperature, as the environmental sensor. In order to measure this change in resistance, we can't simply easily it in ohms, but we can use the analogue digital conversion (ADC) pins on the ATTiny45 to read the change voltage caused by change in resistance/temperature. The Wheatstone bridge provides a simple solution to this: two pairs of 10K resistors branch off from VCC, acting as a voltage divider, meaning that R1/R2 = R3/R4. In this case, R1-3 are 10K resistors and R4 is a 10K thermistor. Each branch goes into a different ADC pin on the ATTiny. To measure the change in resistance, we can compare the change in voltage between the two sets of resistors.

The Board

Board design with Eagle has gotten easier but still manages to never be straightforward. This time, using Neil's as a reference, I put this board together very quickly but ran into issues regarding trace width and proximity of pads once it had run through mods for the mill. I fixed these up on photoshop but should really learn to integrate these checks into the design process.


Once soldered, somewhat to my surprise, it worked with Neil's python programme without issue, translating small changes in temperature - e.g. touching the thermistor with human hands - into an input and a visual display (using TKinter).


From here I will need to develop various aspects of the sensor. It is currently able to detect changes with more than good enough granularity, but what is the temperature range of the thermistor? Can I modify it in order to detect temperatures between 20-80 degrees? What kind of modifications will be needed for this board to detect temperature differences and send a signal to another chip which is controlling the water pump and the fans?