Go Down

Topic: Fried another two programmers :-( (Read 5203 times) previous topic - next topic

dc42


Now, whether that is *actually* what blew the programmers is a second question... But what else could it be?


1. In your circuit, what are the MOSI, MISO and SCLK pins connected to, apart from the ICSP header?

2. Do you disconnect power to the H-bridge when you have the ICSP programming cable connected?
Formal verification of safety-critical software, software development, and electronic design and prototyping. See http://www.eschertech.com. Please do not ask for unpaid help via PM, use the forum.

jwatte


1. In your circuit, what are the MOSI, MISO and SCLK pins connected to, apart from the ICSP header?


They go to another similar header that is connected to a nRF24L01+ 2.4 GHz radio. Although I often disconnect that when programming, because if I start programming right when a packet is on the wire, the radio confuses the programmer.

Quote

2. Do you disconnect power to the H-bridge when you have the ICSP programming cable connected?


Nope. Hence, why this is my prime suspect :-) I'd love for a programmer to be robust enough to not need that, though. TVS-es and current limiting resistors on all wires, buffering, etc. Maybe some parallel caps, too, for filtering. The USBtinyISP actually has buffers, but not TVS-es -- if you blow something, it's more likely the buffer than the 2313.

I just want to make sure I'm not overlooking something else.

FWIW: I hadn't noticed how extremely current hungry that pair of motors is (it's two motors on one H-bridge) -- my bench power supply drops from 8.2V to less than 6V when they start, even though I'm using PWM, and the current limit is set to 5A. On battery, I don't have that problem -- yay for high-C LiPo packs :-) And also, yay for MOSFETs that can take > 20 A :-)

dc42

1. Have you kept the ground wire from the PSU to the H-bridge separate from the ground wire to the ICSP header?

2. When programming, is there a ground loop? i.e. the programmer is grounded through the PC USB port, and your bench power supply may also have its negative terminal grounded. If so, when the H-bridge switches, there will substantial ground loop currents (especially if you don't have those capacitors I mentioned close to the H-bridge mosfets), and that may be what's killing the programmers. You could try connecting 100 ohm resistors in series with all the ICSP header pins (including ground) and not connecting the +5V ICSP header pin.
Formal verification of safety-critical software, software development, and electronic design and prototyping. See http://www.eschertech.com. Please do not ask for unpaid help via PM, use the forum.

jwatte

Thank you, I appreciate your recommendations! Finding all i-s to dot and t-s to cross to make sure this isn't a recurring theme is important to me :-)

The PC is powered by the same bench PSU (a second channel) because it' on-board on the robot that also has the motor controller.

There is some common ground (heh) and then a Y split to H-bridge vs LM350 regulator, after which there's a short cable (6") to the controller board. That Y splitter now has the big capacitor; it didn't before.

I did remove the 5V connector from my arduino-based programmer. I don't think I can do it for the others, because they use presence of 5V as a detector for an inserted cable. (The AVRISPmk2 also detects that RST can be pulled low, and if not, detects a reversed cable.) The USBtinyISP design has current limiting resistors on the programming pins already, but not on the 5V.


dc42

It may be worth putting a current limiting resistors in series with your 5V and ground ICSP pins then.
Formal verification of safety-critical software, software development, and electronic design and prototyping. See http://www.eschertech.com. Please do not ask for unpaid help via PM, use the forum.

jwatte


It may be worth putting a current limiting resistors in series with your 5V and ground ICSP pins then.


That's a good idea. I'll put that on the next version of the board I'm making. Also, I'm starting to like TVS-es -- you can get 6 of them in a small 8-SOIC; if I can find the space for one per exposed header/connector, I think that'll be good.

iyahdub


That looks nice, too! It would need a 10-to-6 converter for use with 6-pin headers, though.

I ended up ordering two of the SparkFun programmers (same price as the JYE) so I can keep one in reserve for when the first one blows, and won't be stranded over another week-end :-) That comes with a cable that's 10-pin and 6-pin all-in-one. Until those arrive, I'm limping along with Uno-as-ISP.
]

The one i mentioned is compatible with 10 and 6 pin  (hence the two conectors)
10 LET Loop=Infinite
20 GO TO 10

MichaelMeissner

#22
Oct 31, 2012, 12:25 pm Last Edit: Oct 31, 2012, 04:28 pm by MichaelMeissner Reason: 1
I know that you meant you fried the controller cable that enable you to re-program the embedded chips, but as somebody who has made his living for 33 years as a programmer, whenever I read the title of the thread, I get visions of scenes from Frankenstien movies or Tesla coils overlaid with the Dilbert boss with an evil cackle when you say fried a programmer.  :smiley-roll: :smiley-roll-sweat:

jwatte

That might still be better than having *fired* a programmer :-/

MichaelMeissner


That might still be better than having *fired* a programmer :-/

Having been laid off 4 times in my career, you can recover from being fired (depending on your skill set and the state of the economy).  Depending on how bad the burns are, being fried could be fatal.

Go Up