Hi Leo

I offer another submission below for circuit notebook. If you deem suitable to publish then please use the reward to extend my subscription.

Attached is a ZIP archive named ThreeD_HBC.zip which contains the various project files and a couple of quick photos to help you see.

Regards,

Pete Mundy
Nelson, NZ



Heated-bed controller for 3D printer

I recently purchased an after-market 12V heated bed from ebay for use with my 3D printer. The element is rated at 250W and draws around 20A peak current When operated at this power level it generated far too much heat and eventually caused the glass bed to crack! A current limit was needed.

Being familiar with Arduinos from many other projects, a project based around this design was a natural fit despite the bulk of the capabilities of the micro not even being used. A custom board that fits nicely on the side of my printer was put together in Fritzing and then isolation tracks duly cut out from a sheet of copper board using my new CNC PCB mill (also found on ebay!). The source code is so short it could probably be included within an article (but is also attached as file ThreeD_HBC.ino).

void setup() {                          // Setup code, run once at power-on
  pinMode(3, OUTPUT);   =09
}

void loop() {                           // The following code repeats endlessly during operation
  int vr1Reading =3D analogRead(A4);    // Read the value on analog pin 4 (vr1), result =3D 0-1023
  vr1Reading =3D vr1Reading / 6;                // Scale the value read down to range 0-170
  analogWrite(3, vr1Reading);           // Adjust duty-cycle of PWM driving signal for FET
} =20

Note that the down scaling is done to a value between 0-170 (1023/6). This is because the duty cycle attribute value for the PWM signal should be in the range of 0-256. The artifical ceiling of 170 allows for an maximum duty-cycle cap of 66%, allowing me to inhibit operation of my mat above around 165W. If this cap was not desired one could simply divide by 4 instead of 6.

The software was loaded onto an Atmega 328P chip that was purchased with the Arduino boot-loader pre-loaded. The process of programming the chip was done using another Arduino (ie temporarily swapping the new chip into an old Duemilanove board to program it usuing the Arduino IDE).

I have attached the gerber files for the PCB tracked I milled and the holes I drilled (ThreeD_HBC_copperBottom.gbl & ThreeD_HBC_drill.txt). The schematic file (ThreeD_HBC_schematic.png) is a bit of a mess and will need a re-do in your favourite software, but all of the info is in there with the excepton of the 40mm 12V fan which should be across the input. The bill of materials contains the component values (ThreeD_HBC_BOM.txt).
