Bonjour à tous,
Je vous propose ma solution de cablâge d'un capteur de courant avec la lecture de la tension de la batterie qui y est connectée.
J'ai choisi un acs758 100A.
Le réglage dans oXs est donc 2500 et 20mV/A.
J'utilise les entrées A0 et A1, l'une pour lire le retour du courant qui devra donc retourner 5v pour un courant max de 100A.
L'autre pour lire la tension de la batterie 12v utiliser pour les moteurs cc.
L'arduino ne supporte pas plus de 5v sur ses entrées analogiques. Il faut donc utiliser un pont diviseur de tension. J'ai utilisé un potentiomètre multi tour de 200k mais 10k suffirait. Il est connecté entre le + de la batterie et le gnd du montage. Le point milieu de ce potentiomètre est connecté sur la pin ov2 du montage. Il faut donc couper la piste ov2 en provenance de l'ampli op du montage. J'ai utilisé une alimentation externe de 28v environ pour simuler ma batterie de 12v. J'ai réglé le potentiomètre pour qu'il ai 5v en sont point milieu.
J'ai donc une large marge d'utilisation pour ce capteur de courant/tension qui supportera jusqu'à 28v.
Le capteur est alimenté en 5v/gnd et les sorties sont ov1 pour le courant et ov2 pour la tension.
La configuration de oXs est simple.
Il faut définir A0 et A1 comme entrée pour ce capteur.
Dans basic :
#define VFAS_SOURCE VOLT_1
Puis dans advenced
// ***** 6.2 - Voltage parameters *****
// Each of following lines contains 6 parameters, the first value is for VOLT_1, the second for VOLT_2, ... up to the sixth for VOLT_6
// VOLT_1 , VOLT_2 , VOLT_3 , VOLT_4 , VOLT_5 , VOLT_6
#define PIN_VOLTAGE 0 , 1 , 2 , 3 , 6 , 7 // Fill 6 values; set to 0 up to 7 for analog pins A0 up to A7 ; set the value to 8 for the voltage(s) not to be measured.
#define RESISTOR_TO_GROUND 37.5 , 0 , 0 , 0 , 0 , 0 //#define RESISTOR_TO_GROUND 2.95 , 10 , 10 , 10 , 0 , 18 // set value to 0 when no divider is used for a voltage; can contains decimals
#define RESISTOR_TO_VOLTAGE 162 , 0 , 0 , 0 , 0 , 0 //#define RESISTOR_TO_VOLTAGE 46.9 , 10 , 22 , 27 , 0 , 47 // set value to 0 when no divider is used for a voltage; can contains decimals
#define OFFSET_VOLTAGE 0 , 0 , 0 , 0 , 0 , 0 // optionnal, can be negative, must be integer, in principe in mv
#define SCALE_VOLTAGE 1.00 , 1.0 , 1.0 , 1.0 , 1.0 , 1.0 // optionnal, can be negative, can have decimals
ET:
// ***** 6.5 - Current parameters *****
#define PIN_CURRENTSENSOR 1 // Arduino pin used to measure the voltage provided by a current sensor
#define MVOLT_AT_ZERO_AMP 2500 // in millivolt (2500 bidir, 600 unidir)
#define MVOLT_PER_AMP 20 // in milliVolt per Amp
#define RESISTOR_TO_GROUND_FOR_CURRENT 0 // put as comment or set to 0 if no divider is used (e.g. 19.8 for 1.1 internal ref)
#define RESISTOR_TO_CURRENT_SENSOR 0 // put as comment or set to 0 if no divider is used (e.g 39 for 1.1 internal ref)
37,5 et 162 correspondent aux valeurs mesurées sur le potentiomètre 10 tours en kilo ohms.
Sent from my SM-A510F using
Modelisme mobile app