Willkommen, Gast
Benutzername: Passwort: Angemeldet bleiben:
  • Seite:
  • 1

THEMA: Perimeter V2 VER 592 mit ACS712-5A Sensor

Perimeter V2 VER 592 mit ACS712-5A Sensor 3 Jahre 4 Monate her #8849

  • silas.michael@gmx.de
  • silas.michael@gmx.des Avatar Autor
  • Offline
  • Benutzer
  • Benutzer
  • Geht nicht, gibt's nicht!
  • Beiträge: 38
  • Dank erhalten: 18
Hallo,

ich brauch Hilfe!!!!!
Gestern ist mein Schleifengenerator fertig geworden. Ich habe einen Nano + L298N Dual H + ACS712 5A + DC-DC verbaut. Ich bekommen aber keine sinnigen Werte für den Stromsensor zustande.

Hat jemand den Sensor mit Perimeter V2 Software im Einsatz?
Kann mir jemand beim Code anpassen helfen, damit der Sensorwert richtig berechnet wird?

    if (USE_PERI_CURRENT) {
      // determine perimeter current (Ampere)
      periCurrentMeasurements.getAverage(v);    
      //periCurrentAvg = ((double)v) / 1023.0 * 1.1 / 0.525;   // 525 mV per amp (ORIGINAL)
      periCurrentAvg = ((double)v) / 1023.0 * 0.048875855327468 / 2.5 ;   // for ACS 712 5A (mein Versuch)
      unsigned int h;
      periCurrentMeasurements.getHighest(h);    
      //periCurrentMax = ((double)h) / 1023.0 * 1.1 / 0.525;   // 525 mV per amp (ORIGINAL)
      periCurrentMax = ((double)h) / 1023.0 * 0.048875855327468 / 2.5 ;   // for ACS 712 5A (mein Versuch)
    }

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Letzte Änderung: von silas.michael@gmx.de.

Perimeter V2 VER 592 mit ACS712-5A Sensor 3 Jahre 4 Monate her #8857

  • stm
  • stms Avatar
  • Offline
  • Benutzer
  • Benutzer
  • Beiträge: 87
  • Dank erhalten: 16
Hi,
hast du ihn kalibriert?

Grüße, Stephan

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Freundliche Grüße aus Ulm :)

// Picus 1 //

// Safety is Topic No. 1 ! // Protect your remaining fingers ! //

Perimeter V2 VER 592 mit ACS712-5A Sensor 3 Jahre 4 Monate her #8858

  • silas.michael@gmx.de
  • silas.michael@gmx.des Avatar Autor
  • Offline
  • Benutzer
  • Benutzer
  • Geht nicht, gibt's nicht!
  • Beiträge: 38
  • Dank erhalten: 18
Das Kalibrieren hab ich gemacht. So weit ich das verstanden habe ist das aber nur für den Perimeterstrom.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Perimeter V2 VER 592 mit ACS712-5A Sensor 3 Jahre 4 Monate her #8859

  • Kurzschuss
  • Kurzschusss Avatar
  • Offline
  • Moderator
  • Moderator
  • Beiträge: 799
  • Dank erhalten: 257
Kennst du diese Seite schon:
shelvin.de/den-acs-712-5a-strom-sensor-am-arduino-auslesen/


Im alten arduino Code für den Mover findest du folgendes. Vielleicht hilft dir das weiter:
//  Anfang Ladestromsensor berechnen
   // ********************************************************************
   //  Variabeln 
    float vcc, asensor, amp;     
    float chgAMP;                                               //Sensorwert des Ladestrompin

    //Sensor Wert Ausgabe auf Seriellen Monitor oder HandyApp   wenn chgSelection =0
    if ((chgSelection)==0) chgCurrent = current;

    // Berechnung für Ladestromsensor ACS712 5A                 wenn chgSelection =1
    if ((chgSelection)==1) {

    chgAMP = currentmitte;                                     //Sensorwert übergabe vom Ladestrompin
    vcc = (float) 3.30 / chgSenseZero * 1023.0;                // Versorgungsspannung ermitteln!  chgSenseZero=511  ->Die Genauigkeit kann erhöt werden wenn der 3.3V Pin an ein Analogen Pin eingelesen wird. Dann ist vcc = (float) 3.30 / analogRead(X) * 1023.0;
    asensor = (float) chgAMP * vcc / 1023.0;                   // Messwert auslesen
    asensor = (float) asensor - (vcc/chgNull);                 // Nulldurchgang (vcc/2) abziehen
    chgSense = (float) chgSense - ((5.00-vcc)*chgFactor);      // Korrekturfactor für Vcc!  chgFactor=39
    amp = (float) asensor /chgSense *1000 ;                    // Ampere berechnen
    if (chgChange ==1) amp = amp / -1;                         //Lade Strom Messwertumkehr von - nach +
    if (amp<0.0) chgCurrent = 0; else chgCurrent = amp;        // Messwertrückgabe in chgCurrent   (Wenn Messwert kleiner als 0 dann Messwert =0 anssonsten messwertau8sgabe in Ampere)
    }
    
    // Berechnung für Ladestromsensor INA169 board              wenn chgSelection =2
    if ((chgSelection)==2) {
    chgAMP = currentmitte;
    asensor = ((chgAMP * 5) / 1023);                          // umrechnen von messwert in Spannung (5V Reference)
    amp = asensor / (10 * 0,1);                               // Ampere berechnen RL = 10k    Is = (Vout x 1k) / (RS x RL)
    if (amp<0.0) chgCurrent = 0; else chgCurrent = amp;       // Messwertrückgabe in chgCurrent   (Wenn Messwert kleiner als 0 dann Messwert =0 ansonsten Messwertaußsgabe in Ampere)
    }  
    
    
    //  Ladestromsensor berechnen ********** Ende
// Sensorausgabe Konsole      (chgSelection =0)
  // Einstellungen ACS712 5A    (chgSelection =1   /   chgSenseZero ~ 511    /    chgFactor = 39    /    chgSense =185.0    /    chgChange = 0 oder 1    (je nach  Stromrichtung)   /   chgNull  = 2)
  // Einstellungen INA169 board (chgSelection =2)
  chgSelection    = 1;
  chgSenseZero    = 511;        // charge current sense zero point
  chgFactor       = 39;         // charge current conversion factor   - Empfindlichkeit nimmt mit ca. 39/V Vcc ab
  chgSense        = 185.0;      // mV/A empfindlichkeit des Ladestromsensors in mV/A (Für ACS712 5A = 185)
  chgChange       = 0;          // Messwertumkehr von - nach +         1 oder 0
  chgNull         = 2;          // Nullduchgang abziehen (1 oder 2)
Gruß
Uwe
Folgende Benutzer bedankten sich: silas.michael@gmx.de

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

aktuelle Dokumentation / latest documentation
-> github.com/Ardumower/ardumower/tree/master/Dokumentation

KIcad Anleitung: www.ardumower.de/index.php/de/forum/ardu...nen/1082-kicad#10828

English language (translation) with the help of Google Translate

Perimeter V2 VER 592 mit ACS712-5A Sensor 3 Jahre 4 Monate her #8860

  • stm
  • stms Avatar
  • Offline
  • Benutzer
  • Benutzer
  • Beiträge: 87
  • Dank erhalten: 16
@UweZ: Vorsicht, das ist der Code vom Ladestromsensor.

@Silas

Okay, gehen wir das ganze systematisch an.
Was genau sind für dich keine sinnigen Werte? Poste mal bitte ein paar Zeilen des Consolenoutputs.

1.
DCDC funktioniert, Ausgangsspannung ist auf wieviel V eingestellt?.

2.
Was macht die LED (Pin13) ?
ON: perimeter closed, OFF: perimeter open, BLINK: robot is charging

3. Benutzt du ein Poti an A3 um den Duty Cycle zu regeln? Use pot ggf auf 1 gesetzt?
#define USE_POT 0 // use potentiometer for current control? (set to '0' if not connected!)

4. Strommessung der Schleife an A0 angeschlossen und auf 1 definiert? Bei 0mA sollten hier relativ genau 2V5 anliegen.
#define USE_PERI_CURRENT 1 // use pinFeedback for perimeter current measurements? (set to '0' if not connected!)

5. Fault Pin vom Motortreiber an Pin 4 angeschlossen und ggf. definiert?
#define USE_PERI_FAULT 0

6. Spannungen an allen ogn. Pins bitte messen.

Mir würde die Information zu der LED vermutlich sehr bei der Fehlereingrenzung helfen.

Grüße, Stephan

Nachtrag:
Hast du den Schleifenwiderstand gemessen? Auch gegen die Erde (auf Schluss/Offen geprüft?)

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Freundliche Grüße aus Ulm :)

// Picus 1 //

// Safety is Topic No. 1 ! // Protect your remaining fingers ! //
Letzte Änderung: von stm.

Perimeter V2 VER 592 mit ACS712-5A Sensor 3 Jahre 4 Monate her #8861

  • Jemihi
  • Jemihis Avatar
  • Offline
  • Benutzer
  • Benutzer
  • Beiträge: 308
  • Dank erhalten: 29
Der Codeschnipsel ist schon der richtige Teil, den Uwe da rausgesucht hat.

Zunächst muss man ja wissen, dass der Sensor bei 0,5*U seinen 0-Wert hat. Dahin muss er kalibriert werden. Also man nimmt den ADC-Wert, der im Leerlauf (ohne Strom) rausgeschmissen wird und speichert ihn. Anschließend zieht man ihn immer vom ADC-Wert ab (oder addiert ihn, je nachdem wie rum man die Kabel angeschlossen hat, der Sensor kann beide Stromrichtungen messen). Und dann müsste die Formel erst zum Tragen kommen, die Silas gepostet hat, um den Strom zu berechnen.

Gruß,
Jem

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

DIY Wood Chassis @ Ardumower with PCB 1.2
12V Lead Acid Battery (7Ah) - L200CV as charger - JP4 und JP7 set
Version 1.0a7-azurit - Perimeter V2 /w power control mod 90m Differential Signal @ 5V
Bumper - RTC - BT - Docking - Brushless Mow Motor with MC33924-emulator PCB - GMPD/404980 Drive Motors
Letzte Änderung: von Jemihi.

Perimeter V2 VER 592 mit ACS712-5A Sensor 3 Jahre 4 Monate her #8863

  • silas.michael@gmx.de
  • silas.michael@gmx.des Avatar Autor
  • Offline
  • Benutzer
  • Benutzer
  • Geht nicht, gibt's nicht!
  • Beiträge: 38
  • Dank erhalten: 18
@ Stephan:

Sinnige Werte sollten irgendwo bei 0.00 sein

Schleife war ca. 2m Draht und 22Ohm Last, zusammen 22,6Ohm (hatte nichts anderes da).
Schleifenwiederstand:


Console war so:

time=34 chgCurrent=0.000 chgCurrentADC=1023.00 isCharging=0 periCurrent avg=0.02 max=0.02 duty=1.00 dutyPWM=255 faults=0

zu 1. DC-DC ist OK und auf 5,05V eingestellt (5,00V am Arduino und ACS)

zu 2. LED ist aus

zu 3. #define USE_POT ist 0 (keins dran)

zu 4. #define USE_PERI_CURRENT ist 1 (an A0 angeschlossen und es sind im Leerlauf ca. 2,512V / bei ca. 530mA sind es 2,574V)
ohne Schleife:


mit Schleife:


zu 5. #define USE_PERI_FAULT ist 0 (nicht angeschlossen)

zu 6. siehe Bilder oben

Hier noch ein Bild der Spannungsänderung mit dem Oszi gemessen, wo ich die Schleife angeschlossen habe:

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Perimeter V2 VER 592 mit ACS712-5A Sensor 3 Jahre 4 Monate her #8864

  • silas.michael@gmx.de
  • silas.michael@gmx.des Avatar Autor
  • Offline
  • Benutzer
  • Benutzer
  • Geht nicht, gibt's nicht!
  • Beiträge: 38
  • Dank erhalten: 18
Ich habe gehofft, es hat jemand gleich den passenden Code.

Ich werde mich wohl mal tiefer in den Code reinarbeiten müssen und den Teil umschreiben für den ACS712-5A.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Perimeter V2 VER 592 mit ACS712-5A Sensor 3 Jahre 4 Monate her #8865

  • Jemihi
  • Jemihis Avatar
  • Offline
  • Benutzer
  • Benutzer
  • Beiträge: 308
  • Dank erhalten: 29
nimm doch den code von uwe ...
Folgende Benutzer bedankten sich: silas.michael@gmx.de

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

DIY Wood Chassis @ Ardumower with PCB 1.2
12V Lead Acid Battery (7Ah) - L200CV as charger - JP4 und JP7 set
Version 1.0a7-azurit - Perimeter V2 /w power control mod 90m Differential Signal @ 5V
Bumper - RTC - BT - Docking - Brushless Mow Motor with MC33924-emulator PCB - GMPD/404980 Drive Motors

Perimeter V2 VER 592 mit ACS712-5A Sensor 3 Jahre 4 Monate her #8866

  • stm
  • stms Avatar
  • Offline
  • Benutzer
  • Benutzer
  • Beiträge: 87
  • Dank erhalten: 16
Danke für die Info, bin gerade nur unterwegs und werde mich später damit befassen...
Mir kommt es nur seltsam vor, da ich auch den ACS verwende...

Grüße, Stephan

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Freundliche Grüße aus Ulm :)

// Picus 1 //

// Safety is Topic No. 1 ! // Protect your remaining fingers ! //

Perimeter V2 VER 592 mit ACS712-5A Sensor 3 Jahre 4 Monate her #8867

  • silas.michael@gmx.de
  • silas.michael@gmx.des Avatar Autor
  • Offline
  • Benutzer
  • Benutzer
  • Geht nicht, gibt's nicht!
  • Beiträge: 38
  • Dank erhalten: 18
Ich werde den Code von Uwe rein basteln.
Bei der Original Schleife hab ich auch höhere Strome. Mal sehen, was da so zu messen ist. Ich denke nicht so paar 0,0..V ;)

@Stephan: Wie sieht dein Code aus? Hast du die Berechnung angepasst oder Original gelassen.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Perimeter V2 VER 592 mit ACS712-5A Sensor 3 Jahre 4 Monate her #8873

  • stm
  • stms Avatar
  • Offline
  • Benutzer
  • Benutzer
  • Beiträge: 87
  • Dank erhalten: 16
Hallo zusammen,
ich bin mir nicht mehr ganz sicher, ob ich den Code damals angepasst habe.
Soweit ich mich erinnere, bin ich beim Sender im Developer Mode unterwegs.
Ob ich die Stromwerte jemals mit dem DMM geprüft habe, weiß ich mittlerweile auch nicht mehr -.-

Wenn ich mal den aktuellen Code der Version 592 durchschaue, kommt mir auch der Faktor von 525 mV je Ampere etwas spanisch vor (Oder ist der vom INA?)

Wenn ich den 5A Typ vom ACS verwende ist dieser mit 185 mv/Ampere angegeben.

0,0A = 2,512V in deinem Fall
0,53A = 2,574V

Alle temperaturabhängigen Varianzen außer Acht gelassen komme ich gerechnet auf 2,61005 V(welche in den 1,5% Toleranz des Chips enthalten sind).

Wenn ich nicht falsch liege, müsstest du zum einen den Faktor hier anpassen:
if (USE_PERI_CURRENT) {
      // determine perimeter current (Ampere)
      periCurrentMeasurements.getAverage(v);    
      periCurrentAvg = ((double)v) / 1023.0 * 1.1 / [b]0.525;   // 525 mV per amp [/b]   => 0.185
      unsigned int h;
      periCurrentMeasurements.getHighest(h);    
      periCurrentMax = ((double)h) / 1023.0 * 1.1 / [b]0.525;   // 525 mV per amp    [/b] => 0.185
    }

Deine weitere Berechnung hab ich mir noch nicht genauer angeschaut, aber die 2,5V sollten meines Wissens nach subtrahiert werden..

Grüße, Stephan
Folgende Benutzer bedankten sich: silas.michael@gmx.de

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Freundliche Grüße aus Ulm :)

// Picus 1 //

// Safety is Topic No. 1 ! // Protect your remaining fingers ! //

Perimeter V2 VER 592 mit ACS712-5A Sensor 3 Jahre 4 Monate her #8877

  • Jemihi
  • Jemihis Avatar
  • Offline
  • Benutzer
  • Benutzer
  • Beiträge: 308
  • Dank erhalten: 29
ACS712 ... Google ist dein Freund ...

5A = 185 mV/A

20A = 100 mV/A

30A = 66 mV/A

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

DIY Wood Chassis @ Ardumower with PCB 1.2
12V Lead Acid Battery (7Ah) - L200CV as charger - JP4 und JP7 set
Version 1.0a7-azurit - Perimeter V2 /w power control mod 90m Differential Signal @ 5V
Bumper - RTC - BT - Docking - Brushless Mow Motor with MC33924-emulator PCB - GMPD/404980 Drive Motors
Letzte Änderung: von Jemihi.

Perimeter V2 VER 592 mit ACS712-5A Sensor 3 Jahre 4 Monate her #8878

  • stm
  • stms Avatar
  • Offline
  • Benutzer
  • Benutzer
  • Beiträge: 87
  • Dank erhalten: 16

Stephan schrieb: Wenn ich den 5A Typ vom ACS verwende ist dieser mit 185 mv/Ampere angegeben.


Ähm joa.. Was willst du uns sagen, Jemihi ? :silly:

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Freundliche Grüße aus Ulm :)

// Picus 1 //

// Safety is Topic No. 1 ! // Protect your remaining fingers ! //

Perimeter V2 VER 592 mit ACS712-5A Sensor 3 Jahre 4 Monate her #8879

  • Jemihi
  • Jemihis Avatar
  • Offline
  • Benutzer
  • Benutzer
  • Beiträge: 308
  • Dank erhalten: 29
Ich wollte dir damit sagen, dass ich deinen Post nicht vollständig gelesen habe ;)

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

DIY Wood Chassis @ Ardumower with PCB 1.2
12V Lead Acid Battery (7Ah) - L200CV as charger - JP4 und JP7 set
Version 1.0a7-azurit - Perimeter V2 /w power control mod 90m Differential Signal @ 5V
Bumper - RTC - BT - Docking - Brushless Mow Motor with MC33924-emulator PCB - GMPD/404980 Drive Motors

Perimeter V2 VER 592 mit ACS712-5A Sensor 3 Jahre 4 Monate her #8885

  • stm
  • stms Avatar
  • Offline
  • Benutzer
  • Benutzer
  • Beiträge: 87
  • Dank erhalten: 16
Achso, jetzt hab ichs gecheckt :)
Habe mir eben mal den Spaß gemacht und bisschen mit der allerersten Formel rumgerechnet,
Werte ersetzt usw. aber irgendwie komme ich auf keinen grünen Zweig..
Ich hol mir glaub noch n Kaffe, dann geb ich mir den Code von Uwe ;)

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Freundliche Grüße aus Ulm :)

// Picus 1 //

// Safety is Topic No. 1 ! // Protect your remaining fingers ! //
  • Seite:
  • 1
Ladezeit der Seite: 2.778 Sekunden