p-v-o-s / sky-sweep

2 stars 0 forks source link

Version 2.3 power play #15

Open Fastie opened 9 years ago

Fastie commented 9 years ago

The new version of the SkyShield PCB (V 2.3) arrived last week and has undergone some testing.

v2 3-641-9

There is apparently a difference between the new version and previous versions in the power issue that is discussed in another issue. The previous boards did not drive servos correctly when powered by USB. This has not changed. But the new boards also do not drive servos correctly when powered by weak batteries that are strong enough to work fine with the previous boards. This is not a terrible failure, but I am really curious about the cause. Below are some test results. (I guess the markdown table will not display unless you view it at GitHub)

Table 1. Capability (Good or Bad) of SkyShield (Version 2.1 and 2.3) to drive servos correctly with different configurations of caps and diodes and power sources.

Power V2.1 (10uF Cap, no diode) V2.3 (10uF Cap & diode) V2.3 (470uF Cap, no diode) V2.3 (520uF Cap & diode)
USB Bad Bad Bad Bad
4 Weak AAA Good Bad Good Good
4 OK AAA Good Good Good Good
9V battery Good Good Good Good

The observations were designed to test two hypotheses about the cause of the power issue.

The capacitor result at least confirms that the erratic servo behavior is a power problem. The big capacitors used are sort of bulky, so maybe I will try some intermediate caps to see if I get the same improvement with something easier to fit on the board.

Traces -- A third hypothesis is harder to test. The new version was manufactured with thinner traces on the PCB (compare v2.1 with v2.3). Most of the power traces on the old version were nice and wide, and a few power traces were medium width. On the new PCB (v2.3) none of the traces are wide, and some are skinnier than any on the old version. So most of the power traces on the new PCBs are medium width, but the new diode loop is really skinny. I jumped that skinny loop (to operate without diode or skinny power traces) and did not observe any improvement. But I can't test whether the medium traces are too narrow and are causing the problem.

Is it reasonable to assume that the thin (medium) power traces are contributing to the power problem?

Circuit -- A fourth hypothesis is beyond my ability. The only new component on the new PCB is the diode, but the routing was all changed to accommodate rearrangement of headers, etc. It is possible that there is something about the new circuit that could be exacerbating the power issue? The new board is completely functional, it just can't operate on batteries quite as worn out as the older version. This seems like a mystery worth investigating.

Fastie commented 9 years ago

I extended the table of results today with a 100uF cap and a 1000uF cap. The 100uF cap is no improvement over the 10uF cap. The weak battery still allows erratic servo behavior. The 1000uF cap made a big difference. The weak battery operated the servos normally, and even USB power worked fairly well. USB power did not drive the servos perfectly, but it was the best USB performance I have seen. 1000ufcap-643-3 Above: testing a 1000uF cap.

So I guess this is all consistent with the hypothesis that the servos need more current than our original configuration supplies when the batteries are weak. It seems like it is worthwhile replacing the 10uF cap with one between 100uF and 470uF. USB power will still not drive the servos correctly, but batteries can run down and still drive the servos well. This change does not cost anything, because 470uF caps cost about the same as 10uF caps.

But I am working with no understanding of how this circuit works, so I could be missing something important.

Fastie commented 9 years ago

The traces on the new v2.3 PCBs are of two widths. In the Eagle files submitted to OSHPark, the signal traces are 6 mil, and the power traces are mostly 15 mil. In the previous version of the PCB (the one that works well even with weak batteries and a 10uF cap), the power traces were mostly 32 mil, and the signal traces were mostly 15 mil.

I think OSHPark uses 1 ounce copper (1 oz/square foot) for its traces. For 2 amps of current, the recommended trace width for 1 ounce copper is 31 mils. The servos are probably not drawing more than 1 amp very often, but maybe they are sometimes.

I guess its possible that the skinny traces are part of the problem with v2.3. So today I learned how to use Eagle CAD and made all the power traces 32 mils wide.

v2 4topviews
Above: Top views of the board and the copper traces for v2.4.
v2 4botviews
Above: The bottom side of the board and copper traces on the bottom layer of v2.4.

I had to do a little rerouting, and I was barely in control of what was happening, so it's not clear whether this circuit will actually work. But I have some confidence that those traces are plenty wide. How many should I order?