Erst mal Hallo und Guten Morgen, ich habe zu einer bestimmten Sache mal ein paar Fragen. Und zwar möchte ich gern eine Wechselspannung Frequenz mit meinem Arduino auslesen und verarbeiten. Ich bin zwar noch Anfänger, aber ich denke wenn ich ein paar hilfreiche Tipps bekomme, wird das schon klappen! ;) Ich habe mich jetzt 2 Tage damit beschäftigt, wie man eine AC Spannung/Frequenz mit einem Arduino messen könnte, da gibts zum einen den etwas ungenaueren analogen Weg und einen präzisen auf Digitalen Weg. Nur irgendwie habe ich Probleme direkt hier im Board etwas über AC Frequenz messen zu finden, um zu sagen das ist genau das, was ich gesucht habe. Der Generator ist ein 3 Phasen 400V mit 3x90A und 50KW Leistung. Jetzt habe ich im Netz mal ein bissel gesucht und diese Sachen gefunden: http://www.robotshop.com/100a-ac-current-sensor.html (5 Volt Spannung und analog) http://www.conrad.de/ce/de/product/505264/Stromsensoren-CSN-Serie-Honeywell-CSNX25-5-V- (genau 5V Betriebsspannung, aber 40A leider nur) http://www.komputer.de/zen/index.php?main_page=product_info&products_id=165&zenid=93288c75d2779f116476e667f66019f6 (wieder 5 Volt Spannung, aber leider wieder nur 50A) http://de.farnell.com/jsp/displayProduct.jsp?sku=1617417&CMP=KNC-GDE-FDE-GEN-LISTINGS&gross_price=true&mckv=sUGpAyJBA|pcrid|productlistings&gclid=CJLtvsGQk7kCFUS33godqioAZw (dieser hier, scheint mir perfekt genug) http://de.rs-online.com/web/p/entwicklungskits-power-management/7639756/ (soll bei Strommessungen sehr präzise sein) Wobei ich euch jetzt einfach mal Frage, mit welchen Bauteilen ich am genausten die Frequenz auslesen könnte, oder vllt. euch schon einer gearbeitet hat, um Hilfestellungen zu bieten. Habe auch noch was über einen OP und ADU gehört, ich denke mir Operationsverstärker und Analog Digital Wandler ist damit gemeint?! Wenn mir jemand etwas Rat weiß, wie ichs angehe, wäre ich sehr dankbar. LG Speedy
Speedy333 schrieb: > Wobei ich euch jetzt einfach mal Frage, mit welchen Bauteilen ich am > genausten die Frequenz auslesen könnte, oder vllt. euch schon einer > gearbeitet hat, um Hilfestellungen zu bieten. Du könntest hier in der Codesammlung suchen. Oder fang doch erst einmal ganz einfach an und messe die DC-Frequenz.
Nunja, ich glaube da vergehen noch nen paar Tage, bis ich das verstehe! http://www.mikrocontroller.net/articles/Optokoppler ;)
Hi >http://de.farnell.com/jsp/displayProduct.jsp?sku=1... >(dieser hier, scheint mir perfekt genug) Das ist ein 50A Sensor. MfG Spess
@Speedy333 Wenn Du mit 230/400V rummachen willst, wirst Du wohl um Optokoppler nicht herumkommen. Alles andere bringt recht große Probleme mit sich. 1. Da ist zum einen, dass die Arduinos (Atmels und auch andere) oft nur mit Gleichspannung umgehen können. 2. Der Messbereich liegt da fast immer bei 0 bis +Ucc (5 oder 3,3V oder kleiner). Natürlich kann man mit einem entsprechenden Spannungsteiler und/oder der Anpassung durch Operationsverstärker diese Probleme umgehen, ist aber wesentlich umfangreicher. Auch könnte man das Problem durch Gleichrichtung handlicher gestalten (nur noch eine Polarität). Fakt bleibt aber: Ganz so einfach ist es nicht. Ob es in der Arduino-Serie auch Prozessoren gibt, die mit Differenzspannungen umgehen können, weis ich nicht.
hallo Erstmal sollte die klar sein, was du messen willst. Du sagst, du willst die Frequenz messen, verweist in deinen Links aber auf Stromsensoren. Trafo an die 400V, auf ungefährliche Spannungen wandeln und mit diesen arbeiten. Gruß Joachim
Speedy333 schrieb: > Nunja, ich glaube da vergehen noch nen paar Tage, bis ich das verstehe! Sei mir nicht böse, aber dann solltest du die Finger davon lassen. Im Betreff fragst du nach messen+verarbeiten, deine Links weisen aber auf die Signalanpassung auf einen µC geeigneten Pegel hin.
Hallo, um die Frequenz zu bestimmen, musst du nicht den Strom messen, also brauchst du auch keinen Sensor für 50 A. Die Frequenz bestimmt man aus der Spannung, auch dann wenn garkein Strom fliesst. Aber die Spannung ist das, was dich möglicherweise umbringt, bei deinem Kenntnisstand. Gruss Reinhard
Ihr seit irgendwie richtig nett muss ich sagen! ;) Würde das hier in etwa die Lösung zu meinem Problem werden.. außer wie manche meinen, zu meinem Tode? Und soviel ich jetzt in Erfahrung bringen konnte, kann man mit einem Optokoppler nur den Schaltzustand ermitteln und eine Galvanische Trennung mit ihm erzielen. Nur wie ich damit die Amplitude etc. bekomme usw. um die Frequenz errechnen zu können, leider nicht! Unter einer Frequenz aufgebauten Drehzahlsteuerung, hab ich leider auch nichts richtiges gefunden. Irgendwie hatte ich mir gedacht, mit einem von dem Oben genannten Sensoren bekommt mans irgendwie hin ;) LG
Noch einfacher geht es so. Der Kondensator muss ein X2-Typ sein. Der Rest ist dann Software.
Nunja, könnte hier einer etwas drüber sagen? So dürfte ich eigentlich eine Spannung hin bekommen, mit der Arduino arbeiten könnte... Printtrafo 230V auf 6V, dann gleichgerichtet, Poti dann auf geeigneten Wert eingestellt. Z-Diode dient nochmal als Sicherheit. Kalibrieren durch 250 V kurzzeitig an die Primärwicklung, Ausgangsspannung mit dem Poti dann auf 5 V einstellen. Dient auch als Reserve. Dann Programmablauf mit Analogem verfahren wie es beliebt ;) Würde dieses funktionieren, oder gibts vllt auch noch eine bessere Methode? LG Speedy
Vielen Dank Hubert ;) werd mich mal langsam aber sicher ran tasten.. ist ja schließlich noch kein Meister vom Himmel gefallen ;) LG
Speedy333 schrieb: > Nur wie ich damit die Amplitude etc. bekomme > usw. um die Frequenz errechnen zu können, leider nicht! Das ist immer noch der falsche Dampfer - für die Frequenz musst du keine Amplitude messen, nur feststellen, ob die Spannung grösser oder kleiner Null ist. Das macht ein Optokoppler schon ganz von selbst. Gruss Reinhard
Ich weiss nicht ob du einen Oszi hast. Wenn ja, dann schau dir mal an was bei meiner Schaltung herauskommt.
spontan würde ich sagen: mit Trafo auf 6 Volt --> Gleichrichter --> Schmitt Trigger (oder Analog-Komperator)--> Interrupt-Eingang des Controllers. Den Controller selbst kannst Du dann noch flux über einen 7805 (mit zusätzlichen Kondensatoren zur Glättung) an den Gleichrichter hängen und die Schaltung damit gleich versorgen. Als Referenz für den Schmitt Trigger kannst Du einen einfachen Spannungsteiler nehmen. Im Interrupt-Handler die Zeit zwischen zwei Signalen messen und daraus die Frequenz errechnen und fertig. Durch den Gleichrichter wird Du dann pro Halbwelle ein Signal am Schmitt-Trigger bekommen. Also must Du die Frequenz ggf. noch durch 2 teilen.
Ok.. das mit dem gleich versorgen klingt wunderbar.. bei dem Rest wie Analog-Komparator meinst du bestimmt einen LM393 oder ähnliches.. mhhm Spannungsteiler http://www.mikrocontroller.net/articles/Spannungsteiler ist so was gemeint.. Schmitt Trigger ist das gemeint http://www.mikrocontroller.net/articles/Schmitt-Trigger nunja, schaun wir mal.. Vielen Dank erst mal ;)
Guten Abend euch allen, ich hätte da gerne mal eine Auskunft.. und zwar habe ich mir bei euch son bissel was zusammen gesucht. Nur ich weiss nicht obs dementsprechend richtig so ist.. was sagt ihr dazu?
Vielleicht hilft folgende Anregung für die Netzfrequenzmessung mit einem Draht als Zusatzhardware: https://www.youtube.com/watch?v=7JRM3pHV9XQ&html5=1&hd=1 Hier ist der Code dazu: // (C) Dipl. Phys. H. Weber // // Wie genau ist die Netzfrequenz von 50 Hz ? // // Das kann sich unter www.netzfrequenzmessung.de ansehen. // // Stimmt die Ausgabe dort ? // Ein längerer Draht in Digitalport 8 des Arduino zeigt es int net = 8; unsigned long lastmicro, micro; char* txt =" "; int space, lastspace; void setup() { // initialize the digital pin 8 as an input. pinMode(net, INPUT); Serial.begin(115200); micro=micros(); lastmicro=micro; Serial.println("Start ..."); } void loop() { byte i; double freq; char chr; char *pt; //Serial.println("Synchronisieren..."); // Synchronize: low-high-low while (0==digitalRead(net)); while (1==digitalRead(net)); // just now changed to LOW lastmicro=micros(); // Wait 50 periods for (i=0;i<100;i++) { while (1==digitalRead(net)); while (0==digitalRead(net)); } // just now changed to HIGH // measure the time needed micro=micros(); // compute frequency, offset to equalize to netzfrequenzmessung.de //freq=100000000.0/(micro-lastmicro+12950); freq=100000000.0/(micro-lastmicro); freq-=0.256; Serial.print(freq,3); // prepare plot of measurements space=(freq-49.97)*1000; // limit max. freq. if (space>60) space=60; //clear buffer txt pt=txt; for (i=0;i<61;i++) *pt++=(const char)0x20; // plot scale of 49,98 50,0 and 50,02 Hz *(txt+30)=*((const char *) "|"); *(txt+10)=*((const char *) "."); *(txt+50)=*((const char *) "."); // plot value chr=*((const char *)"o"); *(txt+space)=chr; *(txt+space+1)==(char)0; //mark trend if (lastspace==space) *txt=*((const char *)"="); if (lastspace< space) *txt=*((const char *)"+"); if (lastspace> space) *txt=*((const char *)"-"); // remember last value lastspace=space; Serial.println(txt); }
Immer diese alten Threads, die wieder hochgeholt werden. ;) Mich würde ja mal von Speedy interessieren, ob das mit der Messung geklappt hat. Falls jemand noch eine weitere Quelle für Live-Daten zur Netzfrequenz haben möchte, kann ich auch www.netzfrequenz.info sehr empfehlen. ;) Wenn jemand ein paar Daten haben möchte, um sie mit seinen zu vergleichen, würde ich die auch zur Verfügung stellen. Gruß... ...Markus
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.