Climatisation auto avec Arduino

Pour poursuivre dans l’idée de l’antivol avec Arduino, on ajoute le pilotage de la climatisation pour constituer une « centrale électronique Arduino » digne d’une Aston-Martin 😉

Fonctionnement d’une climatisation ?

Je ne vais pas vous parler longuement de climatisation, mais juste ce qui est nécessaire pour comprendre le rôle du boitîer électronique basé sur l’Arduino. Une très bonne explication en video (6’30) pour fixer les esprits.

Dans mon « Aston-Martin », le système de commande de la climatisation est classique voire rudimentaire peut-on dire. Il se compose de deux éléments :

  • Thermostat rotatif. Il pilote le compresseur via le bulbe dans le module de climatisation. Sur les photos, vous voyez à gauche le tube capillaire et le thermostat.
  • Contacteur rotatif. C’est le bouton de commande du ventilateur (pulseur). Trois vitesses de rotation et une position d’arrêt (OFF). Sur les photos c’est la partie droite.

Pour ceux qui veulent parfaire leurs connaissances, voici quelques informations supplémentaires sur le fonctionnement des thermostats, un mode d’emploi (thermostat de même type que celui dans la voiture), comparaison de diverses techniques et pour finir la technique des thermostats.

Pour nous, la climatisation sera une grosse boîte noire. La communication entre notre électronique Arduino et cette boite « climatisation » se réduira à trois éléments :

  1. La vitesse de rotation du ventilateur (le « pulseur » dans la vidéo), soit le débit d’air froid.
  2. La température à l’intérieur du boîtier de l’habitacle (module de climatisation dans la vidéo), soit, par déduction, la température de l’air de l’habitacle.
  3. L’enclenchement et le déclenchement de la climatisation (électroaimant du compresseur, voir en fin d’article pour plus de renseignements)
Climatisation Arduino, schéma de principe

Interface de réglage

Comme vous pouvez le voir, on ne change pas le clavier initial (celui pour l’antivol), une simple réaffectation de quelques touches suffit.

La partie au fond gris foncé pour la gestion du mot de passe et la colonne de droite pour la gestion de la température et du débit d’air frais. Cette zone du clavier sera opérationnelle qu’une fois le mot de passe validé.

Climatisation Arduino, disposition du clavier

Sonde de température

Pour mesurer la température, plusieurs types de sonde sont possibles. Pour résumé la situation voici un petit aperçu, sinon vous avez un article plus complet :

Résumé des sondes de température

Dans les anciens véhicules (pour les plus récents je ne sais pas), on utilise une sonde couplée à un « thermostat », qui coupe/enclenche le système de climatisation. Donc c’est en quelque sorte une sonde avec un relais de pilotage de la climatisation. Notre boîtier électronique fera de même, une sonde et un « ordre » (0V ou 12V) sur un fil qui est connecté directement à l’électro-aimant du compresseur.

NTC 3950

Une NTC 3950 100KΩ, pourquoi le choix de cette sonde ? C’est simple j’en avais 5 ou 6 sous la main, donc malgré que ce ne soit probablement pas le meilleur choix, on fera avec. 🙂

Le branchement de la sonde à l’Arduino est simple, voir le schéma. Pour la conversion de la tension 0-5V récupérée aux bornes de l’Arduino en une température, il y a plusieurs possibilités. Vous pouvez par exemple suivre la voie de Steinhart-Hart ou un étalonnage perso.

Climatisation Arduino, branchement sonde NTC

Pour définir la température en bout de la sonde, on (je) procède comme suit :

  • Mesure de la tension à la borne de l’entrée analogique de l’Arduino. En fait on effectue une série de mesure et c’est une valeur moyenne qui est prise en compte.
  • Transformation mathématique de la tension en résistance. (voir en fin d’article)
  • Une table permet de passer de la résistance a une température.

Affichage des informations

Au début, pour la seule partie de l’antivol, deux ou trois leds suffisaient. Maintenant il est nécessaire d’informer sur le résultat du mot de passe, la température souhaitée, la vitesse du ventilateur, la solution avec des leds ne semble plus très optimale.

On trouve facilement sur le net un petit écran Oled 128×64 piloté via I2C. Facile à intégrer dans la face avant et l’Arduino pourra facilement l’interfacer pour les données de la climatisation.
Du coup avec un écran, je me suis dit : « pourquoi pas une horloge ? ». Sitôt pensé, sitôt intégré. Vous pouvez vous référer à l’article du « pense-bête électronique » qui vous fournira tous les informations concernant la carte horloge tiny RTC aussi via I2C

écran Oled de face avant

Schéma électrique

Voilà à quoi s’apparente, l’installation pour concevoir et tester le circuit :

Climatisation Arduino, montage pour test

Il manque une deuxième sonde NTC3950 et les sorties pour la commande des relais. En fait, la livraison des nouveaux optocoupleurs se fait désirer, car j’en avais seulement pour du 5V en sortie.

Voici à quoi ressemble le schéma électrique de la partie 12V auto. Un relais temporisé permettant le maintien momentané sous tension du boîtier électronique après le retrait de la clé de contact a été ajouter pour palier la problématique du calage moteur en circulation, voir point 2 du principe de l’antivol. Les diodes de roue libre normalement présentent sur chaque relais, elles, ne sont pas dessinées.

Climatisation Arduino, schéma électrique 12v hors boîtier.

Ci-après le circuit complet avec la partie 12V et 5V.

  • Le circuit au format pdf Schéma pdf
  • Le circuit au format svg Schéma svg

Bus I2C

Pour la dernière version du schéma, un malheureux oubli a été corrigé. Les deux résistances R6 et R7 pour le bus I2C. Le choix entre 10KΩ et 1KΩ dépend un peu de votre humeur :-). Pour rappel, sur bus I2C, ce sont les modules qui tirent la ligne vers le 0V. Une résistance élevée, moins de courant, ligne facilement mise à 0V, donc sensible aux parasites. Au contraire, une résistance faible, plus de courant, 0V plus long à obtenir, ligne plus lente mais moins sensible aux parasites. « Généralement », on utilise 4.7 KΩ, le « standard » étant autour de 2.7KΩ. On peut considérer ces résistances comme des résistances pull-up.

Conclusion

Le fonctionnement du logiciel sera exposé ultérieurement, car cet article est déjà bien consistant. La prochaine partie couvrira, outre la description du programme, la présentation du prémontage (pour les tests) dans le véhicule. L’installation finale devra attendre un peu, une nouvelle peinture complète de mon Aston-Martin est pour l’instant uniquement envisagée, il n’y a pas encore de date.

Donc rendez-vous prochainement pour la partie concrète de ce projet.

Informations supplémentaires

Calcul de la résistance de la sonde NTC3950

Comme l’entrée analogique de l’Arduino ne consomme pratiquement pas de puissance (pas de courant), on considère que le courant ne circule que dans la branche verticale du circuit.

De cette résistance, via le fichier « temperatureNTC3950.h », qui est une copie partielle de la table du fichier de Reprap.

Sonde NTC, principe calcul résistance

Le compresseur

Voici une vidéo (7’38) du démontage d’un compresseur , c’est en anglais mais on comprend parfaitement de quoi il retourne.