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 ?
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.
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
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?
Dennis S. schrieb: > digitale Sachen brauchen halt > meistens Bibliotheken, die schon fertig sind. Äh, nein.
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.
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.
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.
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.
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.
Hallo Dennis, magst Du uns auch verraten was Du machen möchtest, ohne zu Programmieren ?
MaWin schrieb: > alle Arduino-Benutzer brauchen ein shield Ist so ein Shield eigentlich das gleiche, was man früher "Brett vorm Kopf" nannte? :-)
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.