Ahh, mein lieblings Fragensteller.
Alle Ports sind gleich (Push-Pull stufe), somit sollte es keine Probleme geben.
Wie so oft gilt: im Prinzip ja.Zitat von JadaWie so oft gilt: im Prinzip - gleich. Da ist z.B. beim mega16/-32 zu beachten, dass auf PORTC einige Pins für JTAG vorgesehen sind (das kann man aber per Fuses abschalten), bei vielen Controllern gibts RX- und TX-Pinne, da gibts I2C-Pinne - also Etliches, das je nach Auslegung der Schnittstellen oder anderer Nutzer wenig oder keinen Sinn macht, es für einen Servo zu benutzen.Zitat von syn_error
Empfehlenswert für die Servoansteuerung ist ein Anschluss, auf dem man ein Hardware-PWM-Signal erzeugen kann. Diese Pinne heissen dann etwa OC0A, OC2B und ähnlich. Das brächte programmtechnisch eine Vereinfachung, weil dann ein Hardware-PWM-Signal erzeugt werden kann, für das nur minimaler Software- bzw. Code-Aufwand getrieben werden muss. Sprich: ne Hardware-PWM kann CPU-Zeit einsparen.
Die jeweilige Portbelegung - mit Angabe der verschiedenen, möglichen, alternativen Nutzungen - ist in den Datenblättern, meist auf Seite 2 oder 3 angegeben. Datenblätter von Atmel kannst Du hier runterladen.
Bitte denk daran, dass ein Servo möglichst mit einer vom Controller getrennten Versorgung, aber einem gemeinsamen GND, betrieben werden soll, um Störungen durch hohen Stromverbrauch des Servos zu verhindern. Der Servo hängt also üblicherweise mit seinem Signaleingang an einem Controller-Pin und ist mit dem GND des Controllers verbunden. Wenn keine getrennte Energiestation für den Servo verfügbar ist, bieten sich Elkos an zur Pufferung des Energiehungers der Servomotoren.
Ciao sagt der JoeamBerg
Hallo
Beispiele für Servoansteuerungen mit Hardware-PWM findet man eher selten. Grund dafür ist das sehr ungünstige Impuls:Pause-Verhältniss des Servosignals. Einfacher und resourcenschonender (Hardware-PWM ist eine sehr wertvolle weil rare Funktion zumindest bei den kleineren Microkontrollern) ist eine Ansteuerung mit Software-PWM die mit einem Timer (klassisch verschwenderisch mit 100kHz-Takt oder eleganter und etwas komplizierter mit einem Interupt pro Impuls) erzeugt wird.Empfehlenswert für die Servoansteuerung ist ein Anschluss, auf dem man ein Hardware-PWM-Signal erzeugen kann.
Gruß
mic
Bild hier
Atmel’s products are not intended, authorized, or warranted for use
as components in applications intended to support or sustain life!
Hat bei mir gut geklappt, Gruß Richard[/code]Code:'----------------------------------------------------------------------- ' (c) 2001-2005 MCS Electronics ' servo.bas demonstrates the SERVO option '----------------------------------------------------------------------- 'Servo's need a pulse in order to operate 'with the config statement CONFIG Servos we can specify how many servo's we 'will use and which port pins are used 'A maximum of 16 Servos might be used 'The SERVO statements use one byte for an interrupt counter and the TIMER0 'This means that you can not use TIMER0 anymore 'The reload value specifies the interval of the timer in uS 'Config Servos = 2 , Servo1 = Portb.0 , Servo2 = Portb.1 , Reload = 10 $regfile = "2313def.dat" Config Servos = 1 , Servo1 = Portb.0 , Reload = 10 'as an option you can use TIMER1 'Config Servos = 2 , Servo1 = Portb.0 , Servo2 = Portb.1 , Reload = 10 , Timer = Timer1 'we use 2 Servos with 10 uS resolution(steps) 'we must configure the port pins used to act as output Config Portb = Output 'finally we must turn on the global interrupt Enable Interrupts 'the servo() array is created automatic. You can used it to set the 'time the servo must be on Servo(1) = 10 '10 times 10 = 100 uS on 'Servo(2) = 20 '20 times 10 = 200 uS on Do Loop Dim I As Byte Do For I = 0 To 100 Servo(1) = I Waitms 1000 Next For I = 100 To 0 Step -1 ' Servo(1) = I Waitms 1000 Next Loop End
Hallo erstmal an alle,die hier sind
ich brauche dringen euer Hilfe,ich habe ein Projekt,
man will viele Kleine glänzende Kugeln (Tennis ball grösse),jede einzelne kugel hängt je an einem Seil ( seil ist Unsichtig),die andere Seilende ist mit Servo gebunden,man will eine Bewegung von allen diesen Kugeln durch die Servos generieren und zwar so dass ein AutoKarroserie form am ende entsteht.Also rechts,links oben unten bewegungen bis ein Auto form entsteht. (es gibt auch ein Werbung im Fernsehen,die sowas zeigt)
meine Aufgabe ist die Folgende :
Ich muss ein Komplettes Chip board also ein richtiges Leistungsfähiges Board zusammen bauen das man auch mit PC verbindet.Das Board soll folgende Anschlüsse haben:isp,usb,I2C,RS232,JTAG,Resetknopf,power,UART ´s,SD-card,CAN,Led´s mit IR und LAN um ein hochleistungs Servomotor zu steuern.Wenn das Board fertigist dann kommt die nächste phase (C-programmierug),übrigens das Board sollte möglichst vielseitig einsetzbar also für halt viele aufgaben geeignet sein(man muss halt nur die Befehle also das setup neu schreiben oder anpassen wenn sein muss )
Ich habe rescherschiert aber ich weiss gar nicht von wo ich
anfangen soll.ich weiss nicht wie hoch die geschwindigkeit vom prozessor sein muss,oder die grösse vom Ram und soweiter .Es gibt schon fertige boards die man kaufen kann,aber der Professor will dass man die teile fertig kauft und selber stück nach stück reinstecken kann und danach mit Programmierung beginnen.Ich bin sehr dankbar für jede Hilfe,tipps und hinweise.Vieln Dank
Lesezeichen