lundi 30 novembre 2015

Fabriquer une poulie en bois

Aujourd'hui, pas de domotique ni même de "doigt robotisé", mais du bois.

Quand on a pas beaucoup de place et un peu de hauteur sous plafond, l'idée de stocker des choses en hauteur vient vite. Ces choses peuvent être lourdes et il faut les monter et les descendre. Le marin pense alors tout de suite à un palan. Mais qui dit palan dit poulie et qui dit poulie a vite mal au portefeuille ! Donc nous allons en fabriquer nous-même !

Vocabulaire

Pour commencer, quelques mots pour bien nommer ce dont on parle :
  • bout : nom d'un cordage sur un navire. Un marin ne parle pas de ficelle, corde ou cordage, mais de bout.
  • réa : partie mobile d'une poulie sur laquelle coulisse le bout
  • cul et tête : parties fixes de la poulie situées au-dessous/dessus du réa
  • estrope : bout fixe qui permet d'accrocher la poulie

Dimensions

On trouve assez facilement nombre de dimensions pour des poulies bois. Voici celles que j'utilise :

valeur exemple (mm)
diamètre bout d 8
épaisseur réa 6/5 d 9.6
diamètre réa 6d 48
profondeur gorge réa 1/2 d 4
diamètre axe réa d 8
longueur mortaise 6d +5mm 53
largeur mortaise 6/5 d +3mm 12.6
largeur cul/tête 3/2 d 12
largeur joues 6d + 3/2 d 60
épaisseur joues 3/2 d 12

Avec le petit dessin associé pour être bien clair :

Plan de poulie
Plan de poulie

Réalisation

Quelques outils de base (scies, limes et râpe, perceuse, ...) et un peu de bois de récupération sont suffisants.


Les outils nécessaires
Les outils nécessaires
Le bois nécessaire
Le materiel nécessaire

Le Réa

On le découpe à la scie cloche dans une planche de contreplaqué. Tant qu'à y être, faites en plusieurs, il n'est pas rare d'en casser dans les étapes suivantes.

Découpe des réas
Découpe des réas
Puis, il faut façonner la gorge. Si vous avez un tour, allez-y. Sinon, on le bloque avec boulon et rondelles et hop dans la perceuse. Idéalement une à colonne, sinon on fixe une perceuse avec un serre-joint ou un étau.

Serré avec un boulon
Serré avec un boulon

Il est temps de sortir les râpes rondes, limes et autres queues de rat. N’oubliez pas le masque ou vous allez manger de la poussière !
Le tour du pauvre
Le tour du pauvre


Et voila !
Quelle belle gorge !
Quelle belle gorge !

Le Corps

Pour celui-ci on part d'un morceau de bois brut. D’expérience il est préférable que le fil soit dans le sens de la hauteur de la poulie. Sinon, ça casse !
On trace la mortaise
Avec un trusquin
Avec un trusquin
Repassé au crayon
Repassé au crayon

Puis on la creuse. Je dégrossi à la perceuse et termine au ciseau.

D'abord la perceuse
D'abord la perceuse

Puis le ciseau
Puis le ciseau


Pour finir, on perce les trous pour l'axe. Le diamètre doit être exact pour que celui-ci entre en force et ne se fasse pas la malle après. Il ne reste plus qu'à donner la forme voulue (scie, râpe, lime, ponceuse ...)
C'est presque une poulie
C'est presque une poulie

L'axe

Pour cette touche (presque) finale, j'utilise du rond d'acier tout simple. Évidement en milieu marin, on prendrait de l'inox. On coupe et on rentre au marteau. ne pas oublier d’intercaler le réa ;) (ne rigolez pas, ça arrive)
La, c'est une poulie !
La, c'est une poulie !

Et on finira (enfin) avec la queue de rat en creusant une gorge pour l'estrope.


Petite Bibliographie

dimanche 22 novembre 2015

Contrôler le chauffage par fil pilote (épisode 2)

Previously in Fil Pilote épisode 1:

Un passage à l’échelle étant nécessaire pour commander tous les radiateurs de la maison, Jean-Robert (pseudonyme) décide de faire fi de l’existant. Armé seulement de son Kicad et de sa carte bleue, il dessine une carte modulable de contrôle du fil pilote. Nous l'avions laissé alors qu'il guettait fébrilement le passage de l'homme à la voiture jaune ...


Les cartes sont enfin arrivées de chez seeedstudio et un peu de temps s'est rendu disponible.
Featuring Marty & Doc
Je me suis donc jeté sur mon fer à souder et mon étain pas du tout ROHS. La bonne nouvelle est la : je ne me suis pas gouré :)
Je peux donc envoyer vers les fils pilotes l'alternance positive et/ou négative d'une sinusoïde à 50Hz à volonté.
Preuves à l'appui :
Mode Hors-Gel
Alternance négative
Mode Arrêt

À gauche, les fils de signal (mauve/marron) pour choisir la/les alternances à laisser passer. À droite en haut (vert), la phase. À droite en bas (blanc) le fil pilote.

Une fois ce 1er test concluant, j'ai donc soudé complètement 2 cartes ce qui va me permettre de commander les 5 ou 6 fils pilotes de la maison.
Une carte complète

Quelques temps plus tard un code pour l'Arduino qui va me permettre de commander tous ces signaux était lui aussi né. Très simple, il se contente de recevoir le mode de chauffage sur le port série et d'en déduire les signaux de commande pour les optocoupleurs.
Vous pouvez le voir sur GitHub ainsi que son script shell compagnon.
À noter qu'il permet aussi de commander des prises Chacon dont nous reparlerons sans doute sous peu.

Voila pour ce court épisode. Dans le prochain, j'aurai reçut les entretoises en nylon que j'attends  et nous pourrons enfin installer tout cela dans la GTL.

En attendant, vous pouvez retrouver plus de photos et tous les liens la : Contrôle du chauffage par Fil Pilote

vendredi 25 septembre 2015

Contrôler le chauffage par fil pilote (1er épisode)

Note: le 2ème épisode est aussi disponible.

Si vous avez déjà regardé le branchement d'un chauffage électrique, vous avez sûrement remarqué la présence d'un 4ème fil (ou 3ème) généralement noir en plus de la phase/neutre/terre.
Présent sur la plupart des chauffages modernes, c'est le fil pilote. Celui-ci permet de contrôler le radiateur à distance.
On peut ainsi commander un ou plusieurs radiateurs de la maison. Allumer/éteindre, passer en mode confort, en mode hors gel ...

Bien entendu, on trouve nombre de produits du commerce permettant de gérer les fil pilotes. Et bien entendu aussi, nous n'allons pas les utiliser. À la place on va faire ça nous même :)
Nous pouvons même facilement trouver des arguments pour justifier ce choix :
  • le prix
  • la versatilité (je veux pouvoir les utiliser à partir de mon soft de gestion domotique)
  • le fun :)

Le protocole

(si l'on peut parler de protocole à ce niveau)
Le principe est simple, on envoi sur ce fil pilote du 230V alternatif. Selon la forme du signal envoyé, le radiateur déclenchera telle ou telle fonction.
On voit sur cette image (glanée sur le net) que les commandes confort, éco, hors gel et arrêt sont très facile à générer puisqu'il suffit de "couper" la sinusoïde de la phase. Les confort -x°C sont bien plus compliquées. Nous les ignoreront donc ! (en plus ça sert à rien)

Attention :  comme vous l'avez remarqué, nous allons travailler avec du 230V. Ce peut être très dangereux (dangereux dans le genre mortel). Donc si vous n'êtes pas sur de vous, ne faites rien.

En tout état de cause, au minimum ces conditions doivent être remplies :
  • on ne touche rien quand c'est sous tension
  • la carte de contrôle branchée à la phase doit être dans un boîtier fermé
  • on ne doit pas pouvoir l'atteindre quand elle est branchée (attention aux trous)
  • si le boîtier est conducteur, il doit être mis à la terre
  • le fil pilote doit être protégé par un disjoncteur (voir par exemple ce post de forum) avec signalétique appropriée le cas échéant
  • etc...
Bref, les normes électriques DOIVENT être respectées à la lettre.

Le bloc de base

Donc nous cherchons à générer 4 signaux à partir de la phase :
  • une sinusoïde complète (Éco)
  • rien (Confort)
  • les alternances positives uniquement (Arrêt)
  • les alternances négatives uniquement (Hors Gel)
Le schéma pour cela est très simple (on le trouve un peu partout sur le web)

Le principe est très simple, on fait passer la phase à travers 2 diodes tête-bêches. Chacune va laisser passer le positif ou le négatif. Il suffit donc de choisir avec nos optocoupleurs quel(s) côté(s) on laisse passer.

Version 1

Ma 1ère réalisation date maintenant de quelques années et est toujours en fonctionnement. Elle ne me permet de contrôler qu'un seul fil pilote.

Les optocoupleurs sont commandés par un ATtiny45 connecté en USB vers le contrôleur (en l’occurrence un raspberrypi). La partie usb est gérée par la magnifique bibliothèque v-usb.
Le schéma implémente simplement la partie analogique vu ci-dessus d'un côté. De l'autre, la partie usb vient directement des exemples de v-usb.

https://github.com/jerome-labidurie/avr/blob/master/fpusb/hardware/usb.pdf

Sur le pi, un petit programme en C et basé sur la libusb envoi les commandes vers l'ATtiny.

L'ensemble est réalisé sur une plaque à trous.



L'ensemble du code source (hardware, firmware attiny et appli) est disponible sur github

Pour la petite histoire, je peux ainsi allumer mon sèche serviette le matin pendant les heures creuses et avoir une serviette chaude au sortir de la douche.

Version 2

Maintenant, je souhaiterai contrôler plus d'un seul radiateur. L'option que j'avais choisi à l'origine était d'augmenter la taille du µcontrôleur de ma version 1 pour pouvoir contrôler plus d'optocoupleurs.

Mais ayant déjà dans mon "système domotique" un arduino qui s'ennuie, je me suis dis que je pourrais le réutiliser. De la, je suis parti sur le design d'un circuit intégrant uniquement des blocs analogiques (opto+diodes) qui serait donc modulaire. Je veux rajouter un fil pilote ? Hop, je rajoute une carte et c'est parti.



J'ai donc actuellement le schéma et pcb d'une carte permettant de contrôler 3 fils pilotes (à partir de 6 entrées TTL).

Sa taille est de 5cmx5cm pour une réalisation facile (et pas chère) avec seeedstudio. Ses composants sont en DIP pour réutiliser ce que j'ai déjà en stock.


La partie contrôle sera donc déléguée à un arduino nano qui est déjà (sous)utilisé. Le code reste à écrire, mais devrait être vraiment très simple.

Comme pour le reste, tout est (et sera) disponible sur github.

Prochaine étape: fabriquer les cartes, coder et tout mettre dans un boitier bien isolé.

À suivre ...

Bibliographie

mercredi 27 mai 2015

DummyLoad : une charge électronique variable

TL;DR

Comment construire soit-même une charge électronique variable contrôlable par ordinateur, avec des composants de récupération. Bonus: elle est entièrement OpenHardware et OpenSource.
Grâce à cet outil, on peut tester les capacités/performances d'une alimentation, caractériser une batterie, vérifier des circuits de protection (fusibles, PTC) ...

Le besoin

Pour un projet récent, j'ai eu besoin de consommer une quantité pré-définie de courant: 500mA, 750mA, 1A, 2A et ce sous différentes tensions.
Cela est relativement facile à faire. Un rhéostat ou quelques résistances de puissance font l'affaire, une simple application de la loi d'ohm et voila.

un rhéostat de puissance

Par exemple, pour 1A sous 12V :
U= R * I
R = U / I = 12 / 1 = 12 ohm
pour 750mA sous 3.3V :
R = 3.3 / 0.75 = 0,044 ohm

Cela dit, ça devient vite laborieux ! Il serait très pratique de disposer d'un appareil sur lequel régler la consommation en ampère et qui gérerait cela tout seul. C'est ce qu'on appelle une charge électronique (Dummy load).

Le circuit


La 1ère idée qui vient est d'utiliser un LM317 en générateur/consommateur de courant, un circuit simple et facile (bien sur il faut ajouter quelques condensateurs à ce schéma).
Le problème est qu'il nous faut un potentiomètre de puissance, ce qui n'est pas évident à trouver.

C'est la qu'est venu à mon secours Dave Jones et son EEVBlog #102 puisqu'il adresse justement ce problème et propose un circuit. Une bonne occasion pour me remettre en tête le fonctionnement d'un ampli-op ;)
En repartant de son schéma, j'ai réalisé le mien avec le cahier des charges suivant :
  • consommation de 0 à 2A
  • des composants que je possède dans mes tiroirs
  • un contrôle numérique (je n'ai pas de potentiomètre 10 tours dans mes tiroirs)
  • pouvoir le commander depuis l'ordinateur (tant qu'à faire !)
J'ai donc fait le tour et j'ai trouvé à peu prêt tout ce dont j'avais besoin sur place.

Commençons par jeter un œil sur le schéma :
https://github.com/jerome-labidurie/DummyLoad/raw/master/hardware/pdf/DummyLoad.pdf

Évacuons tout de suite le facile :
  • Un arduino nano pour le cerveau. Cela peut paraître très surdimensionné, mais j'y reviendrais dans un prochain article
  • un écran lcd à base de HD44780, on en a toujours un qui traîne pas loin
  • deux boutons poussoirs (up et down) pour l'interface utilisateur
  • comme on va dissiper pas mal de puissance, il va falloir un gros radiateur et peut-être un ventilateur. Dans ce cas, autant lui rajouter un contrôle puisqu'on dispose de plein de PWM sur l'arduino
Passons alors au plat de résistance que constitue le montage avec les 3 amplificateurs opérationnels.

Un PWM arrive de l'arduino (V_SET), celui-ci est d'abord converti en tension continue de 0 à 5V par un montage RC (R3 et C1). Cette tension est ensuite multipliée par 2 grâce au 1er ampli-op (U2A) monté en amplificateur non-inverseur.
En haut le PWM, en bas la tension continue amplifiée (sondes x10)

Cette tension de 0-10V arrive sur l'entrée + d'un montage suiveur (U2B). Celui-ci commande un MOSFET et va faire en sorte que ses entrées + et - soient au même potentiel. On retrouvera donc notre tension d'entrée 0-10V autour de la résistance de puissance R9.
Ici une note s'impose. j'avais prévu une résistance de 1ohm ce qui ferait une intensité théorique de 0 à 10A. C'est beaucoup :) Mais dans mes cartons je n'avais qu'une résistance de 10ohms, ce qui a dicté mon rapport d'amplification de 2 pour pouvoir tirer théoriquement 1A. Je prévois de la remplacer dans un futur proche par une de 1ohm (de ce type)
Enfin, cette tension passe dans un buffer (U3A) et un pont diviseur par 2 (R5 et R7) pour revenir à 0-5V et entrer dans l'arduino (V_SENSE). Ainsi on pourra mesurer la tension aux bornes de R9 et donc l'intensité consommée.

La construction


Commençons par les composants :
  • le MOSFET est un IRFZ44N sorti d'une perceuse dont la batterie est morte. Avec un Vdss de 55V et un Id de 49A il sera largement suffisant
  • la résistance de puissance sort de mon alim ATX transformée qui a cramé récemment :(
  • les amplis-op sont des LM358 dessoudés d'une carte de traitement vidéo qui traîne depuis des années dans mon carton "à récupérer"
  • le ventirad vient d'un vieux PC (sans doute un socket 7 ou un truc comme ça)
  • arduino et lcd : il faut toujours en avoir de rab' :)
  • le boîtier : un vieux stock acheté sur ebay
Le montage est d'abord testé sur breadboard étape par étape jusqu'à ce qu'il soit complètement fonctionnel. Comme cela on vérifie la théorie au fur et à mesure :)
Comme mon boîtier est plutôt petit, je commence par vérifier le placement des différents composants
et je réalise une construction en deux cartes connectées par des pin-headers. Une pour l'interface (lcd et boutons), une pour le cœur du dispositif (arduino et ampli-ops).
Au final, quelques coups de dremel, de perceuse et tout loge dans la boîte.
Pour les boutons, j'ai imprimé dans mon fablab 2 extensions pour les faire dépasser du couvercle.
Note: Sur cette photo, le MOSFET et la résistance ne sont pas encore reliées au radiateur. Il faut bien entendu le faire !

Côté software, rien de bien compliqué. On lit l'état des boutons (avec debounce) et on agit sur le PWM en conséquence. La lecture de la tension réelle se fait via l'entrée analogique 0. Ces 2 valeurs sont affichées sur l'écran de contrôle.

Comme on a un arduino, rien de plus simple que d'ajouter une interface de contrôle par le port série. Ainsi un petit programme (ou un terminal série) permet de positionner la valeur de courant à consommer, de lire la valeur actuelle ...
Si cela vous intéresse, le protocole est décrit la.

Utilisation

C'est très simple :
  1. On branche l'alimentation 12V sur les 2 fiches de côté
  2. On branche l’appareil à tester sur les 2 fiches en façade
  3. On positionne la valeur à consommer
  4. et voila !
Côté consommation maximale, le montage sature à 640mA. À voir ce que ça donnera avec une résistance de 1ohm au lieu de 10ohms.

J'ai fait quelques mesures de température. Loin des règles de l'art ! C'est juste pour avoir une petite idée de la montée en température du ventirad.
Sur la photo, on voit la sonde de t° de mon multimètre S7150 qui part à droite, coincée entre le boîtier et le radiateur.

S7150 (°C)arduino (°C)fanSpeed (0-255)
avant25.7NANA
on
+15min
26.519.42128
12V 200mA
+10min
27.1419.42128
+5min27.2220.24128
12V 500mA
+5min
28.5121.06128
+5min28.6421.06128
fanSpeed 255
+5min
28.2323.52255
12V 640mA
+5min
28.6124.34255
+5min28.7424.34255

De ce petit test sans prétention, j'en déduis que la vitesse de ventilateur à moitié de sa puissance max par défaut semble correcte pour une utilisation normale. J'ai aussi pu vérifier que les composants de puissance sont à peine tièdes au toucher (à partir de 500mA).

Bibliographie

Voici quelques liens qui m'ont servi pendant cette réalisation. On en trouve quantité d'autres.

Merci d'avoir lu jusqu'ici, et à bientôt pour de nouvelles aventures ;)


dimanche 24 mai 2015

Résurrection

Mon ancien blog est à l'abandon depuis presque 2 ans 1/2.
Voici l'emplacement de sa résurrection.

J'ai déplacé ici de nombreux articles de l'ancien blog (Merci blogger API). Malheureusement je n'ai pas pu déplacer les commentaires. Vous trouverez donc à la fin des anciens articles un lien vers les commentaires de l'article d'origine.

Souhaitons donc une longue vie à ce "nouveau" blog, et à bientôt pour de nouvelles aventures !