Samedi, décembre 27 2014

WebRadioRéveilWifi -3-

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

  • Cette fois on va concevoir l'amplificateur audio qui sera branché en sortie du Raspberry-Pi.

Pas besoin d'une puissance énorme pour l'utiliser avec de petits haut-parleurs récupérés dans des carcasses d'ordinateurs.
dsc09786.jpg dsc09783.jpg C'est donc un ampli à base d'un bon vieux LM386 qu'on va opérer, le même que dans le petit haut parleur portatif pour baladeur qu'on avait fabriqué en cour d'EMT (techno au collège), mon premier contact avec l'électronique, il y a heu… trop longtemps @_@
C'est plus précisément le LM386N-3 que j'utilise car il présente une puissance correcte pour une plage d'alimentation très large.
On pourra donc utiliser le 5V de l'alimentation générale du projet WebRadioRéveil.

  • La datasheet indique quelques montages typiques, et c'est en effectuant de nombreux tests empiriques (c'est à dire, à l'oreille) que j'ai arrêté le choix des composants à adjoindre au circuit en fonction des enceintes choisies.

Voici le schéma du prototype:

AmpliAudioProto.png

Explications:

  • Cet ampli étant mono, il faut deux circuits identiques si on veut avoir deux haut-parleurs.
  • Ceux-ci peuvent être d'impédance diverse, et le LM386 saura s'en accommoder, du moment qu'on ajuste le condensateur de sortie C3.

dsc00381.jpg L'audio c'est compliqué, vraiment, et tout ce que j'en ai compris c'est que pour cet ampli, il est d'usage de régler une fréquence de coupure dans les graves.
Par le calcul suivant, fc=1/2piRC, R étant l'impédance du haut-parleur, C l'inconnue, et fc environ 90Hz.
Ce qui donne C=220µF pour un haut-parleur de 8Ω.
Ou encore C=470µF pour un haut-parleur de 4Ω, comme c'est le cas ici.

  • Le couple R1 et C2 (entre les pattes 1 et 8 du LM386) est fixé ici pour obtenir un gain de 50, c'est à dire 34db.
  • Le couple RV2 et C4 (entre les pattes 1 et 5 du LM386) sont là pour booster les son de basse.

En effet, les petits haut-parleurs de ce genre donnent un son relativement aigu et pouvoir faire ressortir les basses est alors très intéressant.
Seulement cela se fait au détriment du volume général qui se voit alors réduit.
De plus en fonction du niveau du volume, trop de basse peut-nuire à la qualité sonore, et c'est pourquoi j'ai utilisé un potentiomètre RV2, afin de pouvoir effectuer le réglage à la demande, dans la plage de valeurs allant de 2 à 10kΩ, pour plus ou moins de basse, sachant qu'à 10kΩ elles sont déjà un peu présentes.

  • Le condensateur C5 (relié à la patte 7 du LM386 et à la masse), essentiel, sert à réduire fortement les parasites engendrés par l'alimentation électrique.

Voilà pour les particularités du schéma, facile à adapter aux haut-parleurs utilisés.

À noter qu'il existe pour les feignants, des modules pas cher du tout, du genre « LM386 Audio Amplifier Module Board 5V-12V », mais que du coup la qualité du son ne sera pas personnalisable…

À suivre…

Ressources :

http://www.sonelec-musique.com/electronique_realisations_ampli_bf_003.html
http://jmdefais.pagesperso-orange.fr/techn_jm/cir386.htm
http://www.homecinema-fr.com/forum/general-f1472/frequence-de-coupure-t29910209.html

Mardi, décembre 23 2014

Des bricoles en 3D réelle -2-

Hey, mine de rien c'est le 501ième billet du blog :)
Ce billet fait suite à cet autre, voici mes dernières impressions :

Cales pour joystick Sanwa.
Dans le cadre de la confection d'un stick arcade, il peut-être utile d'utiliser un truc pour régler la hauteur du joystick, j'ai donc modélisé cette cale sous Sketchup.
dsc00256.jpg dsc00257.jpg
À télécharger ici : http://www.thingiverse.com/thing:511132

Boîtier Camera Pi.
Pour protéger et permettre de fixer la RaspiCam sur un boitier de Raspberry, j'ai trouvé ce petit support assez pratique :
dsc00330.jpg dsc00329.jpg
À télécharger ici : http://www.thingiverse.com/thing:427546

Ball Top Stand Seimitsu.
Où comment exposer fièrement des Balls top inusités…
Une modélisation avec Sketchup qui m'aura permise de découvrir et apprendre ce logiciel 3D.
dsc00269.jpg dsc00273.jpg dsc00279.jpg
dsc00263.jpg dsc00260.jpg
À télécharger ici : http://www.thingiverse.com/thing:482674

dsc00377.jpg
Socle for Universal gundam stand.

J'ai remixé le Lazy Stand for SD gundams afin de modéliser un socle à la mesure de l'Universal gundam stand V2.0 released.


dsc00376.jpg dsc00373.jpg dsc00374.jpg

À télécharger ici : http://www.thingiverse.com/thing:158131, et là : http://www.thingiverse.com/thing:509795.

Lundi, décembre 22 2014

Rénovation et isolation

Pas beaucoup d’articles en ce moment. Pourtant ça bricole dur, mais je ne peux pas tout faire en même temps…

Je rénove une maison construite dans les années 50. Les pièces de vie sont au 1° étage et les chambres au deuxième (il y a un garage et une buanderie au RDC). La maison est construite en briques et l’isolation est constituée par une lame d’air (non immobile) de 5 à 10 cm suivant les endroits. Côté intérieur, seuls une cloison de briques platrières de 4cm et 1cm de platre nous séparent de cette lame d’air.
Autant dire que c’est loin d’être terrible. Avec la chaudière à condensation et des radiateurs en fonte, j’arrive à maintenir un bon 19°, cependant les murs sont froids ce qui représente un gaspillage énergénique indéniable et un certain inconfort.

Avant isolation
Avant isolation

 

Décidé à réaliser des travaux d’isolation, j’ai regardé les différents procédés:

  • isoler par dessus l’existant, exclu en raison de la perte de place dans la pièce.
  • isoler par l’extérieur, trop cher et l’isolation des facades EST et OUEST n’était pas possible.
  • Casser la cloison de briques et placer un isolant, en vivant dans la maison c’est compliqué à mettre en oeuvre :)
  • Injecter un produit dans la lame d’air. Pourquoi pas ?

Je suis donc parti sur l’idée d’injecter un matériau pour figer la lame d’air. Plusieurs solutions existent:

  • Souffler des laines minérales: Le problème c’est que ça se tasse dans le temps et créé des ponts thermiques en haut des murs
  • Des billes de liège: Certains constatent des traces noires et beaucoup de poussière.
  • Du SLS 20: quand on perce un mur, le produit s’écoule…
  • Du polystyrène: C’est la solution que j’ai retenu.

 

Le polystyrène est injecté avec un liant à base de latex, il est donc figé après séchage et ne risque pas de se tasser. D’autre part, il est recouvert de graphite et est traité anti-feu. Ce procédé est utilisé depuis très longtemps dans les pays du nord de l’Europe.

J’ai fait réaliser les travaux par Daniel Fromentin, un artisan de la région. Si j’en parle c’est que je suis très content du résultat. Les travaux on été réalisés en une journée ! Et dès le lendemain, les résultats sont visibles.

Pour une température extérieure de 8° avec un chauffage réglé à 19°, j’avais des murs entre 17 et 18°, et maintenant entre 19 et 20° voir un peu plus si j’utilise le poële à bois !

Après isolation
Après isolation

 

Pour être injecté, les cloisons sont percées avec des trous de 22mm tous les mètres environ

Des trous partout
Des trous partout

 

L’injection est réalisée avec un pistolet utilisant l’effet venturi pour aspirer les billes de polystyrène et les souffler dans la cloison.

Le pistolet d'injection
Le pistolet d’injection

 

Le latex est stocké dans une cuve et injecté en même temps que les billes

Le latex
Le latex

 

Les billes sont stockées dans une cuve présente dans le camion

Le camion
Le camion

 

Une fois l’injection réalisée, les trous sont bouchés avec un bouchon puis avec de l’enduit. Après travaux, il n’y a qu’à repeindre.

Un bouchon de liège
Un bouchon de liège

 

Le trou avant enduit
Le trou avant enduit

 

Au fond des trous, on voit les billes tassées

Dans un trou d'injection
Dans un trou d’injection

 

Les travaux ont été réalisés le 19. Depuis il y a une nette différence de confort et de température comme le montre la courbe enregistrée par Domoticz.

Température

Bref, si vous avez comme moi une lame d’air conséquente à isoler, regardez ce procédé, c’est vraiment intéressant avec un bon rapport qualité prix (autour de 40€ le m2). Environ 9m3 de billes ont été injectées dans mes murs.

 

Après quelques jours supplémentaires voici les courbes des températures extérieures et dans le salon

Températures minimum dans le salon
Températures minimum dans le salon
Températures extérieures
Températures extérieures

Jeudi, décembre 4 2014

Un char pour les filles

Bonjour à tous,

je vous présente aujourd'hui, un petit bricolage sympa: c'est une remorque à vélo pour enfant où l'enfant se tient debout:

Mes filles l'adorent. Sur cette photo, elle n'est pas terminée: j'ai rajouté depuis des renforts et une chaîne de sécurité au niveau de l'attache. Dès que la remorque sera peinte, je mettrai les nouvelles photos. Si vous voulez voir les étapes de la réalisation: c'est par ici:
J'ai d'abord commencé par récupérer le matériel: des vélos pour enfant en 14 pouces à la déchetterie et une chute de contreplaqué:


et un vieux portail:

Première étape: démontage et découpe


Calage des pièces, découpes et soudures:

 2 fourches avant de vélo sont les pièces principales du char




Découpe de la barre pour avoir une extrémité moins saillante

Repliage avant soudure puis meulage

Découpe du plancher dans une chute de CP 15mm:

J'ai fait le patron sur PC à partir d'une forme de bodyboard
(avec la même technique que pour le skate: ici)


ça commence à prendre forme


J'ai soudé ensuite la barre horizontale et une potence de récup pour pouvoir y mettre mon guidon steampunk en attendant d'en faire un spécifique qui sera en rapport avec l'esprit surf du plancher.

La remorque est super solide (j'ai testé avec moi dessus en mode "cross") et les filles peuvent même monter à deux dessus. Elles s'éclatent et moi aussi (même si c'est un peu plus dur pour moi que pour elles)


A+


Jeudi, octobre 30 2014

Une Borne d'Arcade maison, nouveau panel

Je continue dans ma série d'upgrade plus ou moins cosmétiques sur ma borne.

foret.jpg

Cette fois on n'usine pas ça avec de simples outils du dimanche, il est impératif d'avoir de l'outillage conséquent !

- Pour la découpe, à défaut de mieux, une scie sauteuse puissante et sa robuste lame à métal. On finira le travail long et fastidieux à la lime.
- Afin de pouvoir faire les trous de très grands diamètres (24 et 30 mm), il faut une perceuse à colonne capable de tourner très lentement (autour de 100 tr/min), un onéreux forêt à étage, et de l'huile de coupe.

Voici le résultat après quelques jours de travail… Oui ce fût un peu long, car j'ai profité de l'accès aux outils pour en faire deux, une pour la borne donc et une seconde pour un hypothétique SuperGun imprimé en 3D, mais que pour le moment mon imprimante est trop petite…


  • Comme le métal a eu le temps le s'oxyder un peu, j'ai d'abord procédé à un ponçage en règle, avec du papier 400 et de l'eau.

dsc00189.jpg dsc00192.jpg

  • Puis j'ai mis en place et serré très fort les boulons de fixation des sticks.

Il ne sont pas destinés à être enlevés, mais à devenir solidaire de la plaque de métal.
dsc00195.jpg dsc00193.jpg dsc00212.jpg

Ceci, afin de servir de base à une cale imprimée 3D, sur laquelle on viendra mettre le stick, qu'on pourra alors visser a ce montage.
Le but est ici de pouvoir régler la hauteur du stick Sanwa sous la ball-top, à l'aide de cales de différentes épaisseurs. Pour plus d'informations, voir ce billet d'époque.
Les cales sont téléchargeables en annexe du billet[1] où sur ma page Thingiverse.
Voilà donc montée une cale de 3,5 mm, puis une 6 mm.
dsc00197.jpg dsc00198.jpg

Avec cette dernière on obtient une hauteur sous la boule de 23 mm.
dsc00199.jpg dsc00200.jpg dsc00210.jpg

  • Bien, on ne va pas laisser ces vis comme ça, car ce serait disgracieux une fois le décor en vinyle collé par dessus.

C'est donc au mastic Sintofer standard que j'ai rebouché les trous sur les têtes de vis, puis effectué le ponçage.
dsc00214.jpg dsc00216.jpg dsc00217.jpg

  • Voilà donc la plaque prête pour être mise en peinture.

dsc00219.jpg dsc00221.jpg

C'est une sous-couche en bombe, de couleur grise et aux propriétés antirouille .
dsc00223.jpg dsc00224.jpg dsc00226.jpg dsc00228.jpg

  • Voici un essai de mise en place sur borne.

dsc00229.jpg dsc00230.jpg

  • Enfin, j'utilise la cale imprimée de 3,5 mm car j'ai décidé de continuer à utiliser le plexis pour permettre l'échange facile de la déco du panel.

J'opterais pour du vinyle avec le panel du SuperGun
dsc00233.jpg dsc00235.jpg dsc00236.jpg dsc00242.jpg

Note

[1] voir ci-dessous

Samedi, octobre 25 2014

WebRadioRéveilWifi -0-

  • Déjà deux billets écrits et toujours pas de présentation du projet !

Ça n'est vraiment pas convenable pour qui voudrait suivre et comprendre les quelques infos tombées de nulle part, je vais maintenant donc tâcher de décrire mon truc…

  • L'idée d'un tel appareil était là depuis longtemps, et c'est l'arrivée du Raspberry Pi qui l'a fait ressurgir comme réalisable. En effet, comme son nom l'indique, on va réaliser une webradio, et c'est donc le Raspberry qui va se charger de cette tâche. Ceci associé à un réveil avec de gros afficheurs 7 segments, et on a notre base de départ…
Pourquoi ne pas acheter un webradio-réveil tout fait ?

Tout simplement car ça n'existe pas…
Où plutôt un système libre n'existe pas, car Orange vend quelques appareils moche et assez cher (autour de 150€) qui ont l’extrême inconvénient de voir la gestion des stations de webradio être basé sur un service en ligne propriétaire.
Non seulement on ne peut écouter que les stations webradio proposées par le service, sans pouvoir en ajouter, mais en plus, si le service venait à disparaître, ce qui est fortement probable à très court terme, on se retrouverait alors avec un simple réveil…
J'ai aussi découvert que Logitech proposait ce type de produit, mais que ce n'est désormais plus proposé à la vente.
Bref, « Fait le toi même » :)


Diagramme :

DiagrammeWebRadioReveilWifi.png

Ébauches et tests :

dsc09788.jpg dsc00080.jpg Comme vu précédemment donc, j'ai commencé à travailler sur la partie WebRadio.

Puis sur la partie Horloge/Alarme.

Ce ne sont que des ébauches de base qui vont être amenées à évoluer vers un premier prototype.

Fonctionnalités :

  • Une base, car rapidement les idées de fonctionnalités fusent de partout et continuent de se rajouter à cette liste qu'il faudra que j'écourte si je ne veux pas me retrouver avec un « maître d'hôtel cybernétique » qui me servirait de nounou…
  • Fonctions automatiques :

- Pas de sonnerie, déclenchement web-radio à horaire prés-déterminé.
- Plusieurs alarmes pré-déterminées sélectionnables.
- Bouton activer/désactiver alarme (parlant?).
- Déclenchement web-radio, sur la dernière station jouée la veille au soir.
- Déclenchement web-radio, de la station préférée du matin.
- Déclenchement web-radio, augmentation progressive du volume.
- Déclenchement d'une playlist MP3.
- Déclenchement d'une playlist MP3 en cas de coupure internet ou réseau wifi.
- Gérer en auto heure d'hivers/été.
- Ajustement de l'intensité lumineuse de l'horloge en automatique par un capteur photosensible.
- Capteur le mouvement pour couper les afficheurs 7 segments lorsque personne n'est présent.
- Couper l'énergie de l'ampli audio quand la radio est non-utilisée.
- Bip tous les 1/4 d'heures en mode radio, pour signifier au dormeur qu'il doit se réveiller…
- Ajustement automatique du volume de la radio.
- Mise à l'heure automatique : Le raspi est mis à l'heure par le web. l'horloge va chercher l'heure sur le raspi seulement si la comparaison entre heure raspi et heure Chronodot est différente.
- Station radio annoncée par synthèse vocale ou wav.
- Module horloge séparé sur Arduino, avantage, si raspi down, l'heure est tjrs là.

  • Fonctions manuelles :

- Bouton SLEEP : 1 pression = power on Radio sur station préférée du matin pour 30 min ; 1 pression de plus ajoute 15 min. Lorsque la durée arrive à son terme, compte à rebord sur afficheur depuis 59 sec.
- Bouton Alarme VITE : 1 pression longue et l'heure défile très vite. 1 pression brève, affiche l'heure de l'alarme durant 5 sec.
- Bouton Alarme LENT : 1 pression longue et l'heure défile lentement. 1 pression brève, égrène les minutes.
- Potard de volume.
- Bouton play radio.
- Bouton Station Radio suivante.
- Bouton Station Radio précédente.
- Bouton SHIFT : Shift + Sleep = power off Radio.
- Appuie long et court pour les fcts supplémentaires.
- Bouton shift pour des fcts supplémentaires.

  • Fonctions supplémentaires :

- Commandes vocales.
- Écran LCD pour XBMC médiacenter.
- Commandes infrarouge.

Design :

Pour le moment j'ai réalisé quelques dessins de ce que à quoi pourrait ressembler l'appareil.
Les idées ne manquent pas et c'est l'imprimante 3D qui travaillera pour moi… Enfin, une fois que j'aurais arrêté un choix et modélisé la 3D.

  • Cependant je retarde cette étape de fait, car n'étant pas encore sûr des composants finaux qui seront utilisés ou pas (taille et forme des haut parleur, écran LCD, etc).

 À suivre…

Lundi, octobre 20 2014

Seeedstudio Limite Perçage

Petit article juste pour vous parler d’un bonne surprise, la qualité des pcb SeeedStudio semble avoir été vraiment améliorée, vous pouvez voir en exemple un des plus « mauvais » via que j’ai trouvé sur ce batch.

Le via doivent normalement avoir une pastille de 0.8mm mais avec une pastille à 0.6mm et un perçage à 0.3mm le via est correcte.

Pour comparaison voila une analyse d’un PCB produit par le même service en 2012.

seeedstudio_2012_analysis


Classé dans:Microscope, PCB

Vendredi, octobre 17 2014

Régulation PID, faire de jolis graphiques 2/2

La dernière fois, je vous ai présenté une méthode essentiellement graphique, permettant une bonne approximation des paramètres PID de votre régulateur. Encore faut-il savoir comment tracer les graphiques, c’est ce que je me propose de vous expliquer dans cet article. Il est bien sûr évident que cette méthode peut être utilisée pour tracer des graphiques à partir de tout type de données, du moment que les données arrivent via un port série.
La première étape va consister à récupérer les données du port série sur un PC. Comme souvent, il existe plusieurs façon de faire, je vous présenterais celle que j’ai utilisé ici : un petit script python.

import serial
import sys

serialport = serial.Serial("/dev/ttyACM0", 9600, timeout=1)
line = []

while True:
    for c in serialport.read():
        line.append(c)
        if c == '\n':
            for s in line:
                f=open('myfile','a')
                sys.stdout.write(s)
                f.write(s)
                f.close
            line = []
            break

serialport.close()

Ce petit script prend les caractères arrivant sur le port série, jusqu’au caractère marquant la fin de ligne, puis écrit la ligne dans un fichier. Ca peut éventuellement suffire pour tracer un graphique… Mais dans ce cas précis, on veut pouvoir également envoyer une consigne au régulateur, la modifier afin de suivre la réaction de ce dernier. Problème : comment envoyer des données sans perturber la lecture des données et ne pas sauter de mesure ?
Là encore, il y a plusieurs méthodes possibles, certaines plus complexes que d’autres. Celle que j’ai choisi permet de garder un programme simple, mais ne fonctionnera que sous linux. Ceux sous un autre système chercheront du côté du multithreading…

import serial
import sys
import select

serialport = serial.Serial("/dev/ttyACM0", 9600, timeout=1)
line = []

while True:
        while sys.stdin in select.select([sys.stdin], [], [], 0)[0]:
          ligne = sys.stdin.readline()
          if ligne:
            print(ligne)
            serialport.write(ligne+'\r\n')
          else: # an empty line means stdin has been closed
            print('eof')
            exit(0)
        else:
            for c in serialport.read():
                    line.append(c)
                    if c == '\n':
                        for s in line:
                                f=open('myfile','a')
                                sys.stdout.write(s)
                                f.write(s)
                                f.close
                                line = []
                    break

serialport.close()

Ah oui, j’ouvre et ferme le fichier a chaque écriture, de manière à pouvoir accéder aux données pendant l’exécution du programme. Ca permet de visualiser l’évolution du graphique en temps réel.
Les données sont envoyées par le microcontrolleur sous la forme . Je n’ai pas de mesure de temps, chaque échantillon étant pris à un intervalle d’une seconde, il suffit de compter les échantillons pour connaître le temps écoulé.

Passons maintenant au graphique lui-même. Pour cela, j’utilise le logiciel Gnuplot, outil très puissant de tracé de courbes dont nous n’utiliseront ici qu’une infime quantité de ses possibilités. Lorsque vous lancez gnuplot en ligne de commande, vous vous retrouvez avec un shell dans lequel vous pourrez lancer vos commandes gnuplot.

plot 'myfile' using 1 smooth bezier title 'temperature', 
'myfile' using 2  with line title 'CO', 
'myfile' using 3 with line title 'Setpoint'
 plot 'myfile' using 1 

Indique que l’on va tracer une courbe correspondant aux données de la première colonne du fichier

smooth bezier

Indique que l’on veut lisser les données. Il n’est pas toujours intéressant de lisser les données, par exemple, ici la colonne 3 correspondant à la consigne n’est pas lissée, ce qui permet de visualiser le moment exact du changement de consigne. Par contre, dans le cas des valeurs mesurées, cela permet de s’affranchir du bruit sur les mesures.

title 'temperature'

Légende de la courbe. Pratique dès qu’il y a plus d’une courbe.

Par défaut, gnuplot va afficher le résultat à l’écran. Pour pouvoir enregistrer le résultat dans un fichier il faut taper les instructions suivantes :

set terminal "png"
set output "monfichier.png"
replot

Nota : avec la commande replot (ou avec le bouton replot de la gui), vous pouvez rafraîchir les données affichées, de manière à visualiser en continu vos données…
Il y a certainement plein d’amélioration possibles à ma méthode, mais je vous la présente car elle a le mérite d’être simple et rapide à mettre en oeuvre, tout en fournissant de bons résultats :)

- page 2 de 71 -