hysteresis moteur DC et potentiometre

Super_Cinci:
Il y a une erreur dans ton code... Puisqu'avant de tester l'hystérésis, tu fais une comparaison brute... essaie cela, pas de comparaison brute, directement hystérésis :

void loop() 

{
 val = analogRead(potpin);            // reads the value of the potentiometer (value between 0 and 1023)
 val = map(val, 1, 1023, 1, 360);     // scale it to use it with the servo (value between 0 and 180)

if (valeurcible < (val - hyseteris)) { motor.run(FORWARD);}                                        //moteur avance
else if (valeurcible > (val + hyseteris)) { motor.run(BACKWARD);}                                  // moteur recule
   else {motor.run(RELEASE);}

}



A supposer que hyseteris soit toujours positif... le moteur ne tournera que si valeurcible sort de l'intervalle [val - hyseteris, val + hyseteris] et s'arrêtera dès que l'intervalle entoure valeurcible.

Prévois un hyseteresis assez grand au début, genre 500, tu le réduiras au fur et à mesure de tes tests. Si tu es motivé, colle un second potar sur une entrée analogique et fais un "hyseteresis = analogread(hyst_pin) / 2; Serial.println(hyseteresis);", comme ça, pas besoin de reloader le prog à chaque test, tu liras la valeur du bon hyseteresis sur ta console!

je te souhaite un bon courrage pour ton asservissement, car ce n'est pas simple. [HUMOUR]Tu savais qu'il existe des servomoteurs?[/HUMOUR] :grin:

Merci Super_Cinci,
oui je sais qu'il existe des servomoteur, j'en ai, dont un qui fait 30kg de torq. Mais pour certains projets, cela ne convient pas exactement.
En ce moment je dispose d'un moteur DC assez puissant (recup donc pas de datasheet/ rien écrit dessus) , il a un paquet d'engrenages digne d'un servo mais d'une taille bien plus imposante et un couple difficilement "stoppable" à la main. Tu me dira idem pour le servo de 30kg, sauf qu'en changeant le potar par un 10 tours, je pourrais avoir un "feedback" precis tout en faisant du 360° et plus avec peu de conso électrique car j'utilise un L298 (2 ampères).
En me relisant je suis pas sur d'être tres clair.?. :cold_sweat:
Prochaine étape, si ta correction fonctionne (je n'ai pas de doute la dessus): encodeur rotatif absolu grey code.
après sa je me re-pencherais sur l'asservissement PID via un encodeur optique en quadrature couplé à un moteur d'essuie glace et donc je devrais (et solliciterais surement de l'aide ici) créer un pont en H avec des transistors puissants , je pense a des MSOFET pour avoir quelque chose de l'ordre de 30A sous 12V environ. Bref, plein de projets en tete mais pas assez de temps pour tous réaliser.
Merci encore pour ton aide, je te tien au courant pour ce qui est du fonctionnement du code.