-
-
Hallo,
wie angedroht, gebe ich mal hier einen Status:
Der PID Regler regelt. Das sieht für mich (ich hab hier noch keine Werte an den PID Parametern vorgenommen) total gut aus...
Was nicht funktioniert wie erwartet hat mit dem PWM Timer1 zu tun. Ich habe schon eine Menge gelesen, leider reicht es noch nicht...
Was ich möchte:
0 - 1023 geschwindigkeit der Motoren regeln.
512 soll stopp sein.
Was er bisher macht:
auweia: alo geschätzt von 0 total schnell bit ca. 200 dan langsamer und dann ab 350 wieder schneller... und dann ganz komisch bis hoch nach 1023.
Woran es liegen könnte:
Ich habe viel gelesen, aber ich glaube die 10 bit Auflösung kommt nicht bei mir an, weil ich die Register dafür falsch setze.
Ich denke die Bespiele passen nicht zu meinem Atmega88... Aber die Doku des AVR muss ich mir wohl noch genauer anschauen. Thema Register...
Ich nutze den Atmega88 mit extenen 16Mhz Quarz.. Ohne Teiler....
Das hier funktioniert... aber ich möchte ja Werte twichen 0-1023.. Wenn ich aber PWM = 10 angebe, habe ich in meiner hochzählschleife nicht die oben erwarteten Ergebnisse.
Config Timer1 = Pwm , Pwm = 9 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down
Pwm1a = 0
Pwm1b = 0
Tccr1b = Tccr1b Or &H02 '-> = Prescaler 8... aber brauch ich das?
Was ich nicht wirklich verstehe: Was mach "Or $H02" ?
Wenn ich das hier so nutze Teiler = 8 PWM = 1951 HZ bei 9 bit und dann 10 bit einstelle bringt mich das leider auch nicht weiter.
Tccr1a = &B10100010
Tccr1b = &B10000010
hmm... wie gesagt ein Zwischenstatus... Aber ist schon doll das Teil geradeaus laufen zu lassen... cool...
Gruß Schilly
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen