Hallo allerseits. Es soll eine Drehzahlregelung eines Filmprojektors mit PWM-geregeltem Gleichstrommotor für die Synchronisation mit einem Camcorder geben. Hat jemand einen Code (in C) und die Aussenbeschaltung für den ATMega8-16. Spannungsversorgung 5 V und optisch getrennte Leistungsendstufe sind vorhanden. Weiterhin 8-Mhz Quarze, ein AT AVR ISP2 und die Software AVR Studio4 usw. Ich habe noch nie ein MC programmiert, jedoch der Umgang mit C ist mir halbwegs geläufig. Aufgabe: Soll – und Istwerte sind TTL-kompatibel (5V). Der Sollwert ein 50 Hz +-3 Hz-Signal. Der Istwert muss auf diese Frequenz geregelt werden, wobei die Zeitspanne ( ca. 2 msec) zwischen abfallender Flanke des Sollwertes und abfallender Flanke des Istwertes flexibel sein sollte. Dies aber nur durch Umprogrammierung bis ein richtiger Wert gefunden ist. Der Ausgang muss PWM mit ca. 18 kHz sein. Für die ersten Versuche wäre eine Einstellung der Pulsweite zwischen 10 und 50 % (5-25 µsec) richtig. Im Voraus vielen Dank für die kommenden Antworten
hat jemand einen Code ? Das ist doch unmoeglich glaubst du an Wunder ??
Den vollständigen Code hab ich leider nicht, aber da dir der Umgang mit C ja halbwegs geläufig ist, kannst du den Rest ja ergänzen:
1 | #include <stdlib.h> |
2 | #include <stdio.h> |
3 | #include <avr/interrupt.h> |
4 | #include <avr/io.h> |
5 | |
6 | int main() |
7 | {
|
8 | while (true) |
9 | drehzahl_regeln(); |
10 | |
11 | return 0; |
12 | }
|
Konkret müsstest du jetzt eigentlich nur noch die Funktion drehzahl_regeln() implementieren... Im Ernst: du wirst hier keinen finden, der für dich die Arbeit macht. Beschäftige dich lieber erstmal mit den Grundlagen deines µC: http://www.mikrocontroller.net/articles/AVR-Tutorial http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial
www.drehzahlregelung-fuer-filmprojektor-mit-atmega.de >Ich habe noch nie ein MC programmiert, jedoch der Umgang mit C ist mir >halbwegs geläufig. Sind dir auch die Grundbegriffe der Regelungstechnik halbewegs geläufig? Vermutlich nicht. Einen Regler kann man nicht einfach pauschal "kopieren". Die Regelparameter und die Art des gewählten Reglers hängen sehr stark von dem Verhalten der Regelstrecke ab und diese ist in deinem Fall ja gaaanz speziell. Mach dich mal mit den Begriffen wie Sollwert, Istwert, Regelabweichung etc. vertraut.. Und dann, wie die Eigenschaften der einzelnen Reglertopolgien sind. Universell einsetzbar sind i.d.R. PI und PID-Regler. Die Umsetzung eines Regelalgorithmus in C ist dann das kleinste "Problem"
hokuskrokus schrieb: > glaubst du an Wunder ?? Manchmal hoffe ich auf Wunder. hokuskrokus, Du hast schon recht, aber vielleicht hat doch einer was in seiner Schublade und freut sich, wenn er es weitergeben darf. Schrotty schrieb: > Einen Regler kann man nicht einfach pauschal "kopieren". Selbstverständlich wirds kaum was zum kopieren geben. Mein Wissen stammt von der Regelungstechnik in Analog, dies geht hier aber nicht, da die Zeit zwischen Sollwert-Low und Istwert-Low konstant bleiben soll, sonst hätte ich was fertiges. Ja schrieb: > Im Ernst: du wirst hier keinen finden, der für dich die Arbeit macht. > > Beschäftige dich lieber erstmal mit den Grundlagen deines µC: Im Spass: Andere für sich arbeiten lassen ist doch heutzutage Mode. Nein das wollte ich bestimmt nicht. Aber mit halbwegs ähnlichen Beispielen kann man doch schneller lernen! Grundlagen des MC: Den Rahmen hast du mir ja schon gegeben. Weiter geht’s mit der Festlegung der Eingänge und der Zeitmessung und irgendwann (Weihnachten, welche?) klappt es auch mit der Pulsbreite der PWM. Wobei die Regeltopologie nicht vergessen wird. Zuerst nur ein Stellbetrieb, dann Proportional. Wenn die Regelstrecke zu grosse Schwingungen verursacht, muss PI oder PID herhalten. Vielen Dank für die ersten Raktionen, enttäuscht bin ich aber nicht
rentner62 schrieb: > Nein das wollte ich bestimmt nicht. Aber mit halbwegs ähnlichen > Beispielen kann man doch schneller lernen! Trugschluss. Am schnellsten lernst du, wenn du dich an einen fertigen Fahrplan hälst und den durcharbeitest. Da werden die Grundbegriffe vom einfachen zum schwierigeren durchgearbeitet, so das möglichst eins aufs andere aufbaut. Die Zeit, die du hier scheinbar in 'zielfremde' Techniken investiert, kriegst du dann, wenn du dich deinem eigentlichen Projekt zuwenden kannst, 20-fach wieder zurück. Du magst dich zb. fragen, wozu bruach ich LCD oder UART. Klar in deinem eigentichen Projekt brauchst du das scheinbar momentan nicht. Wenn es aber dann daran geht, die Parameter für den PID Regler abzustimmen und man nicht weiß warum etwas so nicht funktioniert, ist es eine große Hilfe, wenn man dem Regler "über die Schulter schauen" kann. Nur: Wie machst du das, wenn du nie gelernt hast, welche Möglichkeiten du hast, dir irgendwo ein paar Zahlenwerte anzeigen zu lassen? Es gibt nichts schlimmeres, als wenn du gleich in ein fertiges, komplexes Beispiel einsteigst. Du wirst ewig auf Halbwissen sitzenbleiben.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.