Quoi de neuf 2014
From Eric
m |
m |
||
Line 2: | Line 2: | ||
* 28/2/2014 | * 28/2/2014 | ||
** Me voici de retour après une longue période de léthargie... | ** Me voici de retour après une longue période de léthargie... | ||
- | ** J'ai repris une idée de montage que j'avais eue l'année dernière : une horloge non linéaire. Il s'agit simplement de modifier une horloge électronique banale afin que son mouvement ne soit plus régulier mais reste "asymptotiquement" correct. "L'électronique" de commande utilise un Attiny13A, un module RTC à base de DS1307 (acheté sur e-bay pour trois fois rien) et un pont en H (pour la commande du moteur pas-à-pas de l'horloge).[[File:crazyclock-1.jpg|300px|thumb|none]][[File:crazyclock-2.jpg|300px|thumb|none]][[File:crazyclock-3.jpg|300px|thumb|none]][[File:crazyclock-4.jpg|300px|thumb|none]] | + | ** J'ai repris une idée de montage que j'avais eue l'année dernière : une horloge non linéaire. Il s'agit simplement de modifier une horloge électronique banale afin que son mouvement ne soit plus régulier mais reste "asymptotiquement" correct. "L'électronique" de commande utilise un Attiny13A, un module RTC à base de DS1307 (acheté sur e-bay pour trois fois rien) et un pont en H (pour la commande du moteur pas-à-pas de l'horloge).[[File:crazyclock-1.jpg|300px|thumb|none]][[File:crazyclock-2.jpg|300px|thumb|none]][[File:crazyclock-3.jpg|300px|thumb|none]][[File:crazyclock-4.jpg|300px|thumb|none]] On trouvera aussi une vidéo [http://youtu.be/VvUTmVzNHjM|ici]. |
** Par ailleurs, voici un petit montage de contrôle par PID d'un moteur à courant continu (à base d'amplis ops). Le schéma suivra. [[File:motorpid-1.jpg|300px|thumb|none]] [[File:motorpid-4.jpg|300px|thumb|none]][[File:motorpid-3.jpg|300px|thumb|none]] | ** Par ailleurs, voici un petit montage de contrôle par PID d'un moteur à courant continu (à base d'amplis ops). Le schéma suivra. [[File:motorpid-1.jpg|300px|thumb|none]] [[File:motorpid-4.jpg|300px|thumb|none]][[File:motorpid-3.jpg|300px|thumb|none]] | ||
** Enfin, j'ai commencé à réalier une [[petite carte à Z80]]. Ca me rappelle le bon vieux temps (aux alentours de 1983) : l'époque du ZX81 (hello Christophe!). Pour trouver un petit intérêt supplémentaire à l'exercice, j'ai décidé de mettre le peu de logique nécessaire à la génération des signaux de contrôle RAM, ROm et PIO dans un GAL (un 16V8D). Bon, ça n'est plus très à la mode mais pour de ptites choses... On trouvera quelques informations pratiques sur la programmation de ces choses dans la rubrique [[GALs]]. Voici une photo (sans intérêt) du montage actuel).[[File:z80-1.jpg|300px|thumb|none]] | ** Enfin, j'ai commencé à réalier une [[petite carte à Z80]]. Ca me rappelle le bon vieux temps (aux alentours de 1983) : l'époque du ZX81 (hello Christophe!). Pour trouver un petit intérêt supplémentaire à l'exercice, j'ai décidé de mettre le peu de logique nécessaire à la génération des signaux de contrôle RAM, ROm et PIO dans un GAL (un 16V8D). Bon, ça n'est plus très à la mode mais pour de ptites choses... On trouvera quelques informations pratiques sur la programmation de ces choses dans la rubrique [[GALs]]. Voici une photo (sans intérêt) du montage actuel).[[File:z80-1.jpg|300px|thumb|none]] |
Revision as of 11:23, 28 February 2014
Contents |
Février 2014
- 28/2/2014
- Me voici de retour après une longue période de léthargie...
- J'ai repris une idée de montage que j'avais eue l'année dernière : une horloge non linéaire. Il s'agit simplement de modifier une horloge électronique banale afin que son mouvement ne soit plus régulier mais reste "asymptotiquement" correct. "L'électronique" de commande utilise un Attiny13A, un module RTC à base de DS1307 (acheté sur e-bay pour trois fois rien) et un pont en H (pour la commande du moteur pas-à-pas de l'horloge). On trouvera aussi une vidéo [1].
- Par ailleurs, voici un petit montage de contrôle par PID d'un moteur à courant continu (à base d'amplis ops). Le schéma suivra.
- Enfin, j'ai commencé à réalier une petite carte à Z80. Ca me rappelle le bon vieux temps (aux alentours de 1983) : l'époque du ZX81 (hello Christophe!). Pour trouver un petit intérêt supplémentaire à l'exercice, j'ai décidé de mettre le peu de logique nécessaire à la génération des signaux de contrôle RAM, ROm et PIO dans un GAL (un 16V8D). Bon, ça n'est plus très à la mode mais pour de ptites choses... On trouvera quelques informations pratiques sur la programmation de ces choses dans la rubrique GALs. Voici une photo (sans intérêt) du montage actuel).
- J'en ai profité pour acheter un petit programmateur universel : le "Genius" G540. Pour l'instant, il fonctionne plutôt bien.
Janvier 2014
Néant.
Décembre 2013
Ensemble vide.
Novembre 2013
Nada.
Octobre 2013
Rien, rien de rien...
Septembre 2013
Aucune activité en électronique, faute de temps : achat d'une maison, déménagement, travaux...
Je vais tenter de suivre un MOOC. il s'agit de l' "Introduction to logic" sur coursera. A suivre.
Août 2013
Le quadcopter a maintenant 4 moteurs. J'ai repris le logiciel de contrôle (un truc tout simple en C++) qui communique avec l'Arduino embarqué au moyen d'une de ces fabuleuses puces de souris sans fil... Il reste désormais à attendre la réception d'un support d'hélice pour commencer les essais sérieux.
Au passage, déménagement en cours... Le dernier avant quelque temps, j'espère.
Trucs intéressants :
- Odroid, des cartes à la sauce Raspberry, mais plus performantes (et plus chères, aussi). On pourra s'intéresser aussi à OLinuXino.
- "La partie et le tout", d'Heisenberg.
Juillet 2013
Quelques travaux sur le quadcopter. Pas grand chose.
Juin 2013
- 4/6/2013
- Je suis enfin parvenu à obtenir une stabilisation du "balancier" sur mon "banc Quadcopter". L'asservissement n'est pas très rapide (ni très stable, ce qui est un comble), mais on va dire que ça fonctionne grosso modo. Je suis parvenu à quelque chose d'à peu près satisfaisant en ajoutant un I à mon PID. En effet, l'ESC réagit "par palier", ce qui induit soit une grosse erreur statique (si P est petit), soit d'horribles oscillations (si P est grand).
- Je me suis fait une petite application Java pour pouvoir afficher la valeur des différents paramètres.
- Bon, ça n'est pas génial mais ça me permet de passer à la phase 2 : utilisation de 4 moteurs et 4 hélices.
- On trouvera quelques vidéos ici, là, là et encore là.
- Voila quelques photos. La première montre le banc en fonctionnement ; la deuxième montre le moniteur. La courbe très bruitée montre le signal d'angle retourné par l'accéléromètre ; le créneau montre la consigne d'angle. On constate que l'angle "suit" peu ou prou la consigne.
Mai 2013
- 15/5/2013
- J'ai fait quelques premiers tests de la Kinect d'Xbox 360 dont j'ai fait l'acquisition sur ebay (50€ + 10€ pour l'alimentation externe 12V).
- J'utilise pour l'instant le SDK sous Windows (avec Visual Studio Express 2012). C'est assez spectaculaire! Le SDK fournit permet non seulement d'accéder aux données brutes des capteurs (une caméra couleur, une caméra infrarouge), aux données de profondeur, mais aussi à des données plus élaborées relatifs à la position du corps (bras, jambes, tête, bouche,...).
- Il existe aussi un driver et un ensemble de SDK utilisables sous Linux. Le driver est libfreenect ; l'API de base est OpenNI réalisée par la société qui a conçu le capteur ; l'API de plus haut niveau est NITE. Il existe de nombreux bindings : SimpleOpenNI pour Processing, Java, C#, etc. et même pour Common Lisp! Je n'ai encore rien utilisé de tout celà.
- 9/5/2013
- J'ai fait une première expérimentation de la bibliothèque de traitement d'image OpenCV. Je l'ai installée et recompilée sur un vieux Celeron. On trouvera quelques informations sur ce sujet dans la rubrique OpenCV. A partir de cette bibliothèque, on parvient par exemple très facilement à suivre un objet de couleur avec quelques lignes de code.
- J'ai repris mes expérimentations sur les FPGA. A titre d'exemple, j'ai réalisé le pilotage d'un écran VGA (quelques lignes de VHDL). J'ai dans l'idée de faire un "pong" ou un "casse briques". Bref, quelque chose de très simple. (Les photos sont ici (zone privée).
- A noter que je m'étais déjà frotté au VGA il y a deux ans, avec un DsPIC. J'étais alors parvenu à afficher quelque chose de très grossier (voir le journal à la date du 27/12/2011).
- J'ai refait un petit récepteur infrarouge RC5.
- 4/5/2013
- Victor s'est cassé la clavicule...
- 3/5/2013
- J'ai réparé mon clone de "bus pirate" qui ne fonctionnait pas. La réparation est fort laide mais l'outil fonctionne désormais :
- Date incertaine
- J'ai dans l'idée de bricoler quelque chose avec une horloge à aiguilles. J'ai remplacé l'électronique de commande originelle par une simple électronique de commande du moteur pas-à-pas qui fait mouvoir les aiguilles (un pont en H à base de 2222 et 2907) :
- Je pense faire une espèce d'horloge un peu déréglée dont l'aiguille des secondes avancerait à un rythme irrégulier tout en assurant une indication des minutes et des heures "exactes".
- Date incertaine
- Frédéric et moi avons commencé à construire notre "quadcopter". Le controle-commande sera réalisé par un Arduino.
- Pour commencer, nous avons construit un petit balancier en aluminium afin de mettre au point l'asservissement de position horizontale. L'idée est de se faire la maine avec un seul moteur et un capteur d'accélération avant de faire quelque chose de plus gros (2 moteurs puis 4 moteurs). En voila une photo :
- Les résultats ne sont pas trop mauvais. Nous avons réalisé un petit asservissement en PD. Les coefficients ont été fixés de façon empirique mais ça ne marche pas trop mal. La video que nous avons faite montre la réponse du système à une perturbation. Dans cette version, l'état d'équilibre est atteint assez lentement car (i) nous n'avons pas affiné les réglages et (ii) nous avons mis une batterie pour alourdir le système.
- L'alimentation électrique est fournie par une alimentation à découpage de rack capable de délivrer 2x12A sous 12V (et 60A sous 5V !).
- Cette première manipulation nous a permis de nous familiariser avec les ESC, et notamment avec les fonctions de programmations qu'ils offrent, ce que nous ignorions complètement jusqu'ici.
- On trouvera plus d'information sur la page concernant le Quadcopter V1.
- Date incertaine
- A la demande de Frédéric, j'ai réalisé un petit boitier de commande de relais à partir d'une ligne série : l'utilisateur envoie des commandes du type "O1" pour ouvrir le relais 1, "C2" pour fernmer le relais 2, etc. Rien que de très évident... En voila cependant une photo :
Avril 2013
Je crois bien que je n'ai rien fait...
Mars 2013
Février 2013
- 4/2/2013
- A force de lire des bouquins sur les asservissements, je me suis dit qu'il ne serait pas idiot d'en "fabriquer" un. Je me suis donc lancé dans la réalisation d'un régulateur de vitesse de moteur à courant continu. C'est l'exercice de base pour tout automaticien car (i) le matériel pour le réaliser est facile à obtenir, (ii) le modèle mathématique (fonction de transfert) est relativement simple.
- Pour l'instant, je me suis contenté d'une approche empirique ; je traiterai "proprement" le problème plus tard...
- Le système comporte un moteur à courant continu à balais (moteur de lecteur de CD) sur l'axe duquel j'ai collé un minuscule aimant au néodyme. La vitesse du moteur est obtenue au moyen d'un capteur à effet hall : lorsque l'aimant passe devant le capteur, un condensateur est déchargé ; il se recharge pendant que le rotor fait un tour. Vue la vitesse de rotation, l'exponentielle de chargement du condensateur est "très proche"" d'un segment de droite. Le signal en dent de scie est "recopié" au moyen d'un ampli-op monté en suiveur puis filtré à l'aide d'un filtre passe-bas discret. J'obtiens ainsi un signal dont la valeur reflète la vitesse de rotation (proche de VCC pour les petites vitesses lente car le condensateur est chargé pratiquement tout le temps et tendant vers 0 lorsque la vitesse augmente).
- Le signal d'erreur (différence entre la vitesse de rotation et la consigne de vitesse) est calculé par un ampli-op monté en soustracteur.
- Le signal d'erreur est amplifié (ampli-op monté en ampli inverseur); on y rajoute alors une tension d'offset (voir plus loin...) et on inverse le tout pour obtenir le signal de commande.
- Le signal de commande est passé en entrée d'un montage darlington comprenant un transistor petits signaux et un transistor de puissance.
- Voila ce à quoi ressemble le montage (;-)) :
- On trouvera plus de détails dans la rubrique "Asservissement d'un moteur en vitesse".
Janvier 2013
- 13/1/2013
- Reprise de la "barrière infrarouge" à NE567 expérimentée l'année dernière : Je vais rajouter un multiplexeur analogique pour pouvoir traiter plusieurs capteurs (utilisant un CD4051) et peut-être un PIC pour en faire un dispositif de détection autonome.
- 4/1/2013
- Je me suis amusé à installer un interpréteur basic sur ma carte à NXP1768 (arm). L'interpréteur s'appelle Jumentum. Cet interpréteur est accessible via Ethernet ou via une ligne série. Sur Ethernet, il est possible d'utiliser telnet ou un browser web. Jumentum propose un éditeur intégré assez puissant (plein écran). On trouvera quelques détails sur cette manip dans la rubrique intitulée "Interpréteurs sur microcontroleurs".
- J'ai réalisé une toute petite expérimentation du chip MAX2606. Ce chip intègre dans un tout petit boitier SOT23-6 un oscillateur avec sa varicap. Il permet (notamment) de réaliser un adaptateur sortie audio -> FM. C'est ce que j'ai fait. On trouvera le détail dans la rubrique "Emetteurs radio". En attendant, voila une petite photo du montage comportant l'émetteur à MAX2606 et le récepteur à TDA7000 :
Les années précédentes :