La fonction getMean() permet de renvoyer la valeur moyenne actuelle du signal PWM. Elle prend en entrée la tension PWM actuelle, le tableau des anciennes valeurs moyennes, puis elle revoie la valeur moyenne récente. Elle contient l’indice d’incrémentation des éléments du tableau au format static : Pour chaque appel, l’indice s’incrémente d’un pas égal à 1. Ci-dessous la définition de la fonction.
float getMean(float *tabMoy, int Nm, float vin0) { // Variables locales static int J=0; float somme_1=0.0; float VMFiltre=0.0;
// Filtrage: Calcul de la Moyenne Glissante for (int i=0; i<Nm; i++) somme_1+=tabMoy[i]; VMFiltre=(somme_1/(float)Nm);
// Mise à jour du tableau des VM valMoy[J]=(vin0+VMFiltre)/2.0; J++; J%=Nm;
// Retour de la VM return VMFiltre; }
La fonction Satur()
La fonction Satur() permet de garantir le non-débordement de la commande. Elle assure que la valeur de la commande soit comprise entre [-Vmax, Vmax]. Elle est basée sur la fonction mathématique tangente hyperbolique modifiée tanh() (voir le tutoriel pour plus de détails). La fonction sert à générer une commande « soft » et convergente grâce aux propriétés limites de la tanh() . Elle joue également le rôle de stabilisation de la commande en cas d’une mauvaise manœuvre des paramètres du correcteur ou du système. La fonction Satur() prend en entrée la commande, la valeur maximale Vmax, puis elle retourne la commande écrêtée. Ci-dessous la définition de la fonction.
Cours très intéressant mais manque la partie schématique (câblage d’une carte Arduino) pour reproduire l’exercice.
Un exemple pratique comme la décharge d’une pile à courant constant serait plus explicite pour un non électronicien.
Cordialement
Nous utilisons des technologies telles que les cookies pour stocker et/ou accéder aux informations relatives aux appareils. Nous le faisons pour améliorer l’expérience de navigation et pour afficher des publicités (non-)personnalisées. Consentir à ces technologies nous autorisera à traiter des données telles que le comportement de navigation ou les ID uniques sur ce site. Le fait de ne pas consentir ou de retirer son consentement peut avoir un effet négatif sur certaines fonctonnalités et caractéristiques.
Fonctionnel
Toujours activé
Le stockage ou l’accès technique est strictement nécessaire dans la finalité d’intérêt légitime de permettre l’utilisation d’un service spécifique explicitement demandé par l’abonné ou l’utilisateur, ou dans le seul but d’effectuer la transmission d’une communication sur un réseau de communications électroniques.
Préférences
L’accès ou le stockage technique est nécessaire dans la finalité d’intérêt légitime de stocker des préférences qui ne sont pas demandées par l’abonné ou l’internaute.
Statistiques
Le stockage ou l’accès technique qui est utilisé exclusivement à des fins statistiques.Le stockage ou l’accès technique qui est utilisé exclusivement dans des finalités statistiques anonymes. En l’absence d’une assignation à comparaître, d’une conformité volontaire de la part de votre fournisseur d’accès à internet ou d’enregistrements supplémentaires provenant d’une tierce partie, les informations stockées ou extraites à cette seule fin ne peuvent généralement pas être utilisées pour vous identifier.
Marketing
Le stockage ou l’accès technique est nécessaire pour créer des profils d’utilisateurs afin d’envoyer des publicités, ou pour suivre l’utilisateur sur un site web ou sur plusieurs sites web ayant des finalités marketing similaires.
Cours très intéressant mais manque la partie schématique (câblage d’une carte Arduino) pour reproduire l’exercice.
Un exemple pratique comme la décharge d’une pile à courant constant serait plus explicite pour un non électronicien.
Cordialement
Merci, c’est une idée intéressante!