Bonjour
J'ouvre ce post dans le but d'expliquer à ceux qui ne sont pas familier avec ces technologies, comment les utiliser, qu'est ce que ça fait, ou trouver les logiciels et comment interfacer le micro-controlleur avec l'ampli le plus simplement possible.
Qu'est-ce qu’un Arduino?Un Arduino est dans sa version de base une petite carte équipée d’un micro-contrôleur, d’une horloge, d’une interface USB et d’un régulateur de tension (+5V). Il y a les versions officielles, les clones chinois, et les micro-contrôleurs seuls sous forme de puce en version DIL ou SMD.
Version de base

Micro contrôleur seul

La version officielle fonctionne bien, mais est assez coûteuse.
Les clones Chinois, c’est un peu la loterie, en général ça marche, mais vous pourriez tomber sur des versions ou le port USB n’est pas reconnu.
Le plus compacte est l’utilisation de la puce directement, mais ce n’est pas le plus simple, car si l’horloge n’est finalement constituée que d’un quartz, il faut avoir la bonne tension. La puce idéale vu le boîtier DIL est l’ATmega328, puce de l’Arduino Duemilanove
http://arduino.cc/en/Main/arduinoBoardDuemilanove et trouvable sur eBay avec le quartz et le support pour quelques euros. Attention toutefois à ce que la puce soit déjà chargée d’origine avec le bootloader Arduino.
Dans le cas de l’utilisation d’un Arduino, la programmation de la carte consiste uniquement à connecter le module sur un ordinateur par le câble USB, et depuis le programme Arduino officiel, télécharger le code.
Dans le cas de l’utilisation de la puce directement ou d’une version carte ou le contrôleur USB ne serait pas reconnu par le PC, il y a moyen de programmer la puce par une connexion dite ISP directement sur les broches de cette dernière. Mais il est nécessaire d’avoir un programmateur. Le plus simple des programmateur est d’utiliser une carte Arduino dédiée à ça, dont on aura au préalable chargé depuis le logiciel officiel un programme se trouvant dans les exemples sous le nom de ArduinoISP. La carte en question devient alors programmateur et peut par le port ISP suivant une certaine connectique transférer le code de l’ordinateur ou est relié le programmateur à la puce Arduino. Il y a ici, un Tutorial qui explique comment programmer et relier un Arduino ISP à une puce ou un autre Arduino
http://arduino.cc/en/Tutorial/ArduinoISPVous trouverez le programme officiel pour charger cartes et puces ici:
http://arduino.cc/en/Main/Softwareet trouverez sur le site des informations sur les cartes disponibles et un tuto sur le langage de programmation qui reste toutefois assez basique.
Pour la commande d’amplis à tubes, j’utilise les cartes Arduino Nano, les puces directement, et Arduino Mega 2560 si je dois avoir plus d’entrée sorties. Mais pour la plupart des cas, le Nano ou la puce seront suffisants.
Interfacer l’ampli.Après ce petit détour pour obtenir le matériel nécessaire, nous allons voir comment interfacer l'ampli
Pour pouvoir commander l’ampli, l’Arduino va devoir mesurer et commander des éléments de l’ampli. Il existe sur la carte des entrées digitales et analogiques, ainsi que des sorties digitales pouvant également sortir du PWM (pulsations à largeur variables) qui une fois passées dans un circuit RC deviendra un tension continue entre 0 et 5V. Les entrées, seront également entre 0 et 5V. En général, mon interfaçage avec l’ampli consiste à:
• Alimenter l’Arduino ou la puce depuis un enroulement filament 6.3V après un régulateur.
• Mesurer le courant de cathode
• Commander les grilles 1 ou 2
• Commander le relais haute tension
De plus pour interagir avec l’utilisateur, il faut au minimum:
• Un bouton poussoir
• Une LED
Et optionnellement, et de préférence
• Une LED bicolore
• Un bouton rotatif
• Un instrument à aiguille
On verra plus tard qu’avec juste un bouton poussoir et une LED, on peut déjà offrir pas mal de commande et d’indications en modifiant les séquences de clignotement de la LED et le temps de pression du bouton.
Pour ce qui est des mesures de cathode, il faut s’arranger pour que le signal au point de fonctionnement nominal de l’ampli à l’entrée de l’Arduino soit d’environ la moitié de la tension soit 2.5V. On pourra soit amplifier le signal de cathode avec un ampli opérationnel, soit augmenter la résistance de cathode pour avoir de 1.5 à 3.5 aux bornes.
Un exemple de mesure directe sur un push-pull
https://gitlab.com/vapkse/forums/raw/master/Arduino/DirectMeasure.pngEt sur ce schéma, le signal de cathode est amplifié par les amplis-op en haut, pour adapter le niveau à l'entrée de l'Arduino.
https://gitlab.com/vapkse/forums/raw/master/QQE03-12DPP/Amplifier.pngAttention à protéger l’entrée avec une diode Zener si il y a risque de dépassement au delà de 5.5V, notament si vous passez par des ampli op alimentés au delà des 5.5V.

Attention à filtrer la modulation et ne conserver que la tension issue du courant. Sur le schéma suivant, les condos de 1uF entre les cathodes permettent de faire un filtrage différentiel tant que l'ampli est en classe A. Le passage en classe B étant normalement très bref, l'Arduino n'as pas le temps d'en tenir compte.
[url][url]https://gitlab.com/vapkse/forums/raw/master/QQE03-12DPP/Amplifier.png[/url][/url]
En sortie, il faut idéalement que la tension à la sortie de l’Arduino soit aux environs 2.5V pour un positionnement des grilles au point de fonctionnement normal. La encore, dépendamment du point d’attaque G1 ou G2, il faut prévoir un régulateur de tension commandable par une référence allant de 0 à 5V.
Voici un exemple de régulateur shunt de G2

Il a toutefois l'inconvénient de varier la consommation du transistor lorsque la tension de G2 diminue. Ce qui ne pose pas de problèmes pour une régulation normale, mais commence à en poser lors d'une polarisation intelligente et adaptative. Je tâcherai plus tard de mettre au point un régulateur capable de fonctionner entre 100v et 200V sans que la dissipation augmente.
En ce qui concerne le relais, on peut soit le commander avec un signal 0/+5V avec un transistor amplificateur de courant, on trouve alors des carte toute faites sur eBay.

Ou alors pour ma part, je préfère sortir un signal de commande PWM que je redresserai pour attaquer le transistor de commande du relais. Ca me permet de garantir que l’Arduino n’est pas planté auquel cas, la haute tension tomberais par mesure de sécurité. Notez que seul la commande PWM du relais permet de garantir le relâchement du relais en cas de plantage, car une sortie digitale 0 ou 1 peut rester dans n’importe quel état.
En exemple de connection d'un relais par une sortie PWM:

A suivre....