-
 
          
	
		
		
	
	
	
	
	
		
			
- 
	
	
		
			
			
				Neuer Benutzer
			
			
				Öfters hier
			
			
			
			 
			
				
 
					    
				 
 
			
				
				
				
					Hilfe zum ATMEGA. Pulse generieren für 8 Servos ...
				
					
						
							Hi zusammen.
 Mein Problem: Ich möchte 8 Servos ansteuern und muss dazu die entsprechenden Impulse mit korrekter Länge generieren.
 
 Aktuelle Lösung: Am ATMEGA ist per I2C ein I/O-Expander PCF8574 angeschlossen, an diesen wiederum sind die 8 Impulsleitungen angeschlossen.
 
 Per Timer wird nun ein der Impuls generiert und zwar so:
 
 - Pulslänge berechnen und Timer aktivieren
 - entsprechenden Pin per I2C einschalten
 - beim Timer-interrupt wird per I2C der Pin abgeschaltet
 - dasselbe nochmal für den nächsten Pin/Servoimpuls
 
 Die Methode funktioniert, ist aber aufgrund der zeitkritischen Impulse nicht ganz befriedigend und kostet ganz schön Rechenzeit. Gelegentlich zucken die Servos.
 
 Ich Suche nun eine Alternative und bin auf die PWM-Mögichkeiten des ATMEGA gestossen.
 Ich berechne die Pulsänge und programmiere den ATMEGA entsprechend.
 Der ATMEGA schaltet AUTOMATISCH (ohne Interruptund Programmcode) den Impuls ab und würde nach 20ms erneut einen Impuls beginnen
 
 Das wäre die Technik für 1 Servo.
 
 Für 8 Servos müsste ich einen 3-to-8-Decoder zwischenschalten, der einen Eingang auf einen von 8 Ausgängen durchschaltet.
 
 Ich bräuchte aber folgendes:
 - Ich starte den Impuls, der ATMEGA löscht ihn nach Ablauf der Impulszeit wieder.
 - Nach etwa 2.5ms bekomme ich einen Interrupt und starte den Vorgang für den nächsten Servo mit angepasster Impulszeit.
 
 Ist das so realistisch und wie muss ich  den ATMEGA programmieren ?
 
 Gruss Nico
 
 
 
 
 
 
 
 
	
	
	
	
	
	
	
	
	
	
	
	
		
		
		
		
			
				 Berechtigungen
				Berechtigungen
			
			
				
	
		- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-  
Foren-Regeln
 
			 
		 
	 
 
  
 
  
 
Lesezeichen