Affichage des articles dont le libellé est D-Thermostat. Afficher tous les articles
Affichage des articles dont le libellé est D-Thermostat. Afficher tous les articles

dimanche 5 juillet 2015

ATmega168pb : la réalisation.

Après avoir publié quelques articles sur le processeur ATmega168pb de chez Atmel, et notamment le début de projet de création d'un thermostat un peu particulier, voici enfin le 'vrai' début de la réalisation concrète de l'appareil :

Le coté utilisateur.

L'envers du décor.
Voici donc le prototype du thermostat en cours d'étude. Sur la 'face avant', l'affichage trône en bonne place alors que l'on retrouve sur l'autre face, l'ensemble des composants précédemment testés, a savoir le processeur, le modem, le capteur de température et d'hygrométrie plus un superbe module de détection de CO2 de marque Senseair.

Pour élaborer cette carte, ainsi que toutes celles que je présente dans ce blog, j'utilise le logiciel gratuit et très facile d'accès : Kicad. Logiciel qui devrait être téléchargeable a cette adresse : www.kicad-pcb.org.

Je n'ai pas testé ce logiciel sur le PC équipé d'un Pentium III a 800Mhz et Windows 2000 que j'ai récupéré récemment, mais quelque chose me dit que cela devrait fonctionner étant donné que Kicad utilise des ressources de programmation libres. Un test que je me dois d'effectuer.

Un gros travail de programmation reste maintenant a effectuer sur cet appareil, en supposant qu'aucune erreur n'ait été commise lors du processus de développement et d'assemblage de la carte!

Pour une fois, je peux dire que la période des vacances tombe mal! Les projets en cours risquent de marquer un temps d'arrêt durant cette période, propice néanmoins au repos et a la réflexion...


lundi 18 mai 2015

ATmega168pb, après la decouverte, une réalisation.

Il y a deux mois de cela, je présentais le début du développement d'un thermostat d'ambiance basé sur un processeur Atmel ATmega168pb. Développement entamé à la suite de la découverte du kit de 'développement' à bas prix d'Atmel, le kit ATmega168 XPLAINED.

Ce kit de développement, ou plus exactement de 'découverte', m'a permis de tester toutes les parties logicielles et matérielles nécessaires a mon application, a savoir un thermostat. Dans la 'vraie vie', je n'utiliserai pas ce processeur mais la version juste au dessus, l'ATmega328 qui propose exactement la même architecture mais avec une mémoire flash de 32Koctets et non pas 16Koctets. Les routines de gestion de l'affichage graphique, et notamment la définition graphique des caractères, consomment énormément de mémoire. Il risquait de ne pas m'en rester suffisamment dans le mega168 pour me permettre l’écriture complète de l'application.

J'ai décidé de ne pas utiliser d'afficheur tactile, mais à la place de vrais boutons, assez volumineux et faciles a manipuler, ainsi qu'un codeur rotatif pour une entrée plus facile des paramètres de l'appareil.
D'autre part le thermostat sera en mesure d'afficher la température, évidemment, mais aussi le taux d’humidité relative ainsi que le taux de CO2 si nécessaire. 

En outre, ce thermostat ne sera pas le seul appareil constituant la solution de contrôle de température, mais en constituera plus vraisemblablement le 'terminal' de saisie et de gestion du processus. Ce thermostat étant destiné a remplacer le vieil appareil qui gère la température de confort de  mon appartement, il devra envoyer l'information de mise en fonctionnement de la chaudière par l’intermédiaire du câble de commutation pré-existant. En d'autres termes, remplacer le système déjà présent sans exiger de modification de câblage au préalable.

J'ai donc effectué mon étude en utilisant le logiciel de conception Kicad. Excellent logiciel que j'utilise depuis des années. Et voici les deux faces du circuit imprimé dont je viens de commander la réalisation :


Circuit imprimé qui ne présente aucune difficulté.

Présenté comme cela, ça ne 'veut pas forcément dire grand chose'. Je vous l'accorde. Reste à attendre le circuit imprimé et à en constater la qualité de fabrication, ainsi que les éventuelles erreurs de conception. Le processus de réalisation d'un montage électronique en passe par là, mais il s'agit d'une étape que je trouve très agréable puisque, même si tout ne fonctionne pas au premier essai, c'est a partir de ce moment que l’idée originelle commence réellement à prendre vie!   

A suivre...

jeudi 19 mars 2015

ATmega168pb, après la découverte...

Il y a un peu plus de deux mois de cela, j'écrivais un billet sur la découverte du kit Atmel ATmega168 X PLAINED. Malgré quelques activités prenantes ces derniers temps, je me suis attelé à tenter le développement d'une application réelle, basée sur ce type de processeur.

La thématique de l'habitation, de son confort et de son contrôle étant un sujet qui m'intéresse, j'ai décidé de me construire un petit thermostat d'ambiance un peu plus 'sympa' que ce que l'on trouve habituellement, et plus utile dans la vie de tous les jours que certains dont le but final peut s'avérer être assez 'éloigné' de l'objectif initial.

Parce qu'il est vrai qu'il est assez facile de se moquer ou de dénoncer certaines approches, pour garder un minimum de légitimité ne serait-ce que vis à vis de soi-même, il faut être en mesure de proposer autre chose (ou du moins tenter de le faire) et de connaître à minima le sujet.
Connaissant l'électronique depuis un 'certain' temps, j'ai donc complété mes connaissances par une formation diplômante (comme on dit, et publicité gratuite pour moi au passage) en 'gestion technique des bâtiments'. Ce qui me permet de prendre le sujet, disons, avec une approche différente...

... et de proposer autre choses :

Encore dans tes bouts de fils, comme aurait dit ma mère!
Le principe est simple : une base à processeur AVR168, un afficheur graphique couleur fonctionnant avec le bus SPI, un circuit de température et d'hygrométrie sur bus I2C et un modem connecté au port série du processeur, permettant l'envoi d'informations vers un PC par exemple.

Pour l'instant, les tests des circuits principaux ont été effectués. Je n'apprécie pas vraiment le bus I2C parce qu'il est assez compliqué à gérer, mais avec l'aide d'un oscilloscope à décodage de trame intégré, la tâche devient quand même moins longue. Et le plus 'étonnant' à mon goût pour la fin, l'envoi des informations vers le PC au travers de la bobine de fil de câblage, qui fonctionne très bien avec l'aide des Modems utilisés :

 



En guise d'informations, pour l'instant je me contente d'envoyer la chaine de caractères ci-dessus dans une boucle sans fin. Mais bon, le principe est validé.

Globalement, il 'ne reste' plus qu'à créer une carte comprenant l'ensemble des composants, éventuellement un boitier un peu plus sympa que ce que l'on peut trouver par ailleurs, à programmer le tout et une des parties de mon thermostat sera réalisée.

Pour effectuer cette étude, j'ai utilisé exclusivement l'environnement de développement Atmel Studio en version 6. Je n'ai rencontré aucune difficulté avec ce logiciel.
Tous les tests sont réalisés avec le petit kit de développement d'Atmel acquis pour une somme ridicule.
Ce kit fonctionne non pas à 16MHz mais à 8MHz parce que j'ai choisi d'alimenter le processeur en 3,3V et non pas en 5V du fait de l'interfaçage avec l'écran LCD qui doit être effectué en 3,3V.
Nous sommes sur du 8 bits facile à programmer et à déboguer. 

Il reste encore à effectuer quelques tests, notamment l'implémentation de boutons et autres codeurs, et la phase de développement d'une base matérielle pourra commencer!

Pour découvrir de façon plus approfondie la programmation embarquée, ce type de kit est très intéressant et bien plus formateur que le système Arduino, même si je n'ai pas de critique à formuler envers l'éco-système Arduino, si ce n'est peut-être le schisme auquel les créateurs de ce système sont aujourd'hui confrontés.