Hallo. Ich baue und experimentiere an eine Steuerung für die Beleuchtung und das Einziehfahrwerks eines Airwolf Helikopters. Habe relativ erfolgreich ein kleines Program geschrieben welches auch "fast" super läuft. Ich werte mit Pulsein den Kanal aus was bei anderen Projekten von mir auch schon bestens geklappt hat. Vom Sender schicke ich über einen einfachen Schalter entweder 1ms oder 2ms PWM Signale, da reichte der Pulsein befehl bisher immer aus. Timer 1 benutze ich für die Wiederholfrequenz des Servopulses. Das Servo hat die ganze Zeit Kraft und brummt schön wenn ich es belaste, allerdings wenn das Fahrwert ausgefahren ist dann zuckt das Servo leicht so ca. im Sekundentakt. Die Frequenz des zuckens bleibt absolut konstant und im eingefahrenen Zustand bleibt es ruhig. Ich kann mir dieses Zucken nicht erklären und wollte mal hier fragen ob jemand die Erklärung in meinem Programm finden kann. Die Pulseout Werte wurden durch ausprobieren ermittelt, allerdings verstehe ich nicht ganz wie das mit den 1700 zustande kommt, da die Bascom Hilfe schreibt das bei 4Mhz die Pulsout zeit µs bedeutet, und ich dann nach Adam Riese bei 8Mhz 0,5µs haben sollte. Somit liegt der impuls theoretisch unter 1ms was dem Servo nicht gefallen würde. Leider besitze ich kein oszi um das zu prüfen Solange ich das nicht absolut sicher im Griff habe kann ich den Heli nicht fliegen, denn ich möchte das 3,5Kg Teil nicht ohne Fahrwert landen :-) MfG Michael
Tazman schrieb: > nicht fliegen, denn ich möchte das 3,5Kg Teil nicht ohne Fahrwert landen Wie hoch ist denn der Fahrwert? Spaß beiseite, aber so wird das nix... Goto und Return passt nicht zueinander da gibte es Mecker vom Stackpointer. Frag' mal die Bascom-Hilfe, die weiß dazu sicher etwas. Und mit Waitms zum Blinken wirst Du auch nicht glücklich werden. Informiere Dich mal über Multitasking. ...
Du wertest in der Hauptschleife aus, ob der Wert >140 oder <140 ist, aber was wird, wenn er =140 ist? Wenn Du in Unterprogramme springen willst, mußt Du mit GOSUB und RETURN drangehen. MfG Paul
Also das mit den Wartezeiten ist wirklich Käse, da hast du recht. Wenn ich am Sender umschalte passiert est was wenn die Sequenz durchgelaufen ist. Kann schon mal 3 sec. dauern :) Danke für den Tip Multitasking. Das werde ich mal in Angriff nehmen und in Bascom ausprobieren. Meinst du ich sollte ganz auf GOTO verzichten? Das Return kann ich ja nicht einfach weglassen sonst hänge ich
Da war jemand schneller :) Da hau ich doch mal ein >= 140 rein, danke!
Michael H. schrieb: > Meinst du ich sollte ganz auf GOTO verzichten? Das Return kann ich ja > nicht einfach weglassen sonst hänge ich Gosub und Return gehören zueinander (treten i.d.R. paarweise bzw. zu jedem Return gehört mindestens ein Gosub). Goto und Return nicht.
Nagut, wenn Ihr ihm schon alles mundgerecht vorkaut, anstatt ihn das selbst in der Hilfe finden zu lasen, dann kann ich ja auch ein Beispiel zum Einlesen von Servoimpulsen und Blinken beisteuern. Wenn das auf einen AVR mit mehr als einem Timer portiert wird, dann kann man z.B. mit einem zweiten Timer die auszugebenden Servoimpulse in Hardware generieren lassen (PWM-Mode). Viel Erfolg... ...
Hannes Lux schrieb: > Nagut, wenn Ihr ihm schon alles mundgerecht vorkaut, anstatt ihn das > selbst in der Hilfe finden zu lasen, Gosub und Return sind ja eigentlich Basic-Basics... Das hat noch nicht wirklich was mit Bascom zu tun.
STK500-Besitzer schrieb: > Gosub und Return sind ja eigentlich Basic-Basics... Richtig! Genau das sollte er durch Lesen der Hilfe selbst herausfinden, ich wollte sozusagen Hilfe zur Selbsthilfe geben, und als Zugabe noch ein (wenn auch kleines) Erfolgserlebnis. > Das hat noch nicht wirklich was mit Bascom zu tun. Nein, blockierendes Programmieren aber auch nicht. Auch in Bascom kann man Programme so strukturieren, das sich die einzelnen Jobs nicht gegenseitig blockieren. Mit Waitms 200 und Waitms 800 wird das aber nix Gescheites, es sei denn, der rest lööpt im Interrupt. Gruß 45m tiefer... ...
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.