Three kinds or displays
You can choose the original Oled or a 4*20 characters easier to read
It is necessary to change library and the commands (very easy) for the bigger display.
In the future i will add graphical display with curves.
Exemple on this old project: Domotique arduino
Hardware notes:
Four-line and graphic LCD displays are too large for the small circuit board, so t is necessary to put them on column over the board.
If you don't have SMD fuses in your cases,
break a glass fuse and bridge the broken wire inside.
Waiting:
Add of a µSDCard socket to record curves of discharge.
Final design of the board is delayed by a small hardware problem. On Chinese market, cheap µSD boards are different. My models are 0.7”x1.5". It takes a big place on the board, even placed under, but position of connector is critical for other sizes and others dispositions of pins. I try to find a good compromise.
Problem on various graphic displays
Many have a µSDcard reader, but many don't work due to misconfiguration of the common SPI. Only models with separate wires for µSD can work, but it takes a lot of wires.
|
Trois types d'affichages
Vous pouvez choisir l'Oled d'origine ou un 4*20 caractères plus facile à lire
Il faut changer de bibliothèque et de commandes (très simple) pour un affichage plus grand.
Dans le futur, j'ajouterai un affichage graphique avec courbes.
Exemple sur ce vieux projet : Domotique arduino
Notes hardware:
Les écrans LCD à quatre lignes et graphiques sont trop grands pour le petit circuit imprimé, il est donc nécessaire de mettre sur des colonnes au-dessus de la carte.
Si vous n'avez pas de fusibles CMS dans vos boitiers, cassez un fusible en verre et faites un pont avec le fil très cassant à l'intérieur.
En attente:
Ajout d'un socket µSDCard pour enregistrer les courbes de décharge.
La conception finale de la carte est retardée par un petit problème matériel. Sur le marché chinois, les cartes µSD bon marché sont différentes. Mes modèles mesurent 17mmx37mm. Cela prend beaucoup de place sur le circuit, même placé en dessous, mais la position du connecteur est critique pour les autres tailles et autres dispositions de broches. J'essaie de trouver un bon compromis.
Problème sur divers affichages graphiques.
Beaucoup ont un lecteur µSDcard, mais beaucoup ne fonctionnent pas à cause d'une mauvaise configuration du SPI commun. Seuls les modèles avec fils séparés pour µSD peuvent fonctionner, mais il faut beaucoup de fils.
|
A complete different way to do
Original approach uses PWM table with index to adjust current.
An other way is to forget these tables, wiring a low pass filter from power resistor (= MosFet source) to another input for analog measurement, A3.
Filtered Va3 shows the integral of the pulse, which is a perfect image of the average discharge current.
In this mode, amplifiers are wired as simple non inversors comparators:
On the first one, Vin- to ground,
PWM Signal on Vin+ (pulses 0 / 5 V with Nano or 0 / 3.3V with ESP32 or STM32)
Gain is quasi infinite,Vout pulses = 0 / 12V
The second amplifier is also in comparator mode.
|
Une toute autre façon de faire
L'approche originale utilise une table PWM avec index pour ajuster le courant.
Une autre façon consiste à oublier ces tableaux, en câblant un filtre passe-bas de la résistance de puissance (= source MosFet) à une autre entrée pour la mesure analogique, A3.
Va3 filtré montre l'intégrale de l'impulsion, qui est une image parfaite du courant de décharge moyen.
Dans ce mode, les amplificateurs sont câblés comme de simples comparateurs non inverseurs :
Sur le premier, Vin- à la masse,
Signal PWM sur Vin+ (impulsions, 0 / 5 V avec Nano ou 0 / 3.3V avec ESP32 ou STM32)
Le gain est quasi infini, impulsions Vout = 0 / 12V
Le deuxième amplificateur est également en mode comparateur. |
And next the solution with ESP32 card.
This is my working card very complete, with a lot of software running, but with this small usage it is not necessary to install many components.
Carte ESP32 vers Nextion
Not needed: Power supplies 3.3 V and 5 V, PIO and leds, ...
RTC DS3231 is useful, to fix date for Excel files, if WiFi is not available for time server
A small external board is to be wired as complement of my universal card, to accept all these specifics components.
The simplest way is to use the above card, but without placing a Nano, and to wire :
ground, 12 V, plus the 3 signals A0, A3 and PWM.
from a most powerful card, ESP32, ESP8266 or STM32 to access at complete functions.
A new design of a printed board is not necessary for a so simple project. |
Et ensuite la solution avec la carte ESP32.
C'est ma carte de travail très complète, avec pas mal de logiciels en cours d'exécution, mais avec cette petite utilisation il n'est pas nécessaire d'installer beaucoup de composants.
Carte ESP32 vers Nextion
Non nécessaire : Alimentations 3,3 V et 5 V, PIO et leds, ...
RTC DS3231 est utile pour fixer la date des fichiers Excel, si le WiFi n'est pas disponible pour le serveur de temps
Une petite carte externe est à câbler en complément de ma carte universelle, pour accepter tous ces composants spécifiques.
Le plus simple est d'utiliser la carte ci-dessus, mais sans placer de Nano, et de câbler :
masse, 12 V, plus les 3 signaux A0, A3 et PWM.
à partir d'une carte plus puissante, ESP32, ESP8666 ou STM pour accéder à des fonctions complètes.
Une nouvelle conception d'un circuit imprimé n'est pas nécessaire pour un projet aussi simple.
|
Old mode
Now return on the first original version, using Mosfet as a variable resistor.
Thoughts on this extract of the schematic
This next diagram extract focuses on the old principle of current control |
Ancien mode
Revenons maintenant sur la première version originale, utilisant le Mosfet comme résistance variable.
Réflexions sur cet extrait du schéma
Cet extrait suivant de schéma met l'accent sur l'ancien principe du contrôle du courant |
PWM resistor
Resitor on PWM output RG5 100 kOhms at the ground is very important, because during reset, boot and program loading phases, outputs of the Nano are in high impedance and voltage is erratic between 0 to 5V, so command of MosFet is also erratic and discharge current is out of control.
This resistor drains static charges when the pin is in high impedance and clamps it during these phases of instability.
Low pass filters
There is 2 low pass filters: RA0+CA0, Rpwm+Cpwm
Filter Tau = R*C = 1*10^6 * 100*10^-9 = 0.1 second, very superior of the 2 mS of PWM
You can decrease R to 100 kOms, with Tau= 10 mS, five times of PWM, it keeps good.
You can test all the possible combinations by activating one or more in turn, through the small area at the foot of each capacitor, thanks to an easy-to-remove solder point (or strap). This avoids desoldering fragile capacitors.
When the capacitor is not connected to ground, the value of the resistor does not matter because the voltages are at zero current (amplifier inputs with nearly infinite impedances).
Remark on impedance of analog inputs
Impedance on A0 is not infinite, if you have 4 V on the 18650 Battery (no current), you read 3.64 V on A0, ratio 1.1.
There is a bridge with A0 and internal impedance of analog input, it means that A0 impedance is 10 times A0. Value of the battery voltage displayed on panel is not exactly the good one, but this is not very important. Purists can multiply converter reading by a corrective factor (very close to one) to read the perfect value.
If used, CA0 capacitor have also a parasitic impedance.
Next chapters analyse each solution. |
Résistance PWM
La résistance sur la sortie PWM RG5 100 kOhms à la masse est très importante, car pendant les phases de reset, de démarrage et de chargement du programme, les sorties du Nano sont en haute impédance et la tension est erratique entre 0 et Vcc, donc la commande du MosFet est également erratique et le courant de décharge est hors de contrôle.
Cette résistance draine les charges statiques lorsque la broche est en haute impédance et la fixe à zéro pendant ces phases d'instabilité.
Filtres passe-bas
Il y a 2 filtres passe-bas : RA0+CA0, Rpwm+Cpwm
Filtre Tau = R*C = 1*10^6 * 100*10^-9 = 0.1 seconde, très supérieur aux 2 mS de PWM
Vous pouvez diminuer R à 100 kOms, avec Tau = 10 mS, cinq fois de PWM, ça reste bon.
Vous pouvez tester toutes les combinaisons possibles en en activant un ou plusieurs à tour de rôle, à travers la petite zone au pied de chaque condensateur, grâce à un point de soudure facile à retirer (ou un strap). Cela évite de dessouder les condensateurs fragiles.
Lorsque le condensateur n'est pas relié à la masse, la valeur de la résistance n'a pas d'importance car les tensions sont à courant nul (entrées d'amplificateur avec des impédances presque infinies).
Remarque sur l'impédance des entrées analogiques
L'impédance sur A0 n'est pas infinie, si vous avez 4 V sur l'accu 18650 (pas de courant), vous lisez 3,64 V sur A0, rapport 1,1.
Il y a un pont avec A0 et l'impédance interne de l'entrée analogique, cela signifie que l'impédance A0 est 10 fois A0. La valeur de la tension de la batterie affichée sur le panneau n'est pas exactement la bonne, mais ce n'est pas très important. Les puristes peuvent multiplier la lecture du convertisseur par un facteur correctif (très proche de un) pour lire la valeur parfaite.
S'il est utilisé, le condensateur CA0 a également une impédance parasite.
Les prochains chapitres analysent chaque solution. |
Filter RA0+CA0 on A0
On initial diagram there is a mistake, the 2 capacitors without resistor have no utility because impedance of battery is very low, and second problem, the battery alone light the Nano in instable conditions (V lower than 5V), this is dangerous.
With the permanent filter RA0+CA0, problems are solved.
Configurators
For the “S” configurators, you can use 2.54 jumpers or a point of solder.
First older configuration as in the Green energy version, current limitation to 1 Amp
Spwm closed, Sgain open
You are exactly in the initial configuration.
The second amplifier has no gain (RG2 is equal to a short circuit) it is a simple follower, you can consider that output 1 is connected directly to the gate, because there is no current on RGgate. VGate cannot go above 5V, so the current limit is 1A
If S3 is closed, RGate + CGate acts as a low pass filter, but doesn't matter because the output of the first amplifier is nearly constant during discharge, if S3 is open, it's equivalent.
Second configuration, current limit to 2 Amp
Spwm closed, Sgain closed
Now you add the gain of the second amplifier which is:
1+(RG1/RG2) = 1+ (10/51) = 61/51 = about 1.2.
With R2 = 33k -> Gain = 43/33 = 1.3
Maximum voltage on output of first amplifier (as integrator) is a bit lower than 5V, so after second amplifier you are close of 6V which gives a current of 2A.
You can increase a bit RG2 if your Nano has a too low 5V
Same remark than upper paragraph for S3
When you make your experiments, place always an analog voltmeter on the power resistor to control current.
It is better to use a power supply of 4V in place of the 18650 with current limit at 2.5 A. You can found on chinese market very good cheap laboratory small power supplies. |
Filtre RA0+CA0 sur A0
Sur le schéma initial il y a une erreur, les 2 condensateurs sans résistance n'ont aucune utilité car l'impédance de la batterie est très faible, et deuxième problème, la batterie seule allume le Nano dans des conditions instables (V inférieur à 5V), c'est dangereux. Avec le filtre permanent RA0+CA0, les problèmes sont résolus.
Configurateurs
Pour les configurateurs « S », vous pouvez utiliser des cavaliers 2,54 ou un point de soudure.
Première configuration comme dans l'ancienne version Green energy, limitation de courant à 1 Amp
Spwm fermé, Sgain ouvert
Vous êtes exactement dans la configuration initiale.
Le deuxième amplificateur n'a pas de gain (RG2 est égal à, un court-circuit) c'est un simple suiveur, vous pouvez considérer que la sortie 1 est connectée directement à la grille, car il n'y a pas de courant sur Rgate. VGate ne peut pas monter au-dessus de 5 V, donc la limite de courant est de 1A
Si S3 est fermé, RGate + CGate agit comme un filtre passe-bas, mais n'a aucune importance car la sortie du premier amplificateur est quasi constante pendant la décharge, si S3 est ouvert, c'est équivalent.
Deuxième configuration, limite de courant à 2 Amp
Spwm fermé, Sgain fermé
Maintenant, vous ajoutez le gain du deuxième amplificateur qui est :
1+(RG1/RG2) = 1+ (10+51) = 61/51 = environ 1,2.
Avec R2 = 33k -> Gain = 43/33 = 1.3
La tension maximale à la sortie du premier amplificateur (en tant qu'intégrateur) est un peu inférieure à 5V, donc après le deuxième amplificateur, vous êtes proche de 6V, ce qui donne un courant de 2A.
Vous pouvez augmenter un peu RG2 si votre Nano a un 5V trop bas
Même remarque que le paragraphe supérieur pour S3
Lorsque vous faites vos expériences, placez toujours un voltmètre analogique sur la résistance de puissance pour contrôler le courant. Il est préférable d'utiliser une alimentation de 4V à la place du 18650 avec une limitation de courant à 2,5 A. Vous pouvez trouver sur le marché chinois de très bonnes petites alimentations de laboratoire pas chères. |
Now the real life
Click on the oscillograms for full size.
We are in the last case, without filters 1 and 3
On the left panel,
Channel 1 yellow is the PWM pulse on non inverting input of first amplifier, 4.48 V, it’s good, there is a small attenuation after PWM because amplifier is not perfect (not infinite resistance).
Channel 2 violet is the output of second amplifier, 10.7 V after gain, its good. |
Maintenant la vraie vie
Cliquez sur les oscillogrammes pour les afficher en taille réelle.
Nous sommes dans le dernier cas, sans les filtres 1 et 3
Sur le panneau de gauche,
Le canal 1 jaune est l'impulsion PWM sur l'entrée non inverseuse du premier amplificateur, 4,48 V, c'est bon, il y a une petite atténuation après PWM car l'amplificateur n'est pas parfait (résistance non infinie).
Le canal 2 violet est la sortie du deuxième ampli, 10,7 V après gain, c'est bon. |
Now right panel
Channel 2 violet is the same for reference, but
Channel 1 yellow is the gate voltage after RGate
It was expected that these 2 curves will be the same, but on this model of Mosfet, input parasite gate capacitor is too much important, and there is integration, it can’t works in pulse mode!
Now more experiments
The left panel is with a RGate of 100 kOhms,
the right one with 10 kOhms.
Strange is’nt it?
Check yourself with various MosFets or simple Darlingtons (experimental mode only!) . |
|
Maintenant panneau de droite
Le canal 2 violet est le même pour référence, mais
le canal 1 jaune est la tension de grille après RGate
On s'attendait à ce que ces 2 courbes soient les mêmes, mais sur ce modèle de Mosfet, la capacité d’entrée parasite est trop important, et il y a intégration, ça ne peut pas fonctionner en mode impulsionnel !
Maintenant plus d'expériences
Le panneau de gauche est avec un RGate de 100 kOhms,
celui de droite avec 10 kOhms.
Étrange n'est-ce pas ?
Vérifiez-vous avec divers MosFets ou de simples Darlingtons (mode expérimental uniquement !) |
For example a simple BUZ806
Now the system does not work with variable voltage and zero current on a high impedance gate like for a Fet, but with current on a transistor base.
No current?
You must first put a short circuit (current and not voltage) on RGate. It works, but the current is half of that shown. You also need to short RG2, because the op-amp isn't perfect.
With these two changes, the current is good from minimum to 2A. This is why there is a difference between this detail of the diagram and the final drawing, RG2 and RGate are mounted on a removable base, so you can play and change the values without desoldering on the board.
Depending on the other MosFets or transistors that you have in your drawers, you will have to adjust these two resistors whose value is given for the nominal IRF.
Resistors values manipulations
In third experimental mode you have to modify with reduced values only RG2 and Rgate. Don’t unsolder resistors on the board but solder a lower value in parallel, without damaging the circuit.
MosFet under the card
You can also mount the MosFet under the board on an aluminium plate of same size with holes for columns and wires to change it quickly.
|
Par exemple un simple transistor BUZ806
Maintenant, le système ne fonctionne pas avec une tension variable et un courant nul sur une grille à haute impédance comme pour un Fet, mais avec un courant sur une base de transistor.
Aucun courant?
Vous devez d'abord mettre un court-circuit (courant et non tension) sur RGate. Cela fonctionne, mais le courant est la moitié de celui indiqué. Vous devez également court-circuiter RG2, car l’amplificateur opérationnel n'est pas parfait.
Avec ces deux changements, le courant est bon du minimum à 2A.
C'est pourquoi il y a une différence entre ce détail du schéma et le dessin final, RG2 et RGate sont montés sur embases amovibles, vous pouvez donc jouer et changer les valeurs sans désouder sur la carte.
En fonction des autres MosFets ou transistors, que vous avez dans vos tiroirs, il faudra ajuster ces deux résistances dont les valeurs sont données pour l’IRF nominal.
Manipulation des valeurs des résistances
Dans le troisième mode expérimental, vous devez modifier avec des valeurs réduites uniquement RG2 et Rgate. Ne dessoudez pas les résistances sur la carte, mais soudez une valeur inférieure en parallèle sans endommager le circuit.
MosFet sous la carte
Vous pouvez également monter le MosFet sous la carte sur une plaque en aluminium de même taille avec des trous pour les colonnes et des fils pour le changer rapidement.
|
New PWM checking tool (New 07/03/22)
All seems very simple, but it is not easy to understand clearly the influence of the type of MosFet, low-pas filters jumpers and gain adjustment in different configurations,
so I add a small tool “Nano_Capacity_test_PWM.ino” to debug all these parameters.
This tool shows PWM value on Oled display, 0..255. You can change it with Up/Down buttons, and observe on oscilloscope and voltmeters influence of the various parameters.
For these experiments, replace the 18650 by a power supply 4 V with limit at 3 A.
When this test running, current is active, place a voltmeter on power resistor and check for temperature increase.
When you have adjusted the good values for current required, replace it in the PWM table of exploitation program.
Don’t forget also that in resistor mode, Drain current depends of course of Vgs but also of the temperature of the chip in the MosFet!
|
Nouvel outil de vérification PWM (Nouveau 07/03/22)
Tout semble très simple, mais il n'est pas facile de comprendre clairement l'influence du type de MosFet, des cavaliers des filtres passe-bas et du réglage du gain dans différentes configurations,
aussi
j'ajoute donc un petit outil "Nano_Capacity_test_PWM.ino" pour déboguer tous ces paramètres.
Cet outil affiche la valeur PWM sur l'écran Oled, 0..255. Vous pouvez le modifier avec les boutons Up/Down, et observer sur l'oscilloscope et les voltmètres l'influence des différents paramètres.
Pour ces expériences, remplacer la 18650 par une alimentation 4 V avec limitation à 3 A.
Lorsque ce test est en cours, le courant est actif, placez un voltmètre sur la résistance de puissance et vérifiez l'augmentation de la température.
Lorsque vous avez ajusté les bonnes valeurs de courant requis, replacez-le dans la table PWM du programme d'exploitation.
N'oubliez pas aussi qu'en mode résistance, le courant de Drain dépend bien sûr de Vgs mais aussi de la température de la puce dans le MosFet !
|
New in V4.0 : µSD Card to record curves
How to create a curve with a record file
The file is a simple collection of voltages in millivolts for each minute in clear text.
Example:
Remove the SD card from the discharge card and place it in an USB adapter
Open Excel, open (example) <rec_123.txt> choosing: <all files (*.*)>
In dialog boxes, next... end
You get a column of records (voltage of battery in milliVolts)
Insert curve SafeArrayOfPoints (nuage de points)
Choose a type of record -> You get the curve (extend the corners to adjust)
How to calculate battery capacity from the file?
It’s very simple, capacity is the integrate of current function of time.
We have to multiply total duration by current, example:
current 1.5 A, duration 1hour 21min
Capacity = 1.5 * (1*60 + 21) /60 = 1.5*81/60 = 2 A/h
Sand box to test records
I add a small Arduino program (SD_ReadWrite_Nano.ino) showing how the record works with a simulator (discharge card not needed) , with only a µSDcard reader on Nano (see diagram for the 6 wires).
Remark on the Nano v3.0:
As the Uno, Due, Mega, the Nano is now obsolete, the better solution is to migrate to STM32 or ESP32
(not hardware compatible), but if you plane to bought some new ones
to keep strict compatibility in small projects, replace by the “MiniEVB LGT8F328P-LQFP32” which is better (but with only also 32 k EEprom).
|
Nouveauté V4.0 : Carte µSD pour enregistrer les courbes
Comment créer une courbe avec un fichier d'enregistrement.
Le fichier est une collection des tensions en millivolts pour chaque minute en texte clair.
Exemple :
Retirez la carte SD de la carte de décharge et placez-la dans un adaptateur USB
Ouvrir Excel, ouvrez (exemple) <rec_123.txt> en choisissant : <tous les fichiers (*.*)>
Dans les boîtes de dialogue, suivant... fin
Vous obtenez une colonne d'enregistrements (tension de batterie en milliVolts)
Insérer une courbe SafeArrayOfPoints (nuage de points)
Choisissez un type d'enregistrement -> Vous obtenez la courbe (allongez les coins pour ajuster)
Comment calculer la capacité de la batterie à partir du fichier ?
C'est très simple, la capacité est l'intégration de la fonction actuelle du temps.
Il faut multiplier la durée totale par le courant, exemple :
courant 1,5 A, durée 1h21
Capacité = 1,5 * (1*60 + 21) /60 = 1,5*81/60 = 2 A/h
Bac à sable pour tester les enregistrements
Je rajoute un petit programme Arduino (SD_ReadWrite_Nano.ino) montrant le fonctionnement de l'enregistrement avec un simulateur (carte de décharge inutile), avec uniquement un lecteur µSDcard sur Nano (voir schéma pour les 6 fils).
Remarque sur le Nano v3.0:
Comme l'Uno, Due, Mega, le Nano est désormais obsolète, la meilleure solution est de migrer vers STM32 ou ESP32 (non compatible matériel), mais si vous prévoyez d'en acheter de nouveaux pour garder une compatibilité stricte dans les petits projets, remplacez par le "MiniEVB LGT8F328P-LQFP32" qui est mieux (mais avec seulement aussi 32k EEprom).
|
The Titanic
Ship was cruising full speed but at the last moment…
Apocalyptic drama storyline
I no longer worked on the old nano since many years and I forgot it was so small in capacity, I was using the ESP32 or STM32
New software 3.21 was completed, size 25.5 kb.
The motor for recording data separately was completed, size 17 kb (see sources).
When I try to import, this module, I write first the two dramatic lines:
#include <SPI.h>
#include <SD.h>
and I see the iceberg! I explode the capacity of the 32 kb Eeprom of more than 10 kb..
Is it the end of the adventure (scary music)?
It is not easy to reduce drastically the size, of course replacing print(F(“...”)) by print(“...”) moves the comments from the 32kb Eeprom to the 2kb ram, but the gain is small, less than 200 bytes.
I tried also to rewrite a minimal library SPI and SD,
but a 10kb gain can’t be obtained.
No, for every problem there are a lot of solutions
1) Status quo
Passengers are rescued, the circuit board is beautiful, but the cruse stops miserably here, without curve recording but with a range of 2 amps.
2) Arduino "Nano Every"
Replace the venarable Nano by the new one Arduino Every, with better performance, for exemple it increase the Eeprom to 48 ko which is sufficient here. It is hardware compatible, but it must be verified that new CPU and drivers accepts the old software. Mystery...
Problem, it is more expensive, on chinese market about 9€, but genuine 43€
It's a flawed solution, never tested.
It is a marginal, already outdated component that cannot be compared to the STM32 produced in colossal quantities.
|
Le Titanic
Le navire naviguait à pleine vitesse mais au dernier moment…
Scénario du drame apocalyptique
Je ne travaillais plus sur l'ancien nano depuis de nombreuses années et j'avais oublié qu'il était si petit en capacité, j'utilisais l'ESP32 ou le STM32
Le nouveau logiciel 3.21 était terminé, taille 25.5 ko.
Le moteur pour enregistrer les données séparément était terminé, taille 17 ko (voir sources).
Lorsque j'essaie d'importer ce module, j'écris d'abord les deux lignes dramatiques :
#include <SPI.h>
#include <SD.h>
et je vois l'iceberg ! J'explose la capacité de l'Eeprom 32ko de plus de 10 ko.
Est-ce la fin de l'aventure (musique angoissante) ?
Il n'est pas facile de réduire drastiquement la taille, bien sûr remplacer print(F(“...”)) par print(“...”) déplace les commentaires de l'Eeprom 32 ko vers la ram de 2ko, mais le gain est faible, moins de 200 octets.
J'ai également essayé de réécrire une bibliothèque minimale SPI et SD, mais un gain de 10 Ko ne peut pas être obtenu.
Non, pour chaque problème il y a beaucoup de solutions
1) Statu quo
Les passagers sont secourus, le circuit imprimé est beau, mais la croisière s'arrête lamentablement ici, sans enregistrement de courbe, mais avec une plage de 2 amps.
2) Arduino "Nano Every"
Remplacer le vénérable Nano par le nouveau Arduino Every, plus performant, il augmente par exemple l'Eeprom à 48 ko ce qui est suffisant ici. Il est compatible matériellement, mais il faut vérifier que le nouveau CPU et les pilotes acceptent l'ancien logiciel.
Mystère...
Problème, c'est plus cher, sur le marché chinois environ 9€, mais l'authentique 43€
C'est une solution bancale, jamais testée.
Il s'agit d'un composant marginal, déjà dépassé qui ne peut se comparer au STM32 produit en quantités colossales.
|
3) The STM32 solution
Forget the Nano dinosaur and replace it with a cheap high-performance chip, the STM32
It's not simple because the hardware is completely different, there are 40 pins instead of 30.
All is +++, Eprom 256 ko, fast clock, RTC... WiFi is the only thing missing.
The only problem is that STM32 is difficult to install for a beginner, read this page:
Tutoriels Arduino
Adapting the software is not the problem. We must redesign a new board on Eagle.
To prepare the prototype, I will use the new board with a piggy back to wire the new STM32 chip with wrapping.
4) The other best way: ESP32
A long time ago I made a more universal charge/discharge controller, but most complicated, with the CAN ADS1115, wich is perfect, on a different principle.
I can reactivate this project using my Carte ESP32 vers Nextion
Many advantages: No bug on this card, big resources, RTC (DS3231) and WiFi to adjust clock on time signals, transfer of data on the cloud,..
See
my domotic system: Domotique via Internet
The only thing to do is to add a small board to includie the amplifier, MosFet and power resistor, and link to the existent with few wires.
Only a detail! ESP32 is powerfull, but there is a defect, its DAC are very bad and noisy, worse than on the Nano, so it is necessary to add the perfect external DAC 12 bits ADS1015.
The DAC of STM32 are better, but without WiFi.
The problem of these evolutions is that they lost the main advantage of the small original solution, simplicity and Zen life...
To be continued in "The Revenge of the Nano" soon on your screens |
3) La solution STM32
Oubliez le dinosaure Nano et remplacez-le par une puce peu chère très performante, le STM32
Ce n'est pas simple car le matériel est complètement différent, il y a 40 broches au lieu de 30.
Tout est +++, Eprom 256 ko, horloge rapide, RTC... Le WiFi est le seul absent.
Le seul problème est que STM32 est difficile à installer pour un débutant, lisez cette page :
Tutoriels Arduino
Adapter le logiciel n'est pas le problème. Il faut reconcevoir une nouvelle carte sous Eagle.
Pour préparer le prototype, j'utiliserai la carte 3.31 avec un piggy back pour câbler le nouveau STM32 en wrapping.
4) L'autre meilleur moyen: ESP32
Il y a longtemps j'ai fait un contrôleur de charge/décharge plus universel, mais plus compliqué, avec le CAN ADS1115 qui est parfait, sur un principe différent.
Je peux réactiver ce projet en utilisant ma Carte ESP32 vers Nextion
Beaucoup d'avantages : Pas de bug sur cette carte, grosses ressources, RTC (DS3231) et WiFi pour régler l'horloge sur les signaux horaires, transfert des données sur le cloud,..
Voir mon système domotique : Domotique via Internet
La seule chose à faire est d'ajouter une petite carte pour inclure l'amplificateur, le MosFet et la résistance de puissance, et relier à l'existant avec peu de fils.
Juste un détail ! L'ESP32 est puissant, mais il y a un défaut, ses CAN sont très mauvais et bruyants, pire que sur la Nano, il faut donc ajouter le parfait CAN externe 12 bits ADS1015.
Les CAN du STM32 sont meilleurs, mais sans WiFi .
Le problème de ces évolutions est qu'elles ont perdu le principal avantage de la petite solution originale, la simplicité et la vie Zen...
A suivre dans "La Revanche du Nano" bientôt sur vos écrans |
Complicated adventure, very long delays from China, custom taxes...
Todo on hypotetics next versions :
SDCard record discharge curves ready to read with Excel
Alternative LCD 4x20.
Graphical display 480*320 to show discharge curve in real time |
Aventure compliquée, très long délai depuis la Chine, taxes douanières...
A faire sur les hypotétiques futures versions :
µSdcard pour enregistrer les courbes de décharge prêtes à être lues sur Excel
Afficheur alternatif 4x20.
Affichage graphique 480*320
afin de montrer la courbe de décharge en temps réel |
Conclusion
It's a little frustrating to test a lot of 18650 at C/1 (C/1 = capacity in 1 hour) because many of those that are around 2Ah at C/2 (1 A) discharge around 2 hours, are now bad and fail in minutes.
They are too old and the internal resistance is too high.
This sandbox allows many fun experiments by changing configuration.
Dans ce projet, ce n'est pas la fonction finale de ce gadget qui est importante, mais la manière de réfléchir autour d’un montage de base très simple.
This project is closed.
I abandoned this dead-end approach in favor of a much more efficient system.
This new setup uses my ESP32 boards, which connect via I2C to a small charge/discharge board equipped with a PCF8575 I/O expander and a high-precision analog-to-digital converter.
At the end of the process, the ESP32 sends an email via WiFi containing an Excel chart of the measurements taken.
A detailed description will follow. |
Conclusion
C'est un peu frustrant de tester beaucoup de 18650 à C/1 (C/1 = capacité en 1 heure), car beaucoup de celles qui font environ 2Ah à C/2 (1 A) avec décharge d'environ 2 heures, sont maintenant mauvaises et s'écroulent en quelques minutes.
Elles sont trop vieilles et la résistance interne est trop élevée.
Ce bac à sable permet de nombreuses expériences amusantes en changeant la configuration.
Dans ce projet, ce n'est pas la fonction finale de ce gadget qui est importante, mais la manière de réfléchir autour d’un montage de base très simple.
Ce projet est clos.
J’ai abandonné cette impasse pour adopter un système bien plus performant.
Celui-ci utilise mes cartes ESP32, qui se connectent via I2C à une petite carte de charge/décharge équipée d’un PIO PCF8575 et d’un convertisseur analogique-numérique de précision.
À la fin du processus, l’ESP32 envoie un e-mail via WiFi contenant la courbe Excel des mesures effectuées.
Un descriptif détaillé suivra. |
Tous les détails et logiciels sont dans cette page à jour au : 220511
|
|
|