Lieber Besucher, herzlich willkommen bei: RCLine Forum. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

swessels

RCLine User

  • »swessels« ist der Autor dieses Themas

Wohnort: 31535 Neustadt, in der Woche HH

Beruf: Arbeitsplanung in der Luftfahzeugkomponenten - Instandsetzung

  • Nachricht senden

1

Freitag, 11. Juli 2008, 09:29

Frage zu Servoimpuls

Moin,

eine (dumme?)Frage zum Servoimpuls:

Darf der Impuls nur einmal in der PPM Rahmenzeit zum Serve gesendet werden oder ist es dem Servo egal wie oft der Impuls kommt?

Danke und Gruß,
Stefan

2

Freitag, 11. Juli 2008, 10:49

RE: Frage zu Servoimpuls

Hi!

Bei den alten, analogen Servos bestimmt die Pulsfolgerate unmittelbar die P-Verstärkung. Sehr lahme Servos kann man zu etwas schnelleren Reaktionen verhelfen, wenn man die Rate erhöht, wobei irgendwann Schicht im Schacht ist. Dann fängt das Servo zu schwingen an.

Bei digitalen: k.A. wird auf den Algorithmus ankommen.

servus,
Martin

swessels

RCLine User

  • »swessels« ist der Autor dieses Themas

Wohnort: 31535 Neustadt, in der Woche HH

Beruf: Arbeitsplanung in der Luftfahzeugkomponenten - Instandsetzung

  • Nachricht senden

3

Freitag, 11. Juli 2008, 11:44

RE: Frage zu Servoimpuls

Hallo Martin,

ich probiere das einfach mal aus. Hintergrund ist mein Einstieg in die Welt der Microcontroller. Ich dachte mal zum Einstieg einfach einen Servotester zu basteln. (gibts schon, ich weiss)
Da ich aber in Assembler programmieren möchte ist das schon ein Unterschied, ob ich nur einen Impuls generieren muss oder mit Puls / Pause und variabler Länge des Pulses.

Danke für die Info!

Gruß,
Stefan

4

Freitag, 11. Juli 2008, 11:59

RE: Frage zu Servoimpuls

Hi!

Bei meinen Standard-Teilen von vor 15 Jahren war die Grenze zum schwingen irgendwo bei etwas mehr als doppelter Rate, im Vergleich zu den 45Hz, die ich bei meiner Fernsteuuerung gemessen habe.

Meine neue Fernsteuerung ist sogar irgendwie umschaltbar, heißt dann 'fast frame' und schaltet von 19ms auf 12.7ms um.

servus,
Martin

5

Freitag, 11. Juli 2008, 13:02

RE: Frage zu Servoimpuls

Hi Stefan,

Zitat

Original von swessels
Da ich aber in Assembler programmieren möchte ist das schon ein Unterschied, ob ich nur einen Impuls generieren muss oder mit Puls / Pause und variabler Länge des Pulses.

mit nur einem einzelnen Impuls wirst Du nicht viel bewirken - der Impuls muß in regelmäßigen Abständen wiederholt werden, sonst bleibt das Servo stehen. Ob das nun alle 18 oder alle 22 ms passiert, ist wurscht. Für einen Servotester würde ich 20 ms Pause zwischen den Impulsen lassen, weil das den üblichen Fernsteuerungen entspricht.

Grüße,

Thomas

swessels

RCLine User

  • »swessels« ist der Autor dieses Themas

Wohnort: 31535 Neustadt, in der Woche HH

Beruf: Arbeitsplanung in der Luftfahzeugkomponenten - Instandsetzung

  • Nachricht senden

6

Freitag, 11. Juli 2008, 13:36

RE: Frage zu Servoimpuls

Hallo Thomas,

Zitat

mit nur einem einzelnen Impuls wirst Du nicht viel bewirken

Da ist mir schon klar, hätte das etwas anders formulieren sollen:

Eine Impulsfolge mit festen Puls/Pausenzeiten wäre einfacher zu programmieren....

Gruß,
Stefan

7

Freitag, 11. Juli 2008, 14:57

RE: Frage zu Servoimpuls

Wenn Du für die Impulszeiten den Timer 1 ( ATMEGA8 ) und den Comparematch A und für die Pausen den Comparematch B des Timer 1 verwendest ist das Pille Palle.

Ich würde einen 8MHz Quarz verwenden und den Timer 1 mit /8 Teilung laufen lassen.
Dann enspricht 1 Comparematchwert genau 1µS und ist somit leicht einzustellen.

Mein Algorhytmus schaltet im Comparematch Interrupt B ( Pausezeit ) den gewünschten Impulsausgang auf H und stellt das TCNT1 Register auf 0. Gleichzeitig kann man in dieser Routine einen eventuell neuen Wert für die nächste Framezeit aus einem Puffer holen.
Im Comparematch A ( Impulszeit ) wird der Impulsausgang wieder abgeschaltet- TCNT1 war ja 0 Gleichzeitig kann man in dieser Routine einen eventuell neuen Wert für die nächste Impulszeit aus einem Puffer holen.

Der Vorteil dieser Methode ist der, das die Framerate, auch wechselden Servoimpulslängen, konstant bleibt.

Ausserdem dürften die Grundroutinen nicht mehr als einen 10 Zeiler ausmachen.

Will man mehrere Servos ansteuern kann man die Routine relativ einfach erweitern.

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »wkrug« (11. Juli 2008, 14:59)


8

Freitag, 11. Juli 2008, 14:57

RE: Frage zu Servoimpuls

Hi

Zitat

Original von swessels
...
Eine Impulsfolge mit festen Puls/Pausenzeiten wäre einfacher zu programmieren....
...


sicher?

Ich mache das folgendermaßen, weil ich wenn möglich genaue Zeiten haben möchte:
Ausgabe der Pulse per output compare Einheit, bei jeder Flanke des Ausgabesignals wird ein Interrupt erzeugt. Bei der steigenden Flanke berechne ich aus der Zeit für die steigende Flanke + Pulslänge die Zeit für die fallende Flanke, bei der fallenden aus der Zeit der steigenden flanke und der Periodendauer die nächste steigende Flanke.

So läuft die ganze Ausgabe Interruptgesteuert nebenher, und das Hauptprogramm kann sich um wichtigere Dinge kümmern.


In dem "Atmel-Programmierung für Einsteiger"-Bereich gibt's sicher noch einige weitere Beispiele.

servus,
Martin

swessels

RCLine User

  • »swessels« ist der Autor dieses Themas

Wohnort: 31535 Neustadt, in der Woche HH

Beruf: Arbeitsplanung in der Luftfahzeugkomponenten - Instandsetzung

  • Nachricht senden

9

Freitag, 11. Juli 2008, 18:01

RE: Frage zu Servoimpuls

Hallo Wilhelm, Hallo Martin!

Zunächst mal Danke für die Hinweise.

Wie schon geschrieben, das sollen meine ersten Kontakte mit Microcontrollern werden. Ich war auch lange am Überlegen, ob ich BasCom, C (WinAVR) oder Assembler benutzen soll. Ich habe mich für Assembler entschieden, weil

- in Grauer Vorzeit habe ich mich damit schon mal beschäftigt
- C ist mir zwar geläufig, aber ich müsste mich in die Libs einarbeiten
- Basic ist mir ein Graus, mir reicht das Gebastel mit VBA

Außerdem lernt man den Controller so wohl am besten kennen, denke ich.

Ich muss mir Heute erst mal ein paar Teile bei Reichelt bestellen, bisher hinken meine Versuche mangels Hardware ein bisschen.

Ich denke da an den Mega 48, Quarz, Serielles EEProm , LM 324 und ein paar Sensoren. Ein MAX232 für RS232 ist noch vorhanden, Teile für ISP auch.

Ich habe im Moment folgendes vor:

- Servotester zum "Warmwerden"
- einen "Folgeschalter" in der Form 1,1ms - Aus; 1,5ms CH 1an; 1,9ms CH2 an
- Zum Folgeschalter Miniloggerfähigkeiten hinzufügen

@Martin

Zitat


Zitat

Eine Impulsfolge mit festen Puls/Pausenzeiten wäre einfacher zu programmieren....

sicher?

Nein, ich bin mir nicht sicher. Ich stell es mir bisher nur einfacher vor :nuts:

Ich werde mir allerdings alles an Einsteigerseiten ansehen, was ich so finden kann.

Gruß,
Stefan

10

Freitag, 11. Juli 2008, 19:41

RE: Frage zu Servoimpuls

Hi!

Zitat

Original von swessels
...
Ich denke da an den Mega 48, Quarz, Serielles EEProm , LM 324 und ein paar Sensoren. Ein MAX232 für RS232 ist noch vorhanden, Teile für ISP auch.
...


Noch ein E²Prom extra? Hat der doch intern... reicht das nicht?

servus,
Martin

swessels

RCLine User

  • »swessels« ist der Autor dieses Themas

Wohnort: 31535 Neustadt, in der Woche HH

Beruf: Arbeitsplanung in der Luftfahzeugkomponenten - Instandsetzung

  • Nachricht senden

11

Freitag, 11. Juli 2008, 19:50

RE: Frage zu Servoimpuls

HAllo MArtin,

Zitat

Noch ein E²Prom extra? Hat der doch intern... reicht das nicht?


Reicht schon, aber nicht für Logging...

Gruß,
Stefan

12

Freitag, 11. Juli 2008, 20:26

RE: Frage zu Servoimpuls

Hi

Ja, loggen ist schon was anderes.

Schau dir doch mal zum Spass den SPI-Mode von SD-Karten an. Dann hättest du Speicher satt :ok:

servus,
Martin

swessels

RCLine User

  • »swessels« ist der Autor dieses Themas

Wohnort: 31535 Neustadt, in der Woche HH

Beruf: Arbeitsplanung in der Luftfahzeugkomponenten - Instandsetzung

  • Nachricht senden

13

Montag, 14. Juli 2008, 12:13

RE: Frage zu Servoimpuls

Hallo Martin,

Zitat

Schau dir doch mal zum Spass den SPI-Mode von SD-Karten an


Danke für den Hinweis, ich werde mal Schauen. Da ich mich aber auf völliges Neuland begebe, ist das dann was für Verion 2.

Ich werde mich mit den MCs massiv beschäftige, da ich in HH schlecht Bauen kann. Mit irgend etwas Modellbaugeeigneten muss man sich Abends ja beschäftigen...

Gruß,
Stefan