I’ve build an prototype with the aim to read, display and save data to SD card from a Techedge wideband O2 controller. The controller sends serial data to the arduino (the technical description can be found here: WBo2 Logging technical Information and Specification (Tech Edge))
Techedge provides a Windows Software with an emulator that sends serial data to the Arduino. My setup works for hours on the desk. Now I’ve tried it in the car and it worked (read, display and save) at the beginning and then stopped. I suspect EMI noise to be the problem.
The WBO output includes a checksum that i use to verify everything has been transmitted ok. I count erroneous packages and after 150 I write out an error message.
Now with the device in the car, it shows 0 for all values most of the time but from time to time I see my error message. The car is known to have EMI issues, only 1 out of three laptops work for logging. I guess it’s the ignition, which is a custom built GM HEI ignition on a Ford 302 V8 Engine with a magnetic pickup distributor. Its a kit car and it has power issue with all power consumers on. With headlights, fan and NOS bottle heater on, the voltage drops to ~ 12.7V (engine on). Without these devices it has 13-14V.
I do this as a hobby and although I have some coding understanding I do not code for a living. Electronics-wise I’m a total noob. Everything I know I learned from the internet. So please bear with me ;D : I was hoping I can get some guidance on how to improve my project against EMI noise.
In case required, attached please find a schematic on the setup and the code as well.
The Arduino is an Ebay Nano version.
I use this step down converter as the power source:
The serial-ttl converter is similar to this one:
Other than that the project consist of an MAX2719 driven 8digit 7-segment display, a LC Studio SD Card shield, two buttons and two LEDs (not in the schematic). The whole project sits in one of those plastic boxes.
From what I read over the internet I was thinking about the following options:
Power Source: Not sure if the step down converter has any noise protection. I understand a resistor and a capacitor is generally used as a filter. Would this improve the situation? Where to put it? on the 12V input or the 5V output?
Arduino: The ATMEL Note #40 mentions the Reset pin is unprotected. I do not have a “sudden reset” - issue, but can EMI introduced to the reset pin cause erratic behavior / issues with the serial data stream? I understand one should implement a filter for the reset pin OR just connect it to 5V to keep the line high. Is that a correct interpretation?
Serial line: I do not know if the Techedge device has any protection/filtering but I would assume it does. On the Arduino side I think there isn’t any filtering on the ttl converter. Can a filter applied here?
Any hint will be highly appreciated, in case I can provide further information - please let me know.
wbo_readout_code.txt (24.2 KB)