Réparation et bidouillages, 3 hacks « quick and dirty »

Réparation d’un poste de radio / CD

Aujourd’hui, réparation d’un poste CD / Radio qui ne marche plus. Le poste s’allume mais le son est très faible, à peine audible. Soit c’est l’ampli soit le dispositif de réglage du son.

Je démonte la bête et inspecte visuellement la carte.

La bête

 

Rien a signaler, aucun composant à l’aspect dégradé. Le potentiomètre du volume ne me semble pas très « doux » à l’utilisation, peut-être que la panne vient de lui. Ayant assisté à un « cours » de circuit bending lors de Vivacités à Rennes, j’ai vu comment hacker les circuits audio en passant ses doigts sur la carte électronique ( ne faites pas ça avec des tensions > 12v… ). Du coup je promène mes doigts sur les pattes du potentiomètre de volume et le son revient nettement plus fort malgré une grande distorsion. Ça confirme mes doutes, le potentiomètre est fichu. Je le dessoude rapidement mais voilà, il a 7 pattes et les potentiomètres de volume que j’ai récupéré dans d’autres appareils n’en ont que 6.

Le fautif

 

Quelques minutes de reverse engineering et quelques shunts plus tard, le poste marche !

La modif

Je colle au pistolet à colle le nouveau potentiomètre au dos de la carte et remonte l’ensemble.

Un hack « quick and dirty » mais qui a le mérite de marcher et d’avoir sauvé de la poubelle ce malheureux poste de radio.

 

Modification d’une caméra Drift HD170

Sur ce genre de caméras embarquées, comme sur les célèbres Gopro, l’image est très belle mais la prise de son est nulle. Du coup, pourquoi ne pas remplacer le micro d’origine par une prise jack permettant de brancher tout type de micro ?

 

La modification ne nécessite que quelques minutes:

  • démontage de la caméra
  • découpe du joint
  • dessoudage du  micro (1)
  • soudage de la prise jack à la place (2)
  • Collage à la colle à chaud du jack
  • Remontage
Caméra

 

La prise jack

 

Le micro

 

La jack est soudée à la place du micro

 

Ce petit hack de rien du tout permet de placer le micro au bout d’une rallonge, dans son casque, sur le vélo… ou d’utiliser une autre source audio de meilleure qualité comme un micro Zoom H1.

 

 LabFab et BristleBot

Aujoud’hui, je suis passé au LabFab de Rennes. @Aristofor était en train de tester des « bristlebot » pour animer des ateliers avec les enfants. J’avais déjà vu ces bricolages de brosses à dents sur le net, mais je n’avais jamais essayé. C’est maintenant chose faite, j’ai fait mon prototype 🙂

J’ai juste abaissé le centre de gravité en plaçant le vibreur entre les poils de la brosse et non sur le dessus. J’ai aussi ajouté des antennes qui le stabilisent et qui en vibrant aident à le guider le long des obstacles.

Bref, inutile mais amusant à faire avec les enfants !

BristleBot

 

Modification d’une lampe LED IKEA « NON » pour fonctionner en 12V

Afin de pouvoir être installée dans un bateau, nous allons modifier une lampe à LED ikea ( modèle NON ). Cette lampe a été choisie par rapport à d’autres en raison de son apparence ( bloc unique, interrupteur sur le dessus et faible prix ).

 

Extrait du site IKEA

 

La modification est très simple, il suffit de retirer le bloc d’alimentation 220v/12v et de remettre une résistance pour que les leds fonctionnent en 12v.

 

Sur la table d’opération

 

L’ouverture du bloc est facile, il suffit de retirer les quelques vis philips au dos de la lampe.

 

Les entrailles

 

Le bloc d’alimentation est dessoudé puis mis de côté pour d’autres projets.

 

Warranty void

 

Il va falloir retirer et récupérer la résistance limitant le courant dans les LED. Il s’agit de R13, une résistance de 8 ohms.

L’essentiel

 

La résistance est alors montée sur un petit morceau de plaque à bandes.

Sortez les fers à souder

 

 

La nouvelle carte, minimaliste

 

On isole le tout avec de la gaine thermo rétractable et on remonte la lampe.

Greffe

 

Ca fonctionne sans problème. L’éclairage est assez léger mais pour un bateau, largement suffisant. D’autant que la consommation est ridicule, 100mA en 12v.

 

Consommation

 

 

C’est tout pour aujourd’hui, l’article est un peu bref, mais il inaugure ma nouvelle grotte et puis je n’ai pas encore ma ligne ADSL et le mode modem en 3G du téléphone a ses limites même si ça marche très bien !

Ajout d’une liaison sans fil Xbee 802.15.4 sur une station météo La crosse Technology WS2305

Il y a 3 ans, j’avais branché ma station météo d’abord sur une Fonera, puis ensuite sur un routeur Netgear WL500 afin d’envoyer les données météo sur un serveur. Ce montage très simple a été remis en cause par une panne « définitive » du routeur et par l’utilisation de la Fonera sur un autre projet. De plus il y avait quelques inconvénients: la consommation électrique du routeur et la présence d’un transformateur, le câble série…

p30_lcf_72dpi_ws2305bla_alu.jpg

Souhaitant à nouveau brancher ma station sur internet, j’ai décidé de  changer de stratégie. Etant donné que je dispose d’un mini PC sous XBMC qui me sert de magnétoscope numérique, j’ai préféré envoyer les données météo sur ce PC. Il me fallait donc une liaison sans fil entre le PC et la station météo qui soit bi directionnelle et qui supporte la distance entre les 2 équipements.

J’ai à ma disposition 2 modules Xbee Pro 802.15.4 permettant le transport d’une liaison série TTL sur la bande des 2.4GHz.

Comme détaillé dans le précédent article sur la liaison avec la Fonera,  il faut localiser à l’aide d’un oscilloscope les signaux TTL de la liaison série de la station. La sortie sur le côté étant à la norme RS232, elle ne convient pas, il faut trouver les signaux en amont du convertisseur RS232 formé ici par des transistors.

IMG_1152_800x600.jpgOn localise sur la carte mère de la station météo 4 points: une masse (GND), une source de courant d’environ 3v (Vcc), le signal Tx et le signal Rx.

Les fils sont ensuite reliés à la carte supportant le module Xbee:

  • Xbee Vcc <-> WS2305 3v
  • Xbee GND <->  WS2305 GND
  • Xbee Tx <-> WS2305 Rx
  • Xbee Rx <-> WS2305  Tx

Le module Xbee normalement alimenté en 3.3v sera ici alimenté en 3.02 V, seule tension disponible sur la carte en dehors des 6v du bloc d’alim.

La carte mère de la station peut maintenant être réinstallée dans son boitier. Le module Xbee est relié par des fils d’une dizaine de centimètres, ce qui permettra de lui trouver une place dans la station.

Le seul emplacement disponible et accessible facilement pour y placer le module c’est le compartiment des piles. Celui-ci n’étant pas utilisé lorsque la station est alimentée par le secteur, le logement est un candidat parfait. La carte d’accueil du module Xbee est collée avec de la colle à chaud au fond du compartiment.

Le module Xbee nécessite juste de plier délicatement l’antenne pour pourvoir refermer le compartiment des piles.

Voilà pour la station météo. Côté PC, nous utilisons un autre module Xbee sur une carte fille (Xbee Explorer chez Sparkfun ) disposant d’un port USB.

Le module est alors vu comme un convertisseur USB / Série FTDI.

usb 4-5: FTDI USB Serial Device converter now attached to ttyUSB0

Afin de permettre aux deux modules de communiquer, il faut configurer quelques paramètres:

  • Les adresses des modules.
  • La puissance du signal.
  • La vitesse du port série.

La configuration se fait sous windows ( 🙁 ) à l’aide de l’utilitaire X-CTU.

Il faut d’abord régler les adresses des modules.

On paramétrera « Destination Address Low » à 1 pour le module de la station et « 16 bits source Address » à 2. Sur le module de réception du PC, il faut faire l’inverse c’est à dire « Destination Address Low » à 2  et « 16 bits source Address » à 1.

Les deux modules peuvent alors communiquer entre eux. On peut aussi utiliser une adresse de broadcast mais je n’en voie pas l’intérêt ici.

Ensuite il faut définir la puissance « Power Level » au maximum ( 4 ) ou non suivant vos besoins, ainsi que la vitesse du port série, identique à celle de la station météo (2400 Bps)

Nous avons terminé pour la partie électronique.

Côté logiciel, on va utiliser Open2300, un ensemble d’outils pour récupérer les données en provenance de la station. Il suffira de compiler les sources avec un simple « Make ». Si vous souhaitez stocker vos données dans Mysql, il faudra aussi faire un « Make mysql2300 » pour générer l’utilitaire mysql2300.

Si comme moi vous n’utilisez pas l’anémomètre, il vaut mieux patcher les sources à l’aide du fichier suivant: delay.patch afin de réduire le temps de récupération des données.

 

gzip -d delay.patch
cat delay.patch | patch -p1

Pensez aussi à paramétrer le fichier open2300.conf comme il se doit.

Lancé dans la crontab par exemple, cet utilitaire permettra de transmettre les données de la station sur un serveur Mysql. Un petit script perl pourra ensuite grapher les données à l’aide de RRDTools: graph.pl
Quelques lignes d’ HTML et l’on peut facilement mettre ces données en ligne

Quand la fraiseuse se met à jour – Episode 2

Vous vous souvenez, il y a quelques temps ma fraiseuse s’est « mise à jour » en s’auto fabricant un support de DREMEL en PEHD. Et bien voilà qu’elle remet ça. Je me suis décidé à remplacer ma table de fraisage en bois par une en PVC avec un système de réglage de l’assiette afin de pouvoir corriger d’éventuels défauts d’alignement ( oui, oui, il y en a un peu… ). Mais avant de remplacer cette table, il faut régler un problème avec les supports des barres de guidage. Les supports sont surélevés avec des rondelles pour permettre le passage des chariots sur douilles à billes. Seulement voilà, avec le poids de la machine, les rondelles commencent à s’enfoncer dans le bois qui n’est pas assez dur (MDF).

J’ai donc entrepris de fraiser des semelles en PEHD pour les supports. Après de longues minutes d’attente voilà mes 4 pieds prêts à poser.

 

Les semelles sont parfaitement ajustées et répartissent le poids de la machine sur le socle en bois.

 

Les bases sont posées, on peut remplacer la table de fraisage. C’est une plaque de PVC très rigide de 15mm d’épaisseur. Elle est montée sur 4 tiges filetées de 6mm afin de pouvoir ajuster précisément sa hauteur. Le pas d’une vis M6 étant de 1mm, ça signifie qu’en serrant l’écrou de réglage d’1 tour je pourrais monter ou descendre la table d’1mm. L’ajustement est donc particulièrement précis.

 

 

Ma table étant ajustable, il faut trouver un moyen précis pour calculer la hauteur requise au 4 coins en corrigeant d’éventuels problèmes d’ajustement de la machine. Pour cela j’ai mis au point un palpeur à monter sur la dremel. Ce n’est rien d’autre qu’un micro interrupteur qui servira à mesurer la hauteur de la table en différents points.

Un petit tour dans les boites à récup et me voilà avec une fiche CINCH, un interrupteur, un cable de souris, un bout de tube et un écrou / boulon de 3mm.

Un petit coup de fer à souder… un petit coup de perceuse pour passer le câble…

Et on assemble le tout à grand coup de colle cyanolite

La fiche CINCH est soudée sur le cable.

Le palpeur est terminé. Je l’installe sur le mandrin de la Dremel et je branche le câble sur l’entrée de la carte de commande servant habituellement au « Homing » de l’axe Z.

 

Le côté mécanique étant terminé, il faut s’attaquer à la partie logicielle. Nous allons utiliser un peu de langage G-CODE pour effectuer une grille de hauteur de la table de fraisage.

(Configuration section)
G21   (mm)
F80    (probe speed)

#1=0  (X start)
#2=50 (X increment)
#3=5 (X count)

#4=0
#5=50
#6=5 (Y count)

#7=2 (Z safety)
#8=-10 (Z probe)
(End configuration section)

(PROBEOPEN probe_table_map.txt)
#9=0 #10=0
G0Z#7
O1 while [#9 lt #6]
#10=0
G0 Y[#4+#5*#9]
O2 while [#10 lt #3]
O3 if [[#9/2] - fix[#9/2] eq 0]
G0X[#1+#2*#10]
O3 else
G0X[#1+#2*[#3-#10-1]]
O3 endif
G38.2Z#8
G0Z#7
#10=[#10+1]
O2 endwhile
#9=[#9+1]
O1 endwhile

(PROBECLOSE)
G0Z#7
G0X#1Y#4
M2

Ce code va lancer des mesures sur un carré de 200 x 200 mm en effectuant une mesure tous les 50mm. Les valeurs sont stockées dans un fichier texte probe_table_map.txt. (Je n’ai rien inventé, j’ai honteusement pompé un exemple proposé avec EMC)

Après quelques minutes, nous disposons d’un fichier texte avec les valeurs mesurées.

0.000000 0.000000 -1.434338 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
50.000000 0.000000 -1.495669 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
100.000000 0.000000 -1.619665 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
150.000000 0.000000 -1.763661 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
200.000000 0.000000 -1.894324 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
200.000000 50.000000 -2.024987 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
150.000000 50.000000 -1.916990 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
100.000000 50.000000 -1.795660 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
50.000000 50.000000 -1.696996 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
0.000000 50.000000 -1.632998 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
0.000000 100.000000 -1.766328 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
50.000000 100.000000 -1.834326 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
100.000000 100.000000 -1.944989 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
150.000000 100.000000 -2.528971 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
200.000000 100.000000 -2.115651 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
200.000000 150.000000 -2.167649 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
150.000000 150.000000 -2.086318 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
100.000000 150.000000 -2.014320 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
50.000000 150.000000 -1.939656 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
0.000000 150.000000 -1.842325 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
0.000000 200.000000 -1.882324 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
50.000000 200.000000 -1.975655 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
100.000000 200.000000 -2.020987 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
150.000000 200.000000 -2.104984 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
200.000000 200.000000 -2.187648 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000

Ce n’est pas très parlant, mais gnuplot peut nous aider. Nous allons créer un petit programme gnuplot utilisant les fonctions pm3d pour mettre en image l’assiette de la table.

set terminal png size 800,800
set output "heatmmap.png"
set xrange [0:200]
set yrange [0:200]
set cbrange [1:-2]
set view map
set dgrid3d 100,100,2
set palette model RGB
set palette defined
#unset surface
set pm3d at s
splot 'probe_table_map.txt' using 1:2:3  with pm3d at s  notitle

Le résultat avec une table non équilibrée.
On voit immédiatement le déséquilibre, le coin devant/gauche est plus haut de 1mm que le coin derrière/droite !

En ajustant légèrement la vis de réglage devant à gauche, on peut corriger l’assiette.

Le résultat est encore imparfait ( j’ai réglé la table au pif ) mais la méthode fonctionne. C’est long et empirique mais l’essentiel c’est d’obtenir un résultat à la hauteur de ses espérances…