Digitaler Strommess IC

OP #3706982
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 ?
Gast #3706991
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.
OP #3707009
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
Persönliche Seite #3707046
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.
Gast #4283674
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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren