Archive for Laminator

Temperature Controller Update

Posted in PCB Manufacturer, PIC Micro, Uncategorized with tags , , , , , , , , , , , on September 18, 2011 by Karel M

No video today but  I have been working on the code and have added some new features.

It is now possible to install a jumper across pins 19 and 20 on the I/O header (with the display removed) to enable a serial terminal mode. When the terminal mode is enabled the display and push buttons get turned off, and pins 10 and 11 on the header function as RX and TX lines. There is one small issue that I will talk about later in this post. Here is a quick screenshot:

Now what can the terminal mode do?  It’s still in the early stages but it already supports several commands. Currently the commands include reading the current temperature (“t”), setting desired temperature (“T”), reading the current temperature set point (“s”), reading the current PID constants (“p”,”i”,”d”), setting the constants (“P”,”I”,”D”), set display to Celsius (“C”), set display to Fahrenheit (“F”), and print all values (“v”). These commands are all working and allow using the controller without the LED display board.

The one letter commands were chosen for a couple reasons. The major reason is adding lots of strings to be displayed on screen takes up memory fast and I want the space free to include additional features in the future. The other reason is the one letter commands should be easy to remember and use.  With my use of the terminal so far this has been holding true. In the future the simple serial terminal could allow a nice PC based application to be written to allow tuning the temperature controller. That’s beyond the scope of the project right now, but the serial option now makes that possible.

I spent time this past week updating the board schematics and layout to fix a few minor issues and add a few things. Mostly, I added vias that would allow 3.3V, GND, and some of the more important signals to be tied into.  I also added a place for a small transistor to replace the opto-isolater on the board.  This will allow the Triac to be removed and an external relay to be switched. There is no space for the relay on the board, but I added solder points to make it easy to wire one off board. These changes will make it easier for myself and others to modify the board for other uses. One that was mentioned to me was controlling a mini-fridge to use in home brewing, especially lagering. This is something I would actually like to try since I do brew my own beer. I won’t have time to try this for a while, but the temperature controller will be a good fit for controlling the mini-fridge.

Coming up, I want to add functions and commands to set the temperature to Fahrenheit or Celsius, save the new settings to the internal EEPROM, and add code to the LED display to allow the variables to the changed and saved. Now that the code for the serial communication is working the other features should progress nicely.

Now the small issue I mentioned before with the serial communication, the PIC24F08KA101 the project is based on doesn’t have 5v tolerant inputs and there isn’t going to be voltage level shifting included on the board (no space for it currently). This means that the serial port on the PC side must use 3.3V signals to safely communicate with the temperature controller. Thankfully there are several options that make this easily possible.

The one I use and recommend is a Bus Pirate. The Bus Pirate is a small board that makes working with different serial communications protocols much easier. The price is very reasonable and maybe even cheaper than a “name brand” serial port adapter.  For the serial terminal I’m using the Bus Pirate in the USB-to-Serial bridge mode so it acts like a USB serial adapter.

Another option is a FT232 chip setup to work at 3.3V. Sparkfun has a breakout board that it set to work at 3.3 volt and would be perfect to use with the temperature controller. This is a good option if the board is going to be left inside a project. If the terminal is only going to be used to setup the controller the Bus Pirate mentioned above is a much more useful tool but either option will work just fine.

I also wanted to mention my kickstarter page again.  If you are interested in this project and would like to get your own board(s) please take a look.  With enough support I will able to do a production run of the boards and get them to someone like you.

Thanks for following the project and enjoy your day.



A PIC Based Temperature Controller – Part 4

Posted in PCB Manufacturer, PIC Micro, Uncategorized with tags , , , , , , on August 28, 2011 by Karel M

I have a basic user interface setup that allows the temperature to be set. Currently only the right 2 buttons are used, one for up temperature and the other for down temperature. When the laminator is turned on it shows the current roller temperature. Pressing the up/down button momentarily shows the set point, which is 50F at power up. This means the laminator is off by default. Holding up/down for a couple seconds starts the temperature changing in 5 degree increments every second. Releasing the button again shows the actual temperature of the roller.

I plan on adding code that will use the extra button to allow the set temp to be saved to the PICs internal EEprom and set again just by hitting the button momentarily. This will allow a commonly used temperature to be set quickly.  Also, the room temperature calibration will be entered by holding the 3rd button while powering on the laminator. The calibration will also be saved to EEprom, and will only need to be done once. After working with the the code, I also want to a feature that will allow the PID constants to be changed by entering a special mode. This will allow the board to be tuned for different uses without needing reprogram the PIC.

I have tried the laminator out at it works well. Here is a picture of the laminator heating up. Please ignore poor quality, I had to do a longer exposure because I was only getting one digit showing in the pictures. This is caused by the 3 digits being multiplexed and only a single digit being turned on at a time. The camera was fast enough to only show one digit on at a time.

Laminator Working and Coming up to temperature.

I currently have the second sensor disabled, because the PID control loop does a good job heating up the laminator while preventing overshoot.  I will add the second senor as a fail safe that will turn off the laminator if the first sensor stops working for some reason. The laminator heats up to normal lamination temp of about 240F in less than 2 minutes. This is a nice improvement of the original 5 minutes or so it used to take, and is an added bonus of the modification.

I ran a blank board through a few times and the laminator only lost about 15 degrees on the first pass and recovered quickly.  After the 2nd pass the board was hot enough that I didn’t want to touch it.  This is a big improvement on the dozen or so passes it used to take. I need to see how hot the laminator will safely work. I have tried 260F for about an hour without any issues. If it can go a bit higher, a one pass toner transfer should be in sight. Worst case it will take 2 passes, which for me is very acceptable.

The display cutout was just done with a rotary tool, and while being a bit crude, works well. If I left the bit of plastic that would have gone between the display and buttons it almost would look stock.

Seeing there might be some interest in this project, I have set up a kickstarter page to try to get this into the hands of hackers and tinkerers like you. If you are interested, please feel free to check it out.

I hope to post a video of the laminator in action soon, but it’s currently apart as I was adding some features to the code.