Arduino Freeze - In Car Controlling

Hi everybody,

SInce somes weeks i’m trying to integrate arduino in my car.
I’ve Added Keypad to start the car, and some sensor.
I use 73A Mosfet on heatsink, to switch Starter, ACC, Coil.

Schematics :
{See attached picture}

Problems, when the car star, arduino freeze sometime when the starter run, or 10 seconds after starting.
It’s a true freeze, Serials are Out of Work, i can only Reset or power off.

I’ve try to add a DC-DC Buck converter to supress alimentation noise.
I’ve Add Zener Diode 0.5W 5.1V on the pin witch go on the transistor.

Edit:
I know, the coil can have a feedback over 100v, can it return by transistor in arduino ? If it is possible, how to protect it ?

tr9a.gif

A car is a very hostile environment for a computer. Protection of the pins can be done with this:-
http://www.thebox.myzen.co.uk/Tutorial/Protection.html

But you also need some good power supply decoupling, like the one for the motor in the last circuit of this page.
http://www.thebox.myzen.co.uk/Tutorial/De-coupling.html

Hi, might I suggest that any switching to control any of the cars functions be done with an opto coupler, and connect that to switch the MOSFET on/off.
This will help to isolate spikes and surges.
How well have you isolated/suppressed your supply for the arduino?
Also any digital input, ie on/off, to do the same, it will save tears later on.
Make up an input interface board, ie some optos that have resistors to limit input diode current to opto specs at 12v
Make up an output interface board, ie some more opto's wired as output devices.
These can been made on a blank arduino shield PCB.
A motor car is not made to be easily electronically hacked, so a little bit of care and planning early into a project will eventually prove fruitful.

Tom

How are you powering the Arduino? If you are using the main battery in the car, and the battery is getting a bit weak, the output voltage can really sag when the starter is engaged.

My car has a load resistor bypass for the ignition coil when the starter engages. It is a 6 volt coil in a 12 volt environment. It uses a load resistor to drop the coil voltage to 6 volts when the starter is not engaged.

SurferTim:
How are you powering the Arduino? If you are using the main battery in the car, and the battery is getting a bit weak, the output voltage can really sag when the starter is engaged.

For the input, i use :

It might remove the noise ?

The freeze happen when the started is engaged or when i accelerate.

SurferTim:
My car has a load resistor bypass for the ignition coil when the starter engages. It is a 6 volt coil in a 12 volt environment. It uses a load resistor to drop the coil voltage to 6 volts when the starter is not engaged.

Interesting, can you tell me more ?

TomGeorge:
Hi, might I suggest that any switching to control any of the cars functions be done with an opto coupler, and connect that to switch the MOSFET on/off.
This will help to isolate spikes and surges.

Yes, i know, but it take a lot of component and take more place on PCB ...

Grumpy_Mike:
A car is a very hostile environment for a computer. Protection of the pins can be done with this:-
Protection
http://www.digikey.com/us/en/techzone/microcontroller/resources/articles/protecting-inputs-in-digital-electronics.html

But you also need some good power supply decoupling, like the one for the motor in the last circuit of this page.
De-coupling

I was hoping, with my DC- Buck conveter i can remove the noise... But the problems is ever here.
I've try with Campling Diode just after the resistor :
Arduino--Resistor--Transistor--Mosfet(coil ignition)
|-Clamping diode

So, now, i don't know what Freeze my arduino ... :frowning:

I've try to remove the alternator.
I've add De-coupling just before Vin (Last schematichttp://www.thebox.myzen.co.uk/Tutorial/De-coupling.html)
I've try to isolate the alimentation of the arduino /=>/ Mosfet, and to connect it directly to the battery.
I'm still having clamping diode on my transistor before the mosfet.
No change.

Back EMF ? Voltage Spike ?

i'm thinking to change the mosfet of the coil by a Relay ?
But elswere my car is still running fine ... :slight_smile:

I've Found It !
This was the 3.3V Chip of the I2C Keypad. (Ground Problems)

Now it Works better, but i'm still having problems with the I2C, witch sometimes Freeze the arduino...
There is an update to the Library WIRE ? When Bugs on I2C, it can't recover itself .... and freeze arduino.