Sunday, May 15, 2011

Wiring the Roaster

Well I had a total brain fart with the thermocouple wire between the roaster and the controller. I installed a two conductor wire thinking that thermocouples only have two wires. However, the MAX6675 chip that converts the analog TC signal to digital signal needs five wires. So I replaced the two conductor wire with a CAT5 cable that I had. Since it is just 5 volt signal going over the wire, the small wire size shouldn't be a problem. One nice thing about this is that I now have extra wires if I want to mount a second TC. I could have an air temp TC and a bean temp TC.




The MAX6675 board and the TC are mounted into the roaster.


Here you can see the thermocouple in the roasting chamber.



The small 5 volt wires were soldered and then topped with wire nuts. It was a bit of a trick to get it all wired and slid together.


I will run it through some tests today and make sure that everything is working. Then I can put the finishing touches on the roaster. As a side note, here is the color coding for the 5 volt wires.

Ground = Blue = -5vdc
VCC = Orange = +5vdc
DO = Green = Arduino Pin 4
CS = Brown/White = Arduino Pin 5
CLK = Brown = Arduino Pin 6

Saturday, May 14, 2011

Testing the Thermocouple and LCD

My parts came in the other day, but I was a bit delayed. The LCD display had two rows of 16 pins. That is twice what is listed on the data sheet and what is shown in the pictures and tutorials. Adafruit doesn't really offer phone support, but they are quick to respond to emails. They informed me that both rows of pins are identical so I could use either set. So I soldered and wired everything up. They even have a pre-written sketch for this configuration. It all worked out great and now I am ready to mount the thermocouple and thermocouple card in the roaster. The thermocouple card is much smaller than I thought it would be. That is really quite a nice feature and will make it easy to mount.

Thursday, May 5, 2011

Making the Roaster Enclosure

It's been a while since I posted, but I have been working on this. The roaster enclosure is just about done.



I need the thermocouple and thermocouple card before I can complete it though. I ordered those parts as well as the LCD today. I mounted the main components of the popcorn popper to a piece of press board (cut from an old desk).


Then I purchased a 5 inch stove pipe union for about $5 from the local hardware store. After drilling three rows of vent holes in the bottom half of the stove pipe, I lined the inside with aluminum window screen. Next was to cut up some power cords for the wiring between the roaster and the controller box. I found the cords in my junk bins. The hardware store also had cord strain reliefs for about $0.50 each. I drilled out some holes for the cords and used a file to make them the correct shape. Then I mounted the cords to the stove pipe.


Some more of the old desk was cut to make a ring for the top of the stove pipe. There was a black plastic ring that the popcorn popper chute mounted to. I ground off the mounting studs and then used more aluminum window screen and some black duct tape to make a top for the roaster. This will keep the beans inside the roaster while the fan is running. You can easily see into the roaster while it will be operating. The top can also be easily removed to fill or empty the beans from the roaster.


Tuesday, April 26, 2011

Parts List

I have posted a PDF file with three pages. The first page is a Bill Of Material (BOM). These are the electronic parts that I plan on purchasing. It will show you things such as where to buy the item, what the part numbers are and the price for each item. The second page is a cross reference by page and rung number of the ladder diagrams. This will cross over to the BOM. The idea being that you can pick an item on the ladder diagram and then use the cross reference to find out all the information for that item. The last page is a list of all the Arduino I/O (inputs and output) pins and how they are used.

Coffee-Roaster-Parts.pdf

Monday, April 25, 2011

Store Bought Roaster

My brother-in-law got his roaster back from being repaired and I was able to get a good look at it. Here are some of the things that I found interesting about it.

  • It doesn't measure temperature. I was really expecting it to. Instead it just has a timer that you set. So this roaster suffers from the same problem as using a popcorn popper. The time it takes to roast coffee varies with the outside air temperature. My brother-in-law helps minimise this by placing the roaster in an insulated box when he uses it.
  • It has an exposed hot surface. This was something that I was worried about with my design. I will have about .25" of exposed hot metal when it is roasting. This machine however had a huge area of exposed metal and glass that got very hot.
  • There is no stop or off switch/button. To stop the machine you simply unplug it. I would think that you would want a switch for that though.
  • It does not remember the settings between power cycles. I was thinking about how to implement this feature, so I was a little surprised when I saw that this machine left it out.
  • It recirculates the hot air. This is a great idea. I had thought about it, but decided that would make it too bulky. They however did a nice job in getting this feature in and still keeping the machine fairly small.
  • It only holds 4 oz. of roasted coffee. That is about the same as a popcorn popper. I was expecting a larger amount from a commercial product.
  • It's pretty loud, about the same as a popcorn popper. Since this uses an auger instead of air to circulate the beans, I thought that it would be quieter.
  • It has a cool down mode. This is another great idea that I had already talked about.

Friday, April 22, 2011

New Wiring

Here is a sketch of how I intend to wire the coffee roaster. It is subject to change of course. These drawings are in ladder form. It is not intended to show the physical layout of the wiring, but the logical layout.
When you have a ladder diagram as well as a wiring diagram troubleshooting is much easier.




Page 1 shows the 120 volt ac circuits well as the outputs from the Arduino controller. Page two are the inputs to the Arduino. I'll go through this rung by rung and explain each component, why it is there and why I chose to make it that way. Eventually I will also list a bill of materials for each rung, but that may be another day.

Page One

Rung 1:
The on/off switch controls power to all the devices and will be sourced from the popcorn popper. The "CR" contacts are from the high current relay that will control the power to the heating element. The over temp device is safety device that is already installed in the popcorn popper. Hopefully i will be able to keep this device in the circuit and still get the beans hot enough to roast. Lastly is the 11.2 ohm heating element from the popcorn popper. The 48.3 ohm element will not be used.

Rung 2:
The only device on this rung is the DC power supply from the IBM laptop. It is rated at 16 volts DC and 4.5 amps.

Rung 6:
This is the MOSFET that will control the fan motor. The fan motor is from the popcorn popper, but the full wave bridge rectifier has been removed since we are using the DC power supply now to power it.

Rung 7:
A single diode is in parallel with the fan motor to suppress any "flyback" voltage from the motor turning off and damaging the MOSFET.

Rung 8:
The Arduino digital pin 11 is used to turn the MOSFET on and off. Pin 11 was chosen since it is a pulse width modulated output. A 1K ohm resistor is in series with the MOSFET gate. I'm not sure if this is necessary. I noticed it was used in some circuits. Perhaps someone can clarify this. A 10K ohm resistor is used to pull the Arduino output to ground when it shuts off.

Rung 11:
A nine volt regulator to power the Arduino. I chose to use 9 volts since the Arduino Uno is listed as having overheating problems when powered with more than 12 volts, and having stability problems when powered with less than 5 volts. This meant that I shouldn't power it directly from the 16 volt power supply and I shouldn't power it from a 5 volt regulator either.

Rung 13:
This is the Arduino Uno that will be the brains of our coffee roaster.

Rung 15:
Here is the 5 volt regulator. I thought about just powering all the 5 volt devices from the Arduino 5 volt bus. My concern was though that it may be getting close to the maximum capacity of the Arduino board, and the 5 volt regulator is less than $2.

Rung 17:
The Control Relay (CR) coil that will be used to turn the heating element. Next is the transistor that will turn the control relay on. The relay coil draws about .2 amps so it is best to turn it on and off with a transistor and not to control it directly from the Arduino output pin.

Rung 18:
This is just a diode to control the "flyback" voltage that is generated from the relay coil shutting off.

Rung 19:
A LED that will be panel mounted and used to indicate when the heating element is on. This LED requires a 150 ohm resistor in series when used with 5 volts.

Rung 20:
The Arduino digital pin 10. I purposely chose a PWM pin for this output even though I am just using it as a digital pin in this case. If I want or need to have more control of the heating element, I can replace transistor and control relay with a MOSFET. A 1K ohm resistor in series with the transistor base. Again, I'm not sure if this is needed or not. Lastly a 10K ohm pull down resistor.

Rung 22:
The Arduino digital pin 5. This is simply wired to a panel mount LED. This LED can be used to indicate anything, but will most like just be used to indicate that power is switched on to the coffee roaster. The appropriate 150 ohm resistor is in series with the LED.

Rung 24:
This is a 10K ohm potentiometer that is used to adjust the brightness of the LED.

Rung 25:
The LCD that will be used to display information such as temperature and time. Pin 3 on the LCD is from the 10K ohm adjustment pot. Pin 16 is tied to ground.

Rung 26:
Pin 15 of the LCD is tied to 5 volts and pin 1 is tied to ground.

Rung 27:
Pin 2 of the LCD is tied to 5 volts and pin 5 is tied to ground.

Rung 28:
The Arduino digital pin 7 is tied to the LCD pin 4. The Arduino digital pin 12 is tied to the LCD pin 14.

Rung 29:
The Arduino digital pin 8 is tied to the LCD pin 6. The Arduino digital pin 9 is tied to the LCD pin 13.

Rung 30:
The Arduino pin digital 13 is tied to the LCD pin 11. The Arduino digital pin 6 is tied to the LCD pin 12.



Page Two

Rung 1:
Here is the breakout board for the thermocouple (TC) and it's IC chip. The VCC pin is tied to 5 volts and the GND pin is tied to ground.

Rung 2:
The Arduino digital pin 2 is tied to the TC card CLK pin. the TC negative terminal is wired to the TC red wire.

Rung 3:
The Arduino digital pin 3 is tied to the TC card DO pin and the TC positive terminal is wired to the TC yellow wire.

Rung 4:
The Arduino digital pin 4 is tied to the TC card CS pin.

Rung 7:
A 1nF (.001uf) capacitor is used to prevent interference induced in the wires being transmitted as a voltage to analog input 0 and producing errors.


Rung 8:
The Arduino analog pin 0 (A0) that will read a "stepped" voltage coming from a 12 character keypad. A series of resistors will be used to vary the voltage in steps that will be sent to pin 0.

Rung 9:
The rest of the series of resistors that will step the voltage through the keypad and into pin 0. The keypad can be used to input data into the Arduino program. Examples would be to change the time or temperature set points. The row of four resistors all tie to the keypad row0 pin. the column2 pin on the keypad is tied to the point between the Arduino analog pin 0 and 1K ohm resistor.

Rung 10:
The row1 pin of the keypad is tied between the 3.3K ohm and the 15K ohm resistors. The column1 pin of the keypad is tied between the 1K ohm and the 820 ohm resistors.


Rung 11:
The row2 pin of the keypad is tied between the 680ohm and the 3.3K ohm resistors. The column0 pin of the keypad is tied between the 820K ohm and the 1K ohm resistor that is then tied to ground.
 
Rung 12:
The row3 pin of the keypad is tied between the 180ohm and the 680 ohm resistors.


Row 14:
A normally open push button that will be used to start the roasting process. A 10K ohm pull down resistor.
Row 16:
The Arduino analog pin 1. Even though this is an analog pin we are using as a digital pin by either applying it with 5 volts when the button is pushed or by tying it to ground when the button is not pressed.

Rung 18:
A normally closed push button that will be used to stop the roasting process. A 10K ohm pull down resistor. I will take minute here to talk about why I chose a normally closed push button for the stop. Let's assume that we used a normally open button for the stop. If there is a failure such as a broken wire on the switch or if the switch has a bad connection, then you could not stop the process by pushing the button. The voltage would never get to the Arduino micro controller. By using a normally closed button, the process would automatically stop if we had a broken wire or bad connection. While this would be annoying, it would not be unsafe. Wiring start buttons as normally open and stop buttons as normally closed is a common practice in industry and considered the proper way of doing things.

Rung 20:
The Ardunio analog pin 2. It also is being used as a digital pin. In this case, if the pin ever falls below 5 volts the roasting process will immediately stop.

Rung 21:
A 10K ohm potentiometer (pot) is used as an input to the Arduino. These pots can be very useful. For testing, we can use them to directly control the fan speed. Once we have a finished product we can use the pots to select things such as the type of roast that we want.

Rung 23:
The Arduino analog pin 3 that is attached to the variable voltage coming from the above10K ohm pot.

Rung 25:
Another 10K ohm pot. Why you may ask. Well because I can and like I said, they are very useful. It may not get used, but I will probably add it for now.

Rung 27:
The Arduino analog pin 4 that is attached to the variable voltage coming from the above10K ohm pot.

Thursday, April 21, 2011

Old Wiring

I did a quick sketch of how it was wired from the factory. You can see through the paper a little and get a glims of how I plan on re-wiring it. I'll scan and post that a little later.

Tuesday, April 19, 2011

Introduction

The Project
I know that there are many sites out there describing how to make a coffee roaster out of a popcorn popper. Some of them even use an Arduino for controlling a portion of the popper/roaster. However none of them were done the way that I would have thought to. Since I need to roast some green coffee beans and since I have just started playing with the Arduino platform, this seemed like a good project the take on as my first Arduino adventure that wasn't simply following instructions in a book.

My Roasting History
My wife and I recently went to Ethiopia where we saw a lady roast green coffee beans in a small cast iron pan over some open coals. Her coffee tasted great and we brought some green beans home thinking "How hard is that".

About the same time my brother-in-law was trying to roast some green beans at home as well. He tried using a pan over the stove, over the barbecue, and even roasting in an old popcorn popper. His attempts were all ill fated and he eventually ended up with a commercial home roaster that broke after a couple of months.

The Start
After hearing my brother-in-law's problems, I looked up home coffee roasting and realized that the lady in Ethiopia had a very hot bed of coals and a lot of experience. I got the old popper from my brother-in-law. It was the Wear-Ever Popcorn Pumper 73000 that my mom used to make popcorn when I was a kid.
I took it apart and found that it was made basically the same way as the Poppy II and many other air poppers. It was in fact the correct kind for roasting coffee, with air louvers in a pattern around the bottom edge of cup that causes the beans to swirl. Since there are many web pages that detail how to modify a popcorn popper, I won't go into those details here.

The fan was in series with a 48.3 ohm (measured cold) heating element. On the bottom of the fan was a full wave bridge rectifier. A second heating element of 11.2 ohms (cold) was across the entire 120vac. That was basically all there was to it. I did some rough calculations assuming that the fan motor needed about 20 volts (based on other web site's figures). This meant that the fan drew about 2 amps and  the other 100 volts was across the 48 ohm element. In this case the element in series with the fan would only be putting out about 200 watts of heat. The other element was putting out about 1,285 watts of heat. Since the entire popper is only rated at 1,250 watts, my guess is that the 48 ohm element is really only there as a cheap voltage regulator for the fan motor and isn't needed for heating.

I looked through my bins of junk and found a power supply from an old IBM 100mhz Thinkpad.

This power supply was rated at 16VDC and 4 amps. After removing the full wave bridge rectifier from the bottom of the fan motor, I hooked it up to the Thinkpad power supply with an amp meter in series. The fan spun up and the amp meter read 1.8 amps. That's pretty close to what I had figured.

Next was to test the heating elements. Some of the popper modifications I saw controlled the fan, while others controlled the heating element. My guess is that since these poppers tend to not get up to roasting temp without modifications, then the answer would be to control the fan. The heating element is already working at 100 percent. Bypassing the thermal safeties wouldn't make the popper get hotter, it would just let the popper melt and start a fire if the fan failed. I still may have to bypass the thermal safety if it trips with the fan on low speed, but my hope is that I can achieve roasting temp by slowing down the fan, and still leave all the safeties in place.

I took some precautions (made a safe place to get things really hot), disconnected the fan and plugged in the heating element. I wanted to see how hot it would get without the fan before the thermal safety would open. On this model, the thermal safety is a small heating element next to a bi-metallic switch. This makes for an automatically resetting switch that is good for more than just one use. In about 60 seconds or less the element got hot enough to start melting the plastic and open the thermal safety. I didn't even get a good temperature measurement, but it was well over 200 degrees F. This was without the 48 ohm element even hooked up. My conclusion from this is that the popper will get plenty hot without the second element. I'm still not sure if I will be able to leave the thermal safety switch in there though.

After hooking up the fan motor to the 16VDC, I plugged everything in and watched the temperature. It heated up fairly quickly to 200 degrees F and hovered between there and 195. This isn't really hot enough for roasting coffee, but it is a good indication that controlling the fan would allow me to control the temperature of the device between being to cold (195) and meltdown. 

When I unplugged the fan and element, the temperature immediately started to raise and was quickly up to 220 degrees F. I plugged just the fan back in and it quickly dropped. It was down to room temp in about 60 seconds. This would be a huge advantage to having separate control of the fan and element. One problem with popcorn coffee roasters is getting the coffee out quickly and cooling it down. I could just leave the beans in the roaster, turn the element off and turn the fan on high.

Followers

About Me

I started making knives when I was thirteen years old (over twenty years ago now). Since then I have made a few hundred knives for friends and family. Most of them I have no photos of. However here are a few that I did manage to get pictures taken of before they left my possession. Since I was about fifteen or sixteen years old, I have been marking my blades with my initials of "DVW".