Arduino Atmega328 use near extreme noisy environment - Page 1
Forum section: electronics / beginners

author: BlackICE
author_rank: Regular Contributor
timestamp: February 07, 2021, 06:56:11 am
content: I'm using an Arduino Pro Mini board with optical sensors connected to input pins and using a few output pins to power the sensors and IR LEDs. The board with trigger an automotive ignition coil to generate a spark across a gap of about 1cm, (~30KV). I'm sure this will generate a lot of noise and may crash the MPU. The inputs and output will not be used when the coil is active. Thus their state can be changed to whatever offers the best noise protection. I have read about using series resistors and clamping diodes like a BAV99 on the inputs to protect them. How about the outputs, are anything needed there as well? Both the IR emitters powered by and output pin and the optical sensors connected to the input pins are within 6cm of the spark gap. The Arduino board can be mounted further away but it would be nice to have it closer to LEDs and sensors.If mount the Arduino board far away from the spark generator and protect the input lines will this have a chance to work reliably?Is there any chance of mounting the Arduino board next to the spark generator <= 6cm and have it work?I know how noisy sparks can be. From an earlier test using a function generator to trigger than coil. The generator crashed and required a power down reboot. It later seemingly worked OK when I moved the funct. generator farther away from the coil and sparks

author: mvs
author_rank: Frequent Contributor
timestamp: February 07, 2021, 12:06:52 pm
content: Configure all unused GPIOs as outputs, they are less affected then inputs.Reduce resistance of external pull-up on reset line.For inputs consider that atmega already has built in ESD protection diodes. If you wish to add external diodes, look for Schottky, like BAS70-04. They are faster then BAV99 and have lower Vf.Clamped current will not dissapear in nowhere, so a large bulk cap and some load on supply are needed for correct operation. You can change series resistor of power led to a lower value.

author: BlackICE
author_rank: Regular Contributor
timestamp: March 29, 2021, 08:52:42 am
content: Just an FYI with an update. The good news is the micro mounted a few feet away from the sparks never crashed or died. The bad news is the IR transistor sensors kept getting less sensitive each test cycle until they all died. They were mounted inches away from the sparks. The project is a failure as the sensors can't survive if the sparks are powerful enough to do the job.

author: Ian.M
author_rank: Super Contributor
timestamp: March 29, 2021, 10:19:55 am
content: If the sensors were properly screened there would be no reason for them to degrade unless you were using them to monitor far more powerful sparks than an automotive ignition coil is capable of, when UV and nitrogen oxides and ozone exposure might become an issue.How were you mounting and enclosing the sensors, was the wiring screened, and what precautions against EMI did you take at the sensor?Transistors, including phototransistors, degrade if you allow the base-emitter junction to Zener.A schematic explicitly showing sensor cables etc. would help us help you.

author: Manul
author_rank: Super Contributor
timestamp: March 29, 2021, 11:17:45 am
content: Quote from: BlackICE on February 07, 2021, 06:56:11 amIn my opinion - yes, it can work reliably. But the key to success is not about input protection. The key is to not have ground sharing and everything needs to be shielded / inside closed metal box. If spark generator and arduino is both powered from mains / earth referenced - thats ok, just do not connect grounds in the signal path (do not form a loop). That of course means to use optocoupler. If IR sensors must be external, mount them in their own little metal boxes and use quality shielded sockets / plugs and a good shielded cable. Shield must connect to metal box. All the shielding - sensor boxes, cable and arduino box should connect to the main arduino power supply ground, but overwise should not be used as a ground in the circuit. Shield should be just a shield it should not be used to carry signals or power in the circuit.

author: BlackICE
author_rank: Regular Contributor
timestamp: March 29, 2021, 11:35:37 am
content: The spark generated was much more extreme than with the usual spark plug. No problems with testing with a spark plug gapped to 0.035". But when I tested a larger 1cm gap as a coil failsafe in the case where the coil's discharge had nowhere else to go. This gap was within less than 2" away from the IR sensors and many inches of wiring that were not shielded in any way. Just about 30 gauge wire with thin PVC insulation. My PC monitor that was about 3' away went nuts with just one spark! I'm guessing that the EMI from the sparks induced voltages in the wires well in excess of what the photo transistors could take. The sensors had no protection added. Just power, ground, and signal to an input of the Arduino chip.