Quoi de neuf 2014

From Eric

(Difference between revisions)
Jump to: navigation, search
m
m
Line 6: Line 6:
** Une carte à Piccolo (C2000) de TI (acheté par le même moyen, [https://estore.ti.com/LAUNCHXL-F28027-C2000-Piccolo-LaunchPad-P3088.aspx launchpad C2000).
** Une carte à Piccolo (C2000) de TI (acheté par le même moyen, [https://estore.ti.com/LAUNCHXL-F28027-C2000-Piccolo-LaunchPad-P3088.aspx launchpad C2000).
** Quelques PSOC de Cypress. Si TI ne vend que des kits d'évaluation sur leur site, Cypress y vend même directement ses puces en très petites quantités, sans frais de port et, là aussi, livrées très rapidement par FEDEX. J'ai acheté 11 CY8C20234 qui permettent de faire des interfaces "capsense" et 4 CY8C27443. Ces PSOCs embarquent un microcontroleur et une partie analogique configurable. La configuration se fait à l'aide d'un environnement graphiqe très bien fait (PsocDesigner). J'ai fait une petite carte avec un CY8C20234 à titre d'essai (et pour voir si je parvenais à utiliser le programmateur Miniprog). Ca marche.
** Quelques PSOC de Cypress. Si TI ne vend que des kits d'évaluation sur leur site, Cypress y vend même directement ses puces en très petites quantités, sans frais de port et, là aussi, livrées très rapidement par FEDEX. J'ai acheté 11 CY8C20234 qui permettent de faire des interfaces "capsense" et 4 CY8C27443. Ces PSOCs embarquent un microcontroleur et une partie analogique configurable. La configuration se fait à l'aide d'un environnement graphiqe très bien fait (PsocDesigner). J'ai fait une petite carte avec un CY8C20234 à titre d'essai (et pour voir si je parvenais à utiliser le programmateur Miniprog). Ca marche.
-
** J'ai rajouté une rubrique sur les [programmeurs|programmateurs] de chips que j'utilise : TI, Altera, Miniprog de Cypress, Atmel, Microchip (pickit 2 et 3), JTAG pour ARM,...
+
** J'ai rajouté une rubrique sur les [[programmeurs|programmateurs]] de chips que j'utilise : TI, Altera, Miniprog de Cypress, Atmel, Microchip (pickit 2 et 3), JTAG pour ARM,...
   
   
==Octobre 2012==
==Octobre 2012==

Revision as of 16:12, 25 November 2012

Contents

Novembre 2012

  • J'ai réalisé quelques investigations sur le langage synchrone "signal". J'ai aussi découvert une forme assez curieuse de langage de programmation : le langage J, issu plus ou moins d'APL. Très très compact et tout aussi bizarre.
  • J'ai réalisé un petit montage idiot utilisant un MAX7219. Ce chip permet de piloter un affichage 7 segments ou une matrice de leds à très peu de frais (1 liaison série). Pour ce qui concerne le logiciel, je suis reparti de mon "réveil à affichage à led".
  • Quelques nouvelles acquisitions :
    • quelques cartes (launchpad MSP430) à base de MSP430 de TI achetées pour (vraiment) pas cher directement sur leur site (et livrés 3 jours après par DHL!)
    • Une carte à Piccolo (C2000) de TI (acheté par le même moyen, [https://estore.ti.com/LAUNCHXL-F28027-C2000-Piccolo-LaunchPad-P3088.aspx launchpad C2000).
    • Quelques PSOC de Cypress. Si TI ne vend que des kits d'évaluation sur leur site, Cypress y vend même directement ses puces en très petites quantités, sans frais de port et, là aussi, livrées très rapidement par FEDEX. J'ai acheté 11 CY8C20234 qui permettent de faire des interfaces "capsense" et 4 CY8C27443. Ces PSOCs embarquent un microcontroleur et une partie analogique configurable. La configuration se fait à l'aide d'un environnement graphiqe très bien fait (PsocDesigner). J'ai fait une petite carte avec un CY8C20234 à titre d'essai (et pour voir si je parvenais à utiliser le programmateur Miniprog). Ca marche.
    • J'ai rajouté une rubrique sur les programmateurs de chips que j'utilise : TI, Altera, Miniprog de Cypress, Atmel, Microchip (pickit 2 et 3), JTAG pour ARM,...

Octobre 2012

Rien. Trop de travail.

Septembre 2012

  • 30/09/2012
    • J'ai installé un serveur musical sur le Raspberry Pi. L'installation est décrite dans la rubrique MPD sur Raspberry.
  • 23/09/2012
    • J'ai achevé la "baguette magique" du petit dernier. Bon, ça n'est guère satisfaisant : quant à faire des jouets, autant essayer de faire preuve d'originalité. En réfléchissant un peu, on doit pouvoir imaginer des montages amusants pour lui et pour moi : RFID?, capteur d'accélération?... Un peu plus de réflexion d'impose... Ceci dit, voila la dite baguette :
      Baguette magique.jpg
      Baguette magique elec.jpg
    • J'ai aussi terminé le dip-metre :
      Dipmetre a mpf102.jpg
    • J'ai passé un gros bout de temps à migrer 3 de mes machines vers Linux Ubuntu (pas sûr que ça soit une bonne idée,...) [edit: non, en effet... je suis repassé "sous" Windows]
    • J'ai fait l'acquisition d'un analyseur de spectre : un truc fabriqué en Chine pour environ $460 port compris (via Fedex!)... A ce prix là, la (grosse) méfiance est de rigueur. Enfin, "méfiance" n'est pas vraiment le mot car on ne saurait demander à un objet à $460 ce qui coûte généralement au minimum $1000 voire beaucoup (beaucoup plus). En outre, je n'ai pas de gros besoins en la matière.
  • 16/09/2012
    • Après une semaine à bricoler avec ma clef TNT, j'en arrive à la conclusion que rien ne sert de courir, il faut une bonne antenne. La compréhension de la théorie des antennes et sa mise en pratique est une étape indispensable.
    • Tiens, au passage, je suis en train de faire mon premier montage utile : une baguette magique qui clignote et qui fait de la musique pour mon fiston. Enfin l'occasion d'utiliser intelligemment un UM66, une zener et un multivibrateur à transistors...
  • 11/09/2012
    • J'ai reçu la clef TNT (à $20) utilisable comme récepteur SDR large bande : ça fonctionne assez bien avec GnuRadio sous Linux. Le véritable problème concerne l'antenne : avec une antenne télescopique récupérée sur un poste FM, je ne parviens qu'à capter les chaînes de la bande FM (fort bien) et quelques émetteurs de la bande radio aéronautique(l'ATIS de Toulouse notamment). Mais, en vérité, la réception n'est pas beaucoup plus mauvaise qu'avec un "scanner" dédié (maniabilité et portabiliténe sont évidemment pas du même ordre...). On trouvera quelques détails sur mes expérimentation sur la page dédiée aux récepteurs radio.
  • 10/09/2012
    • J'ai vaguement amélioré mon DIP-mètre : le signal est désormais pris sur la source via un condensateur de couplage, redressé par deux diodes et amplifié par un bipolaire.
    • J'ai commencé à regarder de plus près le Raspberry PI. En vérité, je me demande ce que je vais en faire ? serveur Web? Serveur de fichiers ? Serveur audio?... à voir.
  • 03/09/2012
    • De passage chez mon fournisseur préféré, j'ai fait l'acquisition de deux gros cartons de composants qu'il a fallu trier. J'en ai profité pour organiser un peu mon stock de composants et, surtout, me rendre capable d'y retrouver quelque chose. (Voir menu "Stocks" ci-contre.)
    • J'ai créé une rubrique Caractéristique des transistors pour pouvoir rapidement accéder aux bases de données de transistors disponibles sur le Web, ainsi que sur les différents moyens permettant de trouver une équivalence.

Aout 2012

  • 28/08/2012
    • Je suis enfin parvenu à faire un Dip-mètre qui "dippe" (voir la rubrique dip-mètres, modèle à MPF102). Si je rencontre tant de difficultés à réaliser un circuit qui fonctionne conformément aux descriptions dont je m'inspire, c'est que justement, plutôt que "m'inspirer" il me faudrait respecter à la lettre les indications et surtout la nomenclature : remplacer un FET XXX par un FET YYY sans s'être assuré de l'équivalence des deux est risqué...
    • Par ailleurs, j'ai reproduit le schéma du circuit sous LTSpice... Par simulation, j'obtiens des valeurs de tension qui sont bien plus élevées de ce que je mesure in vivo... Y'a queq'chose qui cloche la'd'dans j'y retourne immédiatement...
  • 22/08/2012
    • J'ai rajouté une rubrique sur les techniques de prototypage, c'est-à-dire les techniques permettant de réaliser des circuits rapidement et à peu de frais.
  • 18/08/2012
    • J'ai rajouté une rubrique sur les dip-mètres. A notre que l'on peut aussi utiliser un SWR (un TOS-mètre en français me semble-t-il) pour mesure la fréquence d'accord d'un circuit. Le SWR effectue la mesure du taux d'ondes stationnaires qui dépend de la qualité de l'adaptation d'impédance (notamment, la bonne adaptation d'impédance d'une antenne et d'un émetteur). Si je me souviens bien, il y a adaptation d'impédance si l'impédance de l'émetteur est le conjugué complexe de l'impédance de l'antenne. Le fabriquant MFJ propose à la fois un dip-mètre (c'est d'ailleurs le seul constructeur de ce type d'équipement) et des SWR (le MFJ-249B et le MFJ-259B )sur lesquels on peut fixer des bobines pour le transformer en dip-mètre. Le MFJ-259B affiche directement l'impédance complexe. (Edition 28/08/2012 : j'ai rajouté une rubrique sur les Analyseurs d'antenne.)
    • J'ai fait un petit montage à SAA1057 (une PLL) piloté par un PIC. J'ai recyclé le VCO à 2N4416. Bon, ça ne fonctionne pas : je n'arrive même pas à piloter la sortie de test du SAA. Un coup d'oscilloscope sur le signal d'horloge me montre qu'il n'oscille pas... à voir.
  • 17/08/2012
    • Je poursuis mes investigations sur les VCO. J'ai tenté de réaliser celui décrit ici, qui utilise 3 transitors : un FET pour l'oscillateur, un bipolaire pour le réglage du gain et un autre FET pour le driver de sortie. J'en ai profité pour tester une nouvelle technique de prototypage propre au circuits RF : une espèce de "gravure anglaise" faite à la Dremel. C'est très laid mais ça fonctionne. Il existe bien d'autres techniques dont on trouvera une description dans la rubrique Techniques de prototypage. Voila une photo du circuit. On trouvera plus d'informations dans la rubrique VCO.
      Vco bf961 montage.jpg
  • 15/08/2012
    • Une semaine totalement consacrée à la HF.
    • J'ai réalisé un autre récepteur radio, passif (il ne comporte pas d'oscillateur), sur la base d'un ampli LM358. Comme d'habitude, ça "marchotte" : je ne capte qu'une et une seule radio, FM qui plus est... (alors que c'est un récepteur AM à détecteur à diode!). La réception d'une émission FM sur un récepteur AM est chose courante : il suffit de que la fréquence de l'émetteur FM se situe sur le bord du filtre AM : toute modification de fréquence se traduira par une modification de gain et donc une modification d'amplitude. On trouvera la description de ce récepteur dans la rubrique "récepteurs radio". En voici une photo :
      Recepteur lm358.jpg
    • J'ai aussi réalisé un VCO à base de 2N4416. Ca fonctionne plutôt bien. On trouvera la description du montage dans la rubrique "VCO". En voici une photo :
      Vco 2N4416.jpg
    • Enfin, j'ai commencé à "m'amuser" avec le fameux mixer NE602. Bon, j'arrive à utiliser sa fonction d'oscillateur mais pour ce qui est de sa fonction de mélangeur, je patauge encore.

Juillet 2012

  • 22/07/2012
    • Je viens de terminer mon premier récepteur VHF à un transistor (fréq. 120MHz, le schéma est ici). En voici la photo.
      Fm recepteur vhf un trans.jpg
      Bon, le résultat n'est pas terrible, notamment du fait d'une bobine réalisée à la hache et d'une antenne en dessous de tout. Je suis cependant parvenu à capter le centre ATC en-route(me semble-t-il) ; je capte aussi les réponses des pilotes.
  • 15/07/2012
    • Gros travaux de recherche concernant les récepteurs HF sur internet. Les résultats se trouvent dans la rubrique "récepteurs radio".
  • 13/07/2012
    • J'ai passé un peu de temps à me renseigner sur le sujet des hautes fréquences. Je sais enfin ce qu'est un récepteur superhétérodyne... mot que j'avais lu étant enfant et qui restait bien mystérieux jusqu'ici. En gros, un récepteur superhétérodyne utilise un signal généré dans le récepteur pour ramener la fréquence de la porteuse à une valeur fixe et connue (appelée Intermediate Frequency). Pour ce faire, il suffit de multiplier le signal local de fréquence F1 par le signal reçu via l'antenne de fréquence F2. Cela génère un signal comportant une composante de fréquence IF=F1-F2 et une autre composant de fréquence F1+F2. On supprime la deuxième composante par filtrage. Cela est d'autant plus facile que la fréquence IF est connue et fixe (par ex. 455KHz) : on peut utiliser des filtres très raides du type "résonnateurs céramiques", ou filtres à ondes de surface (c'est d'ailleurs peut-être la même chose, je l'ignore encore...). Voici le schéma de principe emprunté à WIkipédia (article récepteur superhétérodyne) :
      Fm recepteur superheterodyne.jpg
    • Les fréquences intermédiaires dépendent de la fréquence initiale : 455KHz pour l'AM, 10.7MHz pour la FM, etc. Un récepteur peut y utiliser plusieurs fréquences intermédiaires. Pour plus de détails, voir la rubrique récepteurs radio.
  • 12/07/2012
    • Ca y est, mon premier émetteur FM à un transistor (voir plus loin) m'a donné le virus : je me lance dans les hautes fréquences...
    • J'ai créé deux rubriques destinées à recevoir tous les montages concernant la réception et l'émission RF (AM, FM, VHF,...) : Récepteurs radio et Emetteurs radio. Pour l'instant, on y trouvera que le premier récepteur que j'ai réalisé, à base de TDA7000. Ca n'est pas très intéressant, mais il faut bien commencer quelque part. En voici une photo :
      Fm recepteur tda7000 photo.jpg
  • 09/07/2012
    • Un petit émetteur radio. En voici le schéma:
      Emetteur fm 1 schema.jpg
      (original ici) et le résultat
      Emetteur fm 1 photo.jpg
      .
    • Je dois avouer que le résultat n'est franchement pas convainquant : la porteuse n'est pas stable ; je vais essayer quelque chose à base de PLL.
  • 04/07/2012
  • 01/07/2012
    • Les choses avancent très lentement... Je viens juste de terminer le petit bout de soft en assembleur Z80 sur la TI82/83. Désormais, je peux communiquer dans les deux sens. L'inversion des rôles (émetteur / récepteur) est sous le contrôle de l'adaptateur : l'envoi de la valeur 1 demande à la calculatrice de retourner un caractère. Il n'y a pas de timeout (pour l'instant). Cette fonction permet au moins d'attendre la saisie d'un caractère de la part de l'utilisateur.
    • J'ai rajouté le traitement de quelques caractères de contrôle : backspace, CR, CR-LF,... ainsi que quelques commandes un peu plus "complexes", comme l'effacement de l'écran, la fonction HOME, le positionnement du curseur. Ces commandes sont préfixées par le caractère ESCape.
    • Le code assembleur est très simple et pourtant très laid. Comme quoi tout est possible. On en saura plus sur la page dédiée (Utilisation d'une TI 84 en terminal).

Juin 2012

  • 24/06/2012
    • Peu de progrès : je n'ai eu que le temps de faire fonctionner la liaison entre ma TI82-stats et mon PIC16F628. Cela a pris plus de temps que prévu car la fiche jack 2.5mm de Texas est suffisamment différente d'une fiche 2.5mm stéréo standard pour que cette dernière ne fonctionne pas : la bague centrale semble légèrement plus courte sur le câble de TI.
    • Bilan : un peu de temps perdu et l'obligation de couper un câble TI original en deux (ce qui est fâcheux car ce dernier est une denrée rare et chère...).
    • Il ne reste désormais plus qu'à écrire les petits bouts de code qui transformeront la TI en terminal, à savoir :
      • convertir les scancodes TI en code ASCII ;
      • interpréter quelques commandes du type "effacement écran", "home", etc. (un peu à la façon des codes ANSI "<ESC>[2J" de quand-j'étais-jeune) ;
      • gérer les communications dans les deux sens : de la carte à micro-contrôleur vers la TI (rapide) et de la TI vers la carte (lent).
    • Au passage, j'ai déniché une TI83-plus pour 10€ sur un vide-grenier. Cela fait un terminal pas cher. Sachant d'un simple écran comportant le nombre de lignes de la TI coûte bien 10 euros à lui tout seul et que sur e-bay une TI83 plus est au moins à 30 euros, je pense avoir fait une bonne affaire...
    • Frédéric et moi avons essayé de faire fonctionner un petit récepteur radio à diode germanium (le fameux "poste à galène" composé d'une diode, d'une capa variable, d'un écouteur piezo et d'une résistance)... sans succès : il faut en effet une trentaine de mètre d'antenne, ce que nous avions oublié...
  • 17/06/2012
    • J'ai pas mal progressé sur le sujet de la programmation de la TI-82 stats en assembleur. (Se référer à la rubrique Programmation assembleur de la TI84 Stats). La programmation assembleur Z80 me rappelle le "bon vieux temps" où je bidouillais sur ce processeur (Christophe, si jamais tu lis ces lignes...).
    • J'ai réalisé l'adaptateur à PIC16F628. Rien de bien sorcier : un PIC, un buzzer piezo, un transistor et une résistance pour piloter le piezo, deux résistances de pull-up et deux diodes pour les entrées/sorties TI-link, deux LED avec leurs résistances de limitation. Voilà. Ceci étant, j'ai quand même réussi à patauger un bon moment sur la commande du piezo... car j'avais oublié que la sortie RA4 sur laquelle j'ai branché le piezo est en collecteur ouvert (c'est la seule). Cette triste expérience confirme la règle de bon sens qui veut que l'on ne change pas trop souvent de microcontroleur... J'ai aussi réussi à trucider un PIC en faisant une mesure à l'oscillo. : je me suis planté et ai branché la masse de l'oscillo sur le +5V... résultat : le PIC a eu une ultime bouffée de chaleur avant de rendre l'âme.
    • J'ai écrit les quelques lignes C qui réalisent l'émission et la réception d'un octet vers et en provenance de la calculatrice.
  • 14/06/2012
    • Je me suis penché de plus prêt sur l'utilisation de la TI84 en terminal... Le problème est multiple :
      • Réaliser l'interface matérielle permettant d'interconnecter la TI à un montage disposant d'une ligne série TTL (PIC, AVR, etc).
      • Réaliser les deux composants logiciels côté TI et côté interface.
    • L'interface hardware côté calculatrice est simple : la calculatrice dispose de deux ports bidirectionnels en collecteur ouvert (fil rouge et fil blanc). La transmission d'un bit se fait en positionnant l'un des fils au niveau haut et en récupérant l'accusé de réception sur l'autre fil. Il semble que les niveaux soient TTL.
    • L'interface hardware côté microcontrôleur est chargée de transformer le flux en provenance de la calculatrice en un flux série standard. Je pense utiliser un port d'entrée et un port de sortie et un transistor par fil en provenance de la TI. L'idée est de reproduire peu ou prou ce que l'on trouve côté calculatrice.
    • Le logiciel côté TI doit permettre l'émission/réception et l'affichage des données en provenance de l'interface. On peut soit utiliser les fonctions standard (basic) de la calculatrice, mais il faut alors respecter le protocole, décoder les trames, etc. On trouve de l'information sur le format de trames sans avoir à faire trop de rétro-ingénierie. On peut aussi piloter "à la main" l'interface matérielle de la calculatrice, mais il faut alors faire un peu d'assembleur Z80. On trouvera dans la rubrique Programmation assembleur de la TI84 Stats quelques explications sur les outils à utiliser et la façon de les utiliser... Le pilotage est assez simple car il se résume à des quelques "in" et "out" sur le port adéquat.
    • Le logiciel côté interface est trivial.
    • On trouvera plus de détails dans la rubrique intitulée Utilisation d'une TI 84 en terminal.
  • 10/06/2012
    • Ai continué la réalisation du logiciel de mon interface GPIB : interpréteur de commande (hum..., un bien grand mot) et les fonctions de base d'accès au bus (send command, read data,...).
    • Au passage, j'aime beaucoup comment les spécifieurs de la norme jongle avec la logique négative combinée à l'expression négative des signaux... Devinette : quelle est la valeur physique du signal NDAC (qui signifie qu'une donnée n'a pas encore été acceptée) lorsqu'une donnée a été acceptée... A cela vous y rajouter le fait que le driver SN75161 est en logique positive (TE = 1 signifie que le contrôleur "parle" sur le bus), on se marre bien.
    • Ai commencé à jeter un oeil sur la réalisation d'un émetteur FM (simple). Voir la page "A faire...".
    • Ai commencé à réaliser une interface TI84 <=> Série TTL, de façon à pouvoir utiliser une calculette comme terminal plutôt que mon vieux portable IBM... (Ai déniché une TI84 à 30€).
  • 02/06/2012
    • J'ai commencé à réaliser la gestion de la communication entre le PC et l'adaptateur. J'ai aussi jeté un oeil sur la gestion du GPIB proprement dite. On trouvera les informations que j'ai pu glaner sur la page GPIB.
    • Je suis parti du code proposé par l'université de Lubjiana mais, finalement, je suis en train de tout réécrire (non pas parce que ça me convenait pas, mais je souhaite apprendre quelque chose de l'opération...).

Mai 2012

  • 30/05/2012
    • J'ai repris mon montage de galvanomètre pour affichage laser. J'y ai intégré le capteur capacitif et la boucle de commande. Celle-ci est très simple : la valeur de la position (obtenue via le capteur capacitif et un amplificateur à ampli-op) est soustraite de la valeur de la consigne (via un ampli-op) et cette valeur est directement utilisée en entrée de l'amplificateur de puissance.
    • Actuellement, je me contente d'un asservissement proportionnel (le coefficient de proportionnalité est appliqué lors de la soustraction). En effet, la partie mécanique n'est pas assez bien réalisée pour que l'on puisse obtenir quelque chose d'utilisable : les frottements au niveau des roulements et du capteur de position, ainsi que les tensions des différents fils rendent difficile le mouvement du galvanomètre. Ces effets se traduisent par un mouvement saccadé. En l'état, il est inutile de vouloir introduire une composante D ou I dans l'asservissement.
    • Le résultat est une belle usine à gaz assez décevante:
      Galvo overview.jpg
      On trouvera d'autres photos de la réalisation dans la rubrique dédiée au galvanomètre pour affichage laser.
    • J'ai rajouté une rubrique sur les techniques d'interconnexion 5V / 3.3V.
  • 29/05/2012
    • J'ai réalisé la carte adaptateur GPIB/USB. Contrairement à la plupart des montages que l'on trouve sur Internet, je me suis permis d'utiliser les buffers GPIB "standard", à savoir le couple SN75160 et SN75161. Il reste à écrire le logiciel en récupérant ce qui est déjà disponible ici et là... (On trouvera les liens vers les "projets de référence" dans l'article).
  • 28/05/2012
    • J'ai eu quelques soucis avec la gestion de la carte SD de mon boitier de signalisation de points d'intérêt : j'ai réussi à détruire mon Atmega328 avant d'être parvenu à faire fonctionner la chose... Le problème provient de l'adaptation des signaux entre l'Atmega en 5V et la carte SD en 3.3V.
    • J'ai tout d'abord adopté la technique utilisant une diode et une résistance vers le +3.3 (technique d'écrêtage): le résultat fut de grosses perturbations du 3.3V assez mal régulé par un pauvre 78LZ33. C'est un problème connu de cette technique. J'ai ensuite adopté la technique utilisant à nouveau une diode et une résistance de pull-up vers VCC. Et c'est là qu'une fâcheuse manipulation mis fin à l'expérience... On trouvera dans la rubrique intitulée Interconnexion 5V / 3.3V diverses techniques pour interconnecter des dispositifs alimentés en 5V et 3.3V en mono et bidirectionnel.
    • Aussi, je me suis rabattu vers un Atmega8 et ai limité mes velléités à l'affiche de la latitude, de la longitude et du nombre de satellites en vue. Voilà une photo du résultat :
Affichage poi simple.jpg
  • 20/05/2012
    • J'ai fini le décodage des trames GPGGA de mon boitier de signalisation de points d'intérêt.
    • J'ai rajouté le calcul de la distance entre deux points en (lat,long). L'introduction de calculs en virgule flottante a bien rempli la mémoire! Pour continuer sans trop me faire de noeuds au cerveau, il va me falloir passer sur un ATmega328 (32K de flash et 2K de RAM). Avec cet espace supplémentaire, il sera non seulement possible d'implémenter la fonction de signalisation de POIs mais probablement d'ajouter d'autres fonctions (lesquelles?...). A méditer.
    • La prochaine étape va consister à faire fonctionner la carte SD. Avec un 328, je pourrais facilement utiliser la bibliothèque FATFS. Ceci dit, je vais peut être faire les choses "moi-même", à plus bas niveau, afin de profiter de l'occasion pour comprendre le fonctionnement d'une carte SD. Une troisième possibilité est d'utiliser une bibliothèque d'accès SDRAM sans système de fichier, comme celle proposée . A méditer aussi...
    • Je pense ajouter une fonction de signalisation audio par radio, à l'aide d'un BA1404 de Rohm.
  • 19/05/2012
    • Je suis parvenu à faire fonctionner le récepteur GPS destinée à mon boitier de signalisation de points d'intérêt. Je croyais que le modèle dont je dispose délivrait ses sorties au format TTL ; il n'en est rien : quoique alimenté en 5V, il produit bien des signaux RS232.
    • Une fois cette découverte faite, je n'ai eu qu'à rajouter MAX233 pour convertir les niveaux. J'ai écrit les quelques lignes de code permettant de décoder la trame NMEA GPGGA. Cette trame qui contient l'heure UTC, la latitude, la longitude ainsi que le nombre de satellites en vue.
  • 18/05/2012
    • J'ai connecté le récepteur GPS (RoyalTek RGM-3600 /LP SiRFIII) sur ma carte Atmega... Rien.
    • J'ai réalisé vite fait bien fait un convertisseur TTL/RS232 pour vérifier le bon fonctionnement de la ligne série de l'Atmega et du GPS.
    • Après avoir passé un bon bout de temps à me demander pourquoi je ne recevais pas les bons caractères sur mon PC, je me suis rendu compte que j'avais oublié de connecter le GND de la ligne série à celle du MAX233.
    • Les effets étaient assez drôles puisque certains caractères étaient reçus correctement et pas d'autres. J'ai longtemps pensé à une erreur de configuration de l'Atmega, mais après avoir jeté un coup d'oeil à l'oscilloscope (côté TTL), je me suis rendu compte que l'ATmega affichait bien ce qui était transmis. En branchant l'oscilloscope côté RS232, je me suis rendu compte que les créneaux ressemblaient à des portions d'exponentielles. Les sorties du MAX233 changeant d'état en fonction d'un seuil, cela se traduisait par le fait que certains bits étaient correctement échantillonnés et pas d'autres en fonction de la séquence de bits à transmettre... Une fois le problème corrigé, la communication est OK.
    • Il reste à tester le récepteur GPS.
  • 17/05/2012
  • 16/05/2012
    • J'ai reçu mon oscilloscope HP 54201 ainsi que mon fréquencemètre ENERTEC Schlumberger 2711. Mon atelier ressemble de plus à un musée... Je pense avoir désormais ce qu'il faut (voire plus) en matière de matériel de mesure...
  • 15/05/2012
    • Je suis en train de réaliser un petit boitier de signalisation de points d'intérêt (POI, pour éviter d'appeler un chat un chat). Il s'agit essentiellement de corréler une position obtenue par un GPS au contenue d'une base de données de POI et de prévenir l'utilisateur de la proximité de ce POI. A la date du 15, la petite carte à Atemega8 est réalisée.
  • 8/05/2012
Traceur courbe face avant.jpg
Traceur courbe face interieur.jpg

Voici un exemple de courbe caractéristique pour un BD241C :

Traceur courbe bd241c.jpg
  • 2/05/2012
    • J'ai terminé la première partie du traceur de courbes caractéristiques, à savoir : la partie "alimentation électrique". Elle comporte trois sources continues (-12V, +12V et 5V) et une source alternative avec un limiteur de courant. Elle produit en outre un signal d'horloge à 100Hz qui va servir à générer les différentes tensions de gate (FET) ou courants de base (BJT).
    • Même si le montage est excessivement simple, j'ai rencontré quelques difficultés avec les régulateurs 12V que j'ai du changer 2 fois... Je suspecte (à nouveau) un problème de composant "clone" analogue à celui que j'ai déjà eu avec des L297. La morale est la suivante : il faut impérativement tester les régulateurs avant de les souder : ça évite de devoir les dessouder et ça évite aussi de griller ce qui est alimenté par le régulateur...

Avril 2012

  • 30/04/2012
    • Le testeur de transistors ayant été réalisé, je suis passé à autre chose : un traceur de courbes caractéristiques, c'est-à-dire un instrument qui permet de visualiser les courbes de réponse de divers composants. L'utilisation essentielle est l'affichage des courbes i=f(Vce) des transistors, pour diverses valeurs du courant de base. On trouvera sur la page dédié à ce montage des liens vers les différentes réalisations. Pour une première approche, je vais faire un montage simple qui utilise un oscilloscope pour visualiser la courbe. Dans mon cas, les tensions / courants nécessaires sont issus du secteur via plusieurs transformateurs et les valeurs de tension (FET) ou de courant de base (BJT) sont obtenus au moyen d'un compteur et d'un CNA en R-2R. On trouvera par ailleurs des montages plus sophistiqués utilisant des microcontroleurs ; ce sera pour une autre fois...
    • Dans le cadre de la réalisation de ce traceur, la tension Vce est directement issue d'un transformateur. Afin d'éviter de griller le transistor, il est nécessaire de limiter le courant. Le montage de référence (voir page dédiée) utilise un TL431 monté en limiteur de courant. Je trouve cependant que le potentiomètre de réglage, qui est situé sur la ligne de charge voit passer pas mal de courant (pour un potentiomètre) : 50mA. J'ai donc dans l'idée d'employer un autre montage à transistors qui est moins précis mais pour lequel le courant qui traverse le potentiomètre est beaucoup plus faible. Le voici :
      Traceur courbe limiteur courant.jpg
    • J'ai réalisé ce (tout petit) montage pour m'assurer qu'il fonctionne. C'est bien le cas.
  • 27/04/2012
    • J'ai réalisé le testeur de transistors. Ca n'était pas bien difficile vue le nombre très réduit de composants. L'objet fonctionne assez bien, mais je n'ai pas de garantie quant à sa précision. A noter que plusieurs versions du logiciel ont été développées dont certaines apportant de nouvelles fonctions, une précision accrue et... son lot de bugs. Par contre, j'ai du modifier (et donc recompiler) le logiciel car les délais utilisés dans la gestion de l'écran LCD étaient apparemment trop courts pour mon LCD. Je vais essayer de me familiariser un peu avec le soft pour voir comment l'auteur s'est pris pour faire tant de chose avec si peu de composants... Pour plus de détails, aller sur la page dédiée au testeur de transistors, mais en voici une photo :
      Transistor tester boitier.jpg
    • J'ai gravé et découpé la version définitive du capteur capacitif. Je n'ai plus qu'à souder les fils et l'installer sur l'axe du galvanomètre... puis réaliser l'asservissement.
  • 22/04/2012
    • Premier tour des élections présidentielles. Charybde et Scylla, peste et choléra... [Edit : François hollande a été élu... mais ça, ça n'est désormais plus un scoop, mais de l'Histoire]
    • J'ai réalisé une maquette de capteur capacitif pour le galvanomètre pour affichage laser :
      Galva capteur proto.jpg
      Galva capteur proto monte.jpg
      Je l'ai testé et ça marche plutôt bien. Il n'est pas utile de faire plus de segments. Par contre, les frottements sont importants et couper de l'époxy en forme de disque est assez difficile (à la Dremel). Le plus simple est de graver (au perchlo) un disque sur une plaquette de forme carrée. Aussi ai-je réalisé le typon du capteur (sous Inkscape) :
      Galva capteur typon.jpg
    • Je vais réaliser un testeur de transistors. J'ai aussi en projet un traceur de courbes caractéristiques (curve tracer).
  • 19/04/2012
    • J'ai réalisé un capteur de proximité à infrarouge à base de PLL NE567. C'est basique mais ça permet d'éviter les problèmes d'interférence avec la lumière artificielle ou solaire. En voila la photo une fois réalisé :
      Capteur proximite schema.jpg
  • 18/04/2012
  • 16/04/2012
    • J'ai encore passé pas mal de temps à me remettre à niveau du côté des transistors bipolaires. J'ai aussi commencé à utiliser LTSpice pour expérimenter mes circuits.
    • J'ai achevé l'électronique du système de mesure de position capacitif. C'est un peu compliqué, et certainement beaucoup trop, mais j'ai fait avec ce que je sais. On trouvera les détails (circuits, résultats de simulation, courbe mesurée) sur la page du Galvanomètre_pour_affichage_laser.
    • En voici le schéma et la maquette correspondante
      Galva mesure capa schema.jpg
      Galva mesure capa circuit.jpg
      Galva mesure capa circuit-2.jpg
  • 9/04/2012
    • Peu bavard ces derniers temps... J'ai passé (et passe encore) le plus clair de mon temps à me remettre à niveau côté "électronique du transistor". J'ai cependant poursuivi mes expérimentations concernant la mesure de position par capacité.
    • Suite à mes précédentes tentatives, j'ai fait un générateur 2MHz carré en utilisant 4 transistors (2 amplis tension et deux amplis courant). Puis j'ai poussé mes investigations du côté des oscillateurs à transistors. J'ai fait un petit oscillateur Colpitts à 2.4MHz. Mais l'amplitude est faible (quelques dizaines de mv). Je suis donc allé voir du côté des amplificateurs de puissance... et c'est alors que je me suis dit que je devais vraiment me pencher sur le cas du transistor en régime linéaire.
    • J'ai analyse un bon paquet d'amplificateurs audio : les montages sont quasiment toujours les mêmes : un ampli différentiel en entrée sur lequel se fait la contre-réaction suivi d'un transistor qui commande les bases d'un push-pull de puissance. Les bases des deux transistors du push-pull sont "séparés" par deux diodes qui permettent d'éviter la distorsion de croisement.

Mars 2012

  • 21/03/2012
    • Mon montage à push-pull n'est pas terrible car la tension en sortie du PP est de [-2.5+0.6,+2.5-0.6]. En effet, la base des transistors est à un potentiel compris entre -2.5V et 2.5V (du fait du condensateur de couplage) et VBE=0.6 volts... Avec une si petite amplitude, le signal en sortie du capteur est de quelques dizaines de millivolts, et le rapport signal / bruit est mauvais. Il faut que j'augmente l'amplitude, mais je ne vois pas comment faire avec des transistors bipolaires...
  • 19/03/2012
    • La mesure de capacité reste le sujet du jour. J'ai expérimenté le schéma de mesure différentielle utilisant deux diodes. Pour une fréquence d'entrée sinusoïdale de 2.4MHz et 12V P.P., je parviens à une amplitude du signal de sortie de plusieurs volts!
    • J'ai fait mes premières mesures en utilisant mon géné BF, mais l'objectif est de disposer d'un générateur autonome. Le signal n'a pas besoin d'être sinusoïdal ; un signal carré (rapport cyclique de 50%) est suffisant.
    • J'ai fait une première expérience en utilisant un 555 et une capacité (pour supprimer la composante continue et rendre le signal symétrique) directement connectée au capteur. Ca ne fonctionne pas pour deux raisons :
      • L'impédance d'entrée du système de mesure est trop faible ;
      • Le 555 ne monte pas à 2.5 MHz.
    • Concernant le première point, j'ai réalisé un push-pull à transistors alimenté en [-12V, +12V]. Le push-pull est (comme précédemment) connecté au générateur par une capacité (pour en éliminer la composante continue).
    • Concernant le second point, j'ai refait un générateur montage avec un 4060 et un quartz de 16MHz, ce qui est un peu luxueux... Une porte logique ou un inverseur devrait être suffisant (ceci dit, le coût est pratiquement le même) :
      Galva push pull 4060.jpg
    • A noter que dans tous les cas, la capacité du capteur va être très faible...
  • 13/03/2012 (de Flevoland, en Hollande)
    • La journée du 12 a consisté à faire de premières investigations sur la mesure d'une capacité, dans l'objectif de réaliser un capteur de position capacitif pour mon galvanomètre.
    • J'ai tout d'abord réalisé le condensateur "différentiel" qui m'a servi à effectuer mes mesures :
      Galva dif capa.jpg
    • La première technique consiste simplement à mesurer la tension aux bornes de la capacité alimentée par une tension alternative (100KHz, sinusoïdale) :
      Galva direct.jpg
      Ca marche plutôt bien : on observe une variation de plusieurs dizaines de millivolts :
      Galva direct capa 1.jpg
      Galva direct measure 1.jpg
      Galva direct capa 2.jpg
      Galva direct measure 2.jpg
      Par contre, je ne mesure la tension qu'aux bornes de l'un des deux condensateurs.
    • La deuxième technique consiste à placer le condensateur différentiel dans un pont (du type pont de Wheatstone) et de mesurer la tension entre les deux branches du pont : cette tension doit être nulle à l'équilibre. L'équilibrage est réalisé en utilisant un potentiomètre (qui implémente les deux résistances du pont). Ca marche pas mal non plus, et ça permet de règler le zéro (ce qui sera nécessaire vu les capacités parasites...) :
      Galva bridge measure all.jpg
      Galva bridge capa 1.jpg
      Galva bridge measure 1.jpg
      Galva bridge capa 2.jpg
      Galva bridge measure 2.jpg
    • Ceci étant, ces deux solutions présentent l'inconvénient suivant : les tensions mesurées sont alternatives et d'une valeur qui ne permet pas l'usage de diodes (la tension de polarisation de la diode est pratiquement égale à l'amplitude du signal). En outre, une mesure de phase est nécessaire si on veut pouvoir distinguer les positions symétriques du condensateur différentiel.
    • Deux solutions :
      • La première consiste à utiliser un pont de diode idéal (sans tension de polarisation) à l'aide d'ampli-opérationnels : <dessin à insérer> Je vais investiguer...
      • La deuxième solution semble avoir été adoptée par Chan. Elle consiste à utiliser un structure en double T. On trouvera ici tous les détails (sur cette structure ainsi que sur les structures en pont). L'auteur est intarissable : "As a measurement circuit for differential capacitive sensors, the twin-T configuration enjoys many advantages over the standard bridge configuration. First and foremost, transducer displacement is indicated by a simple DC voltage, not an AC voltage whose magnitude and phase must be interpreted to tell which capacitance is greater. Furthermore, given the proper component values and power supply output, this DC output signal may be strong enough to directly drive an electromechanical meter movement, eliminating the need for an amplifier circuit. Another important advantage is that all important circuit elements have one terminal directly connected to ground: the source, the load resistor, and both capacitors are all ground-referenced. This helps minimize the ill effects of stray capacitance commonly plaguing bridge measurement circuits, likewise eliminating the need for compensatory measures such as the Wagner earth. " Voici un dessin issu du document :
        Galva tbridge.jpg
    • Dans les deux cas, il faut alimenter le circuit avec une tension sinusoïdale. On l'obtient facilement à partir d'un oscillateur à 555 suivi d'un filtre passe-bas. A noter qu'un multivibrateur à transistors ne fonctionne pas (ou ne devrait pas fonctionner) du fait de la nécessité d'alimenter le circuit de mesure avec une tension assez élevée (12V), ce qui conduit à une tension Vbe hors spécification.
  • 12/03/2012
    • Je viens de terminer la première version ("maquette") d'un galvanomètre pour affichage laser. Le voici :
      Galva mockup.jpg
      . J'ai fait une vidéo sans intérêt qui montre que ça fonctionne...
    • Je commande la bobine avec un TDA2030A :
      Galva command.jpg
      C'est un ampli généralement utilisé comme ampli audio (18W). En supprimant les capas sur l'entrée et sur le feedback, je l'utilise comme un bête ampli op de puissance pas cher (un vrai ampli op de puissance comme le LM675 coûte beaucoup [beaucoup] plus cher. A noter qu'il faut être très vigilant avec le découplage des alims. En effet, si le découplage est mal fait, on obtient çà en sortie :
      Tda2030a oscillates.jpg
      L'ampli oscille ; ça se traduit par un circuit intégré brûlant... J'ai mis les deux capas de découplage de 100uF (qui étaient marquées optionnelles sur la datasheet) et ça fonctionne plutôt bien.
    • Ceci dit, en l'état, il n'est pas possible de placer la bobine dans une position donnée.
      • En effet, la bobine n'a que deux positions d'équilibre. Elle passe d'une position à l'autre en fonction du sens de l'alimentation, une position d'équilibre étant caractérisée par l'alignement des champs des aimants permanents et de la bobine.
      • Pour pouvoir placer le rotor (donc le miroir) dans une position précise, il y a deux solutions :
        • Ajouter une force d'intensité variable en fonction de la position de la bobine. Dans ce cas, la position d'équilibre dépendra du champ du rotor. On peut faire cela en ajoutant un ressort de rappel (comme dans un galvanomètre classique), en plaçant un balourd (c'est ce que j'ai fait en fixant une pince croco sur l'axe : le moment de rappel dirigé vers le sol dépend de l'angle de rotation, mais d'une façon non linéaire), en fixant un objet métallique sur l'axe qui, attiré par l'aimant permanent, exercera une force de rappel (c'est ce que fait AUSSI ma pince croco).
        • Ajouter un capteur de position et piloter la bobine en fonction de l'écart entre la position de consigne et la position mesurée.
      • La première solution est simple et fonctionne en "boucle ouverte". Par contre, elle ajoute une force de rappel que la bobine devra contrer. Elle est imprécise (disons qu'il faut bien connaître la relation entre la position et l'intensité de la force de rappel, mais cela peut s'obtenir par calibration a posteriori). Enfin, et c'est là le principal problème : le miroir va osciller pendant un certain temps avant d'arriver à sa position d'équilibre, ce qui dégradera très fortement la qualité de l'affichage.
      • La deuxième solution est plus compliquée mais beaucoup plus intéressante. Comme Chan, la mesure de position va s'effectuer au moyen d'un capteur capacitif. J'ai fait quelques mesure avec un bout de papier d'aluminium et mon inductance mètre maison, et j'observe des variations de capacité de l'ordre du picofarad (ça se calcule, évidemment). Je vais réaliser un motif que je transférerai sur une plaque d'époxy. La difficulté va consister à découper l'époxy en forme de disque... L'idée est de partir d'un motif en deux demi-disques : ce schéma permet une variation de 0 à Cmax sur un demi-tour. Puisque je ne demande pas au miroir de faire un demi-tour, mais plutôt un quart de tour, un motif en 4 secteurs permet de faire varier la capacité de 0 à Cmax sur un quart de tour (on pourrait continuer le raisonnement pour augmenter le dC/dangle). Voici ce que ça donnerait :
        Motif capteur capacitif.jpg
  • 06/03/2012
    • Je poursuis mes investigations côté laser.
      • J'ai commencé à réalisé un galvanomètre sur l'axe duquel je compte placer un miroir. J'ai réalisé deux bobines que j'ai fixées sur un axe en aluminium monté sur roulements à billes. Le gros problème de cette approche (le rotor est une bobine) est d'alimenter la bobine sans trop affecter le mouvement de l'axe or, actuellement, les deux fils d'alimentation (0.2 mm de diamètre) jouent le rôle de ressorts... Ceci dit, et a priori, si je pilote la position du miroir en boucle fermée, le problème du fil ne devrait pas être insurmontable...
      • La mesure de la position de l'axe s'effectuera par un capteur capacitif (solution adoptée par Chan). Plusieurs approches sont possibles : utiliser la variation de la fréquence d'un oscillateur (par ex. un 555) ; utiliser un montage en pont (à la façon d'un point de Wheatstone). Je crois que je vais investiguer cette dernière solution. (A noter que Chan utilise une autre technique.).
      • Pour ce qui est de l'alimentation des bobines, je vais utiliser un ampli op de puissance type LM675. C'est une solution simple mais assez onéreuse. Une autre solution consisterait à réaliser un ampli en push-pull avec de bons vieux transistors. A voir.
      • En vérité, mon plus gros problème actuel est de parvenir à découper proprement les différentes pièces "mécaniques" en plexiglas ou profilé d'aluminium. Pour ce qui est du plexiglas, on obtient le meilleur résultat en marquant la coupe avec un cutter (plusieurs fois) à l'endroit et à l'envers puis en cassant la pièce.
    • J'ai commencé à monter une nouvelle carte à base de Pic32 et d'ENC28J60 de Microchip. L'idée est de tester la communication Ethernet avec un montage à microcontrôleur. L'ENC28J60 fournit les couches physique et MAC ; Microchip fournit le reste de la pile TCP/IP gratuitement. A suivre...

Février 2012

  • 26/02/2012
    • Mes dernières tentatives de faire fonctionner cette $@# caméra NB avec un DsPic ont échoué...
      • J'ai modifié le soft pour ne conserver que les pixels format les plages connexes les plus grandes (je compte le nombre de voisins de la même couleur).
      • J'ai aussi rajouté une phase de calibration : au démarrage, caméra couverte, je cherche le plus bas niveau de détection qui conduit à la luminosité minimale. J'arrive bien à acquérir quelques pixels (32*32) mais c'est pratiquement inexploitable.
    • En parallèle, je commence à regarder du côté de l'affichage laser.
      • L'idée est simplement de piloter un miroir pour déplacer un faisceau laser selon un chemin donné. C'est un sujet qui a déjà intéressé nombre de personnes. On trouve sur le net diverses solutions : utilisation de haut-parleurs, de moteur de pilotage de têtes de disque durs, de moteurs pas-à-pas, de moteurs à courant continu, ou réalisation de véritables galvanomètres. La difficulté consiste à pouvoir piloter les miroirs avec une vitesse suffisante, ce qui implique un rotor avec un minimum d'inertie.
      • La solution à haut-parleurs et la plus simple et la moins coûteuse, mais les déplacements sont très limités (ce qui pose un problème si on veut afficher quelque chose sur un mur proche). La réalisation de vrais galvanomètres ("galvos" dans le jargon) donne de bien meilleurs résultats, surtout s'ils sont pilotés en boucle fermée. (En boucle ouverte, on a recours à un ressort pour ramener le galvo dans une position donnée.)
      • Quelques liens :
  • 21/02/2012
    • Ayant enterré l'horloge, je m'en retourne vers la caméra NB pilotée par un DsPic (cf. acquisition directe du signal vidéo issu d'une caméra analogique N&B).
    • J'avais laissé la chose dans un état semi-comateux : j'arrive à afficher une image (très) grossière sur un écran VGA, mais cette image n'a rien à voir avec ce que la caméra "voit".
    • Après quelques heures d'investigations (que j'aurais pu ramener à quelques minutes si j'avais lu la doc attentivement), il s'avère que ma vitesse d'échantillonnage était trop grande (et de loin).
    • La datasheet précise qu'une conversion dure 12 TAD avec TAD = TCY(0.5 (ADCS+1)) et que cette valeur ne doit pas être inférieure à 83.33 ns.
    • A 30Mips (vitesse max du DsPIC), mon temps de cycle est TCyc=33ns.
    • Pour ADCS=6, alors TAD=33ns(0.5x(6+1))= 115.5ns (>83.33ns). Si on utilise le sampling automatique, la durée d'une acquisition complète est de (12+SAMC)xTAD. Pour SAMC=1 on a un temps d'acquisition d'environ 1.5us. (Auquel il faut ajouter les quelques instructions nécessaires au lancement de la conversion et à l'attente de sa terminaison. Je vais faire la mesure pour voir...)
    • On rappelle que la durée d'une ligne est de 25.17us (partie contenant l'image, hors synchro et porch). Avec une telle vitesse d'acquisition, La résolution ne va pas être terrible !
    • La solution va consister à ne faire que 10 mesures par ligne sur une image mais à utiliser 3 images successives, en décalant le t0 d'échantillonnage.
  • 17/02/2012
  • 16/02/2012
    • Ca y est! Ca marche : j'arrive désormais à afficher un texte sur mon "horloge" (qui n'est donc pas vraiment une horloge...). Il est tard : je décrirai par le menu la chose demain...
    • Voici une photo de l'horloge en fonctionnement. On trouvera ici, et encore de courtes vidéos qui montrent la chose.
      Propeller text.jpg
    • Voir la page Propeller Clock pour plus de détails...
  • 13/02/2012
    • J'ai réalisé un petit support pour mon horloge. J'ai fixé l'hélice à grands renforts de colle chaude, ce qui est laid mais rapide et -- enfin je l'espère -- solide.
    • J'ai refait la carte de commande du transformateur primaire en remplaçant le 7400 (qui me servait à inverser le rapport cyclique du signal généré par le 555) par un FET (2N7000), ce qui est plus économique...
    • En utilisant des condensateurs neufs, j'arrive à une tension suffisante pour réguler en 5 volts.
    • Il me reste à faire une petite carte de commande du moteur brushless de la tête (c'est-à-dire un potentiomètre et un bornier). Après, j'attaque le logiciel. Je vais faire simple : une routine d'IT pilotée par le capteur Hall, une routine d'IT sur temporisateur. A chque déclenchement Hall, je regarde combien j'ai reçu d'ITs timer : si c'est inférieur à --- disons --- 180, je réduis la valeur du timer et inversement.
    • A chaque tic du timer, je récupère la valeur à afficher dans un tableau, je pilote les leds et j'incémente le compteur. Ca doit être faisable...
  • 06/02/2012
    • Ma Propeller Clock progresse, doucement. Lors de mon dernier compte-rendu, je faisais part de mon désarroi quant à la capacité d'alimenter le microcontrôleur et les 10 LEDs situées sur l'hélice. Je concluais par "Y'a kek'chose qui cloche la d'dans... j'y retourne immédiatement...".
    • J'y suis retourné et ai fait les modification suivantes :
      • Pour obtenir un meilleur transfert d'énergie, j'ai augmenté très sensiblement la tension de la bobine au primaire. Afin d'éviter de brûler la dite bobine, j'ai limité la puissance en modifiant le rapport cyclique de mon oscillateur à 555. Il est désormais de l'ordre de 10%. Actuellement, la bobine primaire est alimentée en 16 volts, mais pendant un temps très court. Ainsi, je récupère suffisamment d'énergie au secondaire pour réguler en 3.3V. Mon MOSFET de commande est un peu chaud, mais rien de bien grave. Le PIC fonctionne et mes 10 LEDs brillent à peu près convenablement (surtout les rouges).
      • Par ailleurs, j'ai trouvé la documentation du chip qui pilote le brushless de la tête de lecture de magnétoscope. J'ai réussi à comprendre le circuit imprimé (c'était pas trop difficile) et suis parvenu à faire tourner la chose.
    • Aujourd'hui, je suis donc capable de faire tourner l'hélice et de transmettre suffisamment d'énergie pour l'alimenter. Il ne me reste donc plus qu'à assembler le tout et écrire les quelques lignes de logiciel pour afficher quelque chose. Comme dirait l'autre, ça n'est plus que du logiciel...
    • Voici quelques photos.
      • Le montage complet
        Propeller full.jpg
      • L'alimentation (à gauche le 555 et le MOSFET plus un inverseur pour inverser le rapport cyclique)
        Propeller alim complet.jpg
      • L'hélice, alimentée par le transformateur tournant.
        Propeller prop light.jpg

Janvier 2012

  • 29/01/2012
    • J'ai poursuivi mes investigations concernant ma Propeller Clock, notamment pour ce qui concerne le transfert d'énergie vers l'aiguille. L'idée d'utiliser un frotteur me rebutant, j'ai pensé (et apparemment je ne suis pas le premier...) utiliser une tête de lecture de magnétoscope qui comporte un "transformateur tournant" (rotary transformer) pour transmettre le signal des têtes de lecture / écriture. Aussitôt dit aussitôt fait...
    • J'ai donc réalisé un petit oscillateur à NE555 à 20Khz qui alimente, via un MOSFET, les bobines du stator d'une tête de magnétoscope (VCR head, VCR drum). Voici à quoi ça ressemble :
      Propeller alim.jpg
      Il y a quatre bobines correspondant aux quatre têtes. En voila une photo :
      Propeller transformateur tournant.jpg
    • J'ai récupéré et mesuré le signal de l'autre côté en branchant en séries quatre bobines. Le signal ne dépasse pas 2 volts crête-à-crête alors que le primaire est alimenté sous 5v et que mon MOSFET chauffe bien : rendement pas terrible. J'avoue cependant ne pas avoir bien compris la façon dont les bobines du primaire sont branchées ; la mesure des résistances sur les broches du connecteur me donne des valeurs un peu étranges... Dans tous les cas, la tension est insuffisante pour alimenter quoi que ce soit et certainement pas mon "aiguille" à PIC16F628 et ses 10 LEDs à 20mA :
      Propeller aiguille.jpg
      .
    • J'ai donc réalisé un multiplicateur de tension à diodes :
      Propeller multiplicateur.jpg
      Voici la tension en entrée du multiplicateur
      Propeller multiplicateur in.jpg
      et en sortie
      Propeller multiplicateur out.jpg
      .
    • Ceci dit, même si la tension dépasse maintenant les 7 volts et est capable de faire briller deux LEDs en parallèle, elle ne permet pas à un régulateur de réguler (même en 3.3V) ...
    • "Y a kek'chose qui cloche la d'dans j'y retourne immédiatement..."
  • 25/01/2012
    • Ca y est, le Rubicon est franchi : il ne sera pas dit que je n'aurai pas réalisé ma propre version de la sempiternelle "Propeller Clock". Hier, profitant d'un "congé" inespéré, j'ai réalisé "l'aiguille" qui comporte 10 leds de diverses couleurs, le PIC et le capteur à effet Hall.
    • Au passage, j'ai étudié diverses pistes pour alimenter la Chose :
      • Une bobine sur l'aiguille et une bobine sur le chassis : tension trop faible (voire inexistante) avec la bobine que j'ai eu la patience de réaliser.
      • Une bobine sur l'aiguille et un de ces méchants petits aimants au néodyme : j'ai même pas essayé, car il me faudrait, là aussi, bobiner plus que de raison.
      • Un moteur "monté à l'envers", c'est-à-dire avec le rotor rendu solidaire du chassis et le stator (qui comporte les fils d'alimentation) monté sur l'aiguille. Ah ah! Là ça peut marcher.
        • J'ai ainsi essayé un petit moteur à balais, mais la tension ne dépasse pas 2 volts. Je pourrais faire un survolteur avec un (deux?) oscillateur à transistors (un multivibrateur) et un petit multiplicateur de tension à diodes (une pompe à charges). Je vais voir mais je doute de parvenir ainsi à fournir les 200mA demandés par mes diodes! (Au passage, je pourrais peut-être directement utiliser un de ces convertisseurs step-up si pratiques...)
        • J'ai aussi essayé un autre moteur brushless : j'arrive à une tension de 4 volts qui devrait suffire, mais je n'ai pas trouvé un moyen simple de rendre solidaire l'axe du rotor du deuxième brushless avec le socle. En outre, je m'interroge encore sur le comportement des capas de lissage électrochimique soumise à un forte force centrifuge... A priori, ça ne devrait pas avoir d'effet notable dans la mesure où : (i)si l'électrolyte joue un rôle lors de la réalisation du condo je crois qu'il n'en joue plus après (??), (ii) l'électrolyte est confiné au condo et ne va pas s'en échapper...
    • En définitive, je pense que je vais bêtement utiliser des frotteurs réalisés avec de la tresse à dessouder. C'est moche et je crains que ça ne fonctionne pas (discontinuités d'alimentation), mais ça a le mérite d'être excessivement simple.
  • 21/01/2012
    • Sur la base de mon contrôleur de moteur brushless, j'aimerais bien faire une de ces fameuses "propeller clocks", c'est-à-dire une horloge dont l'affichage est constitué d'une rangée de leds en rotation. La difficulté réside dans l'alimentation électrique de la partie tournante. Plusieurs solutions : utiliser des balais (laid!), utiliser l'alimentation du rotor si le moteur est à balais, fixer une bobine sur la partie mobile et une autre bobine - alimentée - sur la partie fixe (ou un aimant), etc.
    • J'ai fait un petit montage avec deux bobines grossières (quelques tours de fil émaillé), un NE555 et un transistor de puissance. Je mets les deux bobines face-à-face et j'alimente l'une d'entre-elles : je n'observe rien... Il faudrait bien plus de tours de fil ou une bien plus grande intensité... A suivre.
  • 16/01/2012
    • Une demi-journée de RTT et hop, voila mon moteur qui fonctionne en boucle fermée sur ma petite carte de contrôle du moteur brushless!! J'ai remplacé le moteur un peu bizarre issu d'un lecteur IOMEGA par un moteur de disque dur. Voila la carte de "puissance" (hum...;-)
      Ctrl brushless dd.jpg
      et voici la partie qui réalise le contrôle en boucle fermée :
      Ctrl brushless ctrl.jpg
    • J'ai du modifier la rampe de démarrage qui n'était pas adaptée à la plus grande inertie du moteur. Le démarrage est encore laborieux (plusieurs secondes...) mais je peux en vérité faire démarrer le moteur quasi instantanément : la rampe de démarrage me permet limiter l'intensité max à peu de chose et éviter (aussi) une trop grande accélération à ce qui sera placé sur l'axe du moteur...
    • Le résultat est impressionnant : le moteur tourne aussi vite qu'il est possible vu mon PIC16F628 à 4MHz (il va falloir que je fasse le calcul ou la mesure, mais c'est au moins 1000 tr/min).
    • Je peux modifier le couple (jusqu'à pratiquement l'arrêter) et il continue à tourner sans problème... C'est-y-pas merveilleux?
    • Inutile de cacher que je me suis inspiré de diverses sources (qui s'entre-inspirent d'ailleurs). Le contrôle de rotation s'effectue via 3 comparateurs (j'aurais pu, utiliser les comparateurs intégrés au PIC, comme prévu initialement...) LM311 qui détectent la FEM induite dans le bobinage non piloté.
    • Bon, il me reste à compléter l'article du wiki pour expliquer en détail comment fonctionne un brushless (ce qui est déjà décrit sur mille autres sites...) et comment fonctionne la boucle fermée (c'est franchement trivial, notamment du point de vue soft)!
    • Je vais tout de même réfléchir à la réalisation de l'une ces fameuse horloges à LEDs tournantes. Mon principal problème est de transmettre l'énergie de la base vers le dispositif tournant et ce sans utiliser de contact glissants... Je vais donc mettre une bobine sur le disque et un aimant sur la platine : vu la vitesse de rotation, je devrais pouvoir obtenir une bonne tension, surtout si j'utilise un des aimants au néodyme que j'ai récupéré en démontant mes disques durs...
  • 08/01/2012
    • Le moteur brushless de ma petite carte de contrôle du moteur brushless démarre et tourne dans problème en boucle ouverte. Bon, c'est pas un exploit (20 lignes de code, y compris celle pour configurer le PWM). Il faut dire que le moteur est très léger aussi n'ai-je pas de problème lié à l'inertie. L'exploit, ce sera lorsque je parviendrai à le faire tourner en boucle fermée sans capteur... Au vu de ce que j'observe sur l'oscilloscope, ça n'est pas gagné (notamment à cause du PWM qui créé de facheuses perturbations). A suivre...
  • 01/01/2012
    • J'ai déplacé le journal 2011 sous la rubrique Quoi de neuf 2011.
    • Je viens de terminer une petite carte de contrôle du moteur brushless. Mon objectif est d'en faire le contrôle sans capteur (optique ou hall). "Sensorless" comme disent nos zamis.
      Ctrl brushless.jpg
    • J'ai utilisé deux L298, histoire de ne pas avoir à refaire des ponts en H et de ne pas avoir à me soucier des états incohérents.
    • A ce propos, noter qu'on trouve sur le marché des L298 qui ne fonctionnent pas. J'en suis arrivé à cette conclusion en comparant l'aspect des L298 qui fonctionnent avec ceux qui gisent désormais dans mon "cimetière" de composants : ils appartiennent à deux catégories bien distinctes ; voir photo.
      L298OK KO.jpg
    • Ca ne serait pas bien ennuyeux (encore que...) si ces chips pouvaient être mis sur support. Or ils sont dans un boîtier qui imposent de les souder. Grrrrr...

La suite (journal 2011) est sous la rubrique Quoi de neuf 2011.

Personal tools