LusoRobótica - Robótica em Português
Electrónica => Electrónica Geral => Tópico iniciado por: antonio_jose em 23 de Julho de 2009, 22:39
-
Boas pessoal
Preciso da vossa ajuda
Quero controlar a velocidade de um motor brushless, atraves do arduino.
o Circuito seria ligar um potenciometro a um pino do arduio e com o outro pino do arduino (pwm) controlar a velocidade do motor.
alguem tem o programa para este tipo de problema?
-
acho que podes usar o ''Knob'' que vem logo com o IDE do arduino, mas com algumas mudanças.
-
mas tinha de ser com sinal pwm continuo
-
para um brushless necessitas de um ESC...ja tens certo?
de resto, penso que um pwm normal controla bem, mas deixa o tr3s confirmar que ele ja usou isso :D
-
para um brushless necessitas de um ESC...ja tens certo?
de resto, penso que um pwm normal controla bem, mas deixa o tr3s confirmar que ele ja usou isso :D
sim ja tenho tudo, só falta o programa
-
Controlas do mesmo modo que controlas um servo, se enviares para o servo ir para 0 graus, o motor para, se mandares para 90º ele anda a 50%, se mandares para 180º ele anda a 100%!
O ESQ que tens é capaz de ter que ser previamente programado para valores máximos e mínimos. Vou ver se descubro como se faz, entretanto pode ser que o tr3s passe por aqui e diga como configurou e partilhe o código, já que ele já meteu o dele a andar!
-
Dava-me jeito Tiago, o tr3s dizer-me o código.
Cumps
-
Atenção que os ESQ programam-se de maneiras diferentes!
Diz-me que ESC tens para eu ver como se controla ;)
-
Atenção que os ESQ programam-se de maneiras diferentes!
Diz-me que ESC tens para eu ver como se controla ;)
Boas tr3s, tudo bem? O ESC que tenho é:
Programmable Brushless ESC
60A SBEC
2-6 LiPo
5-18NiMH
RoHS
-
Atenção que os ESQ programam-se de maneiras diferentes!
Diz-me que ESC tens para eu ver como se controla ;)
Boas tr3s
Sempre chegas te a ver como seria o codigo para controlar o Motor ?
Cumps
-
Desculpa Antonio_jose... Varreu-se da minha memoria completamente :P
Try this:
#include <MegaServo.h>
MegaServo myservo;
void arm(){
byte i = 0;
while(i++<10){
setSpeed(0);
delay(750);
}
}
void setSpeed(int speed){
int spd = map(speed, 0, 100, 1000, 2000);
Serial.println(spd);
myservo.write(spd);
}
void setup(){
Serial.begin(9600);
myservo.attach(9);
delay(3000);
arm();
}
void loop(){
setSpeed(0); // estes valores sao percentagem: 0% a 100%
delay(3000);
setSpeed (50); // estes valores sao percentagem: 0% a 100%
delay(5000);
}
-
;D
não faz mal, por acaso tambem nunca mais me lembrei, lembrei-me hoje porque recebi o resto dos motores, para o drone.
Brigado ;)
cumps
-
tive a esperimentar o codigo e da um erro
23: error: MegaServo.h: No such file or directory In function 'void setSpeed(int)':
In function 'void setup()':
-
tens que ter a biblioteca megaservo.. tens?
-
tens que ter a biblioteca megaservo.. tens?
upss. faltava-me esse pequeno permenor
Brigado
-
Podes dizer me se esse código funcionou?
-
Não sei mas isto pode ajudar-te:
http://lusorobotica.com/index.php?topic=31.0 (http://lusorobotica.com/index.php?topic=31.0)