====== Contrôle du moteur ====== ===== Principes de base ===== L'inconvénient, mais surtout l'avantage, d'un quadri est qu'il faut, à tout moment, assurer sa stabilité. Si on appelle Ax l'angle du quadri par rapport à l'axe des x et Ay par rapport à y, le quadri est stable quand : **Ax = 0, Ay = 0** Donc assurer la stabilité du quadri revient à modifier la puissance des moteurs de manière à ce que Ax = 0 et Ay = 0. On appelle, Pag, Pad, Prg et Prd, la puissance des moteurs, respectivement, Avant Gauche, Avant Droit, aRrière Gauche et aRrière Droit. Au miment de commander le PWM, elles seront exprimées en ns dans l'intervalle [1100, 1900]. On pourra remarquer une propriété importante de ces puissances (tant que le quadri n'est pas trop incliné), c'est que la puissance appliquée au centre d'inertie Pi est : **Pi = Pag + Pad + Prg + Prd** En bref, si on veut préserver une puissance de montée Pi et quels que soient les angles Ax et Ay, il faut préserver une somme des moteurs égale à Pi. Donc, pour réaliser la stabilisation de l'appareil, il faudra modifier les puissances Pag, Pad, Prg et Prd tout en préservant leur somme Pi. Ensuite, on peut appliquer les règles intuitives suivantes : * si le quadri penche vers l'avant, il faut augmenter la puissance de Pag et Pad, * s'il penche vers l'arrière, il faut augmenter la puissance de Prg et Prd, * vers la gauche, il faut augmenter la puissance de Pag et Prg, * vers la droite, il faut augmenter la puissance de Pad et Prd. On notera que chaque moteur intervient dans la stabilité selon Ax et selon Ay. ===== Ma méthode ===== Voici une proposition de méthode (que je n'ai pas testé) mais qui résiste aux principes édictés ci dessus. Cela consiste à dire que la puissance de chaque moteur Pj est influencée à part égale et proportionnelle par les angles Ax et Ay. On détermine ensuite deux constantes : * Kp -- modification maximale de la puissance, * Ka -- angle maximal toléré. Si Ax = Ka ou Ay = Ka, alors la puissance seront augmentée de +Kp ou -Kp selon le moteur choisi. On appelle ce signe Sjx et Sjy, il dépend du moteur j et de l'axe concernée. Enfin, ma formule doit donner 0 quand Ax = 0 et Ay = 0. Je propose donc la formule suivante d'accélération pour le moteur Pj : **Pj = Pj0 + Sjx Kp Ax / 2 Ka + Sjy Kp Ay / 2 Ka** On pourra prendre les constantes suivantes : * Kp = 500, * Ka = 45° (considéré comme l'angle maximum tolérable), * Sjx, Sjy (valant +1 ou -1) est à déterminer selon le montage du quadri. **NOTE** Le calcul de Pj est un bon candidat pour l'application du PID. Soit on peut l'appliquer sur l'ensemble, soit on l'applique sur chaque accélération, Ax et Ay, séparément. **ATTENTION** Il faudra certainement arbitrer à certains moments entre la puissance désirée Pi et la stabilisation qui qui peuvent amener à des puissances en dehors des intervalles admis, [1100, 1900] ns. La stabilisation devrait être prioritaire.