PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Servo an Board



BlackBroom
29.04.2007, 10:18
Hallo
Ist es möglich an das RN-Mega128Funk von robotikhardware.de Servors direkt anzuschließen, ohne ein Servoboard oder so?
Das müsste ja dann über ein PWM Anschluss gemacht werden. Hat dieses Board solch einen? Wenn ja an welchen Anschluss?
Vielen Dank!
BlackBroom

Hubert.G
29.04.2007, 12:56
Ein Servo kannst du auf jeden freien Pin anschließen, oder du suchst dir einen freien PWM-Hardwareausgang wie OC0, der 128er hat da mehrere.
Hubert

BlackBroom
29.04.2007, 14:13
Hallo,
Also ich kann an jeden freien Anschluss das Servo Signal Kabel dran machen. Ist das richtig?

nover
29.04.2007, 14:47
Als aller erstes must du dich entscheiden ob du zeit für einen Interrupt hast. Wenn ja kannst du kannst alle PIN´s nehmen, wenn nein sind nur Timer Ausgänge möglich. Ich persönlich bevorzuge die Hardware PWM bei der man im Programm nicht unterbrochen wird und man an definierten stellen im Programm Änderungen machen kann, den während eines Interrupt kann kein Interrupt ausgelöst werden z.B. Daten von der SPI Schnittstelle.

BlackBroom
29.04.2007, 15:13
Hallo,
Ich möchte nachher vier Drehzahlsteller ansteuern.
Es sind Kontronik Jazz 55-6-18. Die werden normal genauso wie ein Servo an ein RC-Empfänger angeschlossen und angesteuert. Der verfügt also über ein +,-, und Signal Anschluss.
Ich hatte vorher über eine C-Control 2, über den PWM Anschluss, solch ein Drehzahlsteller angesteuert. Was auch funktioniert hat. Jetzt möchte ich das halt mit meiner neuen Hardware machen.

Wie ist das mit der Entscheidung gemeint? Ich denke dann aber auch das ich den Hardware PWM bevorzuge.

Wie wird aber jetzt so ein Anschluss über BASCOM angesprochen und ein Signal draufgegeben? Das Grundgerüst in BASCOM ist mir klar.



$regfile = "m128def.dat" ' Bei Mega 128 "
$framesize = 32
$swstack = 32
$hwstack = 32
$crystal = 16000000 'Quarzfrequenz
$baud = 19200 'Baudrate für Funkmodul
$baud1 = 9600

Sound Portg.2 , 400 , 450
Sound Portg.2 , 400 , 250
Sound Portg.2 , 400 , 450

Aber danach muss ich ja den Anschluss bekanntgeben und ein Signal drauflegen.

nover
29.04.2007, 18:36
Bei der Hardware Lösung ist man an die Timer Ausgänge gebunden, das bedeutet an die OC PIN´s des AVR im wesentlichen muss man TCCR Register eigne angaben mache und welch für Timer0 seht im Datenblatt des M128 ab Seite 100. Dann muss noch ein 8Bit wert in das OCR Register gegeben werden z.B. 127 für 50% bei 8bit Auflösung

(in einer andren Diskution sind einige Beispiele in Bascom https://www.roboternetz.de/phpBB2/viewtopic.php?t=30127 )

MFG
Das Novj

BlackBroom
29.04.2007, 19:58
Hallo,
Danke. Meine Frage ist aber jetzt noch wo her ich weiß wie der Pin z.b. PB4 (OC0) heißt. Habe in einem Code folgendes gelesen Pinb.1 / Pinb.2.
Woher weiß man aber jetzt wo diese sind und wie kriege ich den Pinnamen des oben genannten Pin raus?

BlackBroom
29.04.2007, 22:07
Hallo,
Kriege das irgendwie nicht hin. Nutze folgenden Code:


Config Pinb.4 = Output


Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Up , Prescale = 1

Do
Compare1a = 14
Loop


Warum geht das nicht, was mache ich falsch? Mit der Pinbezeichnung habe ich rausgefunden. In der Anleitung steht ja PB4 (OC0), dass ist dann ja Pinb.4 oder?

nover
29.04.2007, 22:59
Ich persönlich kann nur entfielen das Initialisieren der Timer Bit konform zu machen z.B. so
ATMega128

DDRB . 4 = 1
TTCR0 = &b00111010

ja Pinb.4 ist der OC PIN
Mehr kann ich dir leider auch nicht helfen
da ich lange nicht mehr in Bascom Geschriben habe

MFG
Das Novj