Forum: Mikrocontroller und Digitale Elektronik Motorsteuerung Benzinaggregat


von Stefan U. (stefan_032)


Lesenswert?

Hallo,

ich bin neu in dem Forum und bräuchte ein bischen Hilfe bei einem 
Projekt.

Kurz zu meiner Person:
Ich bin 19Jahre alt, habe eine Ausbildung als Mechatroniker hintermir 
und arbeite jetzt in der Instandhaltung einer Firma. Da Microcontroller 
und das Programmieren nicht in meiner Ausbildung gelehrt wurde, und mich 
das wahnsinnig begeistert, bringe ich mir das gerade selber bei.
Leider stehe ich noch ganz am Anfang meiner "Programmirer-Karriere" und 
kann somit nicht wirklich was ;)
Ich habe mir euer Starter-Microcontroler Set gekauft und versuche jetzt 
damit das ganze zu realisiren.

Das Projekt:

Ich habe einen Benzinmotor den ich Drosseln muss.
Dafür möchte ich einfach das Pik-Up Signal (Kolbenstellung im Oberen 
Totpunkt) in den Controller einführen und diese Frequenz soll dan 
gemessen werden (ca 16Hz im leerlauf und ca 100Hz bei voller Drehzahl) 
die Zeit zwischen den Impulsen soll gemessen werden, durch 4 geteilt und 
der ausgangs Impuls um diese zeit verzögert werden.

Beispiel: mittellast= 4000 1/min = ca 66Hz = ca 15ms pro Impuls
15ms durch 4 = 3,75ms verzögerung.

Also nachdem das Signal eintrifft soll es dei dieser Dreh zahl nach 
3,75ms wieder ausgegeben werden.

So dies zu der "Aufgabe"
und nun zu der Bitte;)
könnte mir vil. jemand das Programm für einen Atmega8 (Starter Paket) 
Schreiben bitte mit Erklärung dammit ich verstehe wie das geht. Ich 
lerne an Beispielen immer besser;)

Vielen Dank im vorraus

BTW: Ich habe auf der Arbeit einen Microcontroller (Atmel AT29C040A 
12PC) gefunden kann ich den später, wenn ichs dann "drauf" habe benutzen 
oder ist der zu veraltet.

von Ben _. (burning_silicon)


Lesenswert?

> Microcontroller Atmel AT29C040A
Irgendwas verrät mir, daß Du zu faul zum Datenblätter lesen bist.

Der Vorschlag, ein anderer soll Dir Dein Programm schreiben obwohl Du 
das ja gelernt hast und Dir das gerade selber beibringst bestätigt meine 
These.

Lies Dir doch mal das Datenblatt zum AVR durch, da steht alles drin was 
Du brauchst. Stichwort Timer und Input/Output Capture.

Drehzahlmesser für 4 Zylinder an einem Einzylinder verwenden?

von Stefan U. (stefan_032)


Lesenswert?

lol

ich habe eigentlich gesagt das ich es nocht nicht kann und nicht gelernt 
habe! Wieso bin ich dann zu faul? Tatsache ist ich habe das Datenblatt 
nicht gelesen, aber ich glaube auch nicht das genau mein Projekt dort in 
den Beispielen steht... und ich weis leider auch nicht wie ich die 
verschiedenen Programmteile mit einander verbinde...
wie gesagt ich bin echt ganz am anfang und mache das als hobby und kann 
mich nicht ganztägig dammit bescheftigen.
 also vielen dank für diese nette Begrüßung-.-
ehrlich..

Aber ok ich werde mir das Datenblatt dann am Sonntag wenn ich zeithabe 
durchlesen und mir schon was zusammenbasteln

von Uli (Gast)


Lesenswert?

Stefan U. schrieb:
> Hallo,
>
> ich bin neu in dem Forum und bräuchte ein bischen Hilfe bei einem
> Projekt.
>
> Kurz zu meiner Person:
> Ich bin 19Jahre alt, habe eine Ausbildung als Mechatroniker
KFZ-Mechatroniker?

> Ich
> lerne an Beispielen immer besser;)
Na das ist doch perfekt!
Dann schau mal auf dieser Seite am linken Rand. Ziemlich weit oben steht 
ein Link mit dem Namen "AVR".
Klick drauf und es kommt ein Link mit dem Namen "AVR-Tutorial"
Hinter diesem Link sind viele, viele  Beispiele.
Da  kannst Du super gut lernen wie man eine LED ein- und wieder 
ausschaltet.
Und dann wie man die Zeit zum Schalten bestimmen kann usw .. usw ...
Mach das Tutorial durch, fange Dein Projekt an und alles ist gut.

> Vielen Dank im vorraus
Keine Ursache

mfg Uli

von Anja (Gast)


Lesenswert?

Stefan U. schrieb:
> Ich habe einen Benzinmotor den ich Drosseln muss.

Stefan U. schrieb:
> Also nachdem das Signal eintrifft soll es dei dieser Dreh zahl nach
> 3,75ms wieder ausgegeben werden.

Warum? Ein Benzinmotor ist ein Luftgeführtes System. Alle anderen würden 
erstmal die Luftzufuhr drosseln um die Leistung zu reduzieren.
Du kannst natürlich alternativ die Zündung nach spät verstellen. Aber 
nicht so stark daß dir der Auspuff wegfliegt weil der Auslaß bereits 
wieder offen ist.
Bei geringer Schwungmasse im System reicht es auch nicht nur im oberen 
Totpunkt die Drehzahl zu messen. Normale Geberräder haben 36 bis 60 
Zähne / Umdrehung.

Vielleicht ist das ein Einstieg für Dich:
http://www.megasquirt.de/

Gruß Anja

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Ben _ schrieb:
>> Microcontroller Atmel AT29C040A
> Irgendwas verrät mir, daß Du zu faul zum Datenblätter lesen bist.

Jo. M.W. ist das ein 4-MBit Flash ROM, nix Microcontroller. Auch was 
schönes, aber hier wirklich unbrauchbar.

Stefan U. schrieb:
> Ich habe einen Benzinmotor den ich Drosseln muss.
> Dafür möchte ich einfach das Pik-Up Signal (Kolbenstellung im Oberen
> Totpunkt) in den Controller einführen und diese Frequenz soll dan
> gemessen werden (ca 16Hz im leerlauf und ca 100Hz bei voller Drehzahl)
> die Zeit zwischen den Impulsen soll gemessen werden, durch 4 geteilt und
> der ausgangs Impuls um diese zeit verzögert werden.
>
> Beispiel: mittellast= 4000 1/min = ca 66Hz = ca 15ms pro Impuls
> 15ms durch 4 = 3,75ms verzögerung.
>
> Also nachdem das Signal eintrifft soll es dei dieser Dreh zahl nach
> 3,75ms wieder ausgegeben werden.

Und wo ist nun die Regelung? Um en Puls einzulesen und verzögert wieder 
auszugeben, reicht ein kleines Arrangement von Monoflops und einem 
Zähler. Du musst aber irgendwie an die Drosselklappe, sonst kannst du 
den Motor nicht steuern/regeln.

von Na Sowas (Gast)


Lesenswert?

Vergiss die Mega8. Das ist was fuer extreme Sparer, die 10000 Stueck 
produzieren muessen. Unter 32k Fash sollte man gar nicht erst was 
anfangen.

von Na Sowas (Gast)


Lesenswert?

Einen Benziner zu steuern ist nicht grad eine Anfaengeraufgabe, da stark 
nichtlinear.

von Harald W. (wilhelms)


Lesenswert?

Stefan U. schrieb:

> Das Projekt:
>
> Ich habe einen Benzinmotor den ich Drosseln muss.

Gut. Also ein typisches mechanisches Problem, was ein Mechatroniker
auf Grund seiner Ausbildung lösen können müsste. Und wozu soll nun
der µC da sein?
Gruss
Harald

von Stefan U. (stefan_032)


Lesenswert?

hallo leute,

vielen dank für eure antworten.

erstmal ich habe Mechatroniker Industrie und Anlagentechnik gelernt.

Und zum Aggregat: Ich habe ein seeeehr altes.. das es noch tut aber bei 
dem alles mit Abdeckungen zugeschweißt wurde... nur der Kabelbaum kommt 
aus ner Kante raus.
Was heist Kabelbaum eigentlich ist es nur der Draht für den Pik-Up das 
von der Unterseite hoch kommt.

deswegen wollt ich des so machen. Und natürlich um den Atmega 8 zu 
probieren;)

Und zum Atmega8: ich  habe den ja im starter set dabei und sowas kleines 
kann man ja auch mit dem machen.

von Xavier Lander (Gast)


Lesenswert?

Um hier mal etwas Licht in Dunkel zu bringen. Ich nehme an wir sprechen 
von einer sog. CDI bzw. einer Drossel für einen Zweitakter - zB. einen 
Roller / Scooter. Läuft im Endeffekt auf eine erweiterte Tuningmethode 
heraus. Man muss halt Drosseln einbauen, damit man in der 
Polizeikontrolle nicht sofort auffliegt. So einfach ist das ganze.

von Ben _. (burning_silicon)


Lesenswert?

Das halte ich für Quatsch... Die Bullen sind nicht doof, die sehen doch 
wenn da irgendeine Blackbox an den Kabeln dran ist, die da nicht 
hingehört.

Zweitens kommts mir so vor, als möchte der TE einen Takt vervierfachen. 
Das würde bei einem Moped keinen Sinn machen, weil man den Takt fürs 
schneller machen reduzieren müßte - und das ohne die Zündung ebenfalls 
auszubremsen.

von Stefan F. (sfrings)


Lesenswert?

Um die Programmierung eines Mikrocontrollers zu lernen, solltest Du Dir 
einfache Aufgaben stellen, die du selbst bewältigen kannst. Z.B eine LED 
blinken zu lassen wäre mal ein Anfang.

Nicht Sinnvoll finde ich, jemanden mit dem Schreiben eines Programmes zu 
beauftragen, um dass dann anschließend nachzuvollziehen. Das ist 
generell viel schwieriger, als selbst etwas zu programmieren 8und bringt 
nur wenig Lern-Effekt mit sich. Das ist nichts für Anfänger.

Stefan U: Könnte es sein, dass es sich hierbei um eine Hausaufgabe oder 
Diplomarbeit handelt?

von Stefan U. (stefan_032)


Lesenswert?

ok gut ich werde es mir zu Herzen nehmen und nur Aufgaben in angriff 
nehmen die ich auch selber bewältigen kann.

Und nein es handelt sich nicht um eine Diplomarbeit:D:D
Ich habe echt erst die Ausbildung fertig (seit Februar). Aber ich mache 
ab September die Fachhochschulreife und dann möchte ich Sensortechnik 
Studieren. Und da ist ja das Programiren auch mit drinnen. Deswegen, und 
weil ich riesen Interesse dran habe, möchte ich das jetzt schon lernen 
um dann später ein vorteil zu haben.

Aber trotzdem vielen Dank für alle eure Antworten

von Petra P. (Firma: Privat) (petra_p)


Lesenswert?

Hallo,

kurze Vorstellung zu mir; ich bin zwar Nachrichtentechnikerin, aber 
schon seit vielen, vielen Jahren in der IT tätig.
Darum habe ich den Anschluss an Bauteilkunde, etc. ein wenig verloren.

Daher hier meine Bitte um Hilfe und Ideen ... ?

Also;
benötigt wird eine Steuerung um eine Motordrehzahl konstant zu halten.
Es ist ein stationärer BENZINMOTOR (40PS).

Benzinmotor (treibt Pumpe, Stromerzeuger, oder ähnliche Anwendung) ->
Messung der aktuellen Drehzahl ->
Steuerung von Servo (vgl. Modellbau) - mechanische Verbindung zum 
Motor/Vergaser ->
Korrektur der Drehzahl nach Anforderung (Belastung mehr Gas geben / 
Entlastung weniger Gas geben)
Drehzahl wird voreingestellt auf z.B 2000u/min und soll konstant 
gehalten werden

Leider konnte ich nix vergleichbares finden, hier aber ähnlich; daher 
dieser Beitrag.
Also wenn mir das jemand weiterhelfen kann, dann bitte her mit den 
Ideen.
Wenn es so etwas fertig gibt, was ich ja fast annehme, dann bitte um 
konkreten Details (link wo zu kaufen oder Ähnliches), auch z.B. 
Schaltplan ist natürlich willkommen .... ?

Danke im Voraus
Petra P.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Du machst besser einen neuen Thread auf. Nur kurz:
Wenn die mechanischen Probleme gelöst sind (und damit solltest du 
anfangen), beschränkt sich die Regelung auf einen einstellbaren PID 
Regler - entweder in Hardware mit OpAmps und Monoflops gegossen oder in 
Software auf einem Mikrocontroller.
Als Anfang ist ein Studium der Application Note AVR221 (nun AN_2558 
genannt) von Microchip/Atmel empfehlenswert, in der ein PID Regler in 
Software mit Grafiken detailliert beschrieben wird.
https://www.microchip.com/wwwAppNotes/AppNotes.aspx?appnote=en591227

: Bearbeitet durch User
von Petra P. (Firma: Privat) (petra_p)


Lesenswert?

Matthias S. schrieb:
> Wenn die mechanischen Probleme gelöst sind ....


Hallo und danke,

ich habe keine mechanischen Probleme.
Der Motor läuft wie er soll.
Die Drehzahl kann ich auf einer dem Gaspedal vergleichbaren Mechanik 
einstellen.
Die Drehzahl soll dann aber je nach Belastung gehalten werden.

Einfach zu betätigen mit einem Servo wie bei einem ferngesteuertem Auto 
(oder Boot oder Flugzeug...)
Ich brauche lediglich eine Ansteuerung für den Servo, der mir die 
Drehzahl konstant hält.

Also Drehzahl messen (da wo auch der Drehzahlmesser angeschlossen ist)
Regelsignal an den Servo senden.

Wenn's nix einfaches fertiges gibt, na dann ....
Das neu zu erfinden fehlt mir die Zeit.

Wenn also noch ein guter Tipp kommt gerne her damit.

Liebe Grüße
Petra

Ps.: ich wollte einen neuen Thread aufmachen, wurde aber hierher 
geleitet

: Bearbeitet durch User
von Petra P. (Firma: Privat) (petra_p)


Lesenswert?


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.