Resolvido - Arduino reseta ao comandar dois servos rapidamente

Boa noite pessoal,

Já pesquisei de tudo e não encontrei nada que me ajudasse.

Seguinte: Tenho um arduino que comanda 4 servo motores, todos com alimentação sem passar pelo arduino, vem direto da bateria que fornece 5V. Leio os dados de potênciômetros de joysticks com analogRead, uso o map para converter de 0 a 179 na saída e mando isso no pino de cada servo. Acontece que se eu dou dois comandos rápidos, meu arduino reseta. Não sei mais o que fazer, mesmo que eu ligue apenas dois servos tenho o mesmo problema.

Obs: Arduino, potenciômetros e servos estão ligados na mesma bateria de 5V e que deveria fornecer picos de 3A. O fio do servo que recebe o comando está ligado diretamente nas portas PWM do arduino.

Se imprimo os valores lidos dos potenciômetros na serial sem ligar os servos, saem certinhos e não acontece de resetar o arduino se os servos estiverem desligados, mesmo acionando os 4 potênciômetros simultâneamente. Se ligo um servo por vez, também funcionam perfeitamente, mesmo com movimentos rápidos.

Desculpem pelo tamanho do texto, mas queria me fazer entender. O desenho não ficou bom, mas acho que dá para entender. Não tenho fotos agora.

Agradeço desde já pela ajuda.

Exibições: 1584

Anexos

As respostas para este tópico estão encerradas.

Respostas a este tópico

Olá, mostre o circuito que você fez, coloque fotos e imagens do esquema do circuito.

Normalmente, é falta de corrente no circuito.

é basicamente isso, com mais dois servos, mas mesmo que eu use dessa forma como está aí, tenho o mesmo problema

Qual o Arduino que você está usando?

O pino Vin do Arduino espera receber uma tensão de pelo menos 6v, pois existe um regulador na placa para 5v. Mas se você ligar a sua fonte de 5v no pino de 5v do Arduino, vai funcionar. 

Antes de ligar, use um multímetro para medir a tensão e veja se realmente há 5v, caso contrário você pode queimar o Arduino.

Estou usando o arduino Uno. Já fiz usando o pino de 5V e o Vin do arduino. Infelizmente da na mesma.

Qual a especificação de sua bateria de 5v?

É uma bateria para aeromodelo, com uso de ESC.

Especificações da bateria:

Capacity: 2200mAh
Voltage: 3S1P / 3 Cell / 11.1V
Discharge: 25C Constant / 35C Burst

Especificações do ESC com BEC:

Constant Current: 30A
Burst Current: 40A
Battery: 2-4S Lipoly / 5-12s NiXX
BEC: 5v / 3A
Motor Type: Sensorless Brushless

Não sei se conhece este ESC, mas a alimentação para todo o sistema vem do BEC, que fornece 5v(testei e mantém 5v, e 3A). Lembrando que não liguei mais nada no sistema, além dos potenciômetros, arduino e servos.

Ok, não conhecia esse tipo de ESC.

Eu testaria da seguinte forma: o BEC alimentaria apenas os servo motores, já o Arduino seria alimentado por uma segunda fonte de alimentação, por exemplo o USB. Mantenha apenas os GNDs conectados.

Legal Flavio, muito obrigado pelas dicas. Farei este teste à noite, estou no trabalho agora. Só uma dúvida, porque manter o gnd conectado entre os dois circuitos? Um detalhe interessante também: mesmo que eu ligue o motor principal(que consome até 14A) não faz diferença, o sistema se mantém muito bem, com o motor principal acelerado e eu mexendo com qualquer um dos servos, mas é só eu mover dois servos juntos que reinicia. Se eu ficar movendo apenas um servo com o motor na máxima aceleração, independente de qual dos quatro servos seja, o sistema não reinicia. Por isso não acredito que seja alimentação. O motor consome muita energia, e seja com ele ou sem ele reinicia sempre que uso mais de um servo junto.

Blz, só para deixar mais claro, apenas manter conectados os sinais de controle dos servomotores e o GND (do Arduino, do BEC e da segunda fonte)

GND é uma referência de tensão, que assumimos com 0 v. Isso é muito importante para o funcionamento de um circuito, pois dessa forma o circuito consegue detectar a tensão (diferença de potencial), além disso você garante um circuito fechado, permitindo assim, a passagem de uma corrente elétrica. 

Testei da forma como falou, mesmo problema. Tentei até valores fixos no código para não conectar os potenciômetros. Não sei mais o que pode ser.

Qual é modelo do servo motor que você está usando?

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço