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:[email protected]
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:[email protected]?subject=unsubscribe


_______________________________________________
Triangle, NC Embedded Computing mailing list

To post message: [email protected]
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:[email protected]?subject=unsubscribe



_______________________________________________
Triangle, NC Embedded Computing mailing list

To post message: [email protected]
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:[email protected]?subject=unsubscribe

Reply via email to