Nous avons abordé dans la V1 le concept et comment implémenter une commande incrémentale avec Arduino. Le point fort d’une commande incrémentale est sa convergence assurée vers la consigne Quelle que soit la charge avec une erreur statique nulle. C’est une commande générique contrairement aux stratégies d’asservissement traditionnelles par correcteurs (P, PI, PID, etc.). En revanche, le temps de réponse est un peu long. La version actuelle permet d’améliorer la stabilité de la commande (réduction des ondulations autour de la consigne) et réduire le temps de réponse. Les améliorations, on était apportés en particulier au filtre moyenneur. L’idée consiste à garder en mémoire les valeurs moyennes calculées (les moyennes précédentes). La valeur filtrée actuelle sera donc la somme des valeurs moyennes précédentes et la valeur actuelle du port A0. Le reste du programme reste le même comme celui de la V1.
// 1. Lecture de l'entrée A0 vin_volat=(float)analogRead(A0)*5.0/1023.0;
// 2. Filtrage: Calcul de la Moyenne Glissante for (int i=0; i<NMoy; i++) somme+=valMoy[i]; v_fil=(somme/(float)NMoy); somme=0.0;
// 3. Mise à jour du tableau des VM valMoy[I]=(v_fil+vin_volat)/2.0; I++; I%=NMoy;
/*4. Mise à jour de la commande */ // 4.1: Consigne Atteinte if (((v_fil>=Consigne -1.5*Epsilon) && (v_fil<=Consigne +1.5*Epsilon))) { return; // Ne rien faire! }
// 4.2: Incrémentation if ((v_fil<Consigne)) { OutPWM+=StepCyc; if (OutPWM>=255.0) OutPWM-=StepCyc; }
// 4.3: Décrémentation if ( (v_fil>Consigne)) { OutPWM-=StepCyc; if (OutPWM<=0.0) OutPWM+=StepCyc; }
//5. Génération de la commande PWM analogWrite(Out, (unsigned int)OutPWM); v_fil_old= v_fil;
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.