Servo krijgt eigen wil op schakeling geluidslokalistatie

Hallo allemaal ,

ik zit met een eigenaardig probleem.
Ik ben bezig met het testen van een opstelling om aan geluidslokalisatie te doen.

De opstelling bestaan uit 2 microfoons (mic elect's) , een opamp(LM324) , 2 555-gebaseerde puls-extenders , een arduino microcontroller, een servo met een zaklampje op (zie foto).

http://www.uploadarchief.net/files/download/resized/foto%20schakeling.jpg

http://www.uploadarchief.net/files/download/foto%20schema.jpg

De bedoeling is dat als de schakeling merkt dat het geluid van links komt , de servo 10 graden naar links draait , en hetzelfde bij rechts.

Het programma is heel simpel , en de schakeling op zich werkt ook perfect.
Maar als ik de pulsen uitlees met de arduino en tegelijk de servo aanstuur., krijgt het ding een eigen wil.

Zonder servo geen probleem , maar als de servo word aangestuurd, detecteerd mijn schakeling een valse geluidspuls waardoor de servo nog eens verdraait.
En voor alle duidelijkheid , dit heeft niets met het geluid van de servo te maken.
En dikwijls begint de servo gewoon uit zichzelf te bewegen terwijl er niets word gedecteerd.
In het filmpje zie je ook dat de leds even uitgaan dan.

Aan het vermogen van de voeding kan het niet liggen , die kan 50W leveren.
De voeding is gebufferd (zie schema) en ontkoppeld van HF.
Ik weet niet aan wat het kan liggen.

Filmpjes :

http://www.youtube.com/watch?v=DX7sNjaSs0c (Servo)

http://www.youtube.com/watch?v=kFpEJm2PMts (Uitlezing seriële verbinding)

En dan het programma :

c code:

#include <Servo.h> 
 
Servo myservo;  
 
int linksPin = 4; 
int rechtsPin = 6; 
int pos = 0; 
int Links = 0;
int Rechts = 0;


 
void setup() 
{   
  myservo.attach(9); 
  
  pinMode(linksPin, INPUT);
  pinMode(rechtsPin, INPUT);
  
  delay(50);
  myservo.write(0); 
  delay (500);
  myservo.write(180); 
  delay(500);
  myservo.write(0); 
  delay (500);
  
  Serial.begin(9600);
  

 
   
  
  
}  // einde void setup
 
void loop() 
{ 
 

Links = digitalRead(linksPin);
Rechts = digitalRead(rechtsPin);

//------------------------------------
 
                    
 if (Links == 1 &&  Rechts == 0)
    {
     
      Serial.print("Locatie =  " ); 
     //delay(500); 
      Serial.print("Links"); 
      Serial.println();
      Serial.println();
      if (pos >= 10 )
      {
      pos = pos - 10;
      }
      myservo.write(pos); 
      delay(500);
      
           
   
    }
if (Links == 0 &&  Rechts == 1)
    {
     
      Serial.print("Locatie =  " );  
      //delay(500);
      Serial.print("Rechts"); 
      Serial.println();
      Serial.println();
      if (pos <= 170 )
      {
      pos = pos + 10;
      }
      myservo.write(pos); 
      delay(500);
      
      
   
    }
}

Ik hoop dat iemand mij kan helpen hiermee.
Alvast bedankt