- fchao-Sinus-Wechselrichter AliExpress         
Ergebnis 1 bis 10 von 11

Thema: Problem mit Servos

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    62
    Beiträge
    5.799
    Blog-Einträge
    8
    Hallo

    Ein Bild sagt mehr als tausend Worte:
    Bild hier   Bild hier   Bild hier  

    Die Videos dazu:
    Bild hier   Bild hier   Bild hier  
    http://www.youtube.com/watch?v=uL_am_61jfU
    http://www.youtube.com/watch?v=KLWulyIWCak
    http://www.youtube.com/watch?v=IAP3Z-bAb-g


    Die Drähte der Potis sind leider zu kurz und müssen verlängert werden. Viel Spass beim Nachbau.

    Beide Servos erhalten das selbe Signal und können deshalb auch parallel angeschlossen werden:
    Code:
    #include <avr/io.h>			// I/O Port definitions
    #include <avr/interrupt.h>	// Interrupt macros
    
    uint8_t i, x, y, z;
    volatile uint8_t p;
    
    void init(void)
    {
    	TCCR0 = (0 << WGM00) | (1 << WGM01);					// CTC-Mode
    	TCCR0 |= (0 << COM00) | (0 << COM01);					// ohne OCR-Pin
    	TCCR0 |=	(0 << CS02)  | (0 << CS01) | (1 << CS00);	// kein prescaler
    	TIMSK = (1 << OCIE0); // Interrupt ein
    	OCR0  = 79; // 100kHz
    
    	DDRA |= 16;				// E_INT1 als Ausgang
    	DDRC |= 3;				// SCL und SDA als Ausgang
    
    	sei();
    }
    void pause(uint8_t dauer)
    {
    	p=dauer;
    	while(p);
    }
    int main(void)
    {
    	x=y=z=140;
    	init();
    	pause(200);
    
    	while(1)
    	{
    		x=y=z=60;
    		pause(100);
    		x=y=z=220;
    		pause(100);
    	}
    	return(0);
    }
    ISR(TIMER0_COMP_vect)
    {
    	static uint16_t count;
    	if(count>x) PORTA &= ~16; // E_INT1 (Pin8)
    		else PORTA |= 16;
    	if(count>y) PORTC &= ~1; // SCL (Pin10)
    		else PORTC |= 1;
    	if(count>z) PORTC &= ~2; // SDA (Pin12)
    		else PORTC |= 2;
    	if(count<2000)count++;
    		else { count=0; if(p) p--; }
    };
    (Für einen 8MHz-Mega32)

    Gruß

    mic

    [Edit]
    26.03.2016: Bilder neu verlinkt
    Geändert von radbruch (26.03.2016 um 20:36 Uhr)
    Bild hier  
    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Labornetzteil AliExpress