Lliurament 2.- Servo motor gir continu
Tasca:
Fes el següent muntatge corresponent al següent codi:
#include <Servo.h>
Servo myservo; // crea el objeto servo
int vel = 0; // velocidad del servo
void setup() {
myservo.attach(9); // vincula el servo al pin digital 9
}
void loop() {
//servo parado (equivalente a angulo 90º)
vel = 90;
myservo.write(vel);
delay(1500);
//servo 100% CW (equivalente a angulo 180º)
vel = 180;
myservo.write(vel);
delay(1500);
//servo 100% CCW (equivalente a angulo 0º)
vel = 0;
myservo.write(vel);
delay(1500);
}
Calibratge de velocitat
El calibratge de velocitat és una mica més complicat que el servo standars. Ja que els servomotors de rotació contínua estableixen una conversió al rang de 0 a 180 graus per a la posició, equivalent a una entrada de potència. La qüestió, és que el mateix senyal PWM ha de permetre moviment tant en direcció horària , com en direcció antihorària i el sistema de moviment es defineix com a velocitat màxima quan s'estableix el 0 en sentit antihorari , la velocitat màxima en sentit horari per al valor de 180 i aturat al valor mitjà de 90. D'aquesta manera, els valors intermedis corresponen a un augment o reducció de la velocitat.

El problema és que per mesurar la velocitat de gir , necessitaríem un sensor especial ia diferència de la posició, els nostres ulls no mesuren velocitats de manera precisa. Aparentment podríem deduir que els valors que separen un sentit de gir de 0 a 90 , evolucionen igual pel que fa al sentit contrari 90 a 180 , però malauradament no és així . Resulta que hi ha una zona zero que depenent del motor, pot estar desplaçada des de la seva referència de moviment.
Per això caldria els servos més cars són més fiables.
Fes un vídeo, puja-te'l al drive i enllaça-me'l.
Resum de la qualificació
| Ocult per a l'estudiantat | Sí |
|---|---|
| Participants | 19 |
| S'han tramès | 0 |
| Necessiten qualificació | 0 |
| Temps restant | 1 any 38 dies |