Go Down

Topic: Controler un ESC avec potentiomètre linéaire? (Read 969 times) previous topic - next topic

Philippe-Bayonne

Bonjour,

Je me tourne vers vous car j'ai besoin d'aide.
Je veux contrôler un ESC de moteur brushless qui serait gérer par un potentiomètre linéaire. Je ne sais pas si c'est possible?
J'ai essayer de le piloter avec un programme de servo mais le résultat n'est pas bon, ça ne marche pas.

Peut être (et surement) que la question à déjà été posée, mais je ne suis pas arrivé à trouver le bon post.
Si quelqu'un peut me renseigner, je le remercie par avance

Philippe
Philippe

infobarquee

AUCUNE AIDE PAR MP

aligote

..............
Je veux contrôler un ESC de moteur brushless qui serait gérer par un potentiomètre linéaire. Je ne sais pas si c'est possible?
J'ai essayer de le piloter avec un programme de servo mais le résultat n'est pas bon, ça ne marche pas.
.................
Bonjour,

Piloter le contrôleur par une sortie "signal servo" est  la façon normale de procéder.
Ensuite contrôler le signal servo par un potentiomètre est bien faisable.

Maintenant, je réitère :

- Code ?
- Schéma ?

Etc....

Serge .D

Philippe-Bayonne

Bonjour,

Ci joint l'extrait du code que j'ai utilisé:



Code: [Select]

#include <Servo.h>

Servo esc;

void setup()
{
  esc.attach(8);
  esc.writeMicroseconds(1000);
  Serial.begin(9600);
}

void loop()
{
  int val;
  val= map(val, 0, 1023,1000,2000);
  esc.writeMicroseconds(val);
}



je n'ai pas de schéma du montage, j'utilise un potentiomètre linéaire
Philippe

infobarquee

Quote
je n'ai pas de schéma du montage, j'utilise un potentiomètre linéaire
sans ceci, on ne peut répondre convenablement
mets déjà ceci dans le haut du code, sinon val est toujours remis à zéro à chaque boucle
Code: [Select]
int val;
AUCUNE AIDE PAR MP

aligote

#5
Jan 14, 2017, 12:44 pm Last Edit: Jan 14, 2017, 12:52 pm by aligote
Bonjour,

Ci joint l'extrait du code que j'ai utilisé:



Code: [Select]

#include <Servo.h>

Servo esc;

void setup()
{
  esc.attach(8);
  esc.writeMicroseconds(1000);
  Serial.begin(9600);
}

void loop()
{
  int val;
  val= map(val, 0, 1023,1000,2000);
  esc.writeMicroseconds(val);
}



je n'ai pas de schéma du montage, j'utilise un potentiomètre linéaire
Je propose :
- Plus d'infos pour le branchement du potentiomètre
- je ne vois pas bien le code ou la position du potentiomètre serait lue pour être ensuite affectée à val

PS : Eventuellement remplacer le contrôleur par un servo pour vérifier le fonctionnement

Serge .D

Philippe-Bayonne

Merci pour vos réponse je suis arrivé à le faire marcher avec ce code:

Code: [Select]

#include <Servo.h>

Servo Moteur;

int const potentiometre = A0;
int valpot;
int ESC;
void setup()
{
Moteur.attach(8);
Serial.begin(9600);
}

void loop()
{
valpot = analogRead(potentiometre);
Serial.print("valpot:");
Serial.print(valpot);
ESC = map(valpot, 0, 1023, 0, 179);
Serial.print(", ESC: ");
Serial.println(ESC);
Moteur.write(ESC);
}


Avec ces branchements:
ESC:
- Fil noir sur le -
- Fil rouge non connecté
- Fil blanc sur signal sortie 8

Potentiometère:
- Fil noir sur le -
- Fil rouge sur le plus
- Fil blanc signal d'entrée A0
Philippe

aligote


nekfury

tu pourrais fournir une photo de tes branchements stp ? j'ai essayé ta méthode en utilisant les mêmes connections et le même code mais ça n'a pas fonctionné chez moi.
merci

Go Up