[TriEmbed] Coffee roaster sanity check

Brian triembed at undecidedgames.net
Sun Dec 29 16:14:54 CST 2019


Hi Craig,

I've reviewed your updated design in KiCad, and here are some more comments:

+ D1 should be removed completely.  It's not doing anything for you.

+ D2-D5 are also not sensible, I'm afraid.  D4 and D3 would pass all of 
the motor's operating current, wasting power and robbing the motor of 
approximately 1.4 Volts due to the diodes' forward voltage drop.  D2 and 
D5 would then be forward-biased by the motor's back-EMF and conduct the 
spike directly into your circuit.

+ What you need is a single diode connected directly across the motor 
windings such that it is reverse-biased when the motor is powered.  That 
is, the anode should be connected to the motor's "-" pin, and the 
cathode to the motor's "+" pin.  When a DC motor shuts off, it suddenly 
acts like a battery connected to the circuit in the opposite direction. 
You want your snubber diode to act like a short circuit to that battery, 
dissipating the power that would otherwise attempt to hammer its way 
through the rest of your circuit.

+ 100 Ohms may be too small for R4.  The gate of an FET that is off 
looks like a discharged capacitor (that's exactly what it is, to some 
degree).  R4 limits the charging current that your arduino has to supply 
in order to get the FET into its "ON" state (or sink to turn it off). 
If the digital "high" voltage is 5 volts, a 100 ohm resistor would allow 
50 mA of current to flow for a split second while the FET gate capacitor 
charges.  According to the datasheet, the sink/source rating for the Uno 
R3's GPIO pins is 20 mA.  Use a 250-ohm resistor.

+ It may be wise to have a series resistance between the Arduino and the 
SSR's control pin.  250 ohms would be a good value to use here as well.

+ Remove the PWR_FLAG node.  AFAIK, PWR_FLAG is used internally by power 
components, and isn't typically used directly in a schematic.  It's only 
there to help the ERC warn you when you have power pins connected to 
logic pins.

+ The arduino's ground is not connected to your global GND.  A1 pin 7 
should connect to a GND component instead of the PWR_FLAG to which it is 
currently connected.

+ Where is the actual +5V coming from?  That isn't represented in the 
schematic.

+ When you lay out the PCB (if you make a PCB), loop us in for another 
review.


Other notes:

+ I don't know how you plan to prototype this, but a solderless 
breadboard is going to melt if you run your heater power through it.

+ I'm assuming you're using the 2-pin headers (J1-J5) to represent 
connections to off-board components.  This will be bad if you decide to 
lay out a PCB.  Use pairs of 1-pin headers instead.  Better yet, plan 
ahead for the correct number of off-board connections so that you can 
use screw terminal blocks in your layout.

+ Since K1 is (probably) insufficient anyway, if you're determined to 
use an SSR, get a high-current-rated one with its own screw terminals 
instead of PCB mount.

+ A value of 10 kOhms for R5 is fine, but here's why, if you're curious 
and don't already know:  R5 is there to make sure the FET is "off" while 
the Arduino boots up, because D13 will likely be tri-state (open 
circuit) until the Arduino code configures it as an output.  R5 also 
forms a voltage divider with R4.  The gate voltage the FET sees will be 
5 * (R5 / (R4 + R5)).  For an IRF510, the Gate-Source threshold voltage 
(the voltage at which the FET turns on) might be as high as 4 volts, so 
R5 needs to be chosen such that the divider gives at least 4 volts on 
its output:

   5 * (R5 / (250 + R5)) >= 4
   R5 / (250 + R5) >= 0.8
   R5 >= 200 + (0.8 * R5)
   (0.2 * R5) >= 200
   R5 >= 1000

Since 10000 is definitely >= 1000, you're in good shape.  Vgs will be 
4.88 volts when D13 is driven high.

Note that the same situation applies if you put a series resistance on 
the SSR's control line (between A1:21 and R2).  It will form a divider 
with R2, and the control voltage seen by the SSR will be 5 * (R2 / 
(Rseries + R2)).  R2 and Rseries together must be picked so that the SSR 
sees an appropriate control voltage.


Is this the same project I vaguely remember having some e-mails about a 
while back?  IIRC, we were never sure about the voltage rating for the 
fan.  This is a hot-air popcorn popper conversion, right?  Am I 
remembering correctly that originally, the heater was in series with the 
fan motor, acting as a current limiter?  Did you ever (very carefully) 
measure the voltage across the motor while the popper was powered?

Keep us in the loop.  I for one think it's great to watch you work on 
your design and share helpful knowledge when needed.

Cheers,
-Brian

On 12/29/19 12:03 PM, Pete Soper via TriEmbed wrote:
> Hi Craig,
> 
>     Very few people on this list are going to have KiCad at their 
> fingertips, so I transmogrified your schematic into a PDF. Folks may 
> have to turn their heads sideways to look at it depending on their PDF 
> viewer:
> 
> http://triembed.org/doc/craig-cook-coffee-roaster.pdf
> 
>    In my opinion the stuff on the left side of the schematic should be 
> inside an all metal box with the box connected to earth ground by a good 
> power cord with standard three prong AC plug properly wired. You don't 
> specify R1 (heater), so it isn't possible to judge whether the current 
> capacity of the SSR is up to the task. Two amps seems marginal for a 
> heater designed to heat more than a few beans at a time.
> 
>    R4 is too large, in my opinion, and the FET turn on time might be 
> very slow, but that may be a non-issue. It would be harmless are more 
> likely to work well if it was 100 instead of 10k ohms. D1 should be 
> swapped end for end  and have 20V on the cathode end, not ground, to act 
> as a snubber (i.e. it's in parallel with the motor but only conducts in 
> the opposite direction). The 20V of course has to match the voltage 
> rating of the actual motor.
> 
>    I'm not in the position to judge the display connections. I'm also 
> not up on KiCad enough to judge whether you've got the Arduino's five 
> volts shorted to ground with the "PWR_FLAG" net, but it seems that way. 
> The thermistor circuit seems reasonable.
> 
> -Pete
> 
> On 12/29/19 10:36 AM, Craig Cook via TriEmbed wrote:
>> Would someone be willing to review my kicad drawing of a popcorn 
>> coffee roaster?
>>
>> https://drive.google.com/open?id=141Y2Q9tdyt8iiL_LouNO4CarcEIShBtb
>>
>> I have the Arduino Uno working. Tested the thermistor, display and fan 
>> control. Have not tried connecting the solid state relay yet.
>>
>> I am basing my work from this instructable: 
>> https://www.instructables.com/id/A-fully-automatic-coffee-bean-roaster-Arduino/
>>
>> Thanks
>>
>> Craig
>>
>> _______________________________________________
>> Triangle, NC Embedded Computing mailing list
>>
>> To post message:TriEmbed at triembed.org
>> List info:http://mail.triembed.org/mailman/listinfo/triembed_triembed.org
>> TriEmbed web site:http://TriEmbed.org
>> To unsubscribe, click link and send a blank message:mailto:unsubscribe-TriEmbed at bitser.net?subject=unsubscribe
>>
> 
> _______________________________________________
> Triangle, NC Embedded Computing mailing list
> 
> To post message: TriEmbed at triembed.org
> List info: http://mail.triembed.org/mailman/listinfo/triembed_triembed.org
> TriEmbed web site: http://TriEmbed.org
> To unsubscribe, click link and send a blank message: mailto:unsubscribe-TriEmbed at bitser.net?subject=unsubscribe
> 





More information about the TriEmbed mailing list