Forum: Mikrocontroller und Digitale Elektronik Digitaler Strommess IC


von Dennis S. (sixeck)


Lesenswert?

Hallo,

Ich wollte mal Fragen ob es digitale ICs zum Strom messen gibt ?

Ich kenne die ACS712 von Allegro, die ja analog sind und so ganz gut an 
einem Arduino funktionieren (Iiih er hat Arduino gesagt).

Ja, genau, ich suche einen digitalen Strom Mess IC , für Arduino.

Weis da jemand was, wenn ja, kann er es mir sagen ?

von Mike (Gast)


Lesenswert?

Dennis S. schrieb:
> Ja, genau, ich suche einen digitalen Strom Mess IC , für Arduino.

Die meinsten digitalen Mess ICs haben SPI und/oder I²C Schnittstelle. 
Was für eine spezielle Schnittstelle brauchst du für Arduino? Die 
Arduino Boards laufen doch mit ganz normalen Atmel Controllern.

von Mike (Gast)


Lesenswert?

ACS764

Und falls dir der Messbereich nicht passt - musst du was sagen.

von Dennis S. (sixeck)


Lesenswert?

Mike schrieb:
> Dennis S. schrieb:
>> Ja, genau, ich suche einen digitalen Strom Mess IC , für Arduino.
>
> Die meinsten digitalen Mess ICs haben SPI und/oder I²C Schnittstelle.
> Was für eine spezielle Schnittstelle brauchst du für Arduino? Die
> Arduino Boards laufen doch mit ganz normalen Atmel Controllern.

Ja, eigentlich kann ich jeden nehmen, digitale Sachen brauchen halt 
meistens Bibliotheken, die schon fertig sind.

Mike schrieb:
> ACS764
>
> Und falls dir der Messbereich nicht passt - musst du was sagen.

Voll vergessen, 250V und 16 A, der  ACS764 geht ja anscheinend nur bis 
100V

von Mike (Gast)


Lesenswert?

Dennis S. schrieb:
> Voll vergessen, 250V und 16 A, der  ACS764 geht ja anscheinend nur bis
> 100V

Möchtest du nun Strom oder Spannung messen?
Genauigkeit und Auflösung sind dir egal?

von Eumel (Gast)


Lesenswert?

Dennis S. schrieb:
> digitale Sachen brauchen halt
> meistens Bibliotheken, die schon fertig sind.

Äh, nein.

von Dennis S. (sixeck)


Lesenswert?

Mike schrieb:
> Dennis S. schrieb:
>> Voll vergessen, 250V und 16 A, der  ACS764 geht ja anscheinend nur bis
>> 100V
>
> Möchtest du nun Strom oder Spannung messen?
> Genauigkeit und Auflösung sind dir egal?

Ich möchte Strom messen, in 100mA Schritten reicht. Das sollte dann aber 
sehr genau sein.

von Dennis S. (sixeck)


Lesenswert?

Eumel schrieb:
> Dennis S. schrieb:
>> digitale Sachen brauchen halt
>> meistens Bibliotheken, die schon fertig sind.
>
> Äh, nein.

Ok, ich ich formuliere es anders. Für digitale Sachen hätte ich gerne 
eine Bibliothek, die schon existiert.

von MaWin (Gast)


Lesenswert?

Dennis S. schrieb:
> Ja, genau, ich suche einen digitalen Strom Mess IC , für Arduino.

Du brauchst ein shield, alle Arduino-Benutzer brauchen ein shield weil 
sie sonst nichts anschliessen können.

von Marian (phiarc) Benutzerseite


Lesenswert?

Dennis S. schrieb:
> Mike schrieb:
>> Dennis S. schrieb:
>>> Voll vergessen, 250V und 16 A, der  ACS764 geht ja anscheinend nur bis
>>> 100V
>>
>> Möchtest du nun Strom oder Spannung messen?
>> Genauigkeit und Auflösung sind dir egal?
>
> Ich möchte Strom messen, in 100mA Schritten reicht. Das sollte dann aber
> sehr genau sein.

D.h. full-scale 16 A, 100 mA Auflösung und geforderte Genauigkeit.

8 Bit ADC reicht, Genauigkeit <= 0.625 %. Das wird beides kein Problem 
sein, denke ich.

von René K. (cyprius)


Angehängte Dateien:

Lesenswert?

MaWin schrieb:
> Du brauchst ein shield, alle Arduino-Benutzer brauchen ein shield weil
> sie sonst nichts anschliessen können.

Arduino-Nutzer können jetzt zusätzlich zum anschließen auch noch kleben.

von Uwe (de0508)


Lesenswert?

Hallo Dennis,
magst Du uns auch verraten was Du machen möchtest, ohne zu Programmieren 
?

von Harald W. (wilhelms)


Lesenswert?

MaWin schrieb:

> alle Arduino-Benutzer brauchen ein shield

Ist so ein Shield eigentlich das gleiche, was man früher
"Brett vorm Kopf" nannte? :-)

von Juan Gutierrez (Gast)


Lesenswert?

Hallo,
Ich nutze den ACS764 für mein Projekt aber ich habe ein Problem und 
zwar,
egal was ich mache ich kriege immer den gleicher Wert (ein einzeln 1).
Ich arbeite mit Arduino UNO (Atmel ATmega328P) und ich habe eine kleine 
Platine entwickelt.
Ich will nur wissen ob meine Software richtig ist.
Hier ist meine kleine Software:

#include <Wire.h>       // load I2C-Library

void setup() {
  Wire.begin();         // I2C-Bus "activate"
  Serial.begin(9600);   // Enable the serial communication for debugging 
purposes

/*
  Wire.beginTransmission(B1100000);
  Wire.write(byte(0x02));         //set average points as 1
  Wire.write(byte(0x00));
  Wire.write(byte(0x00));
  Wire.write(byte(0x01));
  Wire.endTransmission();

  Wire.beginTransmission(B1100000);
  Wire.write(byte(0x04));         //set gain as 2
  Wire.write(byte(0x00));
  Wire.write(byte(0x00));
  Wire.write(byte(0x02));
  Wire.endTransmission();

  Wire.beginTransmission(B1100000);
  Wire.write(byte(0x06));          //set overcurrent as 63% of CSR
  Wire.write(byte(0x00));
  Wire.write(byte(0x00));
  Wire.write(byte(0x03));
  Wire.endTransmission();

  Wire.endTransmission();             //set parameters
  Wire.beginTransmission(B1100000);
  Wire.write(GAIN_RANGE, 4);
  Wire.endTransmission();
  Wire.beginTransmission(B1100000);
  Wire.write(FAULT_LEVEL, 4);
  Wire.endTransmission();
  Wire.beginTransmission(B1100000);
  Wire.write(0x00);
  Wire.endTransmission();
  */
}

void loop()
{

   int aux=0;

      Wire.beginTransmission(B1100000);   //start communication with 
slave #60
      Wire.write(0x00);             //send command 0x00. MAY BE HERE IS 
MY MISTAKE BUT I REALLY TRIED EVERYTHING ELSE
      Wire.endTransmission();
      Wire.requestFrom(B1100000, 3); // expecting 3 Byte from slave #60
      delay(100);                  //waiting
      while(Wire.available())    // Until some bytes are in bus. P.S. 
Slave may send less than requested
      {
        aux = Wire.read();    // overwrite the value and just keep the 
last significant byte
      }
      Serial.print("00: ");
      Serial.println(aux);         // print the value
      delay(3000);
}

Ich weiß Arduino ist nur C-basiert aber ich wäre sehr dankbar wenn 
jemand eine Funktion in C mir geben könnte, danach kann ich es anpassen.
Falls sie wollen ich kann euch die Schaltung meiner Platine geben.
Vielen Dank im Voraus für deine Hilfe
Grüße
Juan

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.