Saturday, May 15, 2010
Quick hot bed temperature controller...
I received some aluminum plates (one for my rapman and other for my mendel) and some 50W resistors (still waiting for the 100W ones) tied it all together and it worked just like Chris shown on his super cool blog :), anyhow using the max power (~12A ~500W) I can push to the bed it can overshoot the max temperature those resistors are specified to handle so I needed some way to control it. Initially I used the simple thermal switch (like you can see in TA oven) but as I want to be able to change the temperature from the motherboard I decided to replace it with small electronics.
I do not have a SSR lying around but I have bunch of "no name / no marking" 25A 600V triac's that are perfect for the job, I used the MOC3043 (optocoupler with triak output and zero crossing detection) to separate the electronics from the AC going in to heat bed (I'm using 41VAC), the microchip PIC16F819 is used to drive the LCD, read NTC and work as I2C slave. NTC is connected with 10K resistor to maximize reading range between 20 and 180C. NTC used is same one from BFB hot end's (GT-204).
I do not have a SSR lying around but I have bunch of "no name / no marking" 25A 600V triac's that are perfect for the job, I used the MOC3043 (optocoupler with triak output and zero crossing detection) to separate the electronics from the AC going in to heat bed (I'm using 41VAC), the microchip PIC16F819 is used to drive the LCD, read NTC and work as I2C slave. NTC is connected with 10K resistor to maximize reading range between 20 and 180C. NTC used is same one from BFB hot end's (GT-204).
"firmware" is written in PICC C, it takes ~70% ROM and ~40% RAM so there's room for more functionality if needed. I2C slave address is 0xAB but it can be changed, first 2 addresses (0 and 1) are read/write and contain target temperature for the heat bed while second 2 (2 and 3) are read only and here you can read current temperature of the heat bed. To avoid float math, the temperature is stored as *100 value. When turned on - the controller reads last stored temperature from the EEPROM (locatio 0 and 1), when both key's are pressed the current target temperature is stored in EEPROM. You can both change the target temp via i2c or using key's (whatever happens last).
Source (PICC C file) is available here.
Source (PICC C file) is available here.
Labels: controller, heated bed, I2C, Mendel, PIC, RapMan
Comments:
<< Home
Hello! Can you please send me a working hex of this project. I'm very starter and i can't make hex from your picc c (mplab doesn't want it) Please help me. hezsai.daniel@gmail.com
Post a Comment
<< Home