Hallo,

überprüfe bitte alle Versorgungsleitungen und die Resetverbindungen bei abgezogenem Programmieradapter gründlich. Auch die GND. Ich vermute einen Fehler in diesem Bereich. Bei den Fusebits den Brown out und Watchdog always on erst einmal deaktivieren. Woher kommen die 5V Versorgungsspannung.

Beim Programm ist mir noch etwas eingefallen.
Code:
void setservo(byte index, byte value) 
{ 
   uint16_t wert; 

   wert=MINPULS+(MAXPULS-MINPULS)/256*value; 
    cli(); //begin of atomic section
   // callculate hightime 
   Pulslength[index<<1]=0-wert; 
    
   // sum of low and hightime for one servo is 2ms 
   Pulslength[(index<<1)+1]=0-(TIMER_MAXPULS-wert); 
    
   // 1 Servos give you 1*2ms=22ms total cycle time /!!! 

  //sei(); end of atomic section
}
Es können sonst sporadische Fehler in der Interruptroutine auftreten. Bei näherem Interesse such im Wiki bitte nach 'Interrupts' und/oder 'atomar'.

Gruß

Jens