-
debugging
12/30/2016 at 18:26 • 0 commentsI've been testing the controller for some time and there is a bug. Unfortunately it looks like it is random. After some time the output of PID algorithm starts to be 0 no matter what. So I'm now debugging it. I made some changes in the code but it is shooting in the dark. :-/
-
assembly...
10/13/2016 at 19:14 • 0 commentsI finally got to assemble the boards today. I have some PCBs from OSHpark and some from DirtyPCBs. Both great.
I also make my own temperature sensors from LM35 because the ones from ebay that should be waterproof are not. But you can buy the metal ends (ebay) and use some gooping resin to waterproof it.
Final board without OLED display look like this.
I will continue soon to finish it.
-
fuse box
09/22/2016 at 10:41 • 0 commentsThis is what it should look like in the fuse box. On the right the former thermostat that will be replaced by the controller on the left. Print is ugly it was a first test to try out the dimensions.
-
testing...
09/04/2016 at 20:12 • 0 commentsI have been testing the only prototype I currently have for about 6 weeks and it runs without any problems.
I have also calibrated the temperature sensor and it looks like there is constant error of -0.6 °C from the actual temperature (in range from 20 to 60 °C) when reading from LM35DZ with the internal voltage reference. That is actually quite nice. I don't need to use the external voltage reference.
I have also drawn the front panel and my friend 3D printed it for me.
-
Almost done...
08/23/2016 at 22:03 • 0 commentsWriting logs is not fun....
I made a big progress since the start. I have learned a lot. The controller is almost finished now. Some of major problems were
- Minimal voltage on AREF is 2.0 V so I cannot use LM4041 for better accuracy.
- There was a problem using analogReference(INTERNAL) that was repaired in newer Arduino core build. (I think because it works now)
- I have learned that I2C communication has some impact on ADC reads (noise) so it is better to read from sensor between LCD refreshes. Reading from ADC several times and averaging the value also helps.
- When you order something from China it is possible that the product will have different pin out. I had to redo the pcb because of the LCD...
Current version of PCB is v2.1.
-
Prototyping on breadboard done
04/09/2016 at 18:31 • 0 commentsPrototyping on breadboard has been done. I'm using USBasp to program the ATTiny1634 using the Arduino software. So far the simplest way how to get the results.
- ADC values jump so this needs some tweaking and filtering
- I don't know why but the Arduino core works bit strange using internal 1V1 reference. The ADC input then works in 8b resolution that overflows to higher byte when the input is high enough. It looks like the analogRead() method is badly implemented.
- I'm using softI2Cmaster library to get the OLED display working. So far works great