Esse servo é o do tipo comumente chamado “9g”. É ideal para trabalhos leves de automação, como mover peças em maquetes. Apesar de muito pequeno tem uma força razoável.
Kit de motor cc com caixa de redução + roda para smartcar
- Modelo biaxial: você pode montar a roda em qualquer dos dois lados e pode montar um disco de medição no outro.
- Velocidade: aproximadamente 205 rpm com roda montada mas sem carga (medido com 5V – velocidade varia com a tensão);
- Tensão: de 3 a 6V;
O diagrama abaixo mostra o modelo monoaxial. A única diferença é a ausência do eixo do outro lado.
Kits SMARTCAR (carro robô)
Nota 1: todas as plataformas são de acrílico transparente. As fotos mostram as plataformas ainda protegidas por película adesiva de papel madeira.
Nota 2: os kits de quatro rodas são melhores quando seu percurso é mais ou menos reto e com obstáculos (algo que requer “tração 4×4”) ou você precisa carregar mais peso ou requer mais espaço. Se você precisa de algo mais manobrável é melhor pegar um kit com duas rodas. Por exemplo, para dobrar uma esquina com duas rodas basta parar uma delas e o carro girará tendo ela como eixo. O rodízio traseiro ajuda muito. Isso é bem mais complicado e menos elegante de fazer em um kit com quatro rodas, porque nenhuma delas se inclina. Lembrando também que os kits com quatro rodas consomem o dobro da energia, pois você não pode simplesmente deixar um motor desligado se não precisar dele (a caixa de redução impede a roda de girar livremente).
1 plataforma e 2 motores – Kit1
1 plataforma e 2 motores – Kit2
2 plataformas e 2 motores
2 plataformas e 4 motores
Comparação de tamanhos dos chassis
Também disponho de motores e rodas avulsos.
Módulo L298N – driver para motores (Ponte H dupla) – Modelo B
Teste básico de funcionamento
Não requer motores, nem o Arduino
Notar que este módulo funciona com lógica contrária à do módulo Modelo A
O jumpers 5V_EN precisa estar no lugar.
Conecte 12V nos terminais VMS e GND.
Todos os LEDs devem acender, indicando que há tensão em VCC e que o regulador 5V na placa está funcionando
Em sequência conecte, um de cada vez, os terminais IN1, IN2, IN3 e IN4 ao terminal GND.
Os LEDs L1, L2, L3 e L4 devem apagar na mesma sequência e sempre um de cada vez.
Se você tiver motores 12V conectados, os motores irão girar um de cada vez, num sentido de cada vez.
Para desabilitar os motores, conecte os terminais ENA e ENB a GND (eles estão conectados a +5V internamente na placa, pelos resistores 01 e 02, de 1K). Mas os LEDs continuarão sendo acionados, porque estão conectados diretamente aos terminais de controle.
Módulo L298N – driver para motores (Ponte H dupla) – Modelo A
- LEDs L1 a L4: Indicam que motor está ligado e em que direção está girando. Correspondem diretamente às entradas IN1 a IN4;
- IN1 e IN2: Controle do Motor 1 (cada entrada faz girar em uma direção) ;
- IN3 e IN4: Controle do Motor 2 (cada entrada faz girar em uma direção);
- VCC: A alimentação dos motores (exemplo: se os motores forem de 12V, ligue 12V aqui);
- 5V: Alimentação para o CI L298N. Se estiver usando uma tensão de motor acima de 7V, pode deixar desconectada, porque a alimentação dos motores alimentará também o CI por meio do regulador 78M05; Você só precisa conectar 5V aqui se estiver usando motores de tensão muito baixa.
Teste básico de funcionamento
Não requer motores, nem o Arduino
Notar que este módulo funciona com lógica positiva, que é contrária à do módulo Modelo B
Os jumpers ENA-5V e ENB-5V precisam estar no lugar.
Conecte 12V nos terminais VCC e GND.
Deixe pressionada a chave SW1
O LED DS5 deve acender, indicando que há tensão em VCC e que o regulador 5V na placa está funcionando
Em sequência conecte, um de cada vez, os terminais IN1, IN2, IN3 e IN4 ao terminal 5V.
Os LEDs L1, L2, L3 e L4 devem acender na mesma sequência e sempre um de cada vez.
Se você tiver motores 12V conectados, os motores irão girar um de cada vez, num sentido de cada vez.
Para desabilitar os motores, retire os jumpers ENA e ENB. Os LEDs L1 a L4 vão deixar de acender também, porque estão conectados às saídas.
Motor de passo 28BYJ-48 com placa driver
Vídeo usando a biblioteca accelstepper
Exemplo de utilização, sem bibliotecas, que dá um bom torque. No exemplo o driver deve ser conectado aos pinos 2, 4 6 e 8 do Arduino (mas quaisquer 4 pinos servem):
OBS: Meu exemplo é uma simplificação do exemplo encontrado nesta página
//declare variables for the motor pins int motorPin1 = 2; // 28BYJ48 pino 1 int motorPin2 = 4; // 28BYJ48 pino 2 int motorPin3 = 6; // 28BYJ48 pino 3 int motorPin4 = 8; // 28BYJ48 pino 4 // Red - 28BYJ48 pin 5 (VCC) int motorSpeed = 0; //variable to set stepper speed //////////////////////////////////////////////////////// void setup() { //declare the motor pins as outputs pinMode(motorPin1, OUTPUT); pinMode(motorPin2, OUTPUT); pinMode(motorPin3, OUTPUT); pinMode(motorPin4, OUTPUT); } ///////////////////////////////////////////////////////// void loop(){ motorSpeed = 1; //scale potValue to be useful for motor counterclockwise(); //go to the ccw rotation function } ///////////////////////////////////////////////////////// //set pins to ULN2003 high in sequence from 1 to 4 //delay "motorSpeed" between each pin setting (to determine speed) void counterclockwise (){ // 1 digitalWrite(motorPin1, HIGH); digitalWrite(motorPin2, LOW); digitalWrite(motorPin3, LOW); digitalWrite(motorPin4, LOW); delay(motorSpeed); // 2 digitalWrite(motorPin1, HIGH); digitalWrite(motorPin2, HIGH); digitalWrite(motorPin3, LOW); digitalWrite(motorPin4, LOW); delay (motorSpeed); // 3 digitalWrite(motorPin1, LOW); digitalWrite(motorPin2, HIGH); digitalWrite(motorPin3, LOW); digitalWrite(motorPin4, LOW); delay(motorSpeed); // 4 digitalWrite(motorPin1, LOW); digitalWrite(motorPin2, HIGH); digitalWrite(motorPin3, HIGH); digitalWrite(motorPin4, LOW); delay(motorSpeed); // 5 digitalWrite(motorPin1, LOW); digitalWrite(motorPin2, LOW); digitalWrite(motorPin3, HIGH); digitalWrite(motorPin4, LOW); delay(motorSpeed); // 6 digitalWrite(motorPin1, LOW); digitalWrite(motorPin2, LOW); digitalWrite(motorPin3, HIGH); digitalWrite(motorPin4, HIGH); delay (motorSpeed); // 7 digitalWrite(motorPin1, LOW); digitalWrite(motorPin2, LOW); digitalWrite(motorPin3, LOW); digitalWrite(motorPin4, HIGH); delay(motorSpeed); // 8 digitalWrite(motorPin1, HIGH); digitalWrite(motorPin2, LOW); digitalWrite(motorPin3, LOW); digitalWrite(motorPin4, HIGH); delay(motorSpeed); }
Arduino Motor Drive Shield
Motor Drive Shield
O único tipo de motor que pode ser ligado diretamente às portas do arduino é o servo, porque essas nem fornecem corrente suficiente, nem são protegidas contra indução. Os demais motores precisam de drivers (hardware – não confundir com o driver de software). Esse é o papel desse shield, que usa dois drivers modelo L293D.
Segundo o datasheet do L293D, os motores usados podem ter tensões entre 4,5 e 36V. É preciso ligar a fonte adequada nos terminais EXT_PWR.
Atenção: este shield conflita com o ethernet shield. Se precisar de ambos em seu projeto e seus motores não forem de passo, avalie a possibilidade de usar em vez deste shield um ou dois módulos L298N. Você pode fazer este shield funcionar em conjunto com o ethernet shield, mas isso requer fazer algumas alterações de hardware (mudar pelo menos um dos pinos) e no software (a biblioteca precisa ser editada).
Requer a biblioteca AFMotor de Ladyada.
Instruções de conexão aqui:
Suporta dois motores de passo ou quatro motores de corrente contínua comuns ou uma combinação de ambos.
Você pode usar PWM para controlar a velocidade dos 4 motores individualmente. A biblioteca de Ladyada se encarrega dos detalhes
Observações (só para motores de passo)
A placa tem suporte a dois motores de passo, controlados individualmente. Cada exemplo da biblioteca prevê o motor ligado em uma determinada porta.
Porta 1: Identicada com M1 e M2
Porta 2: Identicada com M3 e M4
Por exemplo, a linha:
AF_Stepper motor1(48, 2);
Significa que o motor está ligado na porta 2.
Em cada porta, o terminal central é o comum das bobinas.
Comentários