10 minutes pour réutiliser un vieux jeans afin de ranger ses outils.
Mot-clé - Do it
Dimanche, avril 14 2013
Range tes outils dans ton vieux Jeans
Par Pierre Doucet le Dimanche, avril 14 2013, 08:03 - Planet
Dimanche, mars 3 2013
Réparation de la carte vidéo d’un portable Samsung Q45
Par Pierre Doucet le Dimanche, mars 3 2013, 14:15 - Planet
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…
Mardi, février 12 2013
Réparation d’un écran LCD Samtron 94v – Mode non optimal
Par Pierre Doucet le Mardi, février 12 2013, 10:36 - Planet
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
Mercredi, décembre 19 2012
Support DIY pour caméra USB de chez Adafruit
Par Pierre Doucet le Mercredi, décembre 19 2012, 15:25 - Planet
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.
Lundi, novembre 26 2012
Conversion de signaux i2c 3.3v 5v
Par Pierre Doucet le Lundi, novembre 26 2012, 11:44 - Planet
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, proposée par NXP est basée sur des BSS138, des petits mosfets rapides.
- La deuxième est basée sur un chipset spécialisé le PCA9306.
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
Lundi, novembre 12 2012
MR3020 et I2C avec les GPIO
Par Pierre Doucet le Lundi, novembre 12 2012, 10:48 - Planet
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
- R15
- R17
- GND
- +3.3v
- +5v
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…
Lundi, novembre 5 2012
Projet de robot Wifi – Torture d’un routeur TPLink MR3020
Par Pierre Doucet le Lundi, novembre 5 2012, 19:34 - Planet
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:
- Un arduino sur lequel seront connectés moteurs ( des servos modifiés ) et capteurs.
- Une webcam basique ( Logitech CZ110 ).
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
Samedi, novembre 3 2012
Modifier des servos MG995 pour une rotation continue
Par Pierre Doucet le Samedi, novembre 3 2012, 14:21 - Planet
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.
« billets précédents - page 1 de 6















































































