Having got my E T Westbury designed Seagull engine running, I am working on an Arduino based system for various functions including a tachometer and radiator fan control based on coolant temperature measurement. First, the current state of play, and then a couple of questions.
As expected, interference is an issue. Everything is all still in a development phase and, for example the Arduino has yet to be put in an aluminium box but it is wired fairly tidily with short runs and twisted pairs where possible.
The first noise problem I solved was with the (brushed) starter motor. Even with a schottky diode across the motor teminals, the tiddly little capacitors supplied with the motor were inadequate. After reading round, a 1000µF capacitor, nearly as big as the motor, has fixed that one.
The main problem is the ignition, obviously. I found In order to get a spark I needed a big dedicated battery pack just for the ignition. This allowed me to separate the ignition/engine ground from the rest of the system, and that was a big step forward.
The system now works, with occasional minor upsets. In the last couple of days I have tried the radiator fan and its control system. This is a 4-wire computer fan which uses a PWM speed control signal at 25kHz. I put together a very rough initial trial setup (with a potentiometer instead of the temperature sensor) and long wires trailing all over the place. To my surprise this works fine with the ignition on and the engine being turned by the starter.
The remaining problem is the display. I am trying to use a nice sharp, bright 240 x 320 TFT graphic display with an SPI interface. With the coil disconnected, it is fine. Trouble is, with the ignition functioning it works for as much as a second after the starter button is pressed then goes blank.
So, how do I go about trying to make it work? Or, am I wasting my time with this type of display? The wires between display and Arduino are no more that 2" long. The 5V & ground between the two are twisted together and I have tried various sizes of capacitor across the two. I have tried the signal wires looped once through little ferrite rings. I have tried wrapping everything except the actual screen in grounded foil.
More generally, how do I systematically go about EMI protection? My knowledge of electronics is rudimentary in the extreme. I don't have an oscilloscope and in even if I did, trying to look at that while the engine is running would be a long, long way off.
As expected, interference is an issue. Everything is all still in a development phase and, for example the Arduino has yet to be put in an aluminium box but it is wired fairly tidily with short runs and twisted pairs where possible.
The first noise problem I solved was with the (brushed) starter motor. Even with a schottky diode across the motor teminals, the tiddly little capacitors supplied with the motor were inadequate. After reading round, a 1000µF capacitor, nearly as big as the motor, has fixed that one.
The main problem is the ignition, obviously. I found In order to get a spark I needed a big dedicated battery pack just for the ignition. This allowed me to separate the ignition/engine ground from the rest of the system, and that was a big step forward.
The system now works, with occasional minor upsets. In the last couple of days I have tried the radiator fan and its control system. This is a 4-wire computer fan which uses a PWM speed control signal at 25kHz. I put together a very rough initial trial setup (with a potentiometer instead of the temperature sensor) and long wires trailing all over the place. To my surprise this works fine with the ignition on and the engine being turned by the starter.
The remaining problem is the display. I am trying to use a nice sharp, bright 240 x 320 TFT graphic display with an SPI interface. With the coil disconnected, it is fine. Trouble is, with the ignition functioning it works for as much as a second after the starter button is pressed then goes blank.
So, how do I go about trying to make it work? Or, am I wasting my time with this type of display? The wires between display and Arduino are no more that 2" long. The 5V & ground between the two are twisted together and I have tried various sizes of capacitor across the two. I have tried the signal wires looped once through little ferrite rings. I have tried wrapping everything except the actual screen in grounded foil.
More generally, how do I systematically go about EMI protection? My knowledge of electronics is rudimentary in the extreme. I don't have an oscilloscope and in even if I did, trying to look at that while the engine is running would be a long, long way off.