ECU für einen Rasenmäher - wer wäre interessiert?

Im Unterforum Microcontroller - Beschreibung: Hardware - Software - Ideen - Projekte

Elektronik Forum Nicht eingeloggt       Einloggen       Registrieren




[Registrieren]      --     [FAQ]      --     [ Einen Link auf Ihrer Homepage zum Forum]      --     [ Themen kostenlos per RSS in ihre Homepage einbauen]      --     [Einloggen]

Suchen


Serverzeit: 04 10 2024  21:23:14      TV   VCR Aufnahme   TFT   CRT-Monitor   Netzteile   LED-FAQ   Osziloskop-Schirmbilder            


Elektronik- und Elektroforum Forum Index   >>   Microcontroller        Microcontroller : Hardware - Software - Ideen - Projekte

Gehe zu Seite ( Vorherige Seite 1 | 2 | 3 Nächste Seite )      


Umfrage : ECU für einen Rasenmäher - wer wäre interessiert?
Sie sind nicht eingeloggt ! Nur eingeloggte Benutzer können abstimmen.

Autor
ECU für einen Rasenmäher - wer wäre interessiert?

    







BID = 524377

Her Masters Voice

Inventar


Avatar auf
fremdem Server !
Hochladen oder
per Mail an Admin

Beiträge: 5308
Wohnort: irgendwo südlich von Berlin
 

  


Mir ist eigentlich egal womit ich programmiere. Assembler ist OK, C ist mir fürn Controller zu umständlich, BASIC ist bequem und war der Einstieg. Ich hatte aber auch schon mit graphischen Programmieroberflächen zu tun oder mit wüsten Ablaufplänen in speziellen Tabellen. Man nimmt einfach das, was da ist und/oder womit man gut zurechtkommt (so man denn die Wahl hat). Warum sollte sone einfache Motorsteuerung nicht mit BASCOM zu machen sein? Es geht ja nicht um Hochleistungstuning sondern um Ersatz für einen wackelnden Fliehkraftregler. Sowas hab ich sogar schonmal in einem selbstgebauten Blockheizkraftwerk mit einer alten C-Control drin gesehen. Man glaubt es kaum aber es funktioniert! Das Ding schaltet den Motor an und aus, steuert die Drehzahl je nach Last und wertet nebenbei noch einige Temperaturen aus.

_________________
Tschüüüüüüüs

Her Masters Voice
aka
Frank

***********************************
Der optimale Arbeitspunkt stellt sich bei minimaler Rauchentwicklung ein...
***********************************

BID = 524381

DonComi

Inventar



Beiträge: 8605
Wohnort: Amerika

 

  

Moin Moin,


Zitat :
[...]Assembler-Fetischisten (DonComi,Jornbyte u.a.)[...]

Früher stärker als heute. Dennoch programmiere ich öfters in AVR-Assembler, wenn es nicht in Klimmzügen enden soll. Es ist imho wesentlich einfacher, Assemblerprogramme einfach, effektiv und schnell zu schreiben, als so einen Murks erzeugen zu lassen.

Allerdings ist der avr-gcc mit seiner Toolchain fast so gut, wie ein erfahrener Assemblerprogrammierer, für andere Zielsysteme sowieso, da der AVR-Assembler vergleichsweise einfach ist und viele Instruktionen genaugenommen gemogelt und doppeltgemoppelt sind, einige werden wissen, was ich meine. sbr und ori oder sehr viele andere Instruktionen haben sinnigerweise den gleichen Instruktion-Code (und wenn das Zielregister und die Konstante gleich sind sogar den gleichen Opcode ).

Mittlerweile, seit ca. 2 Jahren schreibe ich fast ausschließlich in C, hat gewisse Gründe und Vorteile. Nachteile bügel' ich mit Inline-Assembler und/oder externer Assemblerdatei aus. So kann man ganze Programmteile in reinem Assembler schreiben und beim Linken aus dem C-Programm auch benutzen.

Da kommen auch noch andere Sachen hinzu: IDEs werden komplett vermieden. Viel zu umständlich, es reicht ein Terminal, ein Editor und ein Makefile. Programmieradapter wird im Makefile mit einbezogen und ein

$ make all write

Kompiliert, Linkt, Assembliert und Programmiert den AVR.


Zitat :
Die Syntax von C bereitet mir schlicht schlechte Laune

Schade.
Dann müsstest du von C++-Syntax bestimmt schon Kopfschmerzen bekommen...


Zitat :
C hat Verloren.

Der Compiler für C hat verloren. Die Sprache ansich hat damit nix zu tun.


Zitat :
sondern um die Abarbeitung.

Im Sinne von Geschwindigkeit?
Nun ja, es wird ja wesentlich mehr Kode produziert, als man selbst als Problemlösung geschrieben hat. Größer wirds also, darum gings aber ja auch nicht.
Bevor main() aufgerufen wird, wird schon ordentlich geschuftet. Das haut ordentlich in die Laufzeit mit rein. Dafür wird eine Umgebung geschaffen, in der dennoch recht luxeriös C-Programme laufen. Und das, obwohl eine andere Architektur als normalerweise zu Grunde liegt (getrennter Daten- und Programmspeicher, etc.).
Du kannst ja auch sehr einfache Programme schreiben, die laufen, ohne dass du eine Interruptvektorentabelle hast oder den Stack initialisierst. Manchmal braucht man es halt nicht... .


Zitat :

Zum Motor: wenn es was werden soll, dann nur in ASM. Nu macht mal.....

Na, wenn man weiß wie, wird auch unter C sehr, sehr fixer Kode erzeugt. Und jenachdem, wie schnell es hier sein muss, kommt C (bzw. der compiler...) locker hin. Und sonst lagert man halt ein paar ISRs und ein paar Routinen assemblermäßig aus und macht den Rest in C. So zumindest mach ich das..


Abschließend:
Also, Assembler für AVRs zu können, ist essentiell, um gute und effiziente Programme zu schreiben. Aber wenns manchmal, aber im Großen und Ganzen schnellen, optimierten Kode geht, kann man auch C einsetzen, mit dem avr-gcc. Wie andere sind, kann ich nicht beurteilen. Und außerdem schließt ja das eine das andere nicht aus .

@Projekt:
Wie gesagt, obs sinnvoll ist, keine Ahnung. Aber stellt euch auf eine gute Fehlerkorrektur und Entstörung ein. Ich sehs schon kommen: "Uoh, alle x ms startet mein AVR neu. Worum liegt das?" .

Edit:
Sry, ab und an mal leicht verpeilt. Das liegt u.A. daran, dass ich sehr müde bin .




_________________


[ Diese Nachricht wurde geändert von: DonComi am 28 Mai 2008  2:52 ]

BID = 524388

ElektroNicki

Inventar



Beiträge: 6429
Wohnort: Ugobangowangohousen

Oha, der Thread kommt in Fahrt.
Nun gut, ich wollte fürs Erste mal nur Drehzahl, Sollwert und evtl. Lambda zum avr führen, anhand dessen soll der avr dann mit Servos am Vergaser Sprit und Luftmenge einstellen. Die noch aufzutreibende Lambdasonde soll dafür sorgen, dass der avr weiß, warum die Istdrehzahl unter dem Sollwert (falls es denn so ist) liegt, und je nachdem mehr (Motor verdurstet) oder weniger (Motor säuft ab) 'Gas' gibt.


_________________

BID = 524394

Ltof

Inventar



Beiträge: 9323
Wohnort: Hommingberg

Hast Du denn im Detail verstanden, wieso die aktuelle Regelung schwingt?

Falls nicht: was lässt Dich glauben, dass Dein Gebilde kein schwingfähiges System wird?

Schon mal was vom geregelten "Wurm-Katalysator" gehört?

Gruß,
Ltof

_________________
„Schreibe nichts der Böswilligkeit zu, was durch Dummheit hinreichend erklärbar ist.“
(Hanlon’s Razor)

BID = 524396

ElektroNicki

Inventar



Beiträge: 6429
Wohnort: Ugobangowangohousen

a)nein
b)da werd ich mit Verzögerungen experimentieren müssen...
c)nein. Erzähl.

_________________

BID = 524408

Ltof

Inventar



Beiträge: 9323
Wohnort: Hommingberg

zu c:
Das ist ein Nachrüstkat, bei dem die Lambdaregelung über einen Luftbypass am Vergaserfuß gemacht ist.

Eine "Verzögerung" (Dämpfung) kannst Du auch an den vorhandenen Regler machen. Ob das hilft? Regelungstechnik ist kompliziert!

Ich würde den Zündzeitpunkt in die Steuerung einbeziehen. Das würde ich sogar zuerst machen, weil das vom Aufwand geringer ist und vom Nutzen gute Ergebnisse verspricht. Voraussetzung bleibt natürlich, dass der Vergaser sauber eingestellt ist.

Gruß,
Ltof

_________________
„Schreibe nichts der Böswilligkeit zu, was durch Dummheit hinreichend erklärbar ist.“
(Hanlon’s Razor)

BID = 524431

ElektroNicki

Inventar



Beiträge: 6429
Wohnort: Ugobangowangohousen

Hm. Du meinst, ich greif am besten (über nen hochohmigen Spannungsteiler, versteht sich) die Zündspannung ab (oder wickel ich vielleicht doch besser Draht um die Spule? Oder wäre ein Reedkontakt schnell genug??? Fragen über Fragen... ) und beziehe dann die Impulse ein? Hm, messen ginge ja noch, aber einbeziehen? Meinst du, dass der avr in dem Moment Pause (mit dem Messen+Regeln) machen soll? (die Zeit könnte man ja evtl nutzen, um Daten zu nem hd44780-Display zu schicken....)?
Das ganze Verfahren hätte natürlich den Vorteil, dass man aus dem Zündimpuls auch die Drehzahl ermitteln könnte...




_________________

BID = 524434

Ltof

Inventar



Beiträge: 9323
Wohnort: Hommingberg

Neee - das meinte ich ganz bestimmt nicht!

Ich meinte eine drehzahlabhängige Zündzeitpunkt-Verschiebung. Bei niedrigen Drehzahlen läuft so ein Motor mit weniger Frühzundung runder.

Du glaubst wirklich, dass Du eine "ECU" (um herauszubekommen, was damit gemeint sein soll, musste ich selbst erst mal nachsehen - das ist Geschwaller) machen kannst, obwohl Du den Motor nicht verstanden hast? Wie kommt man auf so einen absurden Gedanken?

Ich bin nach wie vor der Meinung, dass die Optimierung in Deinem Sinne erst dann erfolgversprechend ist, wenn Du den Motor im Originalzustand perfekt zum Laufen bekommst und ihn durch und durch verstanden hast.

Bevor hier über die Sinnhaftigkeit diskutiert wird:
Ich sehe darin lediglich einen Lerneffekt.

Gruß,
Ltof

_________________
„Schreibe nichts der Böswilligkeit zu, was durch Dummheit hinreichend erklärbar ist.“
(Hanlon’s Razor)

BID = 524437

ElektroNicki

Inventar



Beiträge: 6429
Wohnort: Ugobangowangohousen

Aua. Ne Zündzeitpunktverschiebung stell ich mir jetzt schwer vor, da müsste ich ja die Zündspule (an der ein Magnet vorbeisaust) verschiebbar machen.... oder ich investier die halben Ferien in den Bau einer Transistorzündung (außerdem bekomm ich dann so langsam n Problem mit der Spannungsversorgung... reicht da n an den Motor gemurkster Dynamo????) oder geb ne Menge Geld aus..
PS: Genau, um den Lerneffekt geht es mir!
pps: Das Schwingen könnte ich ja evtl. eindämmen, indem der Servo sich um so langsamer bewegt, je näher der Istwert am Sollwert ist.

_________________


[ Diese Nachricht wurde geändert von: ElektroNicki am 28 Mai 2008 15:29 ]

BID = 524453

DonComi

Inventar



Beiträge: 8605
Wohnort: Amerika

Wie gesagt, wenn es nur ums Programmieren geht, und nicht auch um viel Lernerfahrung in Sachen Entstörung, Filter und stabiler Versorgung dann würde ich mir ein anderes Projekt überlegen.

Und falls du denkst, ich hätte abgestimmt; dem ist nicht so. Es fehlt die Antwortmöglichkeit "Lerneffekt zu mühsam".

_________________

BID = 524464

ElektroNicki

Inventar



Beiträge: 6429
Wohnort: Ugobangowangohousen

Das größte Problem sind _noch_ die Servos. Die fahren nie wirklich die Position an, die ich haben will, sondern schlackern wild in der Gegend rum. Wer ist am wahrscheinlichsten schuld- ich oder Bascom?

_________________

BID = 524469

DonComi

Inventar



Beiträge: 8605
Wohnort: Amerika

Könnte Vieles sein. Ich tippe auf eine "Verkettung unglücklicher Zustände ":
Bascom und du.

Wie gesagt, ein paar Zeilen Assembler sind aufschlussreicher als irgendein Assemblerprogramm, dass maschinenerzeugt wurde und von dem man nur mit viel Geduld und Kaffee die wirkliche Laufzeit bestimmen kann. Zudem denke ich mal, dass dir möglicherweise auch für BASIC Instruktionen fehlen und du dir evtl. Pufferüberläufe, Overflows irgendwelcher Zähler und/oder unkontrolliertes Dazwischenfunken diverser Interrupts eingefangen hast .

Es wäre jetzt eine gute Möglichkeit, AVR-ASM zu lernen.
Du wirst sehen, die Dinge sind viel einfacher, als und das gewisse Hochsprachen so mit komplex-aussehenden Instruktionen und verwirrender Syntax vorgaukeln .
Wenn du dann ASM für AVRs im Schalf kannst, kannst du dich C widmen. Davon profitiert nicht nur die AVR-Programmierung sondern damit lernst du auch eine der wichtigsten Sprachen für Systemprogrammierung. Wenn du dann noch Lust hast, kannst du mit C++ weitermachen .


_________________

BID = 524513

ElektroNicki

Inventar



Beiträge: 6429
Wohnort: Ugobangowangohousen

Leider blicke ich bei Assemblerprogrammen nie so ganz durch ... z.B. ist hallo welt in Asm noch weit mehr Tipparbeit als eine Software-PWM in Bascom. c, naja, da hab ich wenigstens ein bisschen Erfahrung (Asuro sei Dank), aber von Assembler hab ich echt keine Ahnung.Ich stell mir das so vor, dass man sich bei dieser Byteschubserei dauernd merken muss, wo dieses oder jenes Byte liegt und was man damit dann noch tun muss.
Lauter kryptische Befehle.

_________________

BID = 524515

DonComi

Inventar



Beiträge: 8605
Wohnort: Amerika

Da ist nix kryptisches.

Du hast doch sicherlich mal mit Registern, logischen Verknüpfungen und eventuell kleineren logischen Rechenschaltungen rumgespielt.

Das alles vereint so eine kleine CPU locker.

Das ist echt leicht, wenn man die digitalen Grundschaltungen vor Augen hat.


_________________

BID = 524574

Jornbyte

Moderator



Beiträge: 7149

Hatte ich nicht weiter oben

Zitat :
Nu macht mal.....

von mir gegeben....

@DonComi
Ich hatte ja geschrieben, dass ich aus Spass die gleichen Funktionen in C mit umgesezt habe. So wird auch das Projekt von ElektroNicki an vielen Stellen scheitern (z.B. Zündzeitpunktverschiebung). Bascom ist da nicht geeignet. C ist ne Alternative, wenn man sich den Code genau betrachtet und eingreift. Nur bei ASM hat der Progger alles im Griff. Zum Lernen ist das allerdings nicht das richtige Projekt, da sollte sich was anderes finden.

Nu macht mal.... weiter...



_________________
mfg Jornbyte

Es handelt sich bei dem Tipp nicht um eine Rechtsverbindliche Auskunft und
wer Tippfehler findet, kann sie behalten.


Vorherige Seite       Nächste Seite
Gehe zu Seite ( Vorherige Seite 1 | 2 | 3 Nächste Seite )
Zurück zur Seite 1 im Unterforum          Vorheriges Thema Nächstes Thema 


Zum Ersatzteileshop


Bezeichnungen von Produkten, Abbildungen und Logos , die in diesem Forum oder im Shop verwendet werden, sind Eigentum des entsprechenden Herstellers oder Besitzers. Diese dienen lediglich zur Identifikation!
Impressum       Datenschutz       Copyright © Baldur Brock Fernsehtechnik und Versand Ersatzteile in Heilbronn Deutschland       

gerechnet auf die letzten 30 Tage haben wir 19 Beiträge im Durchschnitt pro Tag       heute wurden bisher 13 Beiträge verfasst
© x sparkkelsputz        Besucher : 182125639   Heute : 4938    Gestern : 5915    Online : 761        4.10.2024    21:23
2 Besucher in den letzten 60 Sekunden        alle 30.00 Sekunden ein neuer Besucher ---- logout ----viewtopic ---- logout ----
xcvb ycvb
0.0642478466034