Ajuster la tension d’un module buck en pwm avec un arduino

Ajuster la tension d’un module buck en pwm avec un arduino

Pour un projet, j’ai eu besoin d’un module buck basé sur un LM2596 dans le but d’abaisser une tension en provenance d’une batterie/panneau solaire pour alimenter une pompe d’une fontaine décorative afin d’ajuster le débit à l’effet visuel voulu. Ça marchait très bien, mais pour ajuster la tension de sortie, il fallait actionner le potentiomètre multi-tours au tournevis.
J’aurais voulu pouvoir l’ajuster via une interface facilement entre 8 et 12V environ.

Lire la suite Lire la suite

EnOcean Partie 5: Envoie de données

EnOcean Partie 5: Envoie de données

Généralités

Lors de l’appairage, on a utilisé un module d’éclairage avec un EEP de D2-01-12 de la famille des « Electronic Switches and Dimmers with Local Control ». Dans la famille, ils se ressemblent tous un peu. Il y en a qui ont un seul canal, d’autres 2, voir 4 ou 8. Certain peuvent également faire gradateur, d’autres ont un timer. Il y en a qui peuvent mesurer la consommation de la charge connectée dessus, mais dans l’ensemble ils se pilotent de la même manière.

Lire la suite Lire la suite

EnOcean Partie 4: Appairage

EnOcean Partie 4: Appairage

Appairage simple

Maintenant que nous savons réceptionner des données, on va voir comment en envoyer. Pour un premier test, on va utiliser ce que j’ai dans mon plafonnier. Ce sont des boitiers DCL avec un contrôleur 2x5A portant un EEP D2-01-12.

Le premier truc à savoir, c’est qu’il faut que ce récepteur soit appairé avec l’émetteur. Il a besoin de connaitre la liste des émetteurs qui vont être autorisés à lui envoyer des ordres. Sinon, je pourrai allumer la lumière chez mon voisin…

Dans le cas de ce module, pour lancer un appairage il faut appuyer 3 fois sur le poussoir entouré en rouge. Si on désire le commander avec un interrupteur la méthode est assez simple : une fois le récepteur en mode appairage, il suffit d’appuyer sur le bouton de l’émetteur qui allumera la lumière. Le bouton opposé deviendra celui qui éteint la lumière. Le récepteur sort du mode appairage une fois qu’il a rencontré son nouvel émetteur. Il en sort automatiquement au bout de quelques secondes si rien ne s’est produit.

Cette action est à réaliser rapidement. En effet, en appartement, si un voisin allume sa lumière quand votre module est en mode appairage (pour peu qu’il soit à porté radio), désormais c’est son interrupteur qui pilotera votre module. En maison isolée, le risque est très limité.

Lire la suite Lire la suite

EnOcean Partie 3: Premier test de réception

EnOcean Partie 3: Premier test de réception

Déchiffrage d’un paquet

J’ai réalisé le premier test simplement en appuyant sur un de mes interrupteurs et en écoutant ce qui arrivait sur le port série.

On va décoder la trame reçue, où plutôt les trames, il y en a deux, une pour l’appuie sur l’interrupteur, une pour le relâchement :

55 00 07 07 01 7A F6 30 00 34 BB E4 30 00 FF FF FF FF 2D 00 75

55 00 07 07 01 7A F6 00 00 34 BB E4 20 00 FF FF FF FF 2D 00 C3

Lire la suite Lire la suite

EnOcean partie 2: Branchement du TCM310

EnOcean partie 2: Branchement du TCM310

Le TCM310

C’est le cœur de la passerelle. Le module fourni d’un côté l’interface radio EnOcean bidirectionnelle, et de l’autre côté une interface série bidirectionnelle également. Il existe le TCM310 tout court qui fonctionne sur la fréquence de 868.300MHz et le TCM310U qui lui fonctionne sur la fréquence 902.875MHz.

La tension d’alimentation doit être comprise entre 2.6 et 3.6V, donc 3.3V est l’idéal et facile à trouver. Il en est de même pour RX et TX, des niveaux logiques hauts à 3.3V conviendront très bien. Attention donc d’utiliser un décaleur de niveau 5V <> 3.3V si vous le branchez sur une arduino fonctionnant sous 5V, contrairement au très populaire nrf24, il n’est pas tolérant 5V sur les GPIO.

L’UART fonctionne à 58 823 bit/s, mais la documentation dit que ça fonctionne très bien à 57 600 bit/s ce qui est nettement plus courant. La configuration de l’UART est 8N1, c’est à dire 8 bits de données, pas de parité (None) et 1 bit de stop.

Lire la suite Lire la suite

EnOcean partie 1: Premiers pas avec EnOcean

EnOcean partie 1: Premiers pas avec EnOcean

Préambule

Il y a quelques temps,  j’ai emménagé dans un nouvel appartement dans lequel était déjà pré-installé des volets roulants électriques et des éclairages commandés par des interrupteurs radio sans fils et sans pile. C’est plutôt cool vu que ça permet de mettre l’interrupteur là où on le désire très facilement. Ça fonctionne pas mal à condition de ne pas appuyer trop mollement sur le bouton afin que le système piezzo puisse générer assez d’énergie pour envoyer la trame radio.

Il y avait également dans l’armoire électrique une genre de passerelle avec une antenne et connectée en ethernet pour pouvoir piloter tout ça à distance, ça avait l’air cool… enfin ça avait l’air.
Pour l’utiliser, il fallait utiliser une application qui s’appelle Flexom, lente, très lente, utilisable que via le net donc pas en direct sur le réseau local, avec obligation de créer un compte en fournissant quelques données personnelles au passage sans parler du fait d’avoir le fil à la patte avec une société qui peut faire faillite du jour au lendemain et de se retrouver avec une apli qui ne fonctionne plus… bref le truc trop nul. Il suffit d’ailleurs de voir les commentaires sur les app store Android ou Apple.

Je m’attendais à avoir une genre d’API REST où c’est open-bar (avec néanmoins une authentification, c’est pas la fête non plus), pour ensuite pouvoir faire des scénarios avec mes différents objets connectés maison à base de nrf24.

Lire la suite Lire la suite

Passerelle NRF24 / Ethernet

Passerelle NRF24 / Ethernet

Beaucoup des projets présentés sur ce blog utilisent un module nrf24l01+ pour la transmission des données sans fil… c’est bien, encore faut-il avoir quelque chose à l’autre bout pour les recevoir. Le but du billet d’aujourd’hui est de construire une passerelle faisant la liaison dans les deux sens entre un réseau Ethernet et des modules nrf24l01+. Le paquet transmis par un capteur pourra ainsi être envoyé vers une API hébergée sur un NAS ou sur un serveur internet via une box connectée au réseau. A l’inverse, une page web pourra appeler l’API de la passerelle pour envoyer un paquet à un capteur.

Principe de fonctionnement

Lire la suite Lire la suite

Capteur sans fil pour compteur de gaz Gazpar

Capteur sans fil pour compteur de gaz Gazpar

Gazpar est le nom du nouveau compteur de gaz communiquant déployé en France par GRDF depuis maintenant quelques années. Ils émettent deux fois par jour la consommation vers un concentrateur situé à quelques km maximum sur une fréquence de 169MHz, puis les données du quartier sont transférées chez GRDF via le réseau 2G/3G. En tant que particulier nous n’avons pas accès à ces données directement, on ne peut que récupérer sa conso et son historique via le site de GRDF.

Néanmoins, ce compteur dispose d’une sortie impulsion que nous allons utiliser pour récupérer et transmettre en temps réel la consommation.

Lire la suite Lire la suite

Escame Room : la bombe à désamorcer

Escame Room : la bombe à désamorcer

L’ultime étape de challenge est de désamorcer la bombe soigneusement enfermée dans une mallette. Elle contient les tubes d’explosifs (fictifs bien sûr!) ainsi que l’électronique censé déclencher l’explosion. Le cœur est un Arduino Nano avec un clavier pour entrer le code de désamorçage, un module de huit afficheurs 7 segments pour le compte à rebours, un module nrf24l01+ pour démarrer le décompte à distance et un piezzo pour les bip du décompte et de prise en compte des touches du clavier. Le tout est alimenté par une batterie LiPo 3S, car j’en avait une sous la main,  mais une pile de 9V ça marche aussi.

Lire la suite Lire la suite

Matrices de LED RGB [Partie 2]

Matrices de LED RGB [Partie 2]

Dans la partie 1, nous avons vu que pour remplir les registres à décalage, il y avait 6 broches de données (R1, G1, B1 et R2, G2, B2) synchronisée par une broche d’horloge… un peu comme un port SPI avec 6 MOSI. D’où l’idée d’utiliser le port SPI hardware de l’Arduino pour envoyer les données. Oui mais… il n’y a qu’un seul MOSI. Mais dans la matrice c’est un registre à décalage… et on peut  mettre plusieurs matrices de LED en série pour les chaîner. Et si on chaînait une matrice avec elle même ? Ça pourrait faire une seule broche de donnée + l’horloge… donc MOSI et SCK.

Bon, c’est pas très net cette histoire. Avec un schéma ça sera plus simple.
À gauche, le schéma simplifié de la partie 1. On envoie en 64 fois en série (pour les 64 LED de large)  R1, G1, B1 et R2, G2, B2 en parallèle.
À droite, le schéma de cette partie. On a chaîné les registres à décalage entre eux. On envoie cette fois 384 données en série sur le premier registre, quand il sera plein il commencera à pousser au suivant et ainsi de suite jusqu’à remplir le dernier registre bleu. Vu que tout est décalé à chaque coup d’horloge, on transmet le dernier pixel bleu B2 en premier pour finir par le premier rouge R1.

 

 

Lire la suite Lire la suite