Friday, February 26, 2016

"The" PCB Laminator

The goal

Upgrade PCB making process.


Better PCB quality. Looks cooler than iron ;)


  • Atemga8-AI
  • MAX31855KASA+
  • Thermocouple type K
  • Some resistors and capacitors 10k, 4.7k, 2.2k, 1k, 10n, 100n, 100uF
  • SN74LS74N
  • 3 x BC547
  • 3 x 7-segment led display, common anode 
  • MOC3043
  • BT138
  • PCB transformer 12V 0.5A
  • Rectifier bridge 1A
  • Fuse mounting
  • Fuse 1.6A
  • Fan 12V
  • 2 x microswitch
  • 5 x ark connector 3.5mm
  • 3 x ark connector 5mm
  • Metal net
  • Aluminum profiles



  • Tracer laminator TRL-A3


Recently I started making more PCBs for my prototypes, and for me, the worst thing is ironing PCB covered with laser printout. Of course it works, and if you make it often,  can be really good at this. Some of my iron-boards was looking great, while other forcing me to make them again. I thought, lets give a try to make PCB process more pleasant.

I went to the shop and bought Tracer TRL-A3. Originally I wanted A4, but at Saturday guys have only this, and it was cheaper than smaller one. I've got even 10 sheets for laminating, I've used 2 to check it lamiantor is working, and started disassembling process :)

I don't have all photos, you can find on the net how it looks inside, it's very popular type with probably rubber rollers and heaters hidden in aluminum profiles.

There where 2 thermostats, bimetal for 125 and 150 Celsius, thirst thought was - buy 180 one and finish it today? Nah.

I followed some descriptions of general laminator for PCB conversion, and most of guys wrote that rollers handlers need to be made from something that won't melt over 150C. I used what I had at hand - aluminum profiles. There was also thermal fuse for 192C, I left it in the same place.

After making wholes, and preassembly, I've added metal net on the top, the same one I've used to make my bananpi housing, see picture below.

Metal bananapi housing

I left a little space between lower heater and profile, firstly thought that it'll be to small, and heater will heat up it quickly, but the spacing is ok. When running on 150-180C my desk is only slightly warm. I have additional pads under it.

Metal net on top looks cool and protects from injuries

Up view

Thermostat circuit

Here is a circuit, I used popular thermocouple type K and MAX31855KASA+ to interface it. I could also put some op amp, and connect to Atmega8's ADC, but 31855 is for lazy people (like me :) ) and has everything inside, just connect thermocouple, and get data through SPI interface. It has also some nice features, like error detect (if therm. is damaged or shorted to VCC or GND), it's not so cheap from the other side.

There are three 7-segment led displays, controlled by BCD to 7-seg chip, and multiplexed by BC547 transistors, so at a time only one of them is on, but very fast switching makes illusion of all 3 being turned on. Everything is triggered by timer interrupt. I gave larger resistors on them, to be sure that whole circuit won't consume much power than it's needed. Power supply is only 0.5A and the fan is consuming something too.

There are two switches, one is for emergency stop, other for temperature choosing in a loop.

- = Warning  = -

Watch out while switching from 180C to 90C, PID loop goes crazy and you shouldn't do it. Device has no additional cooler for rollers, going from 180 to 90C takes some time and probably there will be overflow and heater could be turned on on full cycle! Instead press emergency stop button, wait when temp goes below 90 and choose desired temperature with other button. I'll need to fix this in the future.

Heater is controlled from other timer interrupt. One very smart guy from my work, told me that the best way to drive a triac is do it by twice AC voltage cycle time, there will be less noise. Timer is calibrated to enable heater for multiple of 40ms, whole cycle is 1520ms long. In my program this is called "cycles" variable, range is from 0 to 38 (1520/40). To keep stable temperature, you need to set cycles to 5, so doing the math it's 5*40ms = for 200ms heater is on, and 1320 off. Cycles variable is set by PID loop.

Thanks to moving above procedure to interrupt, I can control it from while(1) loop, using cycles variable value and delay_ms() only.

   while(1) {
      cycles = 0;     // heater off
      delay_ms(500);  // cool down by half of second
   while(1) {
      cycles = 10;    // heater on for 400ms out of 1520ms cycle
   while(1) {
      cycles = 5;     // keep stable temp

This is not as precise as it could be - because I don't reset counter (variable) in timer interrupt. So when you pass lower delay_ms(), and manipulate with cycles variable, then it could have no effect on cooling, because timer counts to 1520ms, and didn't see cycles changed. PID loop has more to do because of it, but at the end it keeps good temperature, so I didn't bother to fix this.

Thermostat on atmega8 and max31855KASA+

You could believe me or not, but I've forgot about to mirror not smd components! You should see my WTF face during soldering :D

Atmega8, MAX3188KASA+, thermocouple connector

But at the end It's looking quite nice :)

SN74LS74N - BCD do 7-segment converter

This board I made with iron, you can see some imperfect routes here.

Transistors view

Your eyes are bleeding now ;)

This was meant to be on the other side of board ... ;)

Power board

I made it separate, nothing special here.

Thermostat power board

First in my life bought and used PCB transformer, it's weird to write this, but it's pretty, isn't it?

Assembled power board with PCB transformer

Putting everything together. This is original motor and plastic gears, so additional fan is a mandatory here.

Mounting power board

Front view

First test, without PID loop, keeping temperature on a good level was hard. PID is a live saver. Motor and fan is rotating constantly, there is no way to shut them off other by cutting the power.

Actually, one thing that I could do better is this fan control, I could add additional temperature sensor near the gears, or just control it according to overall heater temperature. I think it could rotate with lower speed and the gears would be ok.



And finally everything mounted, PID loop implemented, loooks great!


Like a gun or sth. ;)

With ISP programmer connected

A3, but not so long

As you can see on picture below it isn't standing on my desk directly. This is preventing desk being damaged.

Felt-like pads

One more time front view.

If you wonder what's wrong with the oscilloscope behind and why it doesn't have any buttons, see how I added a touchscreen panel to my Siglent sds1022c.