Tips for protecting a microcontroller? (Second dead teensy 3)

Status
Not open for further replies.
I killed my first teensy 3 mysteriously during experiments with the OctoWS2811 library and circuit, details here.

To prevent killing my second teensy I've:
  • Clad my desk in aluminium and grounded it
  • Zener (3v3) protected all IO pins in use
  • Converted the 3v3 logic signals to 5v through a 74HC245 as reccomended on the OctoWS2811 info page
  • Covered the bottom of the circuit board (prototype board currently) with electrical tape so it cant short to the grounded desk
  • Current limited all used IO pins with resistors

The prototype ran beautifully for 20 hours plus (one 12 hour session, several smaller ones leading up), everything worked fine. I turned it off after its first event (lights for a party, it's a prototype for a DJ installation), left it over night, and it wouldn't turn on.

I took the teensy out of the socket it was in, reconnected the VUSB trace, plugged it into a computer (win7), uploaded blink. Blink didn't work.


So I have two questions:

  1. What can I do to prevent a uC dying on me?
  2. How can I confirm that the Teensy 3 is genuinely dead? (I have an oscilloscope)

I can upload toe code I was running and the circuit schematic if it will help.

Thanks in advance for everyone's time :)
 
I took the teensy out of the socket it was in, reconnected the VUSB trace, plugged it into a computer (win7), uploaded blink. Blink didn't work.

This description sounds like the upload succeeded, but then the LED did not blink?

If the board is dead, then Teensy Loader will not be able to detect it and upload any code. So if you're successfully uploading (the Teensy Loader window shows a message indicating the loading was good), then the Teensy is probably ok. Of course, I can't possibly tell from only this message.

From the description in your prior email, I'd investigate the ATX power supply. Despite being a very high quality unit, all modern ATX power supplies are designed to deliver most of their power on the 12 volt line. I'd try using your 'scope to look at the 5 volt line. It's possible the power supply could produce very erratic output with a light load on 5 volts and zero load on 12 volts. You might need to connect some large resistors (like a few 22 ohm, 10 watt types) to the 12 volt lines to make the power supply behave well.
 
This description sounds like the upload succeeded,
Yeah, i did think it was odd. I consistently got the 'you need to press the reset button message' on the IDE, but reset button/plugging in with button held changed nothing. I also went over all of the pins with the scope and I had power (5v and 3v3) but nothing on any other pin.
EDIT: oh and yeah, the LED didn't blink, but the IDE thinks upload was succesful

...I can't possibly tell from only this message.
Sorry about that; what can I do to check the health of the Teensy? I understand the frustration at people expecting a diagnosis with no information, I was going for brevity first, detail if I got a response or a direction.


From the description in your prior email, I'd investigate the ATX power supply. Despite being a very high quality unit, all modern ATX power supplies are designed to deliver most of their power on the 12 volt line. I'd try using your 'scope to look at the 5 volt line. It's possible the power supply could produce very erratic output with a light load on 5 volts and zero load on 12 volts. You might need to connect some large resistors (like a few 22 ohm, 10 watt types) to the 12 volt lines to make the power supply behave well.
I did this (scoped the PSU) since the first post and I did notice some consistent noise with the 5v rail. With the LEDs (100 ws2811s, all off) and teensy connected I got 400mV pk-pk, with occasional spikes to 800mV. With the LEDs disconnected I got 1.4V pk-pk... Yeah, that's certainly not going to help. How much load should I put on the 12v rail?

Thank you very much for your time Paul, I really appreciate the support :)
If there's any other information that would aid you here, I'll supply it ASAP.
 
EDIT: oh and yeah, the LED didn't blink, but the IDE thinks upload was succesful

Just to be perfectly clear, are you seeing this appear in the Teensy Loader?

reboot_ok.png

If you see that image, then the loading worked and the board is probably ok.
 
Just to be perfectly clear, are you seeing this appear in the Teensy Loader?

I'm currently getting the "Please press the RESET BUTTON on your Teensy to upload your sketch. Auto-reboot only works if the Teensy is running a previous sketch." message in the IDE, and 'Press button to activate' message in the teensy program. Pressing the reset button has no effect, the teensy program stays the same.

O..k
Just checked it again, same thing, then I unplugged it from the computer and got the same thing. The IDE does not seem to care if it's plugged in or not... Im pretty sure that previously would have errored (or does it only error with normal arduinos? I can't remember).

I turned on verbose info on the teensy program and got the following, plugged or unplugged:

Code:
03:24:32: remote connection opened
03:24:37: remote cmd: "status"
03:24:37: status data sent
03:24:37: remote cmd: "status"

.... [repeats a lot]....


03:24:37: status data sent
03:24:37: remote cmd: "status"
03:24:37: status data sent
03:24:37: remote cmd: "status"
03:24:37: status data sent
03:24:37: remote connection closed

I've restarted the computer and such, should I uninstall/resintall the arduino/teensyduino/etc?
 
I'm currently getting the "Please press the RESET BUTTON on your Teensy to upload your sketch. Auto-reboot only works if the Teensy is running a previous sketch." message in the IDE, and 'Press button to activate' message in the teensy program. Pressing the reset button has no effect, the teensy program stays the same.

I'm sad to say that sounds like a dead board.
 
Paul mentioned before that it's possible to cut the power wire on the USB cable, and power the teensy directly with a battery or other power source. I'm wondering if that could be helpful here.
I wouldn't do anything unless Paul says it's worthwhile, since I generally don't know what I'm talking about. Just thought I'd mention it, since it was surmised that it could be a problem with the power on the ATX.
 
I'm sad to say that sounds like a dead board.
That's ok, it's my ignorance that killed it. I've got three more with me, and three more on the way :)
For future reference, do you recommend any particular way of protecting the teensy's power-in? Just diode clamping and filter caps? or is there a better solution? I'm buying power resistors today to load up the ATX PSU (10W on the 12V, 5W on the 5V), but I'd like to permanently attach some more protection to my circuits that use the teensy.

Thanks again for your time; it's great to get such support for a product.



Paul mentioned before that it's possible to ... power the teensy directly with a battery or other power source....since it was surmised that it could be a problem with the power on the ATX.

Yeah it's been powered through two sources and the USB (trace resoldered), but thanks any way :)
 
My guess is the ATX power supply will behave much better once you're drawing an amp or two from the 12 volt line. It's very unfortunate the 5 volt output is so unstable at light loads. 1.4 Vp-p (presumably AC superimposed on the 5 volts?) is enough to destroy almost anything that normally runs on 5 volts.

Be sure to put those 10 watt resistors directly in the air flow created by the power supply. Especially the wirewound type power resistors (the ones that are really affordable) achieve their high wattage ratings less by dissipating the power well and more by simply being able to withstand incredibly high temperatures! Even at 5 watts, after time they get very hot. I have personally relearned that lesson multiple times by burning my fingers.

Here's a couple things you might be able to try...

You could create a very clean 5 volt power for Teensy using a 7805 voltage regulator powered from the 12 volt line. Since you have 7 volts difference, don't bother with the "low dropout" type regulators, which require special attention to output capacitors for stability. The good 'ole 7805 is so easy to use and highly stable, even without an output capacitor. Just be careful how you run the wires, because accidentally touching the 12 volt power to Teensy will instantly destroy it.

You might also try running the Teensy from the VSB +5 volts (typically the purple wire), which is always on when the power supply is plugged in, even if it's turned off. Typically ATX power supplies have a different power path for VSB and it's designed to work for very light loading. Still, given the problems you've already had, I'd try putting a 180 ohm resistor load on VSB 5V to simulate the power Teensy 3.0 would use and look at the stability of the voltage with your scope, with the power supply in both on and off modes.

Stability problems on the 5 volt power are also likely to damage those WS2811 controller chips inside the LED strip. They're probably made with a much lower tech silicon process than an ARM processor, where older silicon is better able to withstand higher voltage, but still they're only rated for 5.5 volts max. For a project where OctoWS2811 isn't totally overkill, you've probably got a lot of money invested in those LEDs!
 
You could create a very clean 5 volt power for Teensy using a 7805 voltage regulator powered from the 12 volt line. Since you have 7 volts difference, don't bother with the "low dropout" type regulators, which require special attention to output capacitors for stability. The good 'ole 7805 is so easy to use and highly stable, even without an output capacitor. Just be careful how you run the wires, because accidentally touching the 12 volt power to Teensy will instantly destroy it.
Ah, good tip. I'll use that for future projects :)
Sadly in this case I need 5V for all the LEDs as well. I could bulk buy a bunch from the local wholesaler and stick a bunch in parallel just to make a super clean 5v rail for myself (this project will be battery powered eventually, but during development it's bolted to a bench)... though that's not a very elegant solution.


You might also try running the Teensy from the VSB +5 volts (typically the purple wire), which is always on when the power supply is plugged in, even if it's turned off. Typically ATX power supplies have a different power path for VSB and it's designed to work for very light loading. Still, given the problems you've already had, I'd try putting a 180 ohm resistor load on VSB 5V to simulate the power Teensy 3.0 would use and look at the stability of the voltage with your scope, with the power supply in both on and off modes.
I just added the resistors now (2x 24ohm 10W on the 12v, 2x 10ohm 10W on the 5v) and noticed little improvement in the pk-pk values of the VSB rail, 5v rail and 12v rail (still hovering between 800mV and 1V, at unstable kHz frequencies). I then added two more resistors to the 12v rail (4x 24 ohm 10W ie one 6ohm 40W resistor, for a total of 24W load on the 12v rail) with no change.
I guess I have an unhealthy PSU? I could make an RC low pass filter I guess... and then zener-protect the 5v rail to catch any other spikes... would that be a suitable fix?

Stability problems on the 5 volt power are also likely to damage those WS2811 controller chips inside the LED strip. They're probably made with a much lower tech silicon process than an ARM processor, where older silicon is better able to withstand higher voltage, but still they're only rated for 5.5 volts max. For a project where OctoWS2811 isn't totally overkill, you've probably got a lot of money invested in those LEDs!

Yeah, I haven't had a chance to test the leds yet but I suspect I might have fried some of those too. I've about $300 of them with me, but only $70 ish hooked up currently.


Thanks again for your advice Paul :)
 
I would not use that ATX power supply!
Yeah, that's getting put out to run the 'dumb' loads @ 12V for other projects.
I've got a friend with a 5V 20A power supply dropping by tomorrow (100mv pk-pk without load, less on load, measured by him) so that's that sorted.

I'm also about to start making my own lab PSU (primarily as a learning project).

Thanks again for the help Paul :)

Also, if you were still interested in doing so (I think you mentioned the intent in a thread somewhere on the forum) updating the OctoWS2811 library to do streaming video etc (ie not preconverted) would be awesome :)
 
Also, if you were still interested in doing so (I think you mentioned the intent in a thread somewhere on the forum) updating the OctoWS2811 library to do streaming video etc (ie not preconverted) would be awesome :)

Yes, I'm planning to do this sometime between now and Maker Faire (May 18-19). If I run short on time, which is very likely, I'll probably release it sometime shortly after Maker Faire.
 
Just one quick FYI - covering your desk with a highly conductive surface (aluminum) is generally not recommended. Best practice is an ESD mat, which is a high resistance mat. You want something that bleeds off charge, but doesn't cause a hard short if it is accidentally contacted.
 
If you do run it of an ATX power supply you might want to consider running off the 5V standby (purple) line instead. This is designed to run low power devices while the primary 5V and 12V rails are off - so I wouldn't expect minimum load conditions to affect it. Either the spec doesn't specify a minimum standby current max, or if it does it's paltry and most supplies exceed it many times over. But it's certainly enough to run a Raspberry, let alone a Teensy.
 
Status
Not open for further replies.
Back
Top