MembersPage/GaborRacz (2005-11-16 22:25:14)

Personal page of Gabor Racz

I am a 26 yrs old programmer and electric technician, from Debrecen, Hungary. Currently, I am a leading programmer at a small company.

A small history


Config and tables:

Could you upload your config and tables? I'd like to test ALS. At least please submit your ALS related config settings.


Problem:

Soldered missing parts for the EGT, but after that, the LCD and keyboard are unusable when the engine is running. Both of them have got some 'extra' reset signals previously, but now the LEDs on the keyboard starts blinking randomly, not react to keypresses, and the LCD shows absolutely nothing, or a scrolling text. I think we need some capacitors to stabilize 14V power input. (a scope could be a big help...)

Q: Any help for solving the problem described above?

Tip: Check your grounds and supply. A supply capacitor cannot hurt, but it's likely a ground loop or disconnected ground.

Thanks! The problem solved by itself... This is one of the most annoying, mind-killer failures with no acceptable solution recipes. I think a small ball of soldering material shorted two pins of an IC temporarily.


Problem:

Sometimes the engine stops unexpectedly when idling. And possibly the same problem: the car sometimes 'hiccup' on constant TPS (same symptom as we give an extra squirt of fuel to the engine - or cut the fuel for a moment). I think this problem possibly reduced to the previous, but this one is not individual. Fero has the same thing.

Q: Any help for solving the problem described above?

Tip: Check your MAP signal in megatune "moving dot". If it jumps to max occasionally (eg. when it hiccups), you won't notice on LCD, but the moving dot can show.

Also pay attention to your VBATT, who knows (low reading can result in too high dwell, but that shouldn't give this symptom, except maybe with an external ignition amplifier)

More information: After the engine stops unexpectedly, the LCD shows 00312-00364 RPM for a massive amount of time (1-1.5 minutes).

Is there any sign of life after this?

Yes, the board can communicate, and the engine can be started without switching off and on its power.

Serial port working?

Yes.

Fuel pump relay switching off 2.5 sec after engine stopped ?

Thanks, good trace. conf.engine_off_delay had set to 0xFF. Now 0x08. The fuel pump itself isn't controlled by the VEMS.

Does this happen after long uptimes (eg. 5 hours) or shorter uptimes too ?

Sometimes after a few minutes (warm engine), sometimes after a hour or more. MAT and CLT sensor calibration is not done yet (LCD doesn't show exact temp values). I think this is an important thing, but we can not get out these sensors too easily from the car to calibrate.


Q: How can I stabilize the EGT readings on the 3.1 boards? The values shown are frequently changing (for example between 350 and 630 while warming the sensor with a gas flame). 3.2 boards are stable. Output voltage on the AD597 is stable. Used 5.6k and 4.7k divider resistors on the 3.1 boards.

One of my boards seems to be have a dead MCP3208, EGT shows a constant value plus-minus 2-4 degrees even when warming the sensor.


Many thanks to MembersPage/MarcellGal who helped us a lot in our projects, and MembersPage/Fero who support us with experience, good ideas and an almost-ready v3.2.

TODOs: pictures and detailed descriptions, links to my webpages, plans...



Not stable NBO2 readings?

I am testing our v3.0 boards on the table (with an old PC switching power supply), and noticed the O2 voltage (we plan to use NBO2 sensors) readings are changing frequently by the time, although i've hooked up a potentiometer to divide the 5V input for NERNST_CELL1 (EconoSeal III/18 - pin 13), and my DVM shows a stable value. See the [sample logfile (dead link)] for details. The DVM shows rock stable 213mV all time. All other sensor readings are also stable (such as TPS, MAP, MAT, CLT).

MembersPage/MarcellGal told me to check the 12V DC output voltage on my power supply, and check the AREF(62) pin on the AVR with scope. I have no oscilloscope yet. I've checked the requested pins with multimeter, AC voltage shows 0.0V (I know, this function is usable on higher voltages, and frequencies below 20kHz), and frequency measurement shows 'out of range' on the DC 12V, and 0.00kHz on the 5V DC (after the regulator) and on the AREF pin.

I've tried to stabilize the changing with a capacitor, and a 100n between the ADC1 and ground seems to be enough (on GenBoard/VerTwo there is a 220n) and solved our problem. R144 and C66 are soldered in, but they don't changed anything. I will test the board on a known-stable source (on a battery used in cars) to see if my PC power supply needs some stabilizing/filtering or the direct OPA-ADC connections need capacitors as an option (two SMDpads wouldn't hurt). Fortunately, a GND trace runs close to the R98 and R99 TODO: picture, and I was able to solder an SMD cap without a big shorting wire.

Someone has the same problem?

Yes I got the same problem.. Took a few pictures of measurering in and output on LM324: MembersPage/HansK/EgoReadingProblems

What is your ego_lag setting? I had to raise that to get a usable NBO2 reading.. not sure that its the correct solution though.. //Emil - ego_lag=15.. It did not stabilize the ratio-value, but I was trying without a sensor, just a potentiometer to divide 5V.. don't know if that should make a diffrent? HansK

Q: Is there any components missing around the LM324 (V3.2) that will cure this problem?

A: I have a workaround that solve our problem. You need a 100nF capacitor. Solder one of its its pins to the output trace of the LM324 (leads to the AVR's ADC1 input) and the other pin to a nearly GND trace. GaborRacz


Instructions for the patches mentioned above (Hungarian)

A patchek mellékelve a v3_firmware_2004-11-24_v11_2.zip változathoz képest vannak diff-elve, "-U4" paraméterrel.

A patch1 tartalmazza az ALS-hez szükséges ignadv-eltolást, a másodlagos injektorok nyitásidejének korrekcióját (beígért fix), a MAP szenzor kalibrációjának elöjelmódosítását (nekünk csak így lehetett jól beállítani). Minden patch1-es korrekciót teszteltünk, müködött.

A patch2 a patch1-hez képest van diff-elve. Tartalmaz egy szoft RPM limitert gyújtáskésleltetéssel és -vágással, egy erre épülö rajtprogramot, és egy IGBT-s RPM kimenetet. Sajnos itt ütköztünk

abba a problémába, hogy a konfigváltozók kevésnek bizonyultak, ezért a knock-rész kiiktatásával próbáltam játszadozni, a patchnek ez a része figyelmen kívül hagyható (a global.h-ban a remark-olt rész, és az spi-ben a KNOCK_8101-el kimakrózott részek).

-Szerintem inkabb a warmup temp bineket kellene kiszedni a configbol es default homersekleteket beallitani, ezeket ugyse allitja el senki, mindenki a bevalt ertekeket hasznalja, eleg ha csak a dusitasokat allitjuk be.

Az RPM szignál kimenet úgy müködik, hogy a COMMON_IGNITION_ACTIVATE-t definiálod a my_make-ban, és ekkor a h[2] táblában utolsóként megadott IGBT csatornát aktiválja minden gyújtási eventnél.

A SoftRevLimiter-ek úgy müködnek, hogy van egy induló fordulatszám, ahonnan elkezdi a késleltetést, egy másik induló fordulatszám, ahol elkezdi a gyújtásvágást, egy maximális fordulatszám, ahol 100%-os lesz a vágás, és egy maximális késleltetési fokérték a gyújtáseltoláshoz (ez állna be a maximális megadott fordulatszámnál, ha elérné).

Egyelöre egyik patch2-es feature sincs tesztelve, de elméletben is kitünik, hogy a Soft revlimiter túl lépcsözetesen müködik, mert a 100-zal osztott rpm változóra épül, magyarul az interpoláció csak 100 fordulatonként ad különbözö késleltetési, illetve vágási értéket. Ezt egyszerüsítendö, kitaláltunk egy másik rendszert, ami kevesebb konfigváltozót is igényel (csak gyújtásvágást tartalmaz). De ahhoz is kellene 16 bites interpoláció, vagy valami hasonló.

Az ALS jelenlegi egyszerü formáját is tervezzük bövíteni, gyújtásvágással, TPS-függö késleltetéssel, idö- és EGT limiterrel, throttle kicker solenoid aktiváló kimenettel. Az IAC-hoz nem nyúlnánk, az nekünk most nem kell. Az ALS plusz funkciói az eddigi 4 helyett 9 konfigváltozót igényelnek. A launch control patch2-höz képest egyszerüsített változata viszont 4 helyett csak

2-t. (Az általános célú softrevlimiter is 4 helyett 2-t, ha kell egyáltalán olyan).

Ami tényleg nagyon szükséges lenne, az a jelszavas védelem... egyetlen valamirevaló tuningcég se foglalkozik olyan motorvezérléssel, amelynek adatai nem védhetök le. Akár firmware-be kódolt legalább 8 karakteres RS232 hozzáférési kódszó is jó lenne egy (vagy több) plusz menüstátusz beiktatásával.

-Egyetertek.

Szóval mi jelenleg itt tartunk.