Project 12 Servo
1. Beschrijving
Deze servo biedt hoge prestaties en hoge precisie met een maximale rotatiehoek van 180°. Met een gewicht van slechts 9g is hij perfect geschikt voor elk mini-apparaat in diverse toepassingen. Bovendien heeft hij een korte opstarttijd, weinig geluid en sterke stabiliteit.
2. Werking
Hoekbereik: 180° (360°, 180° en 90°)
Aandrijfspanning: 3.3V of 5V
Pin: Drie draden

GND: Aarde (bruin)
VCC: Een rode pin die verbonden wordt met +5V (3.3V) voeding
S: Een oranje signaalpin die wordt aangestuurd via PWM-signaal

Bedieningsprincipe: De rotatiehoek wordt geregeld via de duty cycle van PWM. Theoretisch is de standaard PWM-cyclus 20ms (50Hz), dus de pulsbreedte moet liggen tussen 1ms en 2ms. In de praktijk varieert de pulsbreedte echter van 0,5ms tot 2,5ms, wat overeenkomt met 0° tot 180°. Let op dat bij hetzelfde signaal de rotatiehoek kan verschillen per servomerk.
3. Aansluitschema

Gebruik een externe voeding in plaats van alleen USB-voeding.

4. Testcode
int servoPin = 4;//servo PIN
void setup()
{
pinMode(servoPin, OUTPUT);//servo pin is set to output
}
void loop()
{
for(int i = 0 ; i <= 180 ; i++)
{
servopulse(servoPin, i);//Set the servo to rotate from 0° to 180°
delay(10);//delay 10ms
}
for(int i = 180 ; i >= 0 ; i--)
{
servopulse(servoPin, i);//Set the servo to rotate from 180° to 0°
delay(10);//delay 10ms
}
}
void servopulse(int pin, int myangle)
{ //Impulse function
int pulsewidth = map(myangle, 0, 180, 500, 2500); //Map Angle to pulse width
for (int i = 0; i < 10; i++)
{ //Output a few more pulses
digitalWrite(pin, HIGH);//Set the servo interface level to high
delayMicroseconds(pulsewidth);//The number of microseconds of delayed pulse width value
digitalWrite(pin, LOW);//Lower the level of servo interface
}
}
5. Testresultaat
Na het aansluiten van de bedrading en het uploaden van de code begint de servo te draaien van 0° naar 180° en vervolgens weer terug.