From 2d93697571401e842b9366522eaf69da9c2de731 Mon Sep 17 00:00:00 2001 From: Samuel Date: Thu, 8 Dec 2022 20:25:36 +0100 Subject: [PATCH] =?UTF-8?q?Ajout=20de=20la=20boucle=20d'asservissement=20e?= =?UTF-8?q?n=20position.=20Fonctionnel=20mais=20les=20gains=20ne=20sont=20?= =?UTF-8?q?pas=20optimis=C3=A9s.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Asser_Moteurs.c | 6 ++- Asser_Position.c | 41 ++++++++++++++++++++ Asser_Position.h | 1 + CMakeLists.txt | 1 + Commande_vitesse.c | 5 ++- test.c | 97 +++++++++++++++++++++++++++++++++++++++++++++- 6 files changed, 147 insertions(+), 4 deletions(-) create mode 100644 Asser_Position.c create mode 100644 Asser_Position.h diff --git a/Asser_Moteurs.c b/Asser_Moteurs.c index 5a1c5e1..3df6325 100644 --- a/Asser_Moteurs.c +++ b/Asser_Moteurs.c @@ -27,7 +27,9 @@ void AsserMoteur_Init(){ } } - +/// @brief Défini une consigne de vitesse pour le moteur indiqué. +/// @param moteur : Moteur à asservir +/// @param _consigne_mm_s : consigne de vitesse en mm/s void AsserMoteur_setConsigne_mm_s(enum t_moteur moteur, double _consigne_mm_s){ consigne_mm_s[moteur] = _consigne_mm_s; @@ -50,6 +52,8 @@ double AsserMoteur_getVitesse_mm_s(enum t_moteur moteur, int step_ms){ return distance / temps; } +/// @brief Fonction d'asservissement des moteurs, à appeler périodiquement +/// @param step_ms void AsserMoteur_Gestion(int step_ms){ // Pour chaque moteur for(uint moteur=MOTEUR_A; moteur