Bienvenue aux nouveaux arrivants sur FantasPic !
- Pensez à lire les règles durant votre visite, il n'y en a pas beaucoup, mais encore faut-il les respecter .
- N’hésitez pas à faire des remarques et/ou suggestions sur le Forum, dans le but de l'améliorer et de rendre vos prochaines visites plus agréables.
- Vous pouvez regarder votre "panneau de l'utilisateur" afin de configurer vos préférences.
- Un passage par "l'utilisation du forum" est recommandé pour connaître les fonctionnalités du forum.
--- L’équipe FantasPic ---
- Pensez à lire les règles durant votre visite, il n'y en a pas beaucoup, mais encore faut-il les respecter .
- N’hésitez pas à faire des remarques et/ou suggestions sur le Forum, dans le but de l'améliorer et de rendre vos prochaines visites plus agréables.
- Vous pouvez regarder votre "panneau de l'utilisateur" afin de configurer vos préférences.
- Un passage par "l'utilisation du forum" est recommandé pour connaître les fonctionnalités du forum.
--- L’équipe FantasPic ---
Charge électronique programmable
cyril13110 a écrit :Et certain point m'intéresse de savoir comment faire, comme par exemple la résistance variable de puissance réglable par UC et Le courant constant réglable par UC.
Reste dans les environs, je vais y venir
Je n'ai volontairement pas encore abordé ce point pour ne pas que le sujet parte dans tous les sens, sinon, dans quelques jours tout nouvel arrivant sur ce sujet n'y comprendra plus rien.
Il faut régler la partie HMI, qui va probablement limiter les ambitions du cahier des charges, et une fois ces 2 points déterminés, on pourra passer à la "mécanique", à savoir le Mosfet, le µC, et ce qui va faire la liaison entre les 2.
Charge électronique programmable
- cyril13110

Expert- Messages : 1679
- Âge : 43
- Enregistré en : avril 2016
- Localisation : 13
Roger a écrit :cyril13110 a écrit :Et certain point m'intéresse de savoir comment faire, comme par exemple la résistance variable de puissance réglable par UC et Le courant constant réglable par UC.
Reste dans les environs, je vais y venir![]()
Je n'ai volontairement pas encore abordé ce point pour ne pas que le sujet parte dans tous les sens, sinon, dans quelques jours tout nouvel arrivant sur ce sujet n'y comprendra plus rien.
Il faut régler la partie HMI, qui va probablement limiter les ambitions du cahier des charges, et une fois ces 2 points déterminés, on pourra passer à la "mécanique", à savoir le Mosfet, le µC, et ce qui va faire la liaison entre les 2.
Tu ne m'a pas l'air si débutant que ca au final
j'ai bien compris que tu maitrisais rapidQ tu as déjà réussi à le faire communiquer avec un UC pour du paramétrage et de l'affichage?
Charge électronique programmable
Bonjour aux amis des charges électroniques :)
Je crois qu'il faut rester simple avec cet appareil. Si l'on peut transmettre les infos de base au PC, on pourra toujours en faire tout ce qu'on veut après coup.
Donc je retiens :
-arrêt/marche par un poussoir
-réglage et mémorisation de la consigne du courant (poussoirs ou encodeur)
-enregistrement du temps, tension, courant, consigne du courant. Eventuellement la température, mais à priori je ne vois pas quel en sera l'usage une fois la mise au point terminée.
-alerte sonore température dépassée (en version luxe le seuil serait modifiable depuis l'interface PC car une fois la mise au point faite il n'y a plus de raison d'y toucher)
-alerte sonore courant tombé sous la consigne
-éventuellement les alertes déclenchent un arrêt automatique mais on garde la trace du motif.
-affichage : consigne / tension / courant / temps
On peut déporter l'indication ON/OFF et des alertes sur des LED's pour garder un affichage lisible sans devoir interpréter ou défiler :
- 1 LED "en fonction"
- 1 LED "Alerte T°C"
- 1 LED "Alerte courant sous consigne"
Le reset complet se fait en coupant l'alimentation.
Je pense que l'appareil ne doit pas nécessiter la connexion permanente à un PC. Mais l'alimenter par un connecteur USB me tente bien. Il faudra dans ce cas un petit convertisseur boost pour les 12V du ventilateur.
Je crois qu'il faut rester simple avec cet appareil. Si l'on peut transmettre les infos de base au PC, on pourra toujours en faire tout ce qu'on veut après coup.
Donc je retiens :
-arrêt/marche par un poussoir
-réglage et mémorisation de la consigne du courant (poussoirs ou encodeur)
-enregistrement du temps, tension, courant, consigne du courant. Eventuellement la température, mais à priori je ne vois pas quel en sera l'usage une fois la mise au point terminée.
-alerte sonore température dépassée (en version luxe le seuil serait modifiable depuis l'interface PC car une fois la mise au point faite il n'y a plus de raison d'y toucher)
-alerte sonore courant tombé sous la consigne
-éventuellement les alertes déclenchent un arrêt automatique mais on garde la trace du motif.
-affichage : consigne / tension / courant / temps
On peut déporter l'indication ON/OFF et des alertes sur des LED's pour garder un affichage lisible sans devoir interpréter ou défiler :
- 1 LED "en fonction"
- 1 LED "Alerte T°C"
- 1 LED "Alerte courant sous consigne"
Le reset complet se fait en coupant l'alimentation.
Je pense que l'appareil ne doit pas nécessiter la connexion permanente à un PC. Mais l'alimenter par un connecteur USB me tente bien. Il faudra dans ce cas un petit convertisseur boost pour les 12V du ventilateur.
Charge électronique programmable
gwion a écrit :Je crois qu'il faut rester simple avec cet appareil.
C'est toi qui voit, c'est ton projet.
Je ne fais que suggérer d'autres possibilités, au cas où l'une d'entre elles te paraitrait utile pour ton besoin.
En plus, comme j'ai été embauché pour animer le forum, et que je suis payé à la ligne ...
gwion a écrit :Le reset complet se fait en coupant l'alimentation.
A l'ancienne, j'aime bien !
Donc tu pars sur quelque chose de vraiment orienté mesure de capacité batterie.
Et pour l'affichage ? LCD 2x16 ? LCD 4x20 ? Autre ?
Charge électronique programmable
- paulfjujo

Maître- Messages : 3263
- Âge : 75
- Enregistré en : juillet 2015
- Localisation : 01800
- Contact :
bonjour,
un MCU s'impose donc !
Ecran LCD4x20 en 4bits // .... le plus simple
Ecran LCD4x20 + PCF8754 (pigback) en I2C
INA219( aussi) en I2C : mesure de I et de U
option 24LC256 eeprom I2C pour stockage enregistrements
DS18B20 en O.W.S.: temperature (resolution up to +-0,0625°C ) pour mesure et alarme
ou LM35DZ sensor 0-100°C sur entree ANA mais 10mV/°C
( un PIC avec ADC12 bits et usage de +Vref 4.096V +-0,1°C resolution)
ou aDC10bits + Vref 1,024V)
ou Ecran LCD TFT OPEN-SMART 2,4P, 320x240 , liaison SERIE..via Uart du PIC
avec Macro fonctions graphique incorporées
...existe aussi en version tactile ..
facile a utiliser .. sert de terminal PC ..SANS PC ..mais SANS clavier !
ou sortie UART sur module Bluetooth HC05 maitre
et en face, appli Android BlueElectronic pour pilotage de l'ensemble
Voyants, boutons , valeurs numeriques, et graphiques tendances..
...enregistrement du temps, tension, courant, consigne du courant. Eventuellement la température,
un MCU s'impose donc !
Ecran LCD4x20 en 4bits // .... le plus simple
Ecran LCD4x20 + PCF8754 (pigback) en I2C
INA219( aussi) en I2C : mesure de I et de U
option 24LC256 eeprom I2C pour stockage enregistrements
DS18B20 en O.W.S.: temperature (resolution up to +-0,0625°C ) pour mesure et alarme
ou LM35DZ sensor 0-100°C sur entree ANA mais 10mV/°C
( un PIC avec ADC12 bits et usage de +Vref 4.096V +-0,1°C resolution)
ou aDC10bits + Vref 1,024V)
ou Ecran LCD TFT OPEN-SMART 2,4P, 320x240 , liaison SERIE..via Uart du PIC
avec Macro fonctions graphique incorporées
...existe aussi en version tactile ..
facile a utiliser .. sert de terminal PC ..SANS PC ..mais SANS clavier !
ou sortie UART sur module Bluetooth HC05 maitre
et en face, appli Android BlueElectronic pour pilotage de l'ensemble
Voyants, boutons , valeurs numeriques, et graphiques tendances..
Charge électronique programmable
Bonjour Paul,
Merci pour les idées.
J'avais pensé à l'INA219 mais il est limité à 29V, il faut dans ce cas revoir les ambitions. Sinon un tore de ferrite de récup associé à un capteur à effet Hall SS49E fonctionne bien pour la mesure du courant, j'en ai bricolé un proto pour tester. Par contre il faut un calibrage systématique.
Je vais regarder l'OPEN-SMART 2 que je ne connais pas.
Merci pour les idées.
J'avais pensé à l'INA219 mais il est limité à 29V, il faut dans ce cas revoir les ambitions. Sinon un tore de ferrite de récup associé à un capteur à effet Hall SS49E fonctionne bien pour la mesure du courant, j'en ai bricolé un proto pour tester. Par contre il faut un calibrage systématique.
Je vais regarder l'OPEN-SMART 2 que je ne connais pas.
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
Charge électronique programmable
Bonjour au forum,
J'ai regardé l'OPEN SMART 2. C'est un produit très intéressant, mais un poil luxueux pour une appli aussi simple car on ne va pas exploiter les possibilités graphiques. Mais il est à retenir pour des applis sympas.
Je crois que rester sur un LCD 1602 en mode 4 bits sera suffisant, d'autant que c'est un appareil qui va servir très occasionnellement.
Pour le capteur de température, j'ai des DS18B20 que monsieur Maxim avait eu la bonté de m'offrir avant son rachat par Analog Devices, qui a aussi sec fermé les robinets à échantillons.
J'ai regardé l'OPEN SMART 2. C'est un produit très intéressant, mais un poil luxueux pour une appli aussi simple car on ne va pas exploiter les possibilités graphiques. Mais il est à retenir pour des applis sympas.
Je crois que rester sur un LCD 1602 en mode 4 bits sera suffisant, d'autant que c'est un appareil qui va servir très occasionnellement.
Pour le capteur de température, j'ai des DS18B20 que monsieur Maxim avait eu la bonté de m'offrir avant son rachat par Analog Devices, qui a aussi sec fermé les robinets à échantillons.
Charge électronique programmable
gwion a écrit :Je crois que rester sur un LCD 1602 en mode 4 bits sera suffisant, d'autant que c'est un appareil qui va servir très occasionnellement.
Pour le capteur de température, j'ai des DS18B20 que monsieur Maxim avait eu la bonté de m'offrir avant son rachat par Analog Devices, qui a aussi sec fermé les robinets à échantillons.
Bon, maintenant que le choix de l'affichage est fait, on va pouvoir avancer sur le reste.
Pour le moment, on va laisser de coté le reste de l'interface HMI, à savoir BP et/ou encodeur incrémental.
Tu n'as jamais répondu (ou alors j'ai pas vu), concernant la tension mini que tu envisages.
Avis aux puristes : je vais simplifier, caricaturer et vulgariser les explications afin de les rendre compréhensible par un maximum de personnes.
En réalité les choses sont beaucoup plus complexes, mais si on rentre vraiment dans les détails, personne ne va rien biter, moi y compris
Le principe général consiste à faire varier la valeur d'une résistance placée en série avec la source à tester, et en mesurant la tension à ses bornes on pourra ainsi connaitre la tension de la source, la courant dans la source, et la puissance fournie par la source.
A partir de là, il "suffira" d'ajuster la valeur de cette résistance pour soit obtenir une tension spécifique, soit obtenir un courant spécifique, soit obtenir une puissance spécifique, soit obtenir une résistance de charge spécifique, puisque toutes ces valeurs sont liées et dépendent de la valeur de la résistance.
Comme il est impossible de mesurer directement la résistance Rds du mosfet, on va plutôt mesurer et controler le courant qui le traverse, ce qui au final revient au même puisque tension, courant et résistance sont liés (U = R . I)
Donc, comme je le disais, le coeur de la charge électronique va être un mosfet.
En principe, toutes les personnes ici présentes savent qu'un mosfet peut agir comme un interrupteur, généralement commandé par PIC (et oui, on n'est pas sur le forum arduino
Cependant, entre l'état bloqué et l'état passant d'un mosfet, il existe un monde, certes pas très grand, mais il existe, et dans ce monde, le mosfet travaille en régime linéaire, c'est à dire que sa résistance Rds (pour Résistance entre le Drain et la Source) ne va pas être soit infinie, soit à 0, mais elle va pouvoir prendre toutes les valeurs intermédiaires entre ces 2 extrêmes.
Pour obtenir une valeur spécifique de Rds, il faut appliquer une tension très précise sur la Gate ... et ça peut se jouer au µV près, donc pas question de piloter le Gate avec un DAC, même pas en rêves
La solution va donc consister à piloter le Gate avec la sortie d'un AOP, auquel on donnera 2 informations, une tension qui sera l'image du courant dans le circuit, et une tension qui correspondra à ce que l'on souhaite obtenir.
A l'intérieur, l'AOP va faire opérer sa magie et va ajuster sa sortie pour piloter de manière très fine le mosfet
Pour ceux qui ont des difficultés avec les AOP, je vais essayer d'expliquer le fonctionnement avec une approche particulière, à savoir que l'on va raisonner avec un AOP qui fonctionne en comparateur.
Je rapelle qu'avec un AOP utilisé en comparateur, si la tension de l'entrée + est supérieure à celle de l'entrée -, alors la sortie vaut Vcc
Si la tension de l'entrée + est inférieure à celle de l'entrée -, alors la sortie vaut 0V (GND)
Dans le schéma simplifié, qui permet de réguler le courant dans le mosfet en faisant varier sa résistance, si la tension issue du shunt est supérieure à la tension de réglage (le potar), cela signifie que l'on a trop de courant par rapport à ce que l'on souhaite obtenir, alors la sortie du COMPARATEUR va passer à 0V, le mosfet va se bloquer et ça fait donc baisser le courant (à 0 mA !!!)
Si le mosfet est bloqué, le courant le traversant vaut 0 mA, donc la tension issue du shunt vaut 0V, cela signifie que l'on a pas assez de courant par rapport à ce que l'on souhaite, elle est donc inférieure à la tension de réglage qui entre dans le COMPARATEUR, et donc ce dernier va alors mettre sa sortie à +5V, ce qui va rendre le mosfet passant.
Expliqué comme cela, on peut se dire que si la sortie du COMPARATEUR fait le yoyo, passant en boucle de 0V à +5V, le mosfet va alterner en boucle l'état passant avec l'état bloqué.
En réalité, comme nous n'avons pas à faire à un comparateur mais à un AOP, il ne va pas y avoir de phénomène de yoyo (en tout cas il faut l'éviter
J'espère que c'est clair pour tout le monde, sinon il ne faut pas hésiter à poser des questions.
Prochain épisode : comment remplacer le potar par un µC
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
Charge électronique programmable
Charge électronique programmable
gwion a écrit :Je ne voudrais pas avoir l'air de relancer, mais on attaque quand le pilotage via µC ?
Maintenant !
Cela dit, ça n'intéresse pour ainsi dire personne, il n'y a eu que 15 lectures de la dernière publication, et dont les 2 tiers doivent être des moteurs de recherche qui font de l'indexation.
Donc, j'ai expliqué comment créer une résistance "variable" pilotée par un potentiomètre, il faut maintenant le remplacer par un PIC, et il y a plusieurs solutions pour faire cela.
La première solution consiste à utiliser le DAC interne du PIC
Cette solution permet de transformer une variable numérique, dans le PIC, en une tension analogique.
De plus en plus de PIC disposent d'un DAC interne, cependant c'est généralement du 5 ou du 8 bits, ce qui permet d'obtenir respectivement 32 ou 256 valeurs de tension possibles.
Dans le cas où l'on souhaiterai controler un courant jusqu'à 5A, avec un DAC en 8 bits la résolution maximale serait d'environ 20mA ... mais c'est du théorique, en pratique il faut multiplier au moins par 2 cette valeur de résolution, soit 40mA, et pour espérer obtenir quelque chose de fiable il faudrait plutôt la multiplier par 4 ou par 8, ce qui correspondrait à 80 ou 160mA
Cette solution peut être intéressante dans certains cas, que se soit pour une question de coût et de facilité de mise en oeuvre, cependant elle est très limitée.
La deuxième solution consiste à utiliser un DAC externe
Elle a l'avantage d'etre assez simple à mettre en oeuvre, car il suffit de relier le circuit spécialisé au PIC via un bus série (I2C, SPI, I2S, ...etc.) pour récupérer une tension en sortie, qui sera en général très stable.
Il y a potentiellement quelques inconvénients, déjà il n'y a pas beaucoup de ces circuits qui soient en boitiers traversants, surtout si l'on veut une résolution importante, et puis il y a le prix de ces circuits.
Une chose très intéressante à savoir concernant le prix, c'est qu'il augmente avec la résolution (un 12 bits est généralement plus cher qu'un 8 bits), mais il y a une exception pour une valeur bien précise : le 24 bits.
Cette résolution très importante offre un très grand choix de références, et en plus avec des tarifs souvent moins chers que pour des 12 ou 16 bits.
Pourquoi ?
Et bien à mon avis, c'est lié au fait que les DAC 24 bits sont très utilisés dans de très nombreux dispositifs disposant de l'audio, donc fabriqués dans des quantités colossales, ce qui par une économie d'échelle peut expliquer cela.
Petit inconvénient : ils sont très souvent pilotés en I2S.
Un dernier inconvénient avec la solution du DAC externe est que Gwion n'a pas de sous, il veut faire du low cost
La troisième solution consiste à utiliser la sortie PWM du PIC
Il s'agit de la solution que je préconise, car elle n'est pas très compliquée à mettre en oeuvre, elle ne coûte presque rien, et elle permet d'obtenir une très bonne résolution.
Il y a bien sûr quelques petits inconvénients.
Par rapport à un DAC, la valeur de sortie sera moins stable, elle aura un petit peu d'ondulation, cependant lorsque l'on vise par exemple une résolution de 10mA, une ondulation de quelques dizaines de µA sera presque négligeable.
Comment on fait :
Il est de coutume d'entendre dire que lorsque l'on pilote une ampoule, une résistance ou un moteur avec un PWM, cela permet de faire varier sa tension.
C'est à la fois vrai et faux, tout dépend de la manière dont on précise les termes utilisés.
Un PWM va envoyer la tension maximale à une charge, par exemple dans une ampoule à incandescence, durant un certains temps, puis il va couper l'alimentation pendant une certaines durée, donc, à aucun moment l'ampoule ne reçoit une tension comprise entre GND et Vcc, c'est tout ou rien, cependant, si on se réfère à la tension efficace reçue par l'ampoule, alors oui on pourra évoquer une valeur comprise entre GND et Vcc.
Dans le cas où l'on a besoin d'une tension spécifique à l'entrée de l'AOP (voir mon post précédent), il est impensable d'envoyer directement un signal PWM puisqu'en aucun cas l'AOP pourra travailler en fonction de la tension efficace, il va travailler en fonction de la tension instantannée qu'il va recevoir.
Il faut donc convertir la tension hachée du PWM en une tension linéaire, et cela est faisable grâce à de la très haute technologie et à des composants extrêments sophistiqués : une résistance et un condensateur !
Pour comprendre comment ça marche, je pourrais me lancer dans des explications académiques sur les filtres RC passe-bas, mais déjà qu'il n'y a que 5 personnes intéressées par le sujet, je risquerai d'en perdre 3.
On prend un condensateur que l'on relie d'un coté à la masse, et on relie l'autre borne à la sortie PWM via une résistance placée en série.
Lorsque la sortie PWM est à 1, le condensateur va se charger, mais il ne va pas le faire instantanément, il va mettre un certain temps avant d'atteindre la tension maximale, à cause de la résistance qui va limiter le courant.
Si avant que le condensateur ne soit complétement chargé la sortie du PWM repasse à 0, le condensateur, qui n'était pas complètement chargé, va alors vouloir se décharger, mais encore une fois il ne va pas le faire instantanément, il va mettre un certain temps qui encore une fois dépend de la résistance.
En pratique, avec la bonne valeur de résistance, du condensateur, et une fréquence spécifique du PWM, pour un certain rapport cyclique du PWM la tension aux bornes du condensateur va se stabiliser à une valeur représentant la valeur efficace du PWM.
Toujours en pratique, cette tension ne sera pas d'une stabilité absolue mais évoluera dans une certaine plage (charge et décharge du condensateur), générant ainsi une petite ondulation résiduelle.
Pour la diminuer, on pourra doubler le dispositif :
A ce stade, certains se demandent sans doute comment trouver les bonnes valeurs pour la fréquence, les résistances et les condensateurs.
Et bien il y a des formules pour cela, mais comme je ne veux pas perdre les 3 personnes qui suivent ce sujet, on va procéder autrement.
Ci dessous, le liens vers une simulation que j'ai créé, dans laquelle il est possible de modifier certaines valeurs afin de visualiser ce qu'il se passe :
https://tinyurl.com/28teo9d7
En plus de la petite ondulation résiduelle, par rapport à un DAC, il y a un autre petit inconvénient avec cette solution, c'est le temps de réaction.
Si l'on veut changer la valeur de sortie d'un DAC, cela va se faire presque instantanément, en revanche, avec le PWM il va falloir un certain temps pour que la tension aux bornes du condensateur atteigne la valeur efficace.
L'ordre de grandeur pour ce temps ira en général de quelques millisecondes à quelques dizaines de millisecondes, ce qui serait un très gros handicap pour de l'audio, mais qui ne pose aucun problème pour une application de type charge électronique
Voilà, on a vu comment créer une résistance variable de puissance pilotée par une tension, on vient de voir comment générer cette tension avec un PIC, pour le reste c'est de la cuisine assez traditionnelle.
Il faudra fournir au PIC la tension et le courant de la source, ce qui lui permettra d'ajuster le rapport cyclique de son PWM afin d'obtenir le résultat recherché.
Par exemple, si le courant mesuré est supérieur à ce que l'on désire, on pourra le réduire en abaissant le rapport cyclique du PWM, ce qui diminuera la tension de consigne appliquée sur l'une des entrées de l'AOP
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
Retourner vers « Coin Fourre-tout »
Qui est en ligne
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 11 invités

