How to design a Shield for a rover?

In this context; what do you mean by a “shield”? Is this a mechanical shield or an electromagnetic shield or maybe something out of Star Trek? Except possibly for the third option, I do not understand how a shield would “get several signals.” Note I have the habit of sometimes “pulling peoples legs” on this forum but in this instance I am being completely straight. :frowning:

1 Like

@ Piotr: Thank You for Your feedback.
3mm required to be able to solder more tin on the copper trace (for more current conduction).
If I go with 30 Amps, 1 mm thickness (PCB copper + tin) then according this:
https://www.4pcb.com/trace-width-calculator.html
the “Required Trace Width” will be 2.98 mm, but of course the tin thickness will be more -> safer side.
Regarding:
“If from blue box at right (shield) to motor controller any signals will be send they have to be tolerant for voltage drop at that vertical wires.”
Yes the PWM, and motor direction coming out from the shiled. (See in red “*** …” in this schematics.)
Go in the shield: current, volt measurement, encoder etc.
Kindly explain, how to make them “tolerant for voltage drop at that vertical wires” ? Thank You !

@ Robert_Loos: thanks a lot for the advises.
Regarding:
" … or use separately isolated tracks that are away from the motor current." I don’t fully understand. Kindly send some examples.
“The trick is to keep the ground of R3 close to the MCU (=ADC) ground.” How to do that ? Kindly explain and send some reference. Thank You !
copper pours: I’m planning to make top & bottom layer pours connected to the GND and stitched with vias.

@ BobZ: Yes, may be one day it can be used in Star Trek :slightly_smiling_face: (I love the series.)
I didn’t want to give too much details at the first shot, so I attached the concept of the Shield now. It is showing like all in one board, but in my previous post I separated the 12V motor items to the junction terminal due to common GND (motor & signals). See “!” in yellow.

Thank You for all proposals for betterment.
In case of question, please don’t hesitate to ask.

So you are going for the Arduino MEGA form factor. Have you considered upgrading that to the M4 based Adafruit Grand Central? I haven’t checked the specialty interfaces to see if it is a fit, but it is a more powerful processor with actual hardware floating point support for a couple bucks less than a MEGA from Arduino. Note, however, it is a 3.3V board instead of 5V.

The formulas used on that calculator are not for adding thickness with tin. 1mm is “crazy thick” and would be very expensive to get fabricated. A more normal “high current” board would use maybe around 0.2mm copper on outer layers.

:slight_smile: Agree. I can think of 3 options to handle 30 Amps:

  1. Use much greater copper width. Be careful about how the conductor is terminated. You don’t want 30A to flow into a narrow point on 2 oz copper.
  2. Use copper bus bars soldered in parallel with the pcb traces.
  3. Use copper wire. Again; be careful about how it is terminated.

From another thread:

1 Like

I’ve seen such boards in the past. They were manually soldering/welding/pouring tin on the high current traces. But I’m sure it would be expensive.

Why does the high current path need to be on a PCB? This section could be implemented in loose hookup wire - prob around 10 gauge (or 8g for longer runs). The sense resistors could be incorporated in the shield or in a very small separate PCB. This would probably be a more cost effective and flexible arrangement.

1 Like

@ MuratUrsavas: Yes, the motor GND will be “manually soldering/welding/pouring tin” on a 3mm trace.

@ John_Pateman: Correct. This is why the motor GND moved to the junction terminal “small separate PCB”. :slightly_smiling_face: (Green box on the attached picture with the voltage divider resistors).
I hope this will not disturb the signal GND (5cm distance) or is there any better solution ?

I mean you don’t really need the ‘pcb junction terminal’ board at all. Implement this with suitable gauge wire and tee off the connections you need i.e. to 12v and GND. Just imagine the green square isn’t there and it is all just 10g hookup wire. Then simply move the voltage divider resistors onto the shield or make a really small cheap one for the voltage sensor components alonr. Then you won’t have to make a very expensive thick pcb.

1 Like

And it is a sign of helplessness. The resistance of tin is nearly ten times more than that of copper. Sure, it’s better than nothing but is also is not very much.

2 Likes

No. You set the copper thickness to 1mm and took the width for internal layers. But as I mentioned elsewhere, the resistance of tin is ten times the one of copper. You would have to built a 10mm high ‘wall’ of tin :wink:

I meant, keep the terminals for the buck close to those of the battery. If this is not possible, use separate tracks (for both GND and 12V) for buck and motor. Do not place the buck terminals at the end of the tracks to the motor terminals.
Place the voltage divider and the cap close to the arduino. Do not use the ground terminal from the battery for this. The voltage there will vary with the motor current and you won’t get a stable reading.
I would say, a ring of vias around the terminal would be enough. Stitching the whole plane gives no advantage.

First of all thank You for everybody for the very interesting and useful posts. :slightly_smiling_face:

@ Robert_Loos: Thank You very much for Your very detailed comments. Those helped a lot.
I modified the Junction terminal and kept the voltage divider (just in case), but connected his GND to the MCU’s GND as suggested. (Already have in the junction box, due to current measurement.)
I changed the capacitors from 10µ & 0.1µ to 0.1µ and brought closer the screw terminals for the buck to the battery on a separated tracks. The vias are in ring “via fence”, connecting the top and bottom copper pours to the motor ground (not to the MCU’s GND !). Kindly suggest for further improvement if any. Thank You very much for any kind of help in advance. :slightly_smiling_face:

I didn’t follow the whole discussion so I don’t know why you moved Buck there. I don’t wont to say it is good or bad. In each decision there are always pro and anty. As I understand your circuit the GND to uC comes through Buck. So your move made probably the differences between GND level of uC and GND level of Motor controller being bigger. As there are some lines from uC to Motor controller the requirement for those connections resistance to voltage difference between GNDs has increased.
Resistance means that when sender sends 0 (1) receiver sees 0 (1) even between sender and receiver reference levels (GNDs) are expected voltage difference.

In principle, this is much better than before. Let me give you an idea of my topological imagination, assuming all the parts (including the buck and the acs) should be mounted on a shield for an arduino or a raspi. I don’t know the pinning so here they end somewhere in the connector.
motor controller
Here you have short tracks of high current, not flowing over the whole board. You can make them nearly arbitrary wide and have them in parallel on top and bottom. R3 and the cap are as close as possible to the MCU. The MCU gets a possibly clean supply directly from the battery terminals. You might use a LM7805 instead of the buck since if you have motors of 180 watts there is no need to save one for the regulator.

How wide can you make it?

To give you an idea I have 50Arms continually conducted on a 30mm wide trace, on 4layers and each layer is 3oz

I barely know what is an arduino. Don’t amadillos eat a lot of arduinos? Or maybe it is the other way around.

2 Likes

@ Robert_Loos: thank You very much for Your valuable time and continuous support to bring this project to the next level. :slightly_smiling_face:
I sincerely appreciate Your schematic in the last post. I found it very helpful. :+1:
I updated the topology of the junction terminal & the Shield. Kindly check and give your comments.
I’m not sure: is the grounding of “R3” & “Cap” correct (see point “A”) or shall be somewhere near to point “B” or “C” ? Thank You very much for any kind of help in advance.

Almost perfect, I think. I’m still not sure why there are two pcbs, the green power pcb and the yellow shield which has almost no parts. Can’t they be simply combined? If not, I would take R3 and the cap to the yellow one to bring it closer to the MCU. This reduces the loop area of the connections and thus the induced noise. You may also provide a small cap (a nanofarad or so) at A1 to GND, again as close to the MCU as possible.
If you read Naib’s post, you are surely away from a 3mm track. I would use copper pour in the high current area to create a massive connection between battery and motors. I sketched that in your picture. If you have those pours on both sides, you have twice as much of copper. (But you need a good soldering iron :grinning:)