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.
Tags:
As respostas para este tópico estão encerradas.
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?
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por