Ich möchte gerne die Impulse eines Stromzählers zählen. Die Hardware ist
komplett vorhanden (Lesekopf, uC, Zubehör). Weil ich noch Anfänger bin
und etwas lernen möchte, würde ich gerne meine Frage zur Abtastfrequenz
in den Raum stellen.
Zählen tue ich nur steigende Flanken. Im Datenblatt des Stromzählers
kann ich die Impulsbreite eines High-Pegels ablesen. Sagen wir mal, sie
beträgt 20ms. Weitere Daten könnten sein - z.B. 1000 Impulse/kwh. Also
weis ich, pro 1kWh fallen 1000 Signale an.
Nun schau ich mir den Strom an - die Vorsicherung vor dem Zähler beträgt
63A, also ist die maximale Leistung pro Phase 230V*63A = 14490 Watt
(gerundet 15kW). Bei drei Phasen also maximal 45kW.
Wenn also der Zähler eine Stunde mit Vollast zählt, kann ich 45
Kilowattstunden ablesen. Also fallen in diesem Zeitraum 45.000 Impulse
an.
45.000 Impulse/Stunde = 12,5 Impulse pro Sekunde
Die Impulsdauer des High-Pegels könnte also 20ms betragen. Es sollen
keine Impulse verloren gehen. Also nehme ich jetzt das Shannontheorem
an:
Abtastfrequenz > 2 x Signalfrequenz
Also muss der uC mindestens alle 9,9 ms prüfen, ob der Pegel low oder
high ist (Abtastfrequenz > 100 Hz).
Wenn ich nun eine Abtastrate von 200 Hz am AD-Wandler des uCs einstelle,
bin ich dann auf der sicheren Seite, dass kein Signal verloren geht?
Größe der Zählvariable:
Ich habe mir die Frage gestellt, wie groß die Zählvariable zum Zählen
der Impulse sein muss. Sagen wir mal, ich möchte den Wert über 5 Minuten
mitteln, dann fallen in diesem Zeitraum maximal
12,5 Impulse/Sekunde * 300 Sekunde = 3750 Impulse an.
Also ist eine 8bit-Variable zu klein, ich muss einen 16bit breiten
Integer nehmen.
Habe ich so meine Radbedingungen richtig errechnet?
S.A.M.S. schrieb:> Ich möchte gerne die Impulse eines Stromzählers zählen. Die> Hardware ist> komplett vorhanden (Lesekopf, uC, Zubehör).
Wie werden die Impulse denn genau übertragen? Deine Berechnung usw.
behandelt die Sache, als würde es sich um eine digitale Größe handeln.
Dann fängst du aber mit einem AD-Wandler an.
Irgendwie paßt das nicht recht zusammen.
Entweder es sind wirklich digitale Pulse, dann brauchst du keinen
AD-Wandler, sondern nur irgendeinen Pin. Schlimmstenfalls (falls der
Pegel nicht reicht, um einen normalen Pin zu steuern) einen
Analog-Komparator, den du quasi als Verstärker benutzt.
Wird das Digitalsignal hingegen irgendwie moduliert übertragen, dann
könnte deine Rechnung sich als Milchmädchenrechnung erweisen.
c-hater schrieb:> Dann fängst du aber mit einem AD-Wandler an.
Mein Fehler. Die Pins am uC können ja teilweise sowohl AD-Wandler als
auch digitaler Eingang sein. Es sind nur Pegel, also AD-Wandler nicht
noetig.
c-hater schrieb:> Wird das Digitalsignal hingegen irgendwie moduliert übertragen, dann> könnte deine Rechnung sich als Milchmädchenrechnung erweisen.
Mal interesse halber - was meinst Du mit modulierter Übertragung? Meinst
Du damit sowas wie ein Radiosignal, wo man glaub ich eine
Grundschwingung hat und dann das Informationssignal auf die Schwingung
mit überträgt und man am anderen Ende durch so einen Bandpass (oder
Hoch- oder Tiefpass) die Grundschwingung wieder herausfiltern muss, um
das Informationssignal zu "lesen"?
Erstmal muss geklärt werden wie genau die Datenerfassung funktioniert.
Bzw welche Schnittstelle der Stromzähler zur Verfügung stellt.
Sollte es ein aufmoduliertes Signal sein dann dürfte es sinnvoller sein
eine Elektronikschaltung aufzubauen die ein Logipegel digital Signal
daraus ableitet.
Zu Erfassung ist hier eine Capture/Compare Unit des µC geradezu ideal.
Ralph schrieb:> Zu Erfassung ist hier eine Capture/Compare Unit des µC geradezu ideal.
Oder einfach den Timer als Zähler konfigurieren und die Impulse zählen
lassen. Auch ein externer Intrrupt zum Impulsezählen würde sich
anbieten.
S.A.M.S. schrieb:> Mal interesse halber - was meinst Du mit modulierter Übertragung? Meinst> Du damit sowas wie ein Radiosignal, wo man glaub ich eine> Grundschwingung hat und dann das Informationssignal auf die Schwingung> mit überträgt und man am anderen Ende durch so einen Bandpass (oder> Hoch- oder Tiefpass) die Grundschwingung wieder herausfiltern muss, um> das Informationssignal zu "lesen"?
Genau sowas meinte ich.
Tatsächlich gibt es ja Stromzähler, die über das Stromnetz selber
Informationen übertragen. Und da wird wirklich ein Trägersignal
verwendet und darauf die Informationen aufmoduliert. Im Prinzip genauso
wie beim Radio.
Der Lesekopf liefert bereits saubere Pegel, dass hab ich schon gebastelt
mitm Fototransistor. Den schließe ich einfach an den uC mit an und je
nachdem, ob die Infrarotlampe des Zählers blinkt oder nicht blinkt,
bekomme ich den Pegel entsprechenden Pegel am uC - mir ging es jetzt
wirklich nur noch um die Programmierseite, ich wollte wissen, wie
schnell ich abtasten muss, damit ich keinen Fehler mache, weil ich ja
noch Anfänger bin. Somit müsste ich mit 200kHz im sicheren Bereich sein.
Ich weis auch, dass der uC Interrupts hat und auch über Timer verfügt,
mit denen ich zählen kann. Ich möchte einfach verschiedene Sachen
ausprobieren und hab mich jetzt entschieden, es erstmal ohne Interrupts
und Counter zu machen. Es gibt zwar viele Übungsbeispiele mit Lampen,
Tasten ..., aber so macht es mehr spaß, wenn ich an einer richtigen
Anwendung experimentieren kann.
Ich habe mir auch schon eine Routine gebastelt, die steigende Flanken
zählen kann, jetzt muss ich alles nur noch miteinander richtig
verknüpfen.
Gleich falscher Ansatz. Wie willst du ohne Interrupts/Timer eine
saubere, konstante Abtastrate hinbekommen? Doch nicht mit pollen in der
Hauptschleife, oder?
Setz dich lieber gleich mit der Thematik auseinander. Interrupt ist ja
nicht automatisch ein PinChange, sondern kann eben auch Timerüberlauf,
-match usw. sein...
Michael schrieb:> Wie willst du ohne Interrupts/Timer eine> saubere, konstante Abtastrate hinbekommen? Doch nicht mit pollen in der> Hauptschleife, oder?
Doch, vielleicht ist genau das die Herausforderung, die Zeit genau zu
treffen ;-).
Aber ernsthaft, die Abtastfrequenz ist in sehr weiten Grenzen
unkritisch, solange sie hoch genug ist.
>Nun schau ich mir den Strom an - die Vorsicherung vor dem Zähler beträgt>63A, also ist die maximale Leistung pro Phase 230V*63A = 14490 Watt>(gerundet 15kW). Bei drei Phasen also maximal 45kW.
das stimmt leider nicht, wäre doch auch viel zu einfach
usr schrieb:>>Nun schau ich mir den Strom an - die Vorsicherung vor dem Zähler beträgt>>63A, also ist die maximale Leistung pro Phase 230V*63A = 14490 Watt>>(gerundet 15kW). Bei drei Phasen also maximal 45kW.>> das stimmt leider nicht, wäre doch auch viel zu einfach
ist das ernst gemeint oder eher trollig anzusehen? wenn es leider nicht
stimmt, wie müsste es dann richtig sein?
usr schrieb:> nur als Hinweis, bei deiner Variante würde es der blaue Draht ganz schön> heiss haben
Wieso?
Ganz im Gegenteil, werden alle 3 Phasen mit 63A belastet, fließt exakt
kein Strom über den blauen Leiter.
usr schrieb:> nur als Hinweis, bei deiner Variante würde es der blaue> Draht ganz schön heiss haben
Da hätte ich doch gerne eine genaue Erklärung: Warum hat
es bei richtigem 3-Phasen-Drehstrom und 63A je Phase "der
blaue Draht ganz schön heiß"?
>Ganz im Gegenteil, werden alle 3 Phasen mit 63A belastet, fließt exakt>kein Strom über den blauen Leiter.
das wäre bei Dreieckschaltung - 3* 400V
bei Sternschaltung - also bei 3*230V - ist der Nullleiter schon mit
dabei
Ja, der Nullleiter ist dabei, dennoch fließt über ihn kein Strom, bei
symetrischer Last. Die drei Lasten bilden ihren eigenen Nullpunkt
(Sternpunkt), der im optimalen Fall das selbe Potential wie der
Nullleiter hat, also Erdpotential.
>Ja, der Nullleiter ist dabei, dennoch fließt über ihn kein Strom, bei>symetrischer Last. Die drei Lasten bilden ihren eigenen Nullpunkt>(Sternpunkt), der im optimalen Fall das selbe Potential wie der>Nullleiter hat, also Erdpotential
1 Draht Technologie ?
nicht Stern / Dreieckschaltung verwechseln
schau dir mal genau an wie das mit dem Drehstrom funktioniert
usr schrieb:> 1 Draht Technologie ?>> nicht Stern / Dreieckschaltung verwechseln
Genau, so muss es dann wohl sein.
Als kleine Übung kannst Du ja mal überlegen, was im Sternpunkt passiert.
Genau, alle Ströme fließen in einen Knoten. Jetzt bemühst Du Herrn
Kirchhoff und erhältst: I1+I2+I3+In=0. Die Ströme sind Sinusförmig und
gleich groß (annahme von weiter oben), was ergibt: I*sin(x) + I*sin(x +
1/3*2*pi) + I*sin(x + 2/3*2*pi) = -In. Nun machst Du Dir die Mühe,
formst die Gleichung mit Hilfe trigonometrischer Formeln um, oder
bemühst das Algebraprogramm Deines Vertrauens und stellst fest, oh, da
kommt 0 raus.
Ausprobieren oder simulieren hilft im Allgemeinen auch ungemein
weiter...