PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Servo ,RNS1,Mega8 und Grundposition von Servos



Roberto
05.11.2005, 06:36
Hallo Leute

Habe mir 9 solche Billigservos von Conrad gekauft, und alle mal an den
Mega8 angschlossen :-)

Beim einschalten initaliesieren sich die Servos aber immer ganz in der Ecke.
Nur kurz aber bis auf Anschlag.

Habe dazu diesen Thread gefunden:
https://www.roboternetz.de/phpBB2/zeigebeitrag.php?t=10570&highlight=servo+mega8

Ist der RNS1 eigentlich auch nur ein Mega8 in Bascom?
Kann man dieses an den Rand fahren irgendwie vom Bascom her umgehen..
(lib. ändern oder so..?)

Der RNS1 soll ja nur für 8 Servos sein.
Ich dachte das ist durch den Port auf 8 Servos begrenzt.
Es geht aber auch mehr Servos an den Mega8 anzuschliessen.. :-)

L.G. Roberto

Frank
05.11.2005, 09:56
Nein das ist kein Mega8, RNS1 beruht auf AT90S2313. An der Firmware wird von mir nicht mehr gebastelt da ich irgendwann einen neuen erweiterten Servo Controller programieren will. RNS1 war ursprünglich nur für RNFRA vorgesehen, wurde dann aber dann unerwartet von vielen Usern auch in anderen Schaltungen eingesetzt.
Der Neue wird vielseitiger, aber dazu komme ich wohl erst im nächsten Jahr. Man kann sich natürlich auch selbst dran versuchen und was basteln.

Gruß Frank

Roberto
05.11.2005, 14:32
Hallo Frank

In was wurde der AT90.. den programmiert ?

Warum Initaliesiert sich bei deinem Proz, die Servos auch auf Anschlag ?
An was liegt das ?

Frank
05.11.2005, 15:04
Das ist in der Firmware damals als Grundstellung so vorgesehen gewesen. Würde ich heute auch anders machen.

PicNick
05.11.2005, 16:44
@Roberto: Du kannst auch den RNSX downloaden, da kannst du dir die Initialisierungsposistion aussuchen und im EEPROM speichen.
https://www.roboternetz.de/phpBB2/dload.php?action=file&file_id=252
Doku ist dabei

Roberto
05.11.2005, 20:39
Hallo Frank

Sorry, aber mir ist noch nicht klar:

Beim RNS1, in was ist der programmiert? Assembler, C ?

*Warum ist das in Bascom gleich ? (mit dem an den Rand fahren)

*Kann man das in Basom ändern ?

@Robert
RNSX ? ( kenne den nicht so..)
Das ist dann aber ein extra Kontroller nur für die servos ?
in was ist der Programmiert ?

16-Bit Eingabe der Position als Mikro-Sekunde 550-2100 (0.5 - 2.1 mS) Mit den RN-Standardservo können damit die vollen 180 Grad erreicht werden
Wird da ein Timer1 verwendet ?

Derzeit in Bascom und mit den billigen Conrad Servos, komme ich eigentlich auch auf ca. 180 Grad..


Könnte man das eigentlich auch gleich in Bascom mit einem 16 Bit Counter programieren.,.. (ohne Servo Befehl..)
Gibts da schon einen Code..?

Ps.:
Wie oft werden die Werte eigentlich im EEprom gespeichert ?
(sind die Speicherzyklen da nicht begrenzt ?)
Oder meinst Du mit dem "EERAM" jetz was anderes ?

PicNick
06.11.2005, 08:34
Der RNSX ist eine Ableitung vom RNS1, ein Programm für den AT90S2313 mit 4 MHZ, das über die UART angesprochen wird. Als Standalone Prog kann es natürlich alles exklusiv verwenden, daher nimmt es Timer0 UND Timer 1 für seine 10 Servos, was soll's.
EEPROM wird nur auf Kommando gespeichert. Weil es zwei Anwendungen dafür gibt: Eine vom User gewünschte Ausgangsposition (z.B.Mitte), aber auch, um gewisse Positionen sichern zu können, damit nach dem Start alles wieder dorthin geht, wo es beim Abschalten war.
Nach jeder Positionierung zu speichern, wäre wohl zu oft gewesen und eigentlich auch sinnlos.
Die Kombination RNS1 und RN-Standardservos hat nicht für 180 Grad gefunzt, daher hab' ich das Zeugs gemacht.
Da das RNSX nur eine Beta-Version ist, an der ich noch rumzangeln möchte (Speed & Poitions-Quittung) hab ich noch keine Source veröffentlicht. Dzt. ist es tatsächlich BasCom, allerdings ohne BasCom-Servo-Befehle.

06.11.2005, 15:31
Derzeit in Bascom und mit den billigen Conrad Servos, komme ich eigentlich auch auf ca. 180 Grad..


nur schaffst du in bascom keine 180 schritte mit dem internen befehl für die servo, also 1 schritt pro grad. dazu musst du dann eine andere routine selber erfinden.
mfg psf

PicNick
06.11.2005, 16:01
Das Verhältnis Parameter:Schrittweite ist halt auch so'n Ding. Der eine braucht Grad, der andere eigentlich Bogenmaß, wenn es ein berechneter Wert ist. Ich hab in der Word-Command-Variante ganz einfach die Angabe "mikrosekunden" genommen, die ist wenigstens verständlich. Genau Skalieren, je nach Servo, muß man sowieso.
Könnt' ich auch als Tip für eine Erweiterung des RSNX sehen, das passend umzurechnen.
PS: Ich hab's als Problemlösung für mich und meine RNBFRA-Karte gebraucht, ich sag nix Böses gegen irgendeine andere Lösung.