Forum: Mikrocontroller und Digitale Elektronik Drehzahlregelung Filmprojektor mit ATMega8-16


von Ewald S. (rentner62)


Lesenswert?

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

von hokuskrokus (Gast)


Lesenswert?

hat jemand einen Code ?
Das ist doch unmoeglich
glaubst du an Wunder ??

von Ja (Gast)


Lesenswert?

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

von Schrotty (Gast)


Lesenswert?

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"

von rentner62 (Gast)


Lesenswert?

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

von Karl H. (kbuchegg)


Lesenswert?

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
Noch kein Account? Hier anmelden.