|
Le bulbe rachidien
L'interface va me servir à proteger le Basic Stamp des courants vennant de la colonne. J'ai choisi pour ça un autre circuit intégré (IC), toujours à cause de son impédance infinie en entrée. En d'autres termes, en cas de court-circuit ou d'attaque inopinée de Mr Murphy, c'est l'IC à 50 centimes qui crame. Cette interface gère la logique rachidienne. Rappellez vous, dans notre analogie, la nouriture de l'animal est le courant du robot. "J'ai faim" se transformerait en "warning battery low". Le reste du rachidien du robot se résumera au volume du haut parleur que l'on peut régler avec une résistance variable. Voilà pour le concept. Passons à l'électronique, cette fois ci ça se corse. On sait qu'il nous faut un IC qui va prendre en charge l'alerte batterie et l'amplification du signal audio pour le haut parleur. Comme mon robot fait 8cm, il me fallait le plus petit IC possible. Pour ces raisons, mon choix s'est porté sur le LM358 : deux ampli-op et moins de 1cm2 (http://www.datasheetarchive.com/). Le LM358 est alimenté par le courant logique 5V uniquement. Un premier ampli-op (AOP) monté en comparateur commandera une diode et un signal vers le micro-contrôleur si le voltage de la batterie (VIN) passe sous 7.20V. Le deuxième sera monté en suiveur avec, en sortie, un diviseur de tension reglable qui atténuera le volume audio.
Pour ceux qui, comme moi il y a deux mois, ne comprennent pas ces dernières phrases, voici quelques explications. Le montage principalement utilisé est le diviseur de tension. Il sert à atténuer le voltage avec seulement 2 résistances. Si vous avez une ligne à 5V vous pouvez obtenir du 3V, du 4.5V ... tout sauf plus de 5V, normal. Ce montage va nous servir pour le comparateur et pour le volume HP. Pour tout savoir sur les composants électroniques, jettez un oeil sur http://etronics.free.fr/dossiers/index.htm. Le comparateur.
L'AOP est monté en comparateur c.a.d. qu'il passe de 0 à 5V si la tension de la patte "-" est supérieure à celle de la patte "+". Nous comparerons ici une tension de référence à celle de la pile (VIN) qui ne va cesser de décroitre durant la décharge (9.4V chargée, 7V déchargée). Si la tension de la pile passe sous la valeur de la référence (limite) l'AOP délivre 5V en sortie. Ces 5V vont alimenter une LED rouge d'alerte et envoyer un signal au micro-contrôleur sur son canal P0. La doc constructeur donne une limite minimum de 7.2V pour une batterie de 7 éléments (pour éviter l'inversion des éléments, la destruction de la pile, bref pour l'utiliser correctement). Notre limite d'alerte sera donc 7.2V. Une question que je me suis longtemps posée: comment comparrer une tension supérieure à 7.2V avec une tension de reference de 5V (ce sera tjrs supérieur, donc jamais d'alerte) ? Là encore c'est le diviseur de tension qui va nous aider, en gros, on divise tout par deux et tout devient possible. On peut comparrer du 3.6V (moitié de 7.2) avec un AOP alimenté en 5V. Dans un montage électronique, pour avoir une tension de référence qui ne bouge pas, on utilise une diode Zener. Elle a la particularité de conserver entre ses bornes une tension constante. Une Zener de 3.6V alimentée en 5V aura toujours une différence de potentiel de 3.6V entre ses bornes. Bon, dans la vrai vie, ça se passe pas exactement comme ça. Pour éviter de consommer trop de jus dans la Zener, on lui ajoute une résistance pour limiter le courant qui la traverse. En fonction de la valeur de cette résistance de charge, la Zener 3.6V devient une Zener 1.71V à 20kOhms, une zener 2.47V à 1kOhm ... etc... à vous de la mesurer.
Reprennons, nous avons un comparateur qui va évaluer la différence entre une tension de référence fixée par une Zener (ref: 3.6V) et la moitié du courant VIN (pile). J'ai choisi de charger ma zener à 2.2kOhms (conso: 2mA), au multimetre je mesure une ddp de 2.26V entre ses bornes. Tout se passe donc comme si j'avais acheté une zener de 2.26V et pas une 3.6V. Ca m'a surpris aussi. Pour obtenir le basculement de l'AOP (la sortie change d'état, de 0 à 5V) à VIN=7.2V, il me faut diviser la tension VIN avec le même rapport (2.26/7.2), je vous passe les calculs de résistance que vous pourrez faire vous même en fonction de votre Zener. J'obtiens des valeurs de 2.2k pour R1 et Rch et 1k pour R2. Avec ces valeurs je me rapproche des 7.2V, en réalité mon AOP va basculer à 7.36V, ça me parrait convenable. Pour les puristes, vous avez aussi la possibilité de remplacer une résistance par un potentiometre pour regler la valeur du voltage au plus près des 7.2V. Le volume HP.
Rappellez vous, dans notre comparaison avec le règne animal, ces AOP servent d'interface entre le système nerveux principal et la colonne. Le rôle de protection est ici assumé par un montage en "suiveur". Autrement dit, l'AOP va exactement copier son signal d'entrée sur sa sortie. On pourrait dire qu'il ne sert à rien, si ce n'est de protéger le BS. Pour obtenir un contrôle du volume, on va placer un diviseur de tension à la sortie de l'AOP, il nous servira d'aténuateur variable. Vous devez commencer à croire que je suis un psychotique de la protection, mais non. En voici la preuve : avec ce système, on peut jetter son HP piezzo qui ne sait faire qu'un LA 440Hz (la note de musique LA) et le remplacer par une vrai HP à bobinage sans craindre les courants d'induction. Le son est plus que meilleur, on entend enfin les aigus et les graves. Mais bon, c'est à vous de juger. Le reste du montage de cette partie est dédié au BS : un bouton reset qui relie la patte "reset" du BS à la masse, et deux condensateurs de découplage pour la patte ATN qui en a bien besoin (enfin c'est la doc qui le dit). Au final, on obtient bien l'équivalent du bulbe rachidien version électronique moderne, avec une consomation ne dépassant pas celle d'une LED. L'utilisation des canaux est relativement simple. Une routine va lire de temps en temps la valeur de P0 dans les registres du BS. Lorsque PO passe à 5V c'est qu'une alerte batterie a été décellée. P1 s'utilise avec la fonction Basic FREQOUT qui génère une note de musique. A vous de créer des séquences de notes assez explicites pour rendre votre robot comprehensible.
|
|||||||||
![]() ![]() |