Exemples d'asservissements en température réalisés avec un module d'acquisition TECHNETEA de type USB
La même installation que précédemment est utilisée pour illustrer quelques rapides exemples d'asservissement en température avec une consigne de 40°C.
L'asservissement de température est réalisé en temps réel par un ordinateur type PC auquel est connecté le module d'acquisition. L'écriture de la fonction de régulation en JavaScript dans une page HTML, permet d'évaluer très rapidement différentes méthodes, et ne nécessite pas de compilateur.
Dans les trois exemples qui suivent, la fonction de régulation est appelée 4 fois par seconde.
//********************************************************************************************************************** //**** Régulation de température //********************************************************************************************************************** /* Régulation de la température T1, par un procédé un peu simpliste mais qui est parfois suffisant */ var _CONSIGNE = 40; function RegulationTemperature() { var module = document.getElementById("TPR1H3RE").m_oEquipment; // lien sur le module USB identifié TPR1H3RE var T1 = module.Value[1]; // récupère la température T1 sur l'entrée 1 du module if( T1 < _CONSIGNE ) // si T1 est sous la consigne ... module.SetDataChannel(4, 1); // mise en chauffe else module.SetDataChannel(4, 0); // sinon arrête le chauffage }
//********************************************************************************************************************** //**** Régulation de température //********************************************************************************************************************** /* Régulation de la température T2, par le même procédé. */ var _CONSIGNE = 40; function RegulationTemperature() { var module = document.getElementById("TPR1H3RE").m_oEquipment; // lien sur le module USB identifié TPR1H3RE var T2 = module.Value[2]; // récupère la température T2 sur l'entrée 2 du module if( T2 < _CONSIGNE ) // si T2 est sous la consigne ... module.SetDataChannel(4, 1); // mise en chauffe else module.SetDataChannel(4, 0); // sinon arrête le chauffage }
//********************************************************************************************************************** //**** Régulation de température //********************************************************************************************************************** /* Régulation de la température T2, plus efficace. La fonction est appelée toutes les 250ms. */ var TimeCounter=0, DeltaTemp = 0, LastValue = 0; var _CONSIGNE = 40; function RegulationTemperature() { var module = document.getElementById("TPR1H3RE").m_oEquipment; // lien sur le module USB identifié TPR1H3RE var T2 = module.Value[2]; // récupère la température T2 sur l'entrée 2 du module if(++TimeCounter >= 12) // calcule la variation de T2 toutes les 3 secondes { DeltaTemp = T2 - LastValue; // mémorisation de la variation de la température T2 LastValue = T2; // mémorise la température T2 pour le prochain calcul TimeCounter = 0; // remise à 0 du timer } if( (T2 + 1*DeltaTemp) < _CONSIGNE ) // si T2 + ALPHA* DeltaT2 est sous la consigne ... module.SetDataChannel(4, 1); // mise en chauffe else module.SetDataChannel(4, 0); // sinon arrête le chauffage }