Welcome
Username or Email:

Password:


Missing Code




[ ]
[ ]
Online
  • Guests: 17
  • Members: 0
  • Newest Member: omjtest
  • Most ever online: 396
    Guests: 396, Members: 0 on 12 Jan : 12:51
Members Birthdays:
No birthdays today

Next birthdays
05/11 ramses (16)
05/11 Arcstarter (31)
05/11 Zak (15)
Contact
If you need assistance, please send an email to forum at 4hv dot org. To ensure your email is not marked as spam, please include the phrase "4hv help" in the subject line. You can also find assistance via IRC, at irc.shadowworld.net, room #hvcomm.
Support 4hv.org!
Donate:
4hv.org is hosted on a dedicated server. Unfortunately, this server costs and we rely on the help of site members to keep 4hv.org running. Please consider donating. We will place your name on the thanks list and you'll be helping to keep 4hv.org alive and free for everyone. Members whose names appear in red bold have donated recently. Green bold denotes those who have recently donated to keep the server carbon neutral.


Special Thanks To:
  • Aaron Holmes
  • Aaron Wheeler
  • Adam Horden
  • Alan Scrimgeour
  • Andre
  • Andrew Haynes
  • Anonymous000
  • asabase
  • Austin Weil
  • barney
  • Barry
  • Bert Hickman
  • Bill Kukowski
  • Blitzorn
  • Brandon Paradelas
  • Bruce Bowling
  • BubeeMike
  • Byong Park
  • Cesiumsponge
  • Chris F.
  • Chris Hooper
  • Corey Worthington
  • Derek Woodroffe
  • Dalus
  • Dan Strother
  • Daniel Davis
  • Daniel Uhrenholt
  • datasheetarchive
  • Dave Billington
  • Dave Marshall
  • David F.
  • Dennis Rogers
  • drelectrix
  • Dr. John Gudenas
  • Dr. Spark
  • E.TexasTesla
  • eastvoltresearch
  • Eirik Taylor
  • Erik Dyakov
  • Erlend^SE
  • Finn Hammer
  • Firebug24k
  • GalliumMan
  • Gary Peterson
  • George Slade
  • GhostNull
  • Gordon Mcknight
  • Graham Armitage
  • Grant
  • GreySoul
  • Henry H
  • IamSmooth
  • In memory of Leo Powning
  • Jacob Cash
  • James Howells
  • James Pawson
  • Jeff Greenfield
  • Jeff Thomas
  • Jesse Frost
  • Jim Mitchell
  • jlr134
  • Joe Mastroianni
  • John Forcina
  • John Oberg
  • John Willcutt
  • Jon Newcomb
  • klugesmith
  • Leslie Wright
  • Lutz Hoffman
  • Mads Barnkob
  • Martin King
  • Mats Karlsson
  • Matt Gibson
  • Matthew Guidry
  • mbd
  • Michael D'Angelo
  • Mikkel
  • mileswaldron
  • mister_rf
  • Neil Foster
  • Nick de Smith
  • Nick Soroka
  • nicklenorp
  • Nik
  • Norman Stanley
  • Patrick Coleman
  • Paul Brodie
  • Paul Jordan
  • Paul Montgomery
  • Ped
  • Peter Krogen
  • Peter Terren
  • PhilGood
  • Richard Feldman
  • Robert Bush
  • Royce Bailey
  • Scott Fusare
  • Scott Newman
  • smiffy
  • Stella
  • Steven Busic
  • Steve Conner
  • Steve Jones
  • Steve Ward
  • Sulaiman
  • Thomas Coyle
  • Thomas A. Wallace
  • Thomas W
  • Timo
  • Torch
  • Ulf Jonsson
  • vasil
  • Vaxian
  • vladi mazzilli
  • wastehl
  • Weston
  • William Kim
  • William N.
  • William Stehl
  • Wesley Venis
The aforementioned have contributed financially to the continuing triumph of 4hv.org. They are deserving of my most heartfelt thanks.
Forums
4hv.org :: Forums :: Computer Science
« Previous topic | Next topic »   

Arduino's/AVRs and ESD-rich environments...

Move Thread LAN_403
Nicko
Mon Jun 28 2010, 03:04PM Print
Nicko Registered Member #1334 Joined: Tue Feb 19 2008, 04:37PM
Location: Nr. London, UK
Posts: 615
[grumble]

Just a quick point - there are various threads complaining about problems using uPs for TC control, specifically AVRs and/or Arduinos (which are just ATmegas with a bootloader).

Firstly, people should read Atmel app note AVR040, specifically section 4.9 with special note of 4.9.2. Almost every AVR-related design I've seen misses this simple point - there is NO ESD protection to speak of on the RESET pin (for a reason), thus most AVR-based designs, including the reference Arduinos, are vulnerable to ESD...

So, a 10K resistor and a small signal diode (1N4148 etc) to VCC, and a 4n7 cap to ground, and you may find your AVR-based system being a bit less likely to go AWOL.

I only mention this because even though I'm a hardened "from the ground up" type designer, I've decided to give using an Arduino Duemilanove a try for a project, and I don't like some of what they've done (both hardware & software) - I'm really fighting hard against my instincts, which are to re-write most of the PDEs I use (to what I consider) to be deliverable-quality code and to re-do the PCBs to be more ESD resistant. The Arduinos don't even filter AVCC properly - for the sake of a few cents they could have got reasonable accuracy from their ADCs - all it needs is a small RF choke and another 100n cap. Also, most PDEs are just dreadful hacks (IMHO).

[/grumble]

Having said that, they are very cheap, and I couldn't even have just the PCB made for the cost of a fully populated Duemilanove from HK, so I just piggy-back the mods onto the main board...

Ho, hum...

Cheers
Back to top
Killa-X
Mon Jun 28 2010, 04:52PM
Killa-X Registered Member #1643 Joined: Mon Aug 18 2008, 06:10PM
Location:
Posts: 1039
Well, Thanks for the information / tips! I didn't know the reset pins had no protection against ESD...I've read the datasheet forward and backwards, page by page for my chip and haven't caught that information. I've been macing a digital interrupter for my tesla coil, so it helps me to know this information because its going to be near the coil. The reason I went with an AVR (ATMEGA32P) is because it's LCD based with duty cycle and frequency control so I can have very specific outputs...That and so I can make different modes that you couldn't do with 555s.

Again, thanks for the tip!
Back to top
Nicko
Mon Jun 28 2010, 08:24PM
Nicko Registered Member #1334 Joined: Tue Feb 19 2008, 04:37PM
Location: Nr. London, UK
Posts: 615
Killa-X wrote ...

Well, Thanks for the information / tips! I didn't know the reset pins had no protection against ESD...I've read the datasheet forward and backwards, page by page for my chip and haven't caught that information...
...because its not there, its in AVR040 & AVR042, and is far from clear.

AVR042 section 3 also suggests the use of a zener to clamp /RESET wrt GND, but there are caveats and you should read about them carefully...

Cheers
Back to top
Paul Benham
Tue Feb 21 2012, 06:21PM
Paul Benham Registered Member #570 Joined: Wed Mar 07 2007, 03:41PM
Location: Winchester Uk
Posts: 42
Thanks for the tip Nick. I'll modify mine.

Cheers,

Paul.
Back to top
Steve Conner
Tue Feb 21 2012, 06:51PM
Steve Conner Registered Member #30 Joined: Fri Feb 03 2006, 10:52AM
Location: Glasgow, Scotland
Posts: 6706
Destruction by ESD is the best thing that can happen to an Arduino! wink

It wouldn't surprise me if the MCLR pin on PICs had a similar problem. It needs to go up to 12V to program the onboard flash, so there probably isn't an ESD protection diode to the positive rail.
Back to top
hboy007
Tue Feb 21 2012, 07:25PM
hboy007 Registered Member #1667 Joined: Sat Aug 30 2008, 09:57PM
Location:
Posts: 373
Thanks for the valuable piece of information, Nicko. I haven't used AVRs in critical environments yet but now I'm warned. I like to use 10k pullups to Vcc so the only vulnerable connection to the outside world would be the ISP header which is unconnected under normal operating conditions.... the harder it sucks when you zap an SMD AVR during maintenance.
Back to top
Nicko
Tue Feb 21 2012, 08:48PM
Nicko Registered Member #1334 Joined: Tue Feb 19 2008, 04:37PM
Location: Nr. London, UK
Posts: 615
Nearly 2 y/o thread re-awakes!

Steve wrote ...
Destruction by ESD is the best thing that can happen to an Arduino! wink
Indeed! Spawn of the Devil!!!

Interesting point about PICs maybe having the same issue - pretty much any uP that has a high(er)-voltage programming mode is likely to be affected.

Cheers
Back to top
Steve Conner
Tue Feb 21 2012, 09:02PM
Steve Conner Registered Member #30 Joined: Fri Feb 03 2006, 10:52AM
Location: Glasgow, Scotland
Posts: 6706
I have one data point to share. Years ago I was working on a PIC based interrupter. I tested it as a bare board with no extra shielding. In spite of the pullup resistor, MCLR picked up enough noise to reset the processor midway through every burst. I shipped them with a jumper on the programming header, bolting MCLR to 5V.

Solid-state coils are great for learning about EMC! wink Edit: and for destroying unwanted Arduinos.
Back to top
Carbon_Rod
Wed Feb 22 2012, 03:32AM
Carbon_Rod Registered Member #65 Joined: Thu Feb 09 2006, 06:43AM
Location:
Posts: 1155
Unfortunately most Flash devices will have at least one external pin that if brought above vcc will kill the memory. The errata usually will include a warning to avoid using these pins as an i/o, but people tend to assume its safe because its there.

Personally, I would try to re-flash the chip using a programmer to see if this was the reason, and toss the chip as it may be faulty. Note there is a shield adapter for Arduinos to flash the Arduino bootloader onto another chip.

Cheers,
Back to top

Moderator(s): Chris Russell, Noelle, Alex, Tesladownunder, Dave Marshall, Dave Billington, Bjørn, Steve Conner, Wolfram, Kizmo, Mads Barnkob

Go to:

Powered by e107 Forum System
 
Legal Information
This site is powered by e107, which is released under the GNU GPL License. All work on this site, except where otherwise noted, is licensed under a Creative Commons Attribution-ShareAlike 2.5 License. By submitting any information to this site, you agree that anything submitted will be so licensed. Please read our Disclaimer and Policies page for information on your rights and responsibilities regarding this site.