-
-
Neuer Benutzer
Öfters hier
Hallo an alle, tut mir leid, dass ich solange nichts reingeschrieben habe, aber ich war im programmieren vertieft. Schade, dass ich nicht in diesen Zeitraum geschafft habe, aber ich gebe natürlich nicht auf
Ich dachte eben, ich könnte es noch schaffen, wenn ich 48 stunden durscharbeite. Wollte eben nicht sein.
Also soweit erstmal meine Rechnung:
1/20MHz = 50us(0,000 000 05 s)
1/50Hz = 20ms (0,02 s)
20ms/256 (0,000 078 125s)
(20ms/256)/50us = 1562,5 Nops ---> PWM Signal
Bei so wenigen Nops, muss ich wohl ein 10bit PWM machen. 16bit hätte mich gefreut.
@phaidros kannst du mir vielleicht einen Tip geben wie ich das verwirklichen kann, dass ich alle Servos per einen Schritt aktualiseren könnte, oder wie du das gemacht hast?
Meine Idee war so, dass ich immer nach mein PORTC gefragt hätte, was ich verändern soll und mit PORTB hätte ich den dazugehörigen Servo ausgewält. Gleich danach würde der PIC den Wert in die Schieberegister speichen und den wert mit einem Schlag per RCK anzeigen lassen. Danach sollte er diese Schritte im while(1) immer wieder wiederholen.
Die Werte sollten eben Global gespeichert werden und demnach wie viele Nops vergangen sind, sollte der Pic die Pegel auf Low setzen, um ein PWM zu erhalten, nach den 50Hz muss er eben alle wieder auf High bringen.
Diese Werte müssen Global gespeichert werden, daher ich unter umständen nicht alle Servos verändere. Also PORTC --> Global --> PORTA
Soweit meine Theorie
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen