Forum: Mikrocontroller und Digitale Elektronik Sinnvolle Auflösung einer Alpha N Steuerung


von Jan (Gast)


Lesenswert?

Hallo Community

Mit einem Stm32 mit angeschlossenem Eeprom möchte ich einen 2 
Zylindermotor betreiben.
Protokollfunktion und die Möglichkeit der Programmierung der 
Zündkennlinie und dem Einspritzkennfeld sind bereits integriert.
Beim Zündzeitpunkt benutze ich ein uint8_t array mit 255 Werten für die 
Drehzahl, da hier bis auf eine kleine Ausnahme die 
Drosselklappenstellung nicht mit in die Zündkennlinie eingeht.

Nun stehe ich vor dem Problem das Einspritzkennfeld zu implementieren.
Hierzu hatte ich ein array in Planung das 8 bit werte enthält ( 
eventuell ist das sogar schon zu gering) und zusätzlich noch 
zweidimensional ist.

Also 100 Werte für die Drosselklappenstellung und 255 für die Drehzahl. 
So versuchte ich meine Werte zu schreiben, dass sprengt mir aber das Ram 
und der Stm32 hat nicht wenig davon.

Kennt ihr Möglichkeiten, dass Kennfeld etwas speichersparender 
einzubauen?

mfg Jan

von Karl (Gast)


Lesenswert?

Weniger Stützstellen nehmen oder ein neuronales Netz verwenden.

von H.Joachim S. (crazyhorse)


Lesenswert?

Oder das Kennfeld im Flash ablegen?

von mal kucken (Gast)


Lesenswert?

Kenne den Prozessor nicht.

Die 8Bit reichen eigentlich schon.
Du könntest damit 25,5ms E-Zeit in 100µs schritte einstellen.

Ich würde mal ein 16x16 Feld probieren.
(das ist schon sehr "üppig" für Hobby-im-Keller)


Zu dem Thema fallen mir noch ein :
- Du wirst feststellen das sich deltaLuftmasse bei kleinem alpha viel 
stärker ändert.
Du benötigst dort also eine grössere Auflösung als weiter hinten.

Es gibt Drehzahlbereiche die sind nicht so interessant.
Demnach bietet es sich an die Stützstellen nicht gleichmässig zu 
verteilen.
Selbiges gilt für alpha.

Dazwischen wird interpoliert (das lässt sich beliebig verfeinern).

Wobei das festlegen auf eine Teilung eigentlich erst sinn macht wenn man 
weiss wie der Motor tickt...

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.