Mardi, juin 16 2015

Mise à jour de RaspiO'Mix : RaspiO'Mix+

RaspiO'Mix est, comme son nom l'indique, l'évolution logique de RaspiO'Mix pour les RaspberryPi dit « Plus » et Raspberry 2.

RaspiO'Mix est une carte fille (également appelé hats) pour RaspberryPi qui vous permet de connecter vos capteurs / actionneurs Grove (le système Grove chez Lextronic) au Raspberry simplement, sans connaissance en électronique.
RaspiO'Mix est un projet libre et ouvert, tous les plans sont disponibles en ligne.

product-plus.png

Caractéristiques

  • Compatible Raspberry A+, Raspberry B+, Raspberry 2
  • 8 entrées / sorties tolérantes 5V
  • 8 entrées analogiques, 0-5V, 18 bits de résolution
  • 2 entrées numériques via DIP switch
  • Horloge temps réel avec batterie de sauvegarde
  • 3 connecteurs pour I2C
  • 1 connecteur pour communication série
  • Alimentation 5V via jack ou bornier à vis

Utilisation en Python

Des exemples en Python sont présents sur GitHub et vous montreront à quel point il est simple de dialoguer avec les capteurs / actionneurs Grove.

Par exemple, pour faire clignoter une LED présente sur le port IO0 et afficher la valeur analogiques lue sur le port AN0.

# On importe les librairies qui nous seront utiles
from raspiomix import Raspiomix import RPi.GPIO as GPIO import time
r = Raspiomix()
GPIO.setmode(GPIO.BOARD)
# On configure le port IO0 de RaspiO'Mix en sortie GPIO.setup(r.IO0, GPIO.OUT)
# Et on boucle ! while True: GPIO.output(r.IO0, not GPIO.input(r.IO0))
print("%f Volt !" % r.readAdc(0))
time.sleep(1)

Difficile de faire plus simple ! Non ?

Plus d'informations

Tout ce dont vous avez besoin pour avancer avec RaspiO'Mix+ est disponible sur le site www.raspiomix.org :

Et bien entendu, pour commander votre RaspiO'Mix+, cela se passe sur www.raspiomix.org !

Lundi, juin 15 2015

Présentation des OpenAlarm Node

Voilà enfin des nouvelles de OpenAlarm, mais le projet n'est pas mort, loin de là mais ce n'est pas mon seul projet et ça ne permet pas vraiment de payer mes factures, soyez donc patient, ou mieux, participez !

Funky v3

Pour le développement des modules capteurs que j’appellerai maintenant OpenAlarm Node ou pour faire plus court, « Node », je me suis basé sur l'excellent travail de Martin au sujet de module autonome basé sur des RFM12 : les Funky (en version 3), ces derniers sont très petits (un des premiers critères de choix) et consomme très peu (autre critère important) et pour finir, ils sont architecturés autour de microcontrôleurs ATMega, on peut donc bénéficier de la simplicité de développement de l'environnement Arduino...

funky_v3.jpg
Source de la photo

Caractéristiques (source) :

  • Poids de 3gr
  • Compatible avec Arduino
  • Microcontrôleur ATMega32U4, le même que celui utilisé sur l'Arduino Leonardo
  • Pas besoin de programmateur externe, programmation directe via USB
  • Utilisation des modules radios 433/868Mhz RFM12B
  • Peu être utilisé avec le nouveau module RFM69CW
  • Fonctionne à 8Mhz, et peut être alimenté via 2.7V - 3.3V, dont les piles boutons
  • Mode faible consommation
  • La version "step-up" inclu la version 3.3V du LTC3525 boost regulator.

Les Funky v3 étant libre, j'ai donc fabriqué mes propres modules afin de les tester et faire quelques mesures avec.

2015-06-15_10.53.06.jpg
Un de mes modules Funky v3 fait maison

J'ai effectué de multiples tests logiciel, notamment, afin d'obtenir au moins les même résultats annoncé de Martin concernant la faible consommation de ces modules.

La course à la consommation moindre

À quoi bon avoir un module autonome capable de détecter l'ouverture d'une porte si ce dernier demande à être rechargé toutes les semaines et donc retiré momentanément de son service ?

Il est donc essentiel que les modules capteurs de OpenAlarm soit très peu gourmand en énergie.

Le microcontrôleur central des OpenAlarm Node dispose d'un BOD (Brown-out Detection permettant de détecter une tension d'alimentation faible, très utile pour éviter les erreurs d'exécution du micrologiciel embarqué), sans BOD activé, il est possible de descendre la consommation à 5µA, en l'activant, on perd 20 µA mais avec une sécurité supplémentaire, si la tension descend en dessous du seuil configuré, l'AVR entre en veille, garantissant le bon fonctionnement général du programme.

Une solution intéressante aurait été de pouvoir désactiver le BOD durant les périodes de veille via un appel de fonction (sleep_bod_disable()), malheureusement, c'est uniquement possible sur les AVR suffixés d'un P comme Picopower et aucun AVR Mega intégrant un contrôleur USB ne fait parti de cette famille...

Une vue de la consommation pendant une phase d'émission, on remarque un pic de consommation à gauche au moment de la sortie de veille et les pics de conso lors de l'émission du module radio à droite :
TEK00000.PNG

LDO

Un régulateur LDO (Low DropOut) permet de travailler avec une tension d'entrée proche de celle en sortie, il permet dans la node OpenAlarm l'alimentation du montage en convertissant le 5V du port USB en 3.3V.

Dans le design de Martin, au choix, il est possible d'intégrer un MCP170X ou un XC2606 (même brochage) mais dans les 2 cas, j'ai eu quelques soucis...

Le MCP1700 / MCP1703 induit un courant de fuite et la consommation monte en flèche (voir les articles de Martin à ce sujet : High sleep current issue with Funky v2 sorted out, Funky v2’s LDO to blame for high sleep current. Now fixed et Every μA counts).

Le XC6206 est le plus intéressant car il induit une perte de seulement 10µA, ainsi, à 4V, sans LDO, l'AVR en veille, la carte ne consomme que 5.5µA, avec le LDO, on passe à 15µA...

Afin d'éviter un courant de fuite s'échappant via le LDO lors de l'utilisation sur batterie, une idée serait de mettre une diode Schottky (diode à faible chute de tension) en sortie du régulateur, mais il faut qu'elle est des caractéristiques qui nous conviennent bien, c'est à dire une tension directe la plus faible possible et un courant de fuite le plus faible possible (un article à ce sujet Reverse diode current), une diode ayant des caractéristiques intéressantes est la RB751S40 avec vf ~ 300mV et un courant de fuite de 300nA.

Les tests avec cette diode se sont montrés concluants, elle est donc embauchée pour cette tâche !

Mosfet

Le Mosfet est uniquement utilisé pour réduire le courant au démarrage en désactivant le RFM, il est activé une fois l'AVR démarré via logiciel.

Article de Martin à ce sujet : Funky v2 rev 1

Ma version

Basé sur mes tests, j'ai décidé de faire une version légèrement différente pour les OpenAlarm Node :

  • Réduire au maximum la taille
  • Intégrer le port USB dans le PCB afin de gagner en taille / épaisseur / cout (on verra ce que ça donne au niveau solidité mais ayant déjà cassé un port physique sur un Funky, je doute que cela soit pire)
  • Dissocier la partie alimentation du Node en lui même, selon moi, le type d'alimentation dépend avant tout de l'utilisation finale qui va en être fait, exemple :
    • Un Node situé à proximité immédiate d'une source de courant n'a pas besoin d'emmener avec lui des régulateurs ("step-up" comme dans le Funky).
    • Je souhaite alimenter mon module avec une batterie au plomb de 12V, idem, pas besoin de composant en plus
    Au final, les OpenAlarm Node sont conçu afin de pouvoir supporter des cartes filles qui pourront intégrer une partie pour la gestion de l'alimentation.
  • Ajouter une LED afin d'en avoir 2 (rouge et verte), pratique pour indiquer des états sur nos capteurs
  • Des points d'accroches sécables
  • Les broches des ports accessibles facilement en périphérie de la carte au pas de 2.54mm

Voici le schéma de principe qui diffère assez peu de celui des Funky v3 (ajout d'une diode après le régulateur LDO et d'une LED) :
schema.png

Et le PCB, recto / verso :
pcb.png

Une vue 3D à l'échelle avec une pièce de 1 euro :
gerber.png

On remarque le port microUSB réalisé directement dans le PCB, ce dernier faisant 0.8mm d'épaisseur.

Le circuit est légèrement plus petit que le Funky v3 et il est simple d'accéder au broches des ports qui sont matérialisés par les 14 pads à droite et à gauche de la carte.

Le bouton de reset est placé sur la gauche, les leds sont à droite du connecteur USB.

Et la base ?

Oui, c'est bien beau d'avoir des modules autonomes de détection mais où est la base recevant les informations des Nodes ? Et bien, pour le moment, il n'y en a pas ! Il suffit d'utiliser un Node branché directement sur le port USB d'un PC (RaspberryPi par exemple) et voilà, nous avons notre base...

Cette solution à beaucoup d'avantages (cout, facilité, etc...) et n'empêche en rien de créer une base par la suite, elle permet surtout d'avoir quelque chose de fonctionnel malgré le temps dont je ne dispose pas toujours pour avancer sur le projet.

Où en est-on ?

Les PCB sont en cours de fabrication, puis, viendra la phase d'assemblage des cartes, de tests et enfin, un nouvel article...

En attendant, tout est disponible sur GitHub !

Compléments d'informations

Dimanche, juin 14 2015

Un ampli DIY (suite)

Voici la suite de la réalisation d'un ampli de A à Z (à base de TDA2050)
Cliquez ici pour l'article précédent.

J'ai réalisé un boitier en lamellé-collé de planches de contreplaqué. Il n'y a donc pas de blindage. J'ai fait ce choix car il n'y aura pas d'appareil électrique proche de mon ampli. Et aussi pour mesurer l'importance réelle du blindage.
Voici une photo de l'ampli terminé:


J'ai choisis le bois cette fois-ci pour la facilité de finition. J'ai tout fait à la défonceuse. Je prévois de faire un mélange alu/bois pour le prochain ampli.
Pour mon utilisation, je n'aurais pas besoin de rajouter de blindage. Par contre, il ne faut pas coller de téléphone portable à coté de l'ampli.

Je suis très content du résultat. L'ampli a un très bon son. J'ai choisis d'en faire un ampli "direct", sans potentiomètre de volume ou de réglage basses, aigus. Il me servira à amplifier un lecteur mp3/wave qui a déjà tous ces réglages. Il me semblait donc inutile de rajouter des pertes pour rien.

Au niveau du refroidissement, j'ai récupéré un gros radiateur d'un vieil ampli qui me sert aussi de face arrière (voir ci dessous). Je lui ai enlevé 3 ailettes afin d'avoir une surface plane à couper et percer pour les différentes connectiques (tout à la Dremel et à la perceuse à colonne)


Mes premiers essais étaient avec des radiateurs acier. Ces radiateurs étaient tellement chauds qu'on ne pouvait pas les toucher après quelques secondes. La grosse plaque alu avec les ailettes dissipe bien mieux et ne monte jamais au dessus de 30° donc pas de problème pour les connectiques accrochées dessus.

On peut voir en dessous l'implantation. Par rapport au schéma de base, j'ai changé les diodes par des ponts de diode moulés, j'ai mis un interrupteur à LED bleue et un fusible sur le primaire.


Je compte rajouter une petite carte avec un relais pour retarder la connexion des haut-parleurs et éviter le "clac" à la mise sous tension. J'en mettrai les plans prochainement.

J'ai torsadé les fils par paire ou tressé quand il étaient trois. Surtout par soucis de clarté mais certains disent que c'est mieux pour les parasites. J'ai lu pas mal d'étude poussées la-dessus et les gains ne sont pas mesurables sur ce genre de distance.

En tout cas, je suis pour l'instant très content du résultat malgré un légère saturation dans les médiums quand l'ampli est à fond, puissance d'ailleurs insupportable. Malgré la faible puissance annoncée (2X25Watts), c'est largement suffisant pour la plupart des utilisations car on peut réellement le mettre à fond (ce qui n'est pas le cas de la plupart des chaines ou amplis bas de gamme du commerce vendues pour bien plus de puissance mais qui commencent à craquer dès qu'on dépasse les 2/3 du volume). Je l'ai cependant utilisé sur des enceintes pas top. Donc cette légère saturation est peut-être due à mes enceintes.
Tout ça m'a donné envie de m'attaquer à la partie enceinte / haut parleurs. Ce sera certainement une de mes prochaines réalisation.


Mais ce week-end, je viens de trouver un nouveau bricolage à faire. J'ai dégoté sur une brocante un ampli vintage (un AKAI AA5210).


Mon projet est donc de le restaurer (refaire la partie bois, vis et surtout changer les composants qui peuvent être "upgradés" aux standards d'aujourd'hui tout en gardant cette qualité de fabrication et de conception qu'il y avait à l'époque). Il a déjà un très bon son, mais ça me permettra de mesurer l'importance de chaque élément et de me faire ma propre idée. J'ai remarqué que dans le son et surtout dans le milieu de ceux qui se qualifient d' "audiophiles", la subjectivité est relativement présente. La plupart des éléments et composants sont hors de prix et on a du mal à trouver des infos fiables.

En tout cas, la documentation sur ce genre d'ampli est bien fournie. On peut trouver des guides du réparateur, des revues techniques... C'est donc super sympa à bricoler. Je vous tiens au courant. A+

Samedi, juin 6 2015

Fonderie 101

Bonjour tout le monde, c'est l'ours !
Voilà, je suis un nouveau contributeur, pour me présenter rapidement je suis un grand fan de bricolage et de DIY. Pour mon premier post, je voudrais vous présenter mon projet de fonderie d'aluminium. Cette fonderie est ma toute première et je l'ai construite pour faire du recyclage pour mes autres projets.

Voici l'engin, un seau métallique avec du béton réfractaire à l'intérieur et une arrivée d'air par le dessous (c'est simpliste, mais cela marche très bien). J’utilise pour la chauffe du charbon de bois pour BBQ, le tout monte à plus de 600 °C pour faire fondre l'alu (merci Wikipedia).

img01

J’utilise un ventilateur de pc pour attiser les braises avec un adaptateur pour le tuyau. Au début, j’utilisais un décapeur thermique, mais à cause de sa protection thermique, ce dernier s'arrêtait toutes les 10 min, maintenant c'est plus simple et ça suffit largement. :)

img02

La pièce la plus importante est le creuset, je peux vous dire tout de suite les boîtes de conserve ça ne fonctionne pas. Ça fond et ça se perce, bref c'est pas top. Le mieux (de ce que j'ai testé) ce sont les pots en inox pour la cuisine, avec ça il y a un bon transfert thermique et c'est du solide ma petite dame.

img03

Pour cette fonte, j'ai décidé de faire un lingot avec un vieux radiateur de pc.

img04 img04b

Après une trentaine de minutes et seulement 3 poignées de charbon on obtient de l'aluminium en phase liquide. Petit conseil de cuisinier: l'aluminium s'oxyde rapidement (lorsqu'il est chaud) il y a donc une pellicule d'oxyde au dessus du liquide. Cet oxyde n'est pas utilisable et il faut le retirer avant de couler! Evitez donc de trop le remuer, sous peine de former encore plus d'oxyde.

img05

Pour finir, j'ai versé l'aluminium dans un récipient métallique rond pour faire mon lingot et voilà le résultat :

img06 img06b

Pour conclure, la fonte d'alu, c'est trop cool! On imagine mal la quantité d'aluminium que l'on peut recycler sur un simple radiateur. Je vais tenter de faire des moules pour créer des pièces un peu plus complexes (et utiles), je vous tiens au courant.
Mr l'ours

Vendredi, juin 5 2015

G2N, un pistolet pour jeux vidéos -3-

Suite de l'étude précédente :

La barre infrarouge :

  • Une barre infrarouge type Wii Sensor Bar fera très bien l'affaire, cependant, il faut pouvoir l'alimenter, idéalement en 5V depuis un port USB par exemple.

Il sera alors nécessaire de la modifier, il existe pleins de tuto pour le faire, démerdez-vous :)

  • Sinon on peut bien sûr en fabriquer une, en calculant le câblage à l'aide de cet outil en ligne très pratique.

C'est ce que j'ai fait ici :
dsc00435.jpg dsc00437.jpg
L'écartement entre les deux trains de LED importe peu.
Il est d'environ 18 cm pour une bar officielle Nintendo, et sur mon proto la largeur est réglable jusqu'à 25 cm.
Par contre, il est important d'avoir deux LED inclinées à 45° sur chaque train, afin d'augmenter l'angle d'émission du faisceau Infra Rouge.

Les réglages informatiques et G2N :

  • Sur l'ordinateur,

- Pour les jeux émulés à la souris, il faudra passer par un logiciel type Joystick-To-Mouse, qui doit nécessairement disposer d'un mode absolu, sinon, rien ne fonctionnera.

- Configurer le clic-droit de la souris dans Joystick-To-Mouse (puisque l'émulateur Sega utilise ce bouton pour le reload du pistolet) sur le bouton correspondant de la manette.
Pour ne pas avoir la fenêtre du jeu qui se réduit si elle reçoit trop de clics sur les bords de l'écran il faut s'assurer d'avoir le tir assigné sur UN SEUL bouton du joystick.

- Sur un ordi il n'y a qu'un seul curseur de souris…
Donc par exemple pour le cas émulation Sega Model2 (House of the Dead, VirtuaCop…), avec Joystick-To-Mouse c'est un seul joueur obligé !!
Sur Mame, en mode joystik analogique donc, deux joueurs ça fonctionne !

  • Sur le menu du G2N,

- Il faut y indiquer la taille de l'écran.

- Pour le paramètre de largeur de la barre, il faut indiquer la mesure de la distance entre le centre des deux trains de led IR.

En cas de problème avec la visée, il peut-être nécessaire de gruger un peu ces réglages, dans le cas où, depuis le centre de l'écran, le curseur se décale trop par rapport à la ligne de visée, de manière proportionnelle dans toutes les directions (le curseur est en avance et touche les bords de l'écran avant que la visée au pistolet n'atteigne le bord).
Donc soit en grugeant la valeur de la barre (diminuer dans mon cas), soit la taille de l'écran.

- Mettre le jumper du reload sur la « main board » pour activer la recharge du flingue lorsqu'on sort sa ligne de visée de l'écran.

Petite démo vidéo :


Conclusions des tests :

En dessous de 2m10 de distance entre le bout de flingue et l'écran, quoique je fasse, la visée est déviée.
Au dessus de 2m10, la ligne de visée est juste.
En fait, plus l'écran est grand plus il faut reculer, phénomène lié au fonctionnement intrinsèque de la wiiimote me dit-on.

Prochaines étapes :

- Confectionner un Addon à la « mainboard » pour intégrer un joystick analogique, et ne plus être obligé de bidouiller une manette.
- Tester la nouvelle version du G2N, Version 7, qui permet de bénéficier d'un recul par rapport à l'écran plus réduit, par l'inclinaison à 30° de la caméra dans le canon du pistolet.

 À suivre…

Mercredi, mai 27 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 ;)


Piloter des prises électriques via un Raspberry

Comment piloter des appareils branchés sur le secteur simplement et surtout sans risque directement via un Raspberry (bien entendu, ça marche avec n'importe quoi d'autre, Arduino, etc...) ?

On pourrait utiliser un relais, un triac, mais ça ne me plait guère, on doit pouvoir faire plus simple et plus sécuritaire... Et si nous utilisions tout simplement des prises commutables à distance du commerce, nous n'aurions plus à nous soucier de l'aspect isolation vu que l'appareil se pilote à distance et est censé avoir passé des tests de conformité CE...

D'autant plus que ces prises télécommandées ne valent pas grand chose, il est facile de trouver un lot de 3 pour moins de 15€ comme celle ci-dessous :

blister.jpg

Une fois les prises télécommandées en notre possession, 3 solutions s'offrent à nous :

  1. Ouvrir les prises et les piloter directement via un signal logique : Mauvaise idée, on perd l'avantage de l'isolation
  2. Sniffer le signal radio lors de l'appui sur une touche et le reproduire
  3. Piloter directement la télécommande en simulant des touches

N'ayant pas de quoi reproduire le signal sniffé sur le moment, j'ai choisi la dernière solution qui implique un démontage de la télécommande.

L'intérieur de la télécommande :
Recto de la carte électronique Verso de la carte électronique

Le coeur de la carte est un HT46R01T3 de Holtek, un microcontrôleur embarquant une partie radio, avec ce dernier, nous trouvons un peu de composant passif, un quartz, des boutons et voilà, vous avez une télécommande « qui fait le job » pour 2 kopeck.

Le schéma de la carte :
schema.png

Nous avons 6 boutons, 3 boutons à gauche pour allumer la prise correspondante et 3 autres boutons à droite pour les éteindre.
Les boutons sont reliés aux broches 2, 3, 4 et 5 via les diodes (D1 à D6) correspondant aux pin PA0 à PA3 du circuit intégré, 6 boutons présents mais seulement 4 entrées utilisées sur le microcontrôleur, cette ruse est possible grâce du diodes: 3 entrées servent à connaitre la prise sélectionnée et une autre indiquent s'il s'agit du bouton OFF.

État des broches en fonction de appuis sur les touches :

Boutons Pin 2 Pin 3 Pin 4 Pin 5
ON1 1 1 0 0
OFF1 1 1 0 1
ON2 1 0 1 0
OFF2 1 0 1 1
ON3 0 1 1 0
OFF3 0 1 1 1

Afin de simuler des appuis sur les touches tout en gardant possible l'utilisation des boutons de la télécommande, nous allons court-circuiter brièvement les boutons, pour cela, je vais utiliser un circuit intégré très pratique, le 4066, un quadruple switch analogique dont voici le schéma :
Contenu du 4066

Il contient donc 4 interrupteurs pilotable via des broches directement via des signaux logiques, la technologie CMOS du 4066 nous permet une connexion direct à notre Raspberry.

Connexion entre le 4066 et le Raspberry

En rouge, on retrouve les points vu plus haut dans le schéma de la télécommande, en vert, il s'agit des liaisons avec le port GPIO (P1) du Raspberry, concernant l'alimentation, c'est assez simple, la télécommande étant alimentée via une pile bouton de 3V, on va utiliser directement les 3V issu du Raspberry.

Un petit bout de code Python (outlet.py) et vous pouvez piloter vos télécommandes :

$ python
>>> from outlet import Power_Outlet
>>> po = Power_Outlet()
>>> po.on(0)
>>> po.off(1)
>>> 

Le tout sur une plaque d'expérimentation :
final.jpg

Mercredi, mai 20 2015

Montage d’une meuble moidules

Bonjour,

Lors de mes pérégrinations sur les sites d’impression 3D, j’étais tombé sur un projet thingiverse : Moidules ! Le concept est au final assez simple : des pièces imprimées en 3D donnant la possibilité de se créer un meuble sur mesure et modulaire.

Concept simple qui m’a plu tout de suite. Cela n’a rien de novateur, mais j’aime bien ce genre de projet, et j’avais besoin de me réaliser un petit meuble à poser sur mon bureau pour ranger une grosse partie de mon bordel électronique. Du coup banco, je me suis lancé sur le projet.

Réalisation du projet.

Vu que mon imprimante 3D ne fonctionnait toujours pas, j’ai utilisé une imprimante de mon fablab : la printrbot. Petite, robuste et efficace, ce fut une bon choix. Niveau plastique, j’avais en stock du PLA bleu de chez esun. De la moyenne qualité donc, mais en quantité suffisante pour le projet et à un coût raisonnable (environ 22€ / kilo)

J’ai dessiné sur papier mon meuble, puis j’ai compté ce qu’il me fallait imprimer comme pièces. 34 pièces en tout décomposées de la manière suivante :

- B Left : 2
- B Right : 2
- T Module : 20
- L Module : 4
- X Modules : 6

Les premières pièces imprimées

Les premières pièces imprimées

Clairement, 34 pièces, c’est long à imprimer. Surtout quand on réalise qu’il faut environ 1h15 en moyenne pour réaliser une pièce. Soit pour l’ensemble un peu plus de 42h d’impressions. Oui oui, vous avez bien lu, il fallait un peu moins de 2 jours d’impression pour si peu de pièces (les joies de l’impression 3D). Et pourtant j’avais monté la vitesse en passant d’un facteur 100 à un facteur 180, car après test, c’était la limite avant de perdre en qualité. Et tout ça, sans compter le fait que j’ai foiré toute une après midi d’impressions (il y a des jours, où rien ne va).

Printing moidules pieces with a @printrbot at @FabLabThi pic.twitter.com/46CShGdYgS

— Manuel Esteban (@Yaug) 21 Mars 2015

 

Bref, outre le temps d’impression, qui du coup s’est étalé sur le plusieurs semaines, il y avait aussi le poids. J’ai utilisé environ 1,5 kg de plastique pour réaliser ces pièces. J’ai documenté le projet sur le forum du thilab et annoncé mes avancées au fur et à mesure.

Quand j’ai enfin vu le bout de ces impressions, je me suis mis à la recherche des planches. Car ce projet moidules avait un problème : il était fait par des anglosaxons. Et un bon anglosaxon, ça se doit d’utiliser des tailles non standard. Là, pas question de pied, de pouce ou de pierre, ils ont juste fait le projet pour du 9mm. Le genre de planche pas chiante à trouver du tout à trouver quoi …

Une fois que j’ai commencé le projet, Philippe, un des membres du Thilab a pris le temps de réaliser des versions customisables de ce projet, où l’on peut adapter à peu près toutes les tailles. Le tout est disponible sur thingiverse, je vous conseille plutôt d’utiliser cette version ! Si il faut, d’autres formes pratiques ont été ajoutées.

Ayant commencé pour du 9mm, je suis allé jusqu’au bout, et j’ai fini par trouver mes planches dans un magasin au Luxembourg. Ouf !

Montage

Une fois l’ensemble des pièces imprimées et les planches achetées, vint le moment du montage. Et hop, à peine lancé, je me rend compte que j’ai un décalage et que mes planches flottes dans les pièces imprimées… ça valait le coup de se décarcasser à acheter du 9mm. Je pense que le problème est lié au fait que j’ai imprimé en PLA, et qu’il y a du y avoir une rétractation du plastique. J’ai utilisé tout simplement du papier replié pour boucher un peu les trous (système D quand tu nous tiens).

Impression de la dernière pièce

Impression de la dernière pièce

Après deux petits heures de montage (dont une bonne partie à caler les planches correctement), j’obtiens finalement un meuble ! Reste que mon design étant ce qu’il est, avec le jeu des pièces plastiques, il s’affaisse un peu milieu. Rien de bien grave vu que je ne compte pas y mettre de trucs ultra lourd, mais c’est tout de même dommage.

Montage terminé !

Montage terminé !

Le meuble en place

Le meuble en place

 Conclusion

En soit le projet est donc intéressant car il permet une certaine flexibilité, vous créez votre meuble en fonction de vos besoins, vous lui donnez la forme que vous voulez. C’est donc du pur meuble DIY, et c’est aussi ce qui me plaisait.

Notez qu’il est possible d’utiliser tout type de matière tant que cela n’est pas trop lourd. Je pense tester un projet avec du verre par exemple.

L’autre intérêt c’est que les pièces sont réutilisables par la suite. Si vous déménagez, vous pouvez alors utiliser les pièces pour réaliser un autre meuble.

Niveau coût, il faut tout de même étudier son projet. Il faut prendre en compte le coût du plastique ainsi que celui du bois (et le bois c’est souvent bien cher …). Dans mon projet par exemple, j’aurais pu ne pas faire une colonne intermédiaire ça m’aurais éviter des problèmes de résistances, et ça m’aurait fait beaucoup moins de pièces à imprimer.

Bref, j’ai bien aimé le projet et je pense me servir de ce type de connecteur (mais avec ceux réalisés par le Thilab) dans d’autres projets, en simplifiant le schéma cette fois ci.

- page 2 de 79 -