10 minutes pour réutiliser un vieux jeans afin de ranger ses outils.
avr 14
10 minutes pour réutiliser un vieux jeans afin de ranger ses outils.
Lien Permanent pour cet article : http://www.equinoxefr.org/post/2013/04/14/range-tes-outils-dans-ton-vieux-jeans/
mar 03
Après avoir rendu de bon et loyaux services pendant quelques années, j’ai un portable Q45 qui a une panne d’affichage vidéo des plus ennuyeuse: Pas de vidéo du tout ou alors un affichage rayé de lignes violettes.
Souvent dans ce cas, il s’agit d’une ou plusieurs soudures défectueuses sur le chipset vidéo. Malheureusement, ce sont des composants BGA dont les soudures sont sous le corps et non sur les côtés.
Elles sont donc inaccessibles aux fers à souder classiques ! Il faut utiliser des technique à air chaud pour arriver à réparer ce type de problème.
Ce type de composant contrairement à ce que l’on pourrait penser résiste bien aux hautes températures (250°C) à condition de bien respecter le cycle de chauffe.
Il faut comme indiqué sur wikipédia, suivre une montée en température progressive avec un préchauffage autour de 150°C.
Dans la vidéo qui suit, j’ai utilisé une station de soudure aoyue 906+ ( Du matériel chinois mais suffisant pour l’amateur à un prix dérisoire… )
Pour le reste, du bon DIY avec un cache en papier d’aluminium pour protéger de la chaleur et du souffle de la buse les composants avoisinant. Un multimètre avec sonde de T° est aussi utilisé pour contrôler la montée en température.
L’opération #screensaver en vidéo
Et le résultat, pas si mal
L’opération qui au premier abord peut paraître compliquée est en réalité assez simple ! Et un portable qui va éviter la benne…
Lien Permanent pour cet article : http://www.equinoxefr.org/post/2013/03/03/reparation-de-la-carte-video-dun-portable-samsung-q45/
fév 12
Certains écrans LCD SAMSUNG / SAMTRON sont connus pour avoir des problèmes après quelques années de fonctionnement. J’ai récupéré un écran SAMTRON 94 H.S qui a des symptômes plutôt étranges. Pour une fois, nous n’avons pas affaire aux classiques condensateurs secs. L’écran s’allume mais ne veut rien afficher d’autre que le message « Mode non optimal ».
A priori, il devrait donc s’agir non pas de la carte d’alimentation mais plutôt de la carte logique. Quelques recherches à coup d’oscillo et de multimètre ne donnent rien de bon. Sans disposer du datasheet du microcontroleur NT68F63LG ni du manuel de service de l’écran, difficile d’aller plus loin avec mes connaissances.
Je me rabat donc sur Internet
J’ai trouvé au fin fond d’un forum une personne qui discutait d’une panne sur un modèle similaire. Le pin 6 du NT68F63LG doit être alimenté entre 3.3v et 5v hors lorsque le problème se produit, il ne reçoit plus que 2v. Placer une résistance d’environ 50 ohms entre les pins 5 et 6 permettent de « remonter » le voltage à 4v et de régler le problème !
Voilà un fix qui coûte quelques centimes et qui prend une trentaine de minutes. Pensez-y si vous avez un écran Samsung / Samtron qui présente les mêmes symptômes. Moi je viens de sauver un 19″ pour quelques centimes
Lien Permanent pour cet article : http://www.equinoxefr.org/post/2013/02/12/reparation-dun-ecran-lcd-samtron-94v-mode-non-optimal/
déc 19
Adafruit vend une petite webcam USB à utiliser comme outil d’inspection pour vérifier ses soudures, lire les inscriptions sur les composants, ou s’amuser avec les enfants… C’est une sorte de microscope USB low cost mais qui donne néanmoins de très bon résultats, pour peu que l’on arrive à faire la mise au point correctement. En effet, celle-ci est manuelle et dépend de la distance lentille / objet et du niveau de grossissement. Une fois le grossissement choisit, il faut approcher / éloigner le microscope pour avoir une image nette. Avec le support de base, c’est quasiment impossible de maintenir une image stable.
D’où l’idée de construire un support réglable !
Les pièces sont modélisées avec openscad puis imprimées sur mon imprimante 3D.
Les supports hauts et bas sont collés à l’epoxy ( JB weld, quel produit miracle
L’ensemble des fichiers pour reproduire les pièce est disponible sur Thingiverse.
et voici pour finir ce bref article des images à divers niveaux de grossissement.
Pour l’électronique, le grossissement x10 à x20 est largement suffisant. Au delà, c’est plus pour explorer l’infiniment petit
P.S: vous avez vu, mes impressions sont quand même meilleurs qu’avant ! J’ai augmenté la température de l’extrusion de 185° à 220° ! Depuis fini les buses bouchées ou les bulles en cours d’impression.
Lien Permanent pour cet article : http://www.equinoxefr.org/post/2012/12/19/support-diy-pour-camera-usb-de-chez-adafruit/
nov 26
Dans mon post précédent, j’ai ajouté un bus I2C sur mon routeur MR3020. Ce bus est prévu pour fonctionner en 3.3v. Le chipset du MR3020 n’est probablement pas compatible avec des signaux 5v. Étant donné que je souhaite relier en I2C un arduino en 5V avec mon MR3020, il faut convertir les signaux 3.3v en 5v et réciproquement, la communication i2c étant bidirectionnelle.
Il existe plusieurs méthodes:
La première méthode est assez simple, il suffit d’utiliser 1 BSS138 par ligne de signal et 4 résistances de pullup. Le principe est décrit dans cette note.
La réalisation peut se faire sur un morceau de perfboard malgré le fait que les BSS138 soient des CMS. Mon circuit n’est pas très propre, mais il fonctionne
Il n’y a plus qu’à câbler les lignes L1 et L2 côté 3.3v sur les lignes SCL et SDA sur MR3020 et les lignes L1 et L2 côté 5V sur l’Arduino ou autre composant i2c 5v.
On peut retrouver ce circuit chez adafruit pour environ 4$ avec 4 lignes de signal.
Passons maintenant au circuit à base de PCA9306. C’est le circuit que j’ai décidé d’utiliser sur le MR3020 pour la bonne raison que j’avais commandé des BSS138 et des PCA9306 donc je préfère utiliser le circuit spécialisé pour la conversion de niveaux sur bus i2c.
La lecture du datasheet nous indique le schéma pour mettre en oeuvre le convertisseur.
Un petit tour chez Sparkfun nous confirme le schéma d’utilisation de ce composant.
Attention toutefois, je n’ai pas le même « form factor » que le PCA9306 de sparkfun et la masse n’est pas au même endroit comme le confirme le datasheet. Suivant le boîtier, la masse est en 1 ou 4…
Le circuit est réalisé sur une perfboard. J’ai mal coupé la perfboard et elle s’est cassée… quel c… mais bon le circuit marche quand même !
Pour souder le PCA9306, il faut un peu de patience et de bons yeux. Voilà une petite vidéo résumant la mise en place du PCA9306 sur une perfboard.
Comme la dernière fois, nous allons tester l’I2C mais cette fois avec un composant i2c 5V, une horloge DS1307.
On câble 5v, GND, SDA, SLC
On lance « i2cdetect » sur le MR3020.
Parfait, le convertisseur fonctionne, notre DS1307 est en 0×68.
La suite avec le branchement de l’arduino
Lien Permanent pour cet article : http://www.equinoxefr.org/post/2012/11/26/conversion-de-signaux-i2c-3-3v-5v/
nov 12
La torture du MR3020 continue ! Comme je l’avais mentionné dans le post précédent, il me faut un bus i2c pour communiquer avec le contrôleur de mon robot qui sera basé sur un Arduino. Il existe de nombreuses GPIO sur le MR3020 mais certaines sont indisponibles car utilisées par le processeur ( initialisation de la flash par ex ). D’autres sont disponibles, comme les LED ou les interrupteurs. Je pourrais utiliser ces GPIO mais c’est dommage de supprimer des fonctionnalités du routeur…
Le routeur MR3020 a un cousin qui dispose de 2 GPIO non utilisées sur sa carte: les GPIO 7 et 29. Nous allons donc rechercher si sur notre routeur elles existent aussi. La page openwrt du MR3020 ne mentionne pas l’utilité de ces 2 GPIO mais qui sait… elles existent peut-être aussi sur ce routeur !
Pour les retrouver, on va d’abord décharger le module de gestion des LEDS pour être sûr de ne pas utiliser ces GPIO.
rmmod leds_gpio |
Ensuite, on exporte ces 2 GPIO et on les place en mode OUTPUT.
cd /sys/class/gpio/ echo 7 > export echo 29 > export echo out > gpio7/direction echo out > gpio29/direction |
Les GPIO sont prêtes pour être utilisées. Afin de les repérer facilement sur la carte à l’aide de l’oscilloscope, on va générer un signal d’horloge bidon avec une fréquence peu élevée à l’aide d’un script « quick and dirty » en python.
import sys import time while True: value = open("/sys/class/gpio/gpio7/value","w") value.write(str(0)) time.sleep(.0005) value.write(str(1)) value.close() time.sleep(.0005) |
Après quelques minutes de recherche, le signal carré est localisé sur les les pattes des résistance 15 et 17, comme sur son cousin le WR703N. Les autres pattes de ces résistances sont à la masse. Ce sont donc des resistances de pulldown mais à quoi servent-elles ? mystère … En tout cas, elles vont me servir
Reste maintenant une opération relativement délicate: dessouder ces 2 minuscules résistances et souder des fils sur
Oui, oui, c’est minuscule ! La preuve si vous comparez avec une résistance classique:
Ensuite passons à la masse. Elle sera prise sur les pattes de l’interrupteur de sélection du mode.
Le 3.3v que l’on prendra sur les pattes de ce que je pense être un régulateur.
Et pour finir le 5V. Il est optionnel mais je pourrais en avoir besoin plus tard. Autant le câbler tout de suite.
Pour résumer les positions des différentes lignes, rien ne vaut une petite photo d’ensemble.
L’i2c étant un bus à collecteur ouvert, il faut placer des résistances de pullup sur les lignes SDA et CLK. Des résistances de 10k sont adaptées pour ça.
Un petit connecteur est réalisé sur un bout de protoboard.
Voilà, c’est presque terminé. Pour tester, je vais utiliser une eeprom i2c venant de chez HobbyElectro, le magasin en ligne créé il y a quelques temps par Furrtek.
Il faut configurer et charger le noyau i2c-gpio-custom en créant un fichier /etc/modules.d/99-i2c contenant la ligne
i2c-gpio-custom bus0=0,7,29 |
c’est tout
Linux est maintenant capable de dialoguer en i2c sur les GPIO 7/29. Elle n’est pas belle la vie ?
Il suffit alors de câbler notre petite eeprom en suivant le datasheet.
On ne branchera que VSS ( masse ) , Vcc, SCL et SDA.
L’utilitaire i2c-detect permet de scanner le bus à la recherche d’une adresse i2c.
Tout marche, l’eeprom est trouvée en 0×50. Parfait !
Bientôt la suite avec l’Arduino…
Lien Permanent pour cet article : http://www.equinoxefr.org/post/2012/11/12/mr3020-et-i2c-avec-les-gpio/
nov 05
J’ai en projet un robot piloté en wifi depuis un smartphone ou un PC. La base de ce robot est un routeur très économique le TP-Link MR3020.
Seulement voilà, j’ai à brancher sur ce routeur:
Au départ j’avais en tête d’ajouter une connectique USB surement présente sur le microprocesseur du routeur, comme j’avais fait il y a quelque temps sur un routeur Netgear. Seulement voilà, le datasheet du microprocesseur n’est pas public et son « form factor » le rend très difficile à bidouiller.
Vous me direz, un usb, ça suffit pour la webcam. Sauf que le routeur n’a que 4Mo de mémoire flash ce qui rend impossible l’ajout de logiciels comme python et mjpeg-streamer. Il faut donc ajouter de la mémoire supplémentaire. Pour cet ajout 2 possibilités: 1 MMC utilisée avec des lignes GPIO ou 1 SD / clef en USB. Les lignes GPIO étant peu nombreuses ( sauf à retirer interrupteurs et LED ) j’ai opté pour l’USB ainsi qu’un lecteur de µSD. Je vais aussi utiliser 2 lignes GPIO en I2C pour communiquer avec l’arduino.
Je me suis procuré un hub USB STOREX à 3€ pour le démonter et récupérer son PCB. Malheureusement le hub n’est pas autoalimenté mais la consommation de la caméra + SD étant très limitée on va y remédier en branchant l’alimentation du hub sur l’USB.
Allez, hop on démonte la boîte qui est collée. Seule la carte nous intéresse. L’alimentation est inutile dans ce projet, on va la mettre de côté pour plus tard.
La prise d’alimentation doit être retirée ainsi que les connecteurs USB afin de gagner de la place et du poids.
Le lecteur de µSD à 3 € est aussi démonté afin d’accéder facilement aux pistes USB. Il est démonté « proprement » pour être ensuite ré-assemblé, la carcasse de la prise USB étant indispensable au maintient de la carte µSD.
Le lecteur peut alors être directement soudé sur le hub USB toujours dans l’idée de gagner de la place.
Ensuite, on peut ré-assembler le lecteur et le coller sur le hub.
J’ai abîmé quelques pistes en dessoudant le connecteurs USB. Il faut dire qu’à 3€, le PCB ne vaut pas grand chose… mais bon c’est quand même de l’epoxy et non de la bakélite.
Retournons maintenant sur le routeur. Afin d’augmenter sa portée assez réduite, nous allons lui ajouter une antenne externe. Il suffit pour cela de supprimer le shunt en J4 et de venir souder l’âme du câble d’antenne sur la piste à côté de l’inscription J4 (1) et la masse sur le pad à côté (2).
C’est tout petit et en zoomant ont voit bien mes gros pâtés !
voilà le résultat avec le routeur dans son coffret d’origine.
Pour ne pas abîmer le routeur, je n’ai pas dessoudé son port USB. J’ai juste soudé directement des fils sous le PCB pour les relier au hub. Un coup de fer et l’on peut rendre au routeur sa fonction d’origine. De plus, à cet endroit, la place occupée par le connecteur ne me gène pas.
La caméra est installée avec une nouvelle connectique à base de barette sécable en 2.54.
Voilà c’est tout pour les modifications matérielles. La suite concernera la recherche de GPIOs libres et la partie soft.
Voilà par exemple une piste. Plutôt que de retirer les LEDS qui ont leur utilité, on peut retirer l’interrupteur de sélection du mode qui ne nous sert pas. Ça nous donnera nos 2 GPIO (1: GND, 2: GPIO 18 & 20) pour l’i2c. Mais avant de faire ça, je vais voir s’il n’y a pas d’autres GPIO peu utiles voire inutiles comme sur son cousin le WR703N
Lien Permanent pour cet article : http://www.equinoxefr.org/post/2012/11/05/projet-de-robot-wifi-torture-dun-routeur-tplink-mr3020/
nov 04
Depuis un certain temps, j’ai un son pourri avec certaines applications. En particulier avec VLC. Le son est à peine audible et complètement saturé de craquements.
Il semblerait que pulseaudio ait du mal avec certains drivers audios.
pierre@macbook:~$ lspci | grep -i audio 00:08.0 Audio device: NVIDIA Corporation MCP79 High Definition Audio (rev b1) pierre@macbook:~$ |
La solution est toute simple, il suffit d’éditer /etc/pulse/default.pa et de remplacer la ligne
load-module module-udev-detect |
par
load-module module-udev-detect tsched=0 |
Ensuite, relancez pulseaudio ou redémarrez.
Lien Permanent pour cet article : http://www.equinoxefr.org/post/2012/11/04/pulseaudio-et-craquements/
nov 03
Afin de motoriser un véhicule télécommandé je vais utiliser des servos modifiés pour autoriser une rotation continue.
Normalement les servos classiques sont prévus pour des rotation de 120 ou 180° mais pas 360. Cela est du à la présence d’un potentiomètre pour l’asservissement du moteur et d’une butée sur les engrenages. En retirant ces deux éléments, on peut autoriser la rotation continue du servo.
On démonte l’arrière du servo en retirant les 4 vis.
Le potentiomètre est dessoudé de la carte du servo. Une vis est à retirer pour enlever le potentiomètre du boitier. Nous n’en avons plus besoin, il peut être mis de côté pour un autre projet ( potentiomètre de 5K ).
Le potentiomètre est remplacé par 2 résistances de 2.2K permettant de bloquer le point « milieu du servo »
Pour la partie mécanique, il faut retirer la butée d’un coup de dremel.
Encore 3 à modifier…
Des roues de voiture radiocommandée 1/10 vont être montées sur les servos. Pour celà, il est nécessaire de disposer d’un adaptateur qui n’existe pas… On va donc l’imprimer
Ressortons openscad.
// Hex hub for RC wheel hex_thickness=5; hex_dia=13; arm_dia=11; arm_length=13; bolt_dia=3; servo_head_dia=5.5; servo_head_thickness=3; difference() { union() { cylinder(r=hex_dia/2,h=hex_thickness,$fn=6); translate([0,0,hex_thickness]) cylinder(r=arm_dia/2,h=arm_length,$fn=50); } cylinder(r=(bolt_dia+0.2)/2,h=arm_length+hex_thickness,$fn=50); translate([0,0,arm_length+hex_thickness-servo_head_thickness]) cylinder(r=servo_head_dia/2,h=servo_head_thickness,$fn=50); } |
Et hop des adaptateurs !
L’objet est disponible sur thingiverse
La suite bientôt avec la modification d’un routeur TP-LINK MR3020 pour piloter le robot.
Lien Permanent pour cet article : http://www.equinoxefr.org/post/2012/11/03/modifier-des-servos-mg995-pour-une-rotation-continue/
oct 19
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.
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.
Quelques minutes de reverse engineering et quelques shunts plus tard, le poste marche !
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.
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:
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.
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 !
Lien Permanent pour cet article : http://www.equinoxefr.org/post/2012/10/19/reparation-et-bidouillages-3-hacks-quick-and-dirty/
Commentaires récents