Ionistors Micro-UPS

Bonjour à toute la communauté respectée. J'ai l'honneur d'offrir aux Hubrovites intéressés par l'électronique radio quelques considérations et une implémentation spécifique de l'alimentation de secours sur les ionistors (ce sont des supercondensateurs à double couche électrique), conçus pour assurer la bonne exécution du module processeur sur un microcontrôleur ARM fonctionnant sous Linux Debian standard.

Le problème est survenu devant votre humble serviteur sous les formes suivantes: vous devez éteindre correctement le système d'exploitation Linux (exécuté sur la solution intégrée) lorsque l'alimentation externe est coupée. Cette alimentation a été fournie à partir d'un port USB 2.0 standard vers un boîtier-box précédemment fabriqué via au moins un connecteur USB-B standard. L'utilisateur inexpérimenté de cet appareil a préféré retirer le câble USB ringard, en suivant le principe "UnPlug-NoPlay-NoProblem". Il est clair qu'une solution embarquée sans disques durs et avec une mémoire virtuelle mise à zéro lors de la configuration résiste à de tels cas de force majeure, mais quelques milliers d'heures d'utilisation ont montré qu'elle ne fonctionne pas toujours «sans problème».

J'ai dû plisser mon cerveau et entrer dans une transe créative. En sortant de la transe, le premier moyen possible de résoudre le problème s'est matérialisé - le psychologique, qui semblait au premier abord le plus attractif. La ligne de pensée était approximativement la suivante - pourquoi l'utilisateur ordinaire secoue-t-il un bâton collé dans le port USB avec une main inébranlable? Probablement parce que ni lui-même ni ses connaissances les plus proches n'ont ainsi perdu leur thèse, leur mémoire ou leur rapport annuel. Pourquoi le même utilisateur n'a pas tiré un câble d'imprimante d'une imprimante qui fonctionnait à l'époque d'Ona? Probablement parce qu'il a vu ou entendu des lèvres de quelqu'un comment il a dû acheter un nouveau MB ou Centronics sur ISA (PCI). Je ne veux pas (du mot en général) que ma boîte ait été retirée sans ménagement. Que faut-il faire pour cela? Correct, définissez le comportement utilisateur requis.

J'ai dû secouer les compétences des circuits et du traçage, et la prochaine version de la boîte a obtenu une LED RGB et un bouton sur le panneau avant, ainsi qu'un signal piézo-électrique avec un timbre méchant à l'intérieur. Un programme simple a déterminé si l'arrêt extrême s'est déroulé correctement. Si elle était incorrecte et que l'inconduite de l'utilisateur était la première sur sa mémoire flash, l'action de contrôle a suivi: au lieu que l'indicateur plaise en jaune et vert, la boîte a clignoté avec un œil coupant rouge et a cruellement crié quelques minutes avant de se calmer et de commencer à charger. La rechute était punissable de cinq minutes, une bruyère encore plus vile et une ligne dans le manuel que la boîte bloquée en raison d'un arrêt incorrect répété est supprimée de la garantie, ici.

Vous savez, la méthode s'est avérée étonnamment efficace. Mais ici, le cher client a exprimé le souhait qu'avant de déconnecter le boîtier, il informe toujours le serveur qu'il prenait du temps sur les lieux. Maintenant, certains, mais une source d'énergie était nécessaire. Le cerveau de la prochaine transe créative est revenu avec la pensée: une batterie au lithium-polymère est notre tout! La pensée commune a ajouté beaucoup de scepticisme à cette pensée: je ne voulais pas vraiment charger la batterie chaque fois que je l'allumais, car le nombre de décharges de charge est une ressource consommée, ainsi que le sujet de la tromperie cynique des fabricants de batteries de clients innocents. Ne pas charger à chaque fois que vous l'allumez, mais lorsqu'il se décharge? Il est donc nécessaire de clôturer tout le jardin, d'étalonner la batterie, de mesurer la tension avec une bonne précision. En général, ceci et cela, puis le Samsung Galaxy est entré en scène avec ses batteries incendiaires. Imaginant un incendie à l'endroit où la boîte devait se tenir, j'ai dû agiter volontairement un sabre et arrêter la douloureuse délibération de la deuxième idée.

Entrant en transe pour la troisième fois, un génie créatif a mis au jour des ionistors. Et quoi, ça ne semble pas mal. La capacité est en farads, le nombre de cycles de charge-décharge n'est pas limité, pour ainsi dire, le volt n'est vraiment pas suffisant - 2,7 maximum par cellule, et ils ne sont pas très en cascade. Il n'y avait déjà rien à méditer sur le manque d'options, et encore une fois, j'ai dû m'attaquer aux circuits avec la trace.

La recherche dans les vastes étendues d'Internet a apporté quelques prises et, pendant un moment de réflexion, il a été décidé de s'arrêter sur le microcircuit LTC3110 linéaire. Pour l'avenir, je dirai que quelques autres options ont été testées, mais pas particulièrement avec succès. Si le lecteur est intéressé par les détails du choix - vous êtes les bienvenus en PM. Parmi les options disponibles, le LTC3110 contient presque tout ce dont vous avez besoin pour construire une source d'alimentation de secours sur les ionistors:
- il dispose d'un convertisseur élévateur, ce qui rend le concepteur non particulièrement limité dans le choix de la tension d'alimentation;
- ce convertisseur utilise une inductance pour le stockage d'énergie, ce qui augmente considérablement le rendement et permet de donner quelques ampères à la charge;
- il est possible de limiter le courant consommé pendant la charge dans la plage de 125mA - 2A, ce qui est particulièrement important lorsqu'il est alimenté par USB;
- il y a un circuit intégré pour l'équilibrage individuel des ionistors connectés en série pour augmenter la puissance stockée et la fiabilité;
- la puce est équipée de fils indiquant le degré de charge des ionistors;
- et, pour le dessert, il existe un comparateur supplémentaire dont les seuils sont fixés par l'utilisateur.

Pour plus de détails et des exemples d'applications, j'envoie le curieux Reader à la fiche technique sur le microcircuit, le tout-puissant Google avec le sort "LTC3110 pdf" pour vous aider.

En théorie, pour construire un micro-onduleur fonctionnel, le LTC3110 lui-même doit ajouter un circuit qui alimente le boîtier en mode normal, s'il y a une connexion à une clé USB fonctionnelle. L'IC ST1S10PHR a été choisi pour ce rôle honorable, dont la disposition sans prétention et le prix bas sont connus et testés depuis longtemps. J'ai également dû ajouter une clé qui coupe le circuit d'alimentation des principaux consommateurs lors de la charge initiale des ionistors. Cette clé vous permet de résoudre deux problèmes: d'une part, le temps de charge initial est réduit (puisque presque tout ce qui est consommé par USB va aux ionistors), et d'autre part, il élimine la possibilité désagréable de panne d'électricité lorsque l'onduleur est tellement sous-chargé que l'approvisionnement en énergie n'est pas encore suffisant pour le bon arrêt. De plus, le «démarrage élevé» des ionistors complètement chargés permet au circuit de consommer parfois (mais pas très souvent) plus de courant que ce que le port USB peut donner - le déficit sera reconstitué par les ionistors. Une telle situation peut survenir, par exemple, lors de l'enregistrement d'un grand bloc d'informations sur un lecteur flash USB volumineux alimenté avec la boîte.

Je pense que la partie introductive peut être complétée à ce sujet et passer à un programme de travail spécifique.

image

Voici à quoi ressemble le circuit micro-UPS des ionistors.

L'alimentation est fournie par le port USB 2.0 (coin supérieur gauche du circuit). Sur DA1, selon le schéma recommandé, un convertisseur abaisseur 5V -> 3,3V est assemblé à partir d'une fiche technique. Sa seule caractéristique est un filtre supplémentaire de sonnerie haute fréquence sur L2 et C7. Si vous le souhaitez, ces éléments peuvent être exclus. Les résistances R3 ... R5 sont utilisées pour la décharge d'urgence des ionistors avant le transport, par exemple, ou avant d'installer l'ensemble de la carte dans son ensemble, sinon la source d'alimentation reste dessus et suffisamment puissante pour brûler quoi que ce soit. Les résistances de décharge sont connectées ou déconnectées par le cavalier SA1. VT1, C16, R17 et R18 - la clé pour alimenter les principaux consommateurs, elle a déjà été mentionnée ci-dessus et devra ajouter quelques mots ci-dessous. Tout le reste est le harnais LTC3110 standard de la fiche technique.

3V3SBY est la puissance de veille du circuit de commande, dans la boîte il est implémenté sur le CPLD EPM240T100 d'Altera, mais rien ne l'empêche d'être exécuté sur un microcontrôleur ou une logique discrète. Le 3V3 est l'alimentation principale du coffret réservé par UPS. Les informations sur l'état des micro-onduleurs sont affichées sur PWRFAIL, BATFULL et BATLOW avec des noms explicites. PWRFAIL est activé en cas de perte d'alimentation USB, BATFULL indique que la charge atteint le niveau de 95% (5,2 V), BATLOW affiche une diminution du niveau de charge à 40% (2,1 V). Si vous le souhaitez, ce niveau peut être ajusté en sélectionnant R6 et R7, guidé par la fiche technique. Malheureusement, une telle astuce ne fonctionne pas avec le niveau BATFULL - elle est martelée dans le circuit intégré avec des clous.

Le micro-onduleur contrôle deux signaux: PWRON et BATOFF. PWRON met sous tension, BATOFF éteint l'onduleur dans son ensemble.

La logique générale du fonctionnement du micro-onduleur est la suivante:

  1. dans l'état initial, C8 et C9 sont complètement déchargés, le cavalier SA1 en position gauche, l'alimentation USB 5V n'est pas fournie;
  2. l'appareil est branché sur un port USB-B 2.0;
  3. le convertisseur sur DA1 commence à fournir du courant à la ligne 3V3SBY, alimentant le circuit de commande sur CPLD, qui, à son tour, ouvre la clé VT1, supprimant le signal PWRON; en outre, le circuit de commande supprime le signal BATOFF, y compris DA2;
  4. DA2 commence à charger les ionistors; lors de la charge, le signal BATLOW est désactivé (à 2,1 V), puis BATFULL est activé (à 5,2 V sur les ionistors);
  5. l'apparition du signal BATFULL, le circuit de contrôle considère que le micro-onduleur est prêt à fonctionner et allume VT1, alimentant le circuit principal; Dans le même temps, DA2 continue de surveiller les ionistors, et lorsque la charge tombe en dessous de 95%, il commence à se charger; la connexion de VT1 à la broche RSENS DA2 garantit qu'un tel courant est pris pour recharger qu'il ne dépasse pas la limite USB, en tenant compte du circuit principal consommé; si la consommation du circuit principal dépasse cette limite, la décharge des ionistors commencera à compenser les dépenses inutiles;
  6. lors de la déconnexion de l'USB 5V, la ligne PWRFAIL est activée, permettant au dispositif de contrôle de savoir que la source externe a disparu; le circuit de commande génère une demande d'interruption du processeur ARM pour exécuter le script d'arrêt correct; pendant tout ce temps, l'alimentation est fournie par DA2;
  7. à la fin de la procédure d'arrêt, ARM émet un signal que tout est prêt pour l'extinction, et le circuit de commande définit BATOFF, désactivant DA2; dans cet état, le boîtier est situé avant que le 5V USB soit alimenté (voir point 1 à l'exception de la charge résiduelle sur C8 et C9);
  8. si ARM a beaucoup hésité et n'a pas pu tout fermer jusqu'au signal BATLOW, le circuit devra être mis hors tension par la force.

Si vous le souhaitez, il est facile d'organiser toute autre logique de contrôle de micro-onduleur, par exemple, en augmentant le niveau d'allumage BATLOW pour cent à 60% (en sélectionnant R6 et R7), utilisez-le comme signal d'arrêt, en vous déconnectant de force de la décharge complète C8 et C9.

Au final, passez rapidement en revue les paramètres configurables du circuit. R1 et R2 déterminent la tension de sortie de DA1, une autre tension peut nécessiter le remplacement de C1, C2, C4-C6 et L1. Les cotes de C8 et C9 déterminent uniquement les temps de charge et de décharge de l'onduleur, j'ai personnellement essayé de 4,7 à 100 Farads, théoriquement il n'y a pas de restrictions. R6 et R7 déterminent le niveau d'activation de BATLOW. La tension de la charge maximale des ionistors dépend du rapport R8 / R9. R11 détermine le courant consommé par 5V USB, à la résistance indiquée, le circuit consomme 0,5A. Le rapport R12 / R14 définit un niveau de chute de 5V USB, qui sera défini comme une panne de courant (PWRFAIL). R15 / R16 détermine la tension de sortie de DA2 en mode décharge.

Les signaux de sortie du LTC3110 sont réalisés selon le schéma "drain ouvert" afin de ne pas être liés à une tension d'alimentation spécifique. Dans mon circuit, les résistances de pull-up pour elles sont impliquées dans CPLD, ce n'est pas un problème de les utiliser dans n'importe quel microcontrôleur moderne. Eh bien, si vous décidez d'assembler un circuit de commande sur K155, vous devez vous occuper des résistances vous-même.

Quelques mots sur le C16. Acquérir ces connaissances m'a pris le plus de temps sur la carte prototype UPS. Après tout, quel est le problème? Dans la fiche technique, le noir en anglais indique que si vous voulez que la somme du courant consommé par le circuit principal et du courant de charge des ionistors ne dépasse pas la limite fixée par R11, veuillez alimenter le circuit principal à partir de la sortie RSENS. OK, d'accord. Et puis plus intéressant. Puisque votre circuit peut avoir n'importe quoi, jusqu'à un court-circuit (court-circuit, c'est un court-circuit, il est court-circuité), précise la fiche technique, le LTC3110 est équipé d'un circuit de protection spécial. OK, très bien. Et maintenant pour la partie amusante. Nous lisons la fiche technique plus loin: et pour que le schéma de protection ne se trompe pas, veuillez fournir la capacité totale de la ligne électrique PAS PLUS, Karl, 10 microFarads. Dingo ... Pour tout sur tout, et ne vous refusez rien. En effet, toute charge supérieure à 10uF lors de la connexion des coins ... Ne vous y trompez pas, Basurman. J'ai dû faire un léger retard dans la tonalité sur VT1, ce qui donne du C16. Je comprends que pendant un certain temps, VT1 ne sera pas dans le mode clé, mais entre le ciel et la terre (dans le sens, entre VCC et GND), ce qui n'est pas génial du tout. Mais au moins ça marche. Tel est le «nouveau hawa». Pour les fanatiques de la pureté des modes clés, j'ajouterai que j'ai essayé de ne pas mettre C16, mais une inductance de 1,5 μH en série avec VT1 - tout fonctionne très bien.

Ci-dessous est une image d'une carte de circuit imprimé avec le circuit décrit, bien sûr, la numérotation des composants diffère de celle indiquée sur le schéma de circuit - elle est transversale pour la boîte entière.

image

Si vous avez des questions - s'il vous plaît.

Source: https://habr.com/ru/post/fr402243/


All Articles