Catégorie: "Bonnes manières électroniques"
Routage achevé
Deprecated: Creation of dynamic property Item::$cache_has_content_parts is deprecated in /export/home/bertrand/web/blog/b2evolution/blogs/inc/items/model/_item.class.php on line 4911
Deprecated: Creation of dynamic property smilies_plugin::$classfile_path is deprecated in /export/home/bertrand/web/blog/b2evolution/blogs/inc/plugins/model/_plugins.class.php on line 413
Deprecated: Creation of dynamic property quicktags_plugin::$classfile_path is deprecated in /export/home/bertrand/web/blog/b2evolution/blogs/inc/plugins/model/_plugins.class.php on line 413
Deprecated: Creation of dynamic property archives_plugin::$classfile_path is deprecated in /export/home/bertrand/web/blog/b2evolution/blogs/inc/plugins/model/_plugins.class.php on line 413
Deprecated: Creation of dynamic property archives_plugin::$dbtable is deprecated in /export/home/bertrand/web/blog/b2evolution/blogs/plugins/_archives.plugin.php on line 54
Deprecated: Creation of dynamic property archives_plugin::$dbprefix is deprecated in /export/home/bertrand/web/blog/b2evolution/blogs/plugins/_archives.plugin.php on line 55
Deprecated: Creation of dynamic property archives_plugin::$dbIDname is deprecated in /export/home/bertrand/web/blog/b2evolution/blogs/plugins/_archives.plugin.php on line 56
Deprecated: Creation of dynamic property email_elements_plugin::$classfile_path is deprecated in /export/home/bertrand/web/blog/b2evolution/blogs/inc/plugins/model/_plugins.class.php on line 413
Deprecated: Creation of dynamic property financial_contribution_plugin::$classfile_path is deprecated in /export/home/bertrand/web/blog/b2evolution/blogs/inc/plugins/model/_plugins.class.php on line 413
Deprecated: Creation of dynamic property ping_b2evonet_plugin::$classfile_path is deprecated in /export/home/bertrand/web/blog/b2evolution/blogs/inc/plugins/model/_plugins.class.php on line 413
Deprecated: Creation of dynamic property ping_pingomatic_plugin::$classfile_path is deprecated in /export/home/bertrand/web/blog/b2evolution/blogs/inc/plugins/model/_plugins.class.php on line 413
Deprecated: Creation of dynamic property auto_p_plugin::$classfile_path is deprecated in /export/home/bertrand/web/blog/b2evolution/blogs/inc/plugins/model/_plugins.class.php on line 413
Deprecated: Creation of dynamic property texturize_plugin::$classfile_path is deprecated in /export/home/bertrand/web/blog/b2evolution/blogs/inc/plugins/model/_plugins.class.php on line 413
Deprecated: Creation of dynamic property nofollow_plugin::$classfile_path is deprecated in /export/home/bertrand/web/blog/b2evolution/blogs/inc/plugins/model/_plugins.class.php on line 413
Deprecated: Creation of dynamic property content_blocks_plugin::$classfile_path is deprecated in /export/home/bertrand/web/blog/b2evolution/blogs/inc/plugins/model/_plugins.class.php on line 413
Deprecated: Creation of dynamic property Item::$renderers_validated is deprecated in /export/home/bertrand/web/blog/b2evolution/blogs/inc/items/model/_item.class.php on line 11107
Deprecated: Creation of dynamic property Item::$pages is deprecated in /export/home/bertrand/web/blog/b2evolution/blogs/inc/items/model/_item.class.php on line 2412
Deprecated: strtr(): Passing null to parameter #1 ($string) of type string is deprecated in /export/home/bertrand/web/blog/b2evolution/blogs/inc/_core/_misc.funcs.php on line 766
Deprecated: strtr(): Passing null to parameter #1 ($string) of type string is deprecated in /export/home/bertrand/web/blog/b2evolution/blogs/inc/_core/_misc.funcs.php on line 766
Deprecated: strtr(): Passing null to parameter #1 ($string) of type string is deprecated in /export/home/bertrand/web/blog/b2evolution/blogs/inc/_core/_misc.funcs.php on line 766
Deprecated: Creation of dynamic property ItemSettings::$count_col_key_names is deprecated in /export/home/bertrand/web/blog/b2evolution/blogs/inc/settings/model/_abstractsettings.class.php on line 121
Le routage de la carte de gestion des alimentations n'a pas été simple mais il est achevé. Comme contrainte, je voulais une carte contenant la partie filtrage du secteur, alimentation isolée, régulation et la logique séquentielle. Je voulais aussi avoir des voyants indiquant l'état des différents registres.
Le circuit complet tient sur un PCB de quatre couches FR4 35µm pour toutes les couches de dimension 40cm par 18cm. J'aurais pu le faire plus petit en prenant des composants CMS, mais cela aurait nécessité l'intervention d'un câbleur professionnel, ce qui, pour de très petites séries, a un coût prohibitif.
Fig. 1 : vue d'ensemble
On voit mal de loin, alors voici une vue de plus près. Il y a du monde. Les pistes de signal font 0,254 mm (10 mils).
Fig. 2 : détail
Cette carte sera fabriquée par Safe-PCB. Je travaille de longue date avec eux, ils font un excellent travail sur des cartes huit couches avec des pistes de 5 mils. Cela ne devrait donc pas leur poser de problème.
Une dernière image pour la route, une vue 3D. Je n'ai pas tous les modèles de composants, certaines empreintes sont vides mais cela donne une bonne idée du résultat.
Fig. 3 : vue 3D de la carte de gestion des alimentations
Naturellement, les normes CE ont été respectées durant le routage. Le logo n'est pas usurpé.
Vers une automatisation du calcul des quines
Deprecated: Creation of dynamic property Item::$cache_has_content_parts is deprecated in /export/home/bertrand/web/blog/b2evolution/blogs/inc/items/model/_item.class.php on line 4911
Deprecated: Creation of dynamic property Item::$renderers_validated is deprecated in /export/home/bertrand/web/blog/b2evolution/blogs/inc/items/model/_item.class.php on line 11107
Deprecated: Creation of dynamic property Item::$pages is deprecated in /export/home/bertrand/web/blog/b2evolution/blogs/inc/items/model/_item.class.php on line 2412
Deprecated: Creation of dynamic property ItemSettings::$count_col_key_names is deprecated in /export/home/bertrand/web/blog/b2evolution/blogs/inc/settings/model/_abstractsettings.class.php on line 121
L'automate doit comporter une bascule de plus. De huit variables, les tables de vérités passent à neuf, soit cinq cent douze états pour huit variables de sorties. Cela commence à faire beaucoup lorsqu'on le fait à la main. J'ai trouvé un outil en mode texte pour réduire les quines : qmc (en version 0.6.3). Il ne reste plus qu'à générer automatiquement un fichier d'entrée pour cet outil directement depuis les tables de transitions.
#!/usr/local/bin/rpl -csp
/*
* Format du fichier d'entrée :
* 010X00X
* *1111111
* *X000X01
*
* Le X correspond à une valeur indifférente. Les entiers binaires
* spécifiés doivent donner une combinaison vraie. Les lignes
* commençant par une étoile indiquent un résultat indifférent.
*/
TRANSITIONS
<<
{ "length*(1)" }
{ { "name" "transitions.in" } "sequential" "old"
"readonly" "flow" }
open format
0
-> F_IN NB_LIGNES
<<
while
F_IN "end of file" inquire not
repeat
""
do
F_IN read 1 get
until
if
dup "\n" same
F_IN "end of file" inquire or
then
drop true
else
+
false
end
end
if
dup "" same not
then
'NB_LIGNES' incr
else
drop
end
end
F_IN close
NB_LIGNES ->list
>>
1
-> LISTE I
<<
do
LISTE I get ucase
-> E
<<
if
E "X" pos dup
then
// Il y a au moins un X
-> P
<<
{ "0" "1" } forall J
if
P 1 same
then
J E 2 over size sub +
elseif
P E size same
then
E 1 over size 1 - sub J +
else
E 1 P decr sub J +
E P incr E size sub +
end
next
LISTE swap I swap put swap
1 ->list + 'LISTE' sto
>>
else
// Pas de X, on passe au suivant
drop
'I' incr
end
>>
until
LISTE size I same
end
LISTE l->t << < >> sort
>>
forall I
if
I "*" pos
then
"x" "# " I 2 over size sub + "b" + str-> b->r ->str +
else
"# " I + "b" + str-> b->r ->str
end
disp
next
>>
Je concède que c'est un peu sauvage, mais cela fonctionne parfaitement pour mon usage. Cet outil prend le fichier transitions.in et écrit sur la sortie standard un fichier correspondant et attendu par qmc. Le langage RPL/2 est toujours disponible au même endroit.
Machine de Moore
Deprecated: Creation of dynamic property Item::$cache_has_content_parts is deprecated in /export/home/bertrand/web/blog/b2evolution/blogs/inc/items/model/_item.class.php on line 4911
Deprecated: Creation of dynamic property Item::$renderers_validated is deprecated in /export/home/bertrand/web/blog/b2evolution/blogs/inc/items/model/_item.class.php on line 11107
Deprecated: Creation of dynamic property Item::$pages is deprecated in /export/home/bertrand/web/blog/b2evolution/blogs/inc/items/model/_item.class.php on line 2412
Deprecated: Creation of dynamic property ItemSettings::$count_col_key_names is deprecated in /export/home/bertrand/web/blog/b2evolution/blogs/inc/settings/model/_abstractsettings.class.php on line 121
Je réchigne à utiliser un microprocesseur ou un microcontrôleur pour surveiller quelque chose d'aussi simple qu'une alimentation, fût-elle une alimentation avec temporisation d'un amplificateur utilisant des tubes électroniques.
À bien regarder, l'automate — ici, une machine de Moore synchrone avec une horloge à 4 Hz — comporte six états :
- repos : toutes les alimentations sont éteintes ;
- allumage : les basses tensions de chauffage montent progressivement (quatre secondes de temps de montée pour éviter les pics de courant dans les filaments de chauffage) ;
- chauffage : maintien des basses tensions de chauffage durant soixante secondes (les soixante secondes sont suffisantes, j'ai testé les émissions des cathodes des différents tubes au lampemètre et il y a une bonne marge) ;
- haute tension : allumage progressif de la haute tension (quatre secondes là encore) avec polarisation automatique des tensions de chauffage ;
- maintien : basse et haute tensions présentes, amplificateur en fonctionnement nominal ;
- extinction : la haute tension est coupée mais le chauffage des tubes reste encore actif soixante-quatre secondes ;
- défaut : une tension (chauffage ou haute tension) est en défaut et les deux alimentations sont coupées.
Sur le diagramme d'états suivant, les états sur les transitions indiquent les variables d'entrée dans l'ordre suivant :
- position de l'interrupteur général (1 : marche, 0 : arrêt) ;
- présence de la basse tension de chauffage (1 : présence, 0 : absence) ;
- présence de la haute tension (1 : présence, 0 : absence) ;
- compteur de cycles valant 15 (1 : compteur valant 15, 0 : compteur différent de 15) ;
- compteur de cycles valant 255 (1 : compteur valant 255, 0 : compteur différent de 255).
Les quatre variables de sortie sont dans l'ordre :
- commande de la basse tension ;
- commande de la haute tension ;
- maintien du compteur de cycles à zéro ;
- défaut.
Le compteur de cycles est un simple compteur 8 bits déjà étudié dans un article précédent.
Fig. 1 : automate de gestion de l'alimentation (le même en grand)
L'automate comportant sept états, il requiert trois bascules. Le lien entre les sorties de ces bascules et les variables de sortie vérifie la table de vérité suivante :
États | Basse tension | Haute tension | Reset compteur | Défaut |
000 | 1 | |||
001 | 1 | |||
010 | 1 | |||
011 | 1 | 1 | ||
100 | 1 | 1 | 1 | |
101 | 1 | |||
110 | X | X | X | X |
111 | 1 | 1 |
Tab. 1 : table de vérité des sorties en fonction des états internes
Pour éviter les rebonds sur les sorties, des verrous synchrones seront utilisés derrière la logique combinatoire. L'automate fonctionnant sur fronts descendants de l'horloge, cette logique combinatoire utilisera les fronts montants.
Choix des régulations
Deprecated: Creation of dynamic property Item::$cache_has_content_parts is deprecated in /export/home/bertrand/web/blog/b2evolution/blogs/inc/items/model/_item.class.php on line 4911
Deprecated: Creation of dynamic property Item::$renderers_validated is deprecated in /export/home/bertrand/web/blog/b2evolution/blogs/inc/items/model/_item.class.php on line 11107
Deprecated: Creation of dynamic property Item::$pages is deprecated in /export/home/bertrand/web/blog/b2evolution/blogs/inc/items/model/_item.class.php on line 2412
Deprecated: Creation of dynamic property ItemSettings::$count_col_key_names is deprecated in /export/home/bertrand/web/blog/b2evolution/blogs/inc/settings/model/_abstractsettings.class.php on line 121
Lors d'un article précédent, j'ai présenté un circuit de régulation performant pour les différents filaments de chauffage. Chacune de ces cartes est capable de fournir 6,3V et 1,5A. Le refroidissement des composants de ces cartes, principalement des transistors de puissance se fait par convection naturelle.
Les doubles triodes peuvent être chauffées en 6,3V 300mA ou en 12,6V 150mA. Pour des raisons de symétrie et parce que rien n'assure que les filaments soient rigoureusement identiques, ils seront alimentés en 6,3V 300mA parfaitement régulés. Cette régulation permet d'assurer une durée de vie des tubes correcte et indépendante de la tension du secteur ainsi que d'éviter une ronflette à 50Hz.
En revenant au schéma de principe de l'amplificateur, un œil averti constatera d'une part que les deux canaux se partagent les tube V4 et V9, et d'autre part que les tensions de cathode de tous les tubes sont faibles à l'exception des tubes V9, V3B et V7B. Les tubes V3 et V7 sont disponibles chez JJ sous la référence ECC832. Mais la tension de cathode de leurs deux triodes est très différente (plus de 100V d'écart). Le schéma est donc remanié de la façon suivante :
- V1, V2, V5 et V6 ne changent pas. Ces quatre tubes nécessitent 1,2A pour leurs filaments de chauffage. Les tensions de cathode de tous ces tubes étant inférieures à 2V, le point froid de la régulation des filaments sera fixé à 30V. Une carte de régulation est suffisante ;
- V11, V12, V13 et V14 ne changent pas non plus. Ces quatre pentodes de puissante requièrent chacune 1,5A sous 6,3V. Les cathodes étant à une tension inférieure à 1V, il faut utiliser quatre cartes de régulation dont les points froids sont fixés à 30V ;
- les parties gauches de V3 (V3A) et V7 (V7A) sont des demi-ECC83 qui ont intérêt à être couplées avec V4A et V4B. Leurs tensions de cathode sont identiques. De la même manière, les tensions de cathode des pentodes V8 et V10 sont du même ordre de grandeur.. Le chauffage de l'ensemble de ces tube demande ainsi 1A et une carte de régulation dont le point froid est fixé à 30V ;
- V3B et V7B sont deux demi-ECC82 qui peuvent être couplées respectivement avec les inverseurs de phase V9A et V9B. Les tensions de cathode de ces deux tubes sont respectivement 115V et 72V. Une carte de régulation avec un point froid aux alentours de 130V suffit aux 600mA requis par les filaments.
Cette modification de la répartition des tubes permet d'une part d'assurer une polarisation positive à tous les filaments de chauffage ainsi qu'une totale isolation entre les deux canaux. Le prix à payer est la présence de sept cartes de régulation juste pour l'alimentation des filaments.
Dernière constatation : le push-pull de sortie est monté en mode pentode et non en configuration ultra-linéaire. Dans un tel cas, lorsque le signal demande à l'alimentation haute tension un fort courant comme lors d'un coup de grosse caisse, l'alimentation va bien entendu le lui donner. Or cette tension, prélevée après un simple filtrage en pi derrière la haute tension, va s'écrouler durant un bref laps de temps dépendant de la constante de temps de l'alimentation.
Comme les caractéristiques d'une pentode dépendent de la tension écran, la restitution sera moyenne. Il faut noter qu'il s'agit là de l'un des facteurs qui est responsable du son rond des tubes, souvent décrié par les défenseurs des transistors. À savoir : graves mal tenus et ampleur artificielle du son.
Un bon amplificateur à tubes n'est pourtant rien de tout cela. D'une part, les triodes (comme les 300B) n'ont pas ce problème, d'autre part, il est possible de réguler la tension de l'écran de manière indépendante de la haute tension d'anode des pentodes de pusisance. Sur une pentode, un écran régulé signifie une stabilité des caractéristiques du tube, ce qui se traduit par des attaques plus franches, une dynamique accrue et des graves beaucoup mieux tenus.
Ainsi, après avoir étudié une régulation pour les filaments de chauffage, il convient d'étudier des régulations pour la haute tension des push-pull d'EL34, une seconde régulation pour les tensions de grille écran de ces pentodes de puissance et une troisième régulation pour tous les autres tubes du montage. Naturellement, il faut ces trois régulations pour chacun des deux canaux.
Réduction du bruit
Deprecated: Creation of dynamic property Item::$cache_has_content_parts is deprecated in /export/home/bertrand/web/blog/b2evolution/blogs/inc/items/model/_item.class.php on line 4911
Deprecated: Creation of dynamic property Item::$renderers_validated is deprecated in /export/home/bertrand/web/blog/b2evolution/blogs/inc/items/model/_item.class.php on line 11107
Deprecated: Creation of dynamic property Item::$pages is deprecated in /export/home/bertrand/web/blog/b2evolution/blogs/inc/items/model/_item.class.php on line 2412
Deprecated: Creation of dynamic property ItemSettings::$count_col_key_names is deprecated in /export/home/bertrand/web/blog/b2evolution/blogs/inc/settings/model/_abstractsettings.class.php on line 121
L'alimentation régulée présentée hier fournit une tension régulée et filtrée de bonne qualité pour les filaments de chauffage. Néanmoins, l'ajout de condensateurs sur les diodes rapides de redressement et d'une bobine sans ferrite permet de supprimer toute ronflette qui pourrait être réinjectée sur les masses par le bruit de commutation des diodes.
Par ailleurs, ces alimentations sont commandées au travers de relais. L'ajout d'un condensateur au primaire du transformateur devrait éviter de trop forts arcs électriques lors de l'ouverture du circuit. Voici donc les circuits modifiés.
Fig. 1 : alimentation des filaments des tubes de basses puissances (en grand)
Fig. 2 : alimentation des filaments des tubes de puissance (en grand)
Deprecated: preg_split(): Passing null to parameter #3 ($limit) of type int is deprecated in /export/home/bertrand/web/blog/b2evolution/blogs/inc/_core/_param.funcs.php on line 2201
Deprecated: preg_split(): Passing null to parameter #3 ($limit) of type int is deprecated in /export/home/bertrand/web/blog/b2evolution/blogs/inc/_core/_param.funcs.php on line 2201
1 2 >>