Comparons nos lignes de paramètres :
Ton code : float kp=0.15, ki=0.7, kd=0.001, target=30, trgt_min=30, trgt_max=108, fb_min= 26, fb_max=12;
Mon code : float kp=0.15, ki=0.7, kd=0.001, target=15, trgt_min=12, trgt_max= 25, fb_min=104, fb_max=46;
- ton moteur ne doit pas démarrer tout seul, il y a un problème dans tes connections.
Ton bouton poussoir est peut-être mauvais. Déconnecte le, ton moteur ne devrait pas démarrer.
Attention, sur le contrôleur, le petit potentiomètre doit être complètement à gauche.
- ton target est égal à trgt_min. Je te suggère de mettre ton target à une valeur légèrement supérieure, par exemple 33 ou 35.
- tes valeurs en PWM vont de 30 à 108 soit un rapport d'environ 1 à 3. Tes valeurs en milli secondes vont de 26 à 12, soit un rapport de 3 à 1.
Chez moi, le rapport est environ égal à 2. Tout ceci semble cohérent.
- La seule différence que je vois, c'est que tes valeurs en milli secondes sont inférieures aux valeurs PWM. Je me demande si cela est cohérent.
- tes valeurs en milli secondes sont très petites, donc pas très éloignés de 0.
Dans la fonction intrupt() , tu peux essayer avec tic = micros(); à la place de tic = millis();
- tu n'as pas modifié tes valeurs kp, ki et kd. Il serait surprenant que ton moteur ait les mêmes constantes que les miennes !
Oui, je pense qu'il serait intéressant de tester avec un autre moteur pour faire une comparaison.