5
\$\begingroup\$

I have designed and built a motor controller circuit. The circuit has a microcontroller on which gets commands from a PC using an FT232R. Currently the FT232R is powered from the board's +5V supply. This +5V supply is generated using a regulator which converts the +24V power input to the board. The +24V input also powers the H-Bridge which drives the motor.

Everything works fine, except when it doesn't - sometimes, whilst stopping and starting frequently under a heavy load, the PC blue screens. I think this has something to do with the ground level rising due to heavy load on the motor - which the USB end of the PC doesn't like very much.

My solution is to first switch to USB bus power (the only thing it needs to run is the FT232R) to eliminate any fluctuation in the supply.

I also want to protect the USB ground from the main board ground, however they still need to be linked. I was thinking of using an inductor to connect the power planes to prevent spikes from the stop start action.

Is this a good idea or is there a better method?

I have decoupling caps (1u and 100u) on both the power input and regulated +5V as well as 10n and 10u on the major IC's and 10n and 100n on smaller IC's. The question is asking how to connect a noisy power plane to a quiet one with out making the quiet plane noisy.

\$\endgroup\$
3
  • \$\begingroup\$ A circuit would help. \$\endgroup\$
    – Andy aka
    Commented Jan 27, 2016 at 11:04
  • \$\begingroup\$ The circuit is quite large, and also uses 99% air wires, it would take a while to study it. I have decoupling caps (1u and 100u) on both the power input and regulated +5V as well as 10n and 10u on the major IC's and 10n and 100n on smaller IC's. The question is asking how to connect a noisy power plane to a quiet one with out making the quiet plane noisy. \$\endgroup\$
    – Tim M
    Commented Jan 27, 2016 at 11:11
  • 1
    \$\begingroup\$ I guess @Andyaka meant "circuit diagram", i.e. schematic, with BOM etc. I'm not an expert on the subject, but it is quite difficult to diagnose noise problems without the exact circuit topology at hand. Anyway, also photographs of the real circuit and the PCB layout could help: the exact physical layout of traces, planes and wiring could well affect the result. \$\endgroup\$ Commented Jan 27, 2016 at 11:23

4 Answers 4

6
\$\begingroup\$

I would strongly suggest that you must completely isolate the ground of your FT232 from the power stage, before you destroy the USB port that it is connected to. There should be absolutely NO ground (or other) connection between high power circuitry and your control IO; do not stick random inductances in as they will as likely make things worse as better.

The slowest, simplest connections in your design (i.e. the easiest place to make a separation) are probably the serial lines between MCU and FT232, so put opto-isolators in there. Power the FT232 from the USB port and power the MCU from its own regulator.

Better yet, consider isolating the MCU from the power stage, e.g. using a 24V-5V isolated DC-DC converter to power the MCU. Opto-isolators might work for the motor-control signals depending on the frequencies you're dealing with, otherwise you can use other, faster, galvanic isolators.

If your MCU is isolated from the power stage, you don't need to isolate the FT232 from the MCU anymore.

\$\endgroup\$
1
  • \$\begingroup\$ Thank you very much, exactly the answer I was looking for. \$\endgroup\$
    – Tim M
    Commented Jan 27, 2016 at 12:26
6
\$\begingroup\$

What you need to do first is look seriously at your board and schematic design for ground loops and improper ground couplings, as you seem to be aware of. You, because you post nothing for us to help you in that respect.

One thing you need to not do is randomly put inductances in there, as the other ninety of "it's 10/90 whether that accidentally even helps anything, by pure and utter coincidence" is it making everything unbelievably worse.

What most people do when powering high voltage and high current devices and sensitive logic tracks from the same power is called "star ground" and "star power", where all power tracks join only at one point, allowing their individual decoupling to catch the brunt of power spikes. Then follows the need for proper decoupling calculations, rather than "I put x and y on everything" you need "I calculated that the spike current here will be this, as such I need a capacitance of Y with an ESR of X (and possibly a maximum total inductance of Z) to have the power lines stay within the spec of the system as a whole" and then apply that with the type and number of caps that then implies.

Usually a first shot for high current motor peaks is calculate the capacitance and then make the ESR as low as your budget will let you across all, or most frequencies by decade-stepping: If you need 120uF, put a 100uF, a 10uF, a 10uF, a 1uF and a 100nF in parallel, where usually you'd opt for ceramic for all at or below 1uF. Then you cross off or combine those that you don't feel make sense. In this case I might make it 100uF, 22uF, 1uF. Then you find the best choices for those values that are inside the financial budget.

An easy way of forcing a star ground is using what 'the biz' calls "Net-Tie" elements. Basically a part that's just a high-lighted bit of wire in the schematic, but on the board is a two-pin element of a specific track size. One pin gets connected to your power-supply input and the other to the power-domain's ground and/or supply. For example you'd make a Net-Tie element of 8mil for your low-power logic and a Net-Tie element of 40mil for your power and put those next to each-other at the power plug. Or you put them opposite each other with the power plug in between.

This way Design Tule Checks will flag any "inappropriate intimacy" of your ground circuits.

One very important thing to be aware of, when using star-grounds, is that digital I/O controlling your motors needs careful planning and attention. If you drag them across a gap in your grounding system the return currents will need to go in a loop through your star-connection and possibly experience unwanted inductance, resistance or noise sensitivity. If you have a bunch of those, a separator element (opto-coupler or any one of a hundred many-channel capacitive-barrier chips) is often a good choice to keep out as much noise as possible. You can also opt to make the joint in domains such that you can route a single SPI bus across it, in desperate times, but it is noticeably inferior to proper ground and signal separation in the cases of coupled motor noise and such.

\$\endgroup\$
3
  • \$\begingroup\$ What type of chip do you refer to with "capacitive-barrier chips" exactly? \$\endgroup\$
    – Rev
    Commented Jan 27, 2016 at 18:24
  • \$\begingroup\$ @Rev1.0 For example the ADuM524x chips from Analog, but I'm sure there's other, nicer or cheaper ones that are just as usable. Although it turns out they actually inductively couple, but same difference. \$\endgroup\$
    – Asmyldof
    Commented Jan 27, 2016 at 23:11
  • \$\begingroup\$ The "capacitive" was the reason I was asking, I was just curious. We used ADuM1301 in the past, which is inductively coupled. But nevermind. \$\endgroup\$
    – Rev
    Commented Jan 28, 2016 at 7:08
1
\$\begingroup\$

Grounding in a circuit is very important which is why this is a great question. I cant profess to be an expert in circuit design but I have learnt that separating signal and power grounds is very important, and it is pretty much a physically layout problem rather than adding extra components.

Physically isolate the digital comms circuit from the power switching circuit and actually have their grounds separate too, so that each circuit is sitting on top of their individual grounds, then join the grounds by a single thin track.

An example could be having each part (signal and power) occupy opposite sides of the PCB and a single track joining the 2 ground planes.

I hope this gets you on the right track (pun intended :) ), and a more experienced design guy comes along.

\$\endgroup\$
2
  • \$\begingroup\$ So that's pretty much what I have done, the USB and motor controller are at opposite ends of the board, I now have a separate power plane for the USB device. My question is whether using an inductor to link the power planes (as opposed to a thin track) is a good idea or whether there is a better method. \$\endgroup\$
    – Tim M
    Commented Jan 27, 2016 at 11:38
  • \$\begingroup\$ @Tim a bead inductor or small balun is more often used since it is cheap and will block high frequency spikes, whilst maintaining DC connection. A copper trace does not do this. \$\endgroup\$
    – ChrisR
    Commented Jan 27, 2016 at 13:44
1
\$\begingroup\$

You may want to try an USB Isolator such as this one before your blue screen turns into a permanent black screen.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.