Forum: Analoge Elektronik und Schaltungstechnik ACS712 Stromsensor defekt?!


von MOBA 2. (Gast)


Lesenswert?

Hallo,

ich wollte mir ein Kehrschleifenmodul bauen, was ab einem gewissem Strom 
(einstellbar und abgelegt im EEPROM) umschaltet.

Dazu habe ich die ACS712-05 genutzt.

Nach dem zusammenlöten der Platine habe ich am Ausgangspin VCC/2. Passt.
Die Software berechnet einmal beim ERSTEN Start diesen Wert (weil VCC 
kann ja bei jedem Gerät etwas anders sein), legt es ins EEPROM ab. Dann 
wird die Hall-Spannung gemessen und von dem Offsetwert aus dem EEPROM 
vom ersten Start subrahiert. Ist nichts los ist das Ergebnis ~ 0.

Würde jetzt ein Fahrzeug in den Kehrschleifenabschnitt fahren, welche 
falsch gepolt ist, steigt der Strom kurz an bis über die Schwelle, das 
Modul schaltet die Relais um und es ergibt sich nur noch der Strom der 
verbraucht wird < Schwelle).

Jetzt wird noch immer geguckt, ob das Relais eingeschaltet ist (dann 
wird die Spannung je Strom kleiner) oder ausgeschaltet ist (dann steigt 
sie an). Davon abhängig wir dann alles berechnet.


Soweit die Theorie.


In der Praxis habe ich aber immer VCC/2 am Vout Pin vom ACS?! Ich habe 
eine Lok mit Verdampfer und Beleuchtung im Stand auf das 
Kehrschleifengleis gestellt, die verbraucht dann ca. 0,8A im Stand wenn 
Verdampfer + Beleuchtung an ist.

Jetzt sollten ja ca. 80mV mehr bzw. weniger am Ausgangspin anliegen (je 
nach Stellung des Relais, da die digitale Gleisspannung (~20khz Signal) 
permanent die Polarität wechselt).



Ich bin total überfragt, was das jetzt ist. Entweder sind die Chips 
wirklich defekt, oder die können das DCC Signal nicht vertragen (im 
Datenblatt steht aber eine Bandbreite von 80kHz). Würde mich über Hilfe 
freuen!

Mit einem simplen Widerstand ist es nicht getan, da das Signal ja 
permanent wechselt und man 50µS auf der einen Seite Masse hat und 50µS 
24V.
Kennt jmd. noch einen (nach Möglichkeit) Pinkombatiblen Ersatzchip?

: Verschoben durch Moderator
von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Teste den Sensor doch mal unter kontrollierten Bedingungen mit 
Stromquelle statt mit Verdampfer :-P
Die Sensoren sind normalerweise recht robust, man sollte aber keine 
anderen Magnetfelder in der Nähe haben und am besten den Sensor 
magnetisch schirmen. Was hast du für einen Filterkondensator an Pin 6? 
Foto vom Aufbau wäre auch nicht schlecht.

: Bearbeitet durch User
von MOBA 2. (Gast)


Lesenswert?

Matthias S. schrieb:
> Teste den Sensor doch mal unter kontrollierten Bedingungen mit
> Stromquelle statt mit Verdampfer :-P
> Die Sensoren sind normalerweise recht robust, man sollte aber keine
> anderen Magnetfelder in der Nähe haben und am besten den Sensor
> magnetisch schirmen. Was hast du für einen Filterkondensator an Pin 6?
> Foto vom Aufbau wäre auch nicht schlecht.


Ich habe das Teil einfach mal so aufgebaut wie im Datenblatt.
Was ich mich allerdings jetzt frage, liegt das falsche Ergebnis vll. 
doch an der Rechteckspannung des DCC Signals?

Wie verhält sich der Sensor denn in dem Moment wo durch ihn Masse fließt 
und wie verhält er sich in dem Moment wo durch ihn die 24V fließen. Wenn 
er dann die Richtung dabei ändert (+24V -> Signal wird größer, GND -> 
Signal wird kleiner), dann könnte ich mir vorstellen, dass da im Mittel 
natürlich wieder Vcc/2 rauskommt.



Edit: Das mit dem Verdampfer + Licht der Lok sehe ich als egal an, da 
dort ja auch nur ein Heizwiderstand drin sitzt + ein kleiner Lüfter der 
aber vernachlässigbar ist. Die Lampen sind Glühlampen.
An meiner Zentrale sehe ich dort 0,8A Stromverbrauch, daher ist das eine 
gute Referenz.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Marius D. schrieb:
> wo durch ihn Masse fließt
> und wie verhält er sich in dem Moment wo durch ihn die 24V fließen

Masse fliesst nicht und 24V auch nicht. Der Sensor misst keine Spannung, 
sondern den Strom. Deswegen doch der Vorschlag, erstmal mit Strom zu 
testen. Nimm dir also meinetwegen die 24V und klemme einen bekannten 
Verbraucher, z.B. eine Glühlampe für 24V an.
DCC wird zwar aufmoduliert, sollte aber für den absoluten Strom keine 
Rolle spielen. Viel wichtiger ist der Aufbau des Sensors. Die 
Rückleitung z.B. muss weit entfernt vom Chip sein und nicht etwa unter 
ihm durch, sonst kompensieren sich die Magnetfelder.

: Bearbeitet durch User
von MOBA 2. (Gast)


Lesenswert?

Matthias S. schrieb:
> Marius D. schrieb:
>> wo durch ihn Masse fließt
>> und wie verhält er sich in dem Moment wo durch ihn die 24V fließen
>
> Masse fliesst nicht und 24V auch nicht. Der Sensor misst keine Spannung,
> sondern den Strom. Deswegen doch der Vorschlag, erstmal mit Strom zu
> testen. Nimm dir also meinetwegen die 24V und klemme einen bekannten
> Verbraucher, z.B. eine Glühlampe für 24V an.
> DCC wird zwar aufmoduliert, sollte aber für den absoluten Strom keine
> Rolle spielen. Viel wichtiger ist der Aufbau des Sensors. Die
> Rückleitung z.B. muss weit entfernt vom Chip sein und nicht etwa unter
> ihm durch, sonst kompensieren sich die Magnetfelder.



Ja mit Gnd und 24V meinte ich eher im übertragenem Sinn.
DCC ist keine Mischspannung, das ist nur ein Rechtecksignal. Aufgebaut 
aus einer H-Brücke die dann linke Seite/rechte Seite wechselt in ca. 
50µS Takt.

Unter dem Chip geht nur VCC her. Er sitzt aber direkt unter dem Relais, 
allerdings, so dachte ich mir das, schaltet das ja nur sehr selten und 
dann nur einmal. in dem Moment ist eine Pause der Messung von 250ms 
eingeplant, bis sich das ggf. wieder stabilisiert.


Wie meinst du das mit der Rückleitung? Unten ist der DCC-Strom und nach 
oben weg geht die Sensorleitung zum µC.

von MOBA 2. (Gast)


Lesenswert?

Matthias S. schrieb:
> Marius D. schrieb:
>> wo durch ihn Masse fließt
>> und wie verhält er sich in dem Moment wo durch ihn die 24V fließen
>
> Masse fliesst nicht und 24V auch nicht. Der Sensor misst keine Spannung,
> sondern den Strom. Deswegen doch der Vorschlag, erstmal mit Strom zu
> testen. Nimm dir also meinetwegen die 24V und klemme einen bekannten
> Verbraucher, z.B. eine Glühlampe für 24V an.
> DCC wird zwar aufmoduliert, sollte aber für den absoluten Strom keine
> Rolle spielen. Viel wichtiger ist der Aufbau des Sensors. Die
> Rückleitung z.B. muss weit entfernt vom Chip sein und nicht etwa unter
> ihm durch, sonst kompensieren sich die Magnetfelder.


Ich habe es durchgetestet, diesmal analog. Analoge Spannung auf mein 
Kehrschleifenmodul gegeben. Eine Lok aufs Gleis gestellt und einen Stein 
davor verkeilt.


Mein analoger Trafo kann nur 1A, deswegen war das gut zu sehen, dass die 
Chips funktionieren. Die Lok fährt los, die Spannung am ACS sinkt, bei 
1.2A sackt die Spannung ein bis auf 7V, für die Lok zu wenig aber die 
Sensorspannung liegt wieder bei Vcc/2.


Es liegt also def. an dem DCC-Strom. Das muss sich kompensieren....
Wie messe ich den denn jetzt nun?!

von Zupermax (Gast)


Lesenswert?

Ist DDC nicht eine Rechteck Wechselspannung?
Schau den Output vom ACS712 mal mit dem KO an...

von MOBA 2. (Gast)


Lesenswert?

Zupermax schrieb:
> Ist DDC nicht eine Rechteck Wechselspannung?
> Schau den Output vom ACS712 mal mit dem KO an...

Ich kann es mir mal angucken, ich denke aber es wird ebenfalls ein 
Rechtecksignal am Ausgang ausgegeben, könnte ich mir vorstellen.

von Manfred (Gast)


Lesenswert?

Marius D. schrieb:
> Mein analoger Trafo kann nur 1A, deswegen war das gut zu sehen, dass die
> Chips funktionieren. Die Lok fährt los, die Spannung am ACS sinkt, bei
> 1.2A sackt die Spannung ein bis auf 7V, für die Lok zu wenig aber die
> Sensorspannung liegt wieder bei Vcc/2.

Das liest sich für mich recht wirr. Ich hoffe, Du hast eine stabile und 
saubere 5V-Gleichspannung als Versorgung des ACS712. Sein Arbeitsbereich 
geht von 4,5..5,5 Volt, wobei die Versorgungsspannung Auswirkungen auf 
die Steilheit 185mV/A hat.

Zu DCC finde ich unter http://www.opendcc.de/info/dcc/dcc.html
"Gleissignal: Rechtecksignal, mind. 7V Hub, max. 22V Hub. 
Nominalspannung bei H0 soll 13,5V sein (damit sich nach den 
Gleichrichterdioden 12V für den Motor ergeben)."

Wenn ich mir das Datendiagramm dort ansehe, liegt die Frequenz der Daten 
kurz unter 10kHz (116µs).

Demzufolge würde ich auch am Ausgang des Stromsensors das DCC-Signal 
erwarten, womit Dein Multimeter vermutlich nicht umgehen kann. Irgendwie 
ist es dennoch nicht schlüssig, das DCC liegt ja nicht dauerhaft an.

Wie Dir schon anderweitig vorgeschlagen wurde: Den ACS712 plus 
Lastwiderstand ans Labornetzgerät und erstmal gucken, ob und wie der 
geht.

von Peter II (Gast)


Lesenswert?

Marius D. schrieb:
> Nach dem zusammenlöten der Platine habe ich am Ausgangspin VCC/2. Passt.
> Die Software berechnet einmal beim ERSTEN Start diesen Wert (weil VCC
> kann ja bei jedem Gerät etwas anders sein), legt es ins EEPROM ab.

wenn du als Referenz die VCC nimmst, musst du überhaupt nichts 
abgleichen. Weil bei 127 (8Bit ADC) die Mitte ist - egal ob es 4,8 oder 
5.2 V sind.

von MOBA 2. (Gast)


Lesenswert?

Peter II schrieb:
> Marius D. schrieb:
>> Nach dem zusammenlöten der Platine habe ich am Ausgangspin VCC/2. Passt.
>> Die Software berechnet einmal beim ERSTEN Start diesen Wert (weil VCC
>> kann ja bei jedem Gerät etwas anders sein), legt es ins EEPROM ab.
>
> wenn du als Referenz die VCC nimmst, musst du überhaupt nichts
> abgleichen. Weil bei 127 (8Bit ADC) die Mitte ist - egal ob es 4,8 oder
> 5.2 V sind.

Das verstehe ich jetzt nicht so ganz. Referenz ist VCC das habe ich 
auch, ich habe aber 10-Bit beim Tiny. Wie soll ich das dann berechnen?

von Peter II (Gast)


Lesenswert?

Marius D. schrieb:
> Das verstehe ich jetzt nicht so ganz. Referenz ist VCC das habe ich
> auch, ich habe aber 10-Bit beim Tiny. Wie soll ich das dann berechnen?

gar nicht rechnen, bei 10Bit ist die mitte bei 512. Wenn die Referenz 
VCC ist, dann kommt bei 0A ein wert von 512 Raus.

Wo hoch die Strom ist, kannst du dann klassich über (ADC-512)* ... 
brechnen. Dieser wert ist dann zwar anhängig von VCC aber nicht die 
Mitte.

von MOBA 2. (Gast)


Lesenswert?

Manfred schrieb:
> Marius D. schrieb:
>> Mein analoger Trafo kann nur 1A, deswegen war das gut zu sehen, dass die
>> Chips funktionieren. Die Lok fährt los, die Spannung am ACS sinkt, bei
>> 1.2A sackt die Spannung ein bis auf 7V, für die Lok zu wenig aber die
>> Sensorspannung liegt wieder bei Vcc/2.
>
> Das liest sich für mich recht wirr. Ich hoffe, Du hast eine stabile und
> saubere 5V-Gleichspannung als Versorgung des ACS712. Sein Arbeitsbereich
> geht von 4,5..5,5 Volt, wobei die Versorgungsspannung Auswirkungen auf
> die Steilheit 185mV/A hat.
>
> Zu DCC finde ich unter http://www.opendcc.de/info/dcc/dcc.html
> "Gleissignal: Rechtecksignal, mind. 7V Hub, max. 22V Hub.
> Nominalspannung bei H0 soll 13,5V sein (damit sich nach den
> Gleichrichterdioden 12V für den Motor ergeben)."
>
> Wenn ich mir das Datendiagramm dort ansehe, liegt die Frequenz der Daten
> kurz unter 10kHz (116µs).
>
> Demzufolge würde ich auch am Ausgang des Stromsensors das DCC-Signal
> erwarten, womit Dein Multimeter vermutlich nicht umgehen kann. Irgendwie
> ist es dennoch nicht schlüssig, das DCC liegt ja nicht dauerhaft an.
>
> Wie Dir schon anderweitig vorgeschlagen wurde: Den ACS712 plus
> Lastwiderstand ans Labornetzgerät und erstmal gucken, ob und wie der
> geht.




Ja, Versorgungsspannung ist stabil 5,05V. Das kann sein das das wirr 
ist, ist aber korrekt und funktioniert. Die Chips sind ok und 
funktionieren. Habe ich mit Gleichspannung und Lastwiderstand getestet - 
das ist ok.

Zu DCC: Ich habe Gartenbahn (24V DCC-Signal). Das DCC Signal wird mit 
einer H-Brücke idR erzeugt, also einmal linke Seite durchschalten dann 
die Rechte. Damit ergibt sich das Rechtecksignal was auf beiden Schienen 
dann immer gegenphasig ist, deswegen ist es auch egal, von welcher man 
die Daten ließt. Das Signal an sich hat 116µS bei einer logischen 0 und 
58µS bei einer logischen 1, damit hat man dann die ca. 18kHz, ich habe 
gerundet 20 kHz gesagt. Ja, das mit dem DCC-Signal am Ausgang des ACS 
denke ich auch, das gucke ich mir heute Abend an. Ist aber doof, ich 
brauche eine Gleichspannung.

von Peter II (Gast)


Lesenswert?

Marius D. schrieb:
> Ja, das mit dem DCC-Signal am Ausgang des ACS
> denke ich auch, das gucke ich mir heute Abend an. Ist aber doof, ich
> brauche eine Gleichspannung.

die Könntest einfach den Strom vor dem ACS712 gleichrichten. Aber 
einfach ist es wohl in Software

Wert = abs(512-ADC);

von MOBA 2. (Gast)


Lesenswert?

Peter II schrieb:
> Marius D. schrieb:
>> Das verstehe ich jetzt nicht so ganz. Referenz ist VCC das habe ich
>> auch, ich habe aber 10-Bit beim Tiny. Wie soll ich das dann berechnen?
>
> gar nicht rechnen, bei 10Bit ist die mitte bei 512. Wenn die Referenz
> VCC ist, dann kommt bei 0A ein wert von 512 Raus.
>
> Wo hoch die Strom ist, kannst du dann klassich über (ADC-512)* ...
> brechnen. Dieser wert ist dann zwar anhängig von VCC aber nicht die
> Mitte.


Ja genau so mache ich das auch. Ich rechne entweder ADC-512 oder 
512-ADC, das kommt drauf an, wie das Relais geschaltet ist, denn 
entweder sinkt oder steigt die Spannung (theoretisch, praktisch passiert 
ja nix).

Die 512 ist zwar die Mitte, messtechnisch hatte ich aber immer Werte um 
ca. 504 gesampled, sodass ich diese Variante mit dem EEPROM und 
STARTWERT genommen habe. Wenn ich denn mal einen richtig 
funktionierenden Part habe, dann kann ich nochmal gucken, ob das 
wirklich viel ausmacht.

von Peter II (Gast)


Lesenswert?

Marius D. schrieb:
> Die 512 ist zwar die Mitte, messtechnisch hatte ich aber immer Werte um
> ca. 504 gesampled

was schon etwas merkwürdig ist, bei meine Projekt (schon 2 Jahre her) 
ging es recht genau auf.

von MOBA 2. (Gast)


Lesenswert?

Peter II schrieb:
> Marius D. schrieb:
>> Ja, das mit dem DCC-Signal am Ausgang des ACS
>> denke ich auch, das gucke ich mir heute Abend an. Ist aber doof, ich
>> brauche eine Gleichspannung.
>
> die Könntest einfach den Strom vor dem ACS712 gleichrichten. Aber
> einfach ist es wohl in Software
>
> Wert = abs(512-ADC);

Habe ich den dann das DCC Signal aufgehoben und den tatsächlichen 
Stromverbrauch?

von Peter II (Gast)


Lesenswert?

Marius D. schrieb:
> Habe ich den dann das DCC Signal aufgehoben und den tatsächlichen
> Stromverbrauch?

ja

von Manfred (Gast)


Lesenswert?

Peter II schrieb:
> die Könntest einfach den Strom vor dem ACS712 gleichrichten.
Da am Ausgang des ACS 2,5V liegen und sich diese 'nur' um 185mV/Ampere 
verschieben, könnte ich mir sogar einen Gleichrichter am Ausgang 
vorstellen. Dumm nur, dass die Frequenz schon in einem Bereich liegt, 
den normale Gleichrichterdioden nicht mehr mit machen.

Nach wie vor ist mir unklar, über welchen Zeitraum DCC anliegt - das 
sollte doch nur kurzzeitig stören?

> Aber einfach ist es wohl in Software
Wie würdest Du das angehen? Ich könnte mir vorstellen, in einer Schleife 
50 Werte zu holen und daraus den Mittelwert zu bilden, wobei das 
Vorzeichen (die Stromrichtung) unterdrückt werden müsste.

von MOBA 2. (Gast)


Lesenswert?

Peter II schrieb:
> Marius D. schrieb:
>> Habe ich den dann das DCC Signal aufgehoben und den tatsächlichen
>> Stromverbrauch?
>
> ja

Ich werde es testen und melde mich dann nochmal.
Ich frage mich aber warum die abs Funktion einen int Wert zurück gibt, 
müsste dich uint sein oder nicht?

von Peter II (Gast)


Lesenswert?

Marius D. schrieb:
> Ich frage mich aber warum die abs Funktion einen int Wert zurück gibt,
> müsste dich uint sein oder nicht?

ist doch egal.

von MOBA 2. (Gast)


Lesenswert?

Manfred schrieb:
> Peter II schrieb:
>> die Könntest einfach den Strom vor dem ACS712 gleichrichten.
> Da am Ausgang des ACS 2,5V liegen und sich diese 'nur' um 185mV/Ampere
> verschieben, könnte ich mir sogar einen Gleichrichter am Ausgang
> vorstellen. Dumm nur, dass die Frequenz schon in einem Bereich liegt,
> den normale Gleichrichterdioden nicht mehr mit machen.
>
> Nach wie vor ist mir unklar, über welchen Zeitraum DCC anliegt - das
> sollte doch nur kurzzeitig stören?
>
>> Aber einfach ist es wohl in Software
> Wie würdest Du das angehen? Ich könnte mir vorstellen, in einer Schleife
> 50 Werte zu holen und daraus den Mittelwert zu bilden, wobei das
> Vorzeichen (die Stromrichtung) unterdrückt werden müsste.


Das DCC Signal liegt klarer Weise permanent an ist ja ein Datenstrom und 
versorgt alles mit Strom und Informationen.

von MOBA 2. (Gast)


Angehängte Dateien:

Lesenswert?

Hallo nochmal.

Ich habe es mal auf dem Scope angeguckt. Es ist richtig, man hat ein 
Mini-DCC Signal. Die Belastung bei dem großen Rechtecken auf der linken 
Seite liegt bei 2A.

Habe ich es richtig verstanden, dass ich jetzt quasi immer ganz normal 
samplen kann und jeden Wert dann mit abs(512 - ADCW) berechne und das 
dann mein korrekter Strom ist?

von Manfred (Gast)


Lesenswert?

Marius D. schrieb:
> Ich habe es mal auf dem Scope angeguckt. Es ist richtig, man hat ein
> Mini-DCC Signal. Die Belastung bei dem großen Rechtecken auf der linken
> Seite liegt bei 2A.
Ich nehme an, Dein "Mini-DCC" hat einen Hub von 370mV - also zwischen 
2,13 und 2,87 Volt?

Setze mal 0,1µF auf den Ausgang und von dort 10kOhm nach Masse - so, wie 
man ein Audiosignal auskoppeln würde. Das nochmal mit dem Scope bei 
unterschiedlicher Last angucken, solltest Du ein Signal haben, aber den 
Offset von 2,5V los sein.

Dann könnte man einen AT328 auf die interne 1,2V-Referenz setzen und 
eine bessere Auflösung erzielen.

> Habe ich es richtig verstanden, dass ich jetzt quasi immer ganz normal
> samplen kann und jeden Wert dann mit abs(512 - ADCW) berechne und das
> dann mein korrekter Strom ist?
Andersherum, AD-Wert minus 512.
Bei 712 (positiver Strom) sind das 200, bei 312 (negativer Strom) -200. 
Vorzeichen wegwerfen, sind das jeweils 200.

Deine Eisenbahn ist aus Sicht des Prozessors unendlich langsam, ich 
würde Oversampling (Mehrfachabtastung) machen:

Wert = 0
AD lesen
Wert = Wert + AD-Wert
x = x+1
Vielleicht ein paar µs Pause machen
Nochmal AD lesen
Wert = Wert + AD-Wert
x = x+1
und so weiter im Kreis, bis z.B. x=50

Dann wird gerechnet Strom = Wert / x

Damit bist Du das Rauschen des Wandlers weitestgehend los und hast 
keinen grob falschen Wert, falls Du zufällig mal auf die Schaltflanke 
sampelst oder die Lok gerade über ein Sandkorn fährt.

--------

In einer total anderen Anwendung hole ich zyklisch einen Wert, einfache 
Messung, ich muß Strom sparen. Wenn dieser aus der Toleranz geht, setze 
ich einen Merker (Flag) und hole einen weiteren Wert. Diesen hole ich 
aber per Oversampling, da ich dem ersten Wert nicht vertraue. Liegt der 
in der Toleranz, steige ich aus - war eine Fehlmessung.

Liegt der zweite Wert auch außerhalb der Toleranz, wiederhole ich das 
zweimal. Liegen alle drei draussen, starte ich meine Aktion.

Warum mache ich das: Ich will nicht auf jede Störung reagieren, sondern 
zuverlässig agieren. Wenn Mehrfachabtastung und erneute Prüfung bei Dir 
200ms dauern, wen juckt's in Anbetracht der mechanischen 
Reaktionszeiten?

von MOBA 2. (Gast)


Lesenswert?

> In einer total anderen Anwendung hole ich zyklisch einen Wert, einfache
> Messung, ich muß Strom sparen. Wenn dieser aus der Toleranz geht, setze
> ich einen Merker (Flag) und hole einen weiteren Wert. Diesen hole ich
> aber per Oversampling, da ich dem ersten Wert nicht vertraue. Liegt der
> in der Toleranz, steige ich aus - war eine Fehlmessung.
>
> Liegt der zweite Wert auch außerhalb der Toleranz, wiederhole ich das
> zweimal. Liegen alle drei draussen, starte ich meine Aktion.
>
> Warum mache ich das: Ich will nicht auf jede Störung reagieren, sondern
> zuverlässig agieren. Wenn Mehrfachabtastung und erneute Prüfung bei Dir
> 200ms dauern, wen juckt's in Anbetracht der mechanischen
> Reaktionszeiten?



Danke für die Antwort. Oversampling mache ich schon, das ist ja üblich 
eigentlich. Ich habe allerdings aktuell nur 10 Werte und bilde daraus 
den Mittelwert. Aber das lässt sich via CV anpassen (habe einen Decoder 
integriert). Die CPU ist ein Tiny 85. Das mit dem Hochpass hinten ist ne 
verdammt gute Idee, hätte mir aber auch mal selber einfallen können :D. 
Dann ist allerdings die negative Spannung weg....



Ich bilde ja den Betrag mit abs(512 - ADCW), das ist doch dann völlig 
egal ob ich ADCW-512 oder umgekehrt rechne, oder? Weil das Signal ja um 
die Vcc/2 schwingt. Egal nach welcher Berechnung man geht, mal ist das 
Ergebnis >0 mal <0, dass sieht man ja auch gut auf dem Bild.


Ich frage mich gerade nur, wie ich aus den Werten eine korrekte 
Berechnung erwirtschafte.


i_in_deziAmpere = (((ADCW * 50) + 128) / 185);


Ich will dezi Ampere. Ich habe einen Samplewert von 20 (~0,55A, Zentrale 
zeigt 0,6A an). Wenn ich nach obiger Rechnung gehe, dann komme ich 
(durch's runden (+128) auf 6 = 0,6A da dezi Ampere). Problem ist: Das 
ist durch testen entstanden, ich weiß nicht warum ich das * 50 rechnen 
muss.

von Roland E. (roland0815)


Lesenswert?

An den ACS nicht einfach eine dicke Kapazität packen. Wimre darf der nur 
1nF treiben.

Klar ist DCC gemessen am ADC schnarchlangsam. Aber es ist 
verhältnismäßig Gleichanteilfrei. Damit rechnen sich bei unglücklich 
gewählten Abtastungen/Mittelwerten die Messwerte raus, und es bleibt 
eine saubere 0A-Linie übrig.

von MOBA 2. (Gast)


Lesenswert?

Roland E. schrieb:
> An den ACS nicht einfach eine dicke Kapazität packen. Wimre darf der nur
> 1nF treiben.
>
> Klar ist DCC gemessen am ADC schnarchlangsam. Aber es ist
> verhältnismäßig Gleichanteilfrei. Damit rechnen sich bei unglücklich
> gewählten Abtastungen/Mittelwerten die Messwerte raus, und es bleibt
> eine saubere 0A-Linie übrig.

Nein, das ist verhindert durch abs.
Funktioniert was ich bis heute getestet habe jetzt sehr gut.

von Roland E. (roland0815)


Lesenswert?

Mit ABS geht's theoretisch auch. Bis zum nächsten Überlauffehler aus 
einem unbekannten Offset.
Normalerweise nimmt man einfach den Abstand zwischen Min und Max. Das 
ist Fehlersicherer.

: Bearbeitet durch User
von Manfred (Gast)


Lesenswert?

Marius D. schrieb:
> Die CPU ist ein Tiny 85.
Kurz mal G* befragt - scheint auch eine interne 1,1V-Referenz zu haben.

> Das mit dem Hochpass hinten ist ne
> verdammt gute Idee, hätte mir aber auch mal selber einfallen können :D.
> Dann ist allerdings die negative Spannung weg....
Nö, warum soll die weg sein? Der Kondensator koppelt ja nur die 
Wechselspannung aus, solange die halbwegs symmetrisch ist, liegt die 
symmetrisch zu null. Könnte sein, dass Deine Flanken verschliffen 
werden. Teste es mal bitte.

> Ich bilde ja den Betrag mit abs(512 - ADCW), das ist doch dann völlig
> egal ob ich ADCW-512 oder umgekehrt rechne, oder
Stimmt, dreht lediglich das Vorzeichen um.

Roland E. schrieb:
> An den ACS nicht einfach eine dicke Kapazität packen. Wimre darf der nur
> 1nF treiben.
Na und? Meine Idee war, per Koppelkondensator (in Reihe zum Ausgang) den 
DC-Offset von 2,5V abzutrennen - in gleicher Weise, wie man Audiosignals 
auskoppelt. Da sehe ich in meinem Vorschlag 10kOhm Last, keine Kapazität 
nach Masse.

Roland E. schrieb:
> Normalerweise nimmt man einfach den Abstand zwischen Min und Max. Das
> ist Fehlersicherer.
Und wie macht er das? Das Signal wechselt zwischen zwei Werten, ist 
vollkommen asynchron zum µC und muss in jedem Falle irgendwie abgetastet 
werden.

von MOBA 2. (Gast)


Lesenswert?

Manfred schrieb:
>> Das mit dem Hochpass hinten ist ne
>> verdammt gute Idee, hätte mir aber auch mal selber einfallen können :D.
>> Dann ist allerdings die negative Spannung weg....
> Nö, warum soll die weg sein? Der Kondensator koppelt ja nur die
> Wechselspannung aus, solange die halbwegs symmetrisch ist, liegt die
> symmetrisch zu null. Könnte sein, dass Deine Flanken verschliffen
> werden. Teste es mal bitte.


Ja ne das ist natürlich nicht weg, aber ich kann, soweit ich weiß, keine 
negativen Spannungen samplen ==> negativ = weg. So meinte ich das.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Roland E. schrieb:
> An den ACS nicht einfach eine dicke Kapazität packen. Wimre darf der nur
> 1nF treiben.

Nö, mehr ist legitim. Im Datenblatt auf Seite 10 sind 470nF in einer 
Tabelle als Maximum, zumindest so viel sind also mindestens erlaubt. Es 
ist ja auch einfach der herausgeführte C des internen RC Tiefpasses 
zwischen Vor- und Ausgangsstufe.
Klar verändert sich die PowerOn Zeit, man muss also etwas länger warten, 
bis der erste Wert stabil ist.

: Bearbeitet durch User
von Manfred (Gast)


Lesenswert?

Marius D. schrieb:
>> Der Kondensator koppelt ja nur die
>> Wechselspannung aus, solange die halbwegs symmetrisch ist, liegt die
>> symmetrisch zu null.
> Ja ne das ist natürlich nicht weg, aber ich kann, soweit ich weiß, keine
> negativen Spannungen samplen ==> negativ = weg. So meinte ich das.
Scheiße, das habe ich übersehen.

Muß also noch ein Widerstand nach Plus hinten drauf, um das Signal in 
den positiven Bereich zu verschieben.

Ich habe selbst schon mit dem ACS712 gearbeitet und diesen Offset Ub/2 
als störend empfunden, weil er meine Auflösung verschlechtert.

von Klaus (Gast)


Lesenswert?

Manfred schrieb:
> Ich habe selbst schon mit dem ACS712 gearbeitet und diesen Offset Ub/2
> als störend empfunden, weil er meine Auflösung verschlechtert.

Und wie willst du ohne den Offset einen negativen Strom messen?

MfG Klaus

von Manfred (Gast)


Lesenswert?

Klaus schrieb:
> Manfred schrieb:
>> Ich habe selbst schon mit dem ACS712 gearbeitet und diesen Offset Ub/2
>> als störend empfunden, weil er meine Auflösung verschlechtert.
> Und wie willst du ohne den Offset einen negativen Strom messen?
In meiner Anwendung gab es keinen negativen Strom bzw. nur eine 
Richtung.

von Roland E. (roland0815)


Lesenswert?

Es gibt auch reine DC Typen des ACS.
Ich arbeite mit einigen, anderen Typen als der 712, die vertragen nur 
das 1nF.

Zur Abstandsmessung:
Eine Flanken/Pegelerkennung an das Gleissignal, und schon ist bekannt ob 
gerade ein Minimum oder Maximum an liegt. Damit erschlägt sich auch die 
Abschalterkennung für den Notstop-Fall.

von Klaus (Gast)


Lesenswert?

Manfred schrieb:
> In meiner Anwendung gab es keinen negativen Strom bzw. nur eine
> Richtung.

Dann benutzt du den falschen Chip. Ich brauch den Strom in beide 
Richtungen.

MfG Klaus

von Christian M. (Gast)


Lesenswert?

Hallo,

im Fall des TO's ist der Offset irrelevant, die Stromrichtung auch.
Einfach ein paar mal abtasten, den höchsten Wert minus den Kleinsten, 
fertig!
Hast sogar noch ein Bit gewonnen!

Gruss Chregu

von Roland E. (roland0815)


Lesenswert?

Der Offset ist im Fall des OP unwichtig, richtig. Ihn aber mit pauschal 
1/2 Vollausschlag rauszusubtrahieren ist fehlerträchtig.

von Christian M. (Gast)


Lesenswert?

Roland E. schrieb:
> Ihn aber mit pauschal
> 1/2 Vollausschlag rauszusubtrahieren ist fehlerträchtig.

Der Offset wird auch nicht raussubtrahiert, sondern es wird der 
Spitzenwert gebildet!

Gruss Chregu

von Roland E. (roland0815)


Lesenswert?

Der OP rechnet (addiert/subtrahiert) pauschal mit 512. Das führt zu 
seltenen und seltsamen Falschmessungen. Eben weil keine Elektronik 
absolut Offsetfrei ist.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Roland E. schrieb:
> Ich arbeite mit einigen, anderen Typen als der 712, die vertragen nur
> das 1nF.

Schön, aber wir reden hier ja über den ACS712, also lese bitte das 
Datenblatt und dann kannst du mitreden. Man kann also den Tiefpass so 
tief drehen, bis das DCC Signal weg ist. Der Sensor mittelt dann auch 
selber schon, so das sich der Rechenaufwand in Grenzen hält.

von MOBA 2. (Gast)


Lesenswert?

Roland E. schrieb:
> Der OP rechnet (addiert/subtrahiert) pauschal mit 512. Das führt zu
> seltenen und seltsamen Falschmessungen. Eben weil keine Elektronik
> absolut Offsetfrei ist.


Also diese ganzen Abkürzungen (TO, OP) ich habe 0 Plan was das 
eigentlich heißt. Aber ich denke das bezieht sich auf mich, den Thread 
Aufmacher!

Und ich möchte eins klarstellen! Ich rechne nicht pauschal mit -512!! 
Das habe ich angegeben, da es zur ERklärung einfacher ist (und ungefähr 
hinkommt).

Ich habe im Anfang und auch mittig geschrieben, dass ich beim ERSTEN 
Start den korrekten Wert ermittel (liegt meist bei 507 ca.) und den dann 
im EEPROM speichere. Damit rechne ich den Offset raus!

Nur für die Klarstellung!

von Roland E. (roland0815)


Lesenswert?

Der 712-05 darf 10nF treiben. Na wow. Das ist jetzt richtig viel.

DCC ist kein periodisches Signal, daher ist filtern über einen Tiefpass, 
egal ob nu RC an Pin7 oder C an Pin 6 generell Müll.

PS:
TO : Thread opener
OP : original poster/original post

Ja, Webboards sind nur ein armseliger Ersatz für das USENET...

Genaugenommen ist es egal mit welcher magischen Zahl als Offsetkorrektur 
gearbeitet wird. Es ist für das (theoretisch) gleichanteilfreie Signal 
nur gefrickelt. Denn jedes "gemessene" Offset ist nur eine 
Momentaufnahme für exakt den einen Moment.
Es geht ohne dieses Offsetdenken erheblich stabiler, und wie oben schon 
geschrieben sogar mit einer höheren Genauigkeit einher.

PPS:
Eine solche Herangehensweise mit einmalig gemommenem Offset pro 
Einschaltzyklus wäre für unsere Vereinsanlagen gar nicht denkbar. Die 
Änderung des Raumklimas über einen Fahrtag hinweg ändern das 
Kriech/Blindstromverhalten der Anlagen so erhablich, dass das Offset nie 
stimmen würde.

: Bearbeitet durch User
von MOBA 2. (Gast)


Lesenswert?

Roland E. schrieb:
> Der 712-05 darf 10nF treiben. Na wow. Das ist jetzt richtig viel.
>
> DCC ist kein periodisches Signal, daher ist filtern über einen Tiefpass,
> egal ob nu RC an Pin7 oder C an Pin 6 generell Müll.
>
> PS:
> TO : Thread opener
> OP : original poster/original post
>
> Ja, Webboards sind nur ein armseliger Ersatz für das USENET...
>
> Genaugenommen ist es egal mit welcher magischen Zahl als Offsetkorrektur
> gearbeitet wird. Es ist für das (theoretisch) gleichanteilfreie Signal
> nur gefrickelt. Denn jedes "gemessene" Offset ist nur eine
> Momentaufnahme für exakt den einen Moment.
> Es geht ohne dieses Offsetdenken erheblich stabiler, und wie oben schon
> geschrieben sogar mit einer höheren Genauigkeit einher.
>
> PPS:
> Eine solche Herangehensweise mit einmalig gemommenem Offset pro
> Einschaltzyklus wäre für unsere Vereinsanlagen gar nicht denkbar. Die
> Änderung des Raumklimas über einen Fahrtag hinweg ändern das
> Kriech/Blindstromverhalten der Anlagen so erhablich, dass das Offset nie
> stimmen würde.



Ja, aber dazu muss ich 4 Sachen sagen.
1. Danke für die Aufklärung mit den OP/TO
2. Hast du auch 'ne LGB?
3. Mit dem Offset hast du zwar Recht, aber meine Module sind vergossen 
und ich muss nicht exakt den Strom wissen, sondern will nur wissen ob 
der eine Grenze von 5A, 10A 15A... übersteigt (ist einstellbar via CV). 
Ist ja ein Kehrschleifenmodul. Das funktioniert super, keine 
Sensorgleise, kein Kurzschluss in dem Sinne wie von handelsüblichen 
Geräten wo die Funken sprühen. Das Modul löst aus, bevor die Zentrale 
auch nur 200mA Lasterhöhung erkennt und es bilden sich keine Funken.
4. Der Offset ist egal, nur wenn kein Verbraucher im Abschnitt ist, dann 
muss ich das Ergebnis ja ~ 0A bekommen.

von Roland E. (roland0815)


Lesenswert?

Wir fahren TT/HO. Da muss es sehr viel empfindlicher sein. Die Gleise 
sind geschottert, da kommt ne Menge Kriechstrom zusammen. Die 
handelsüblichen Kehrschleifenmodule tun es aber sauber und ohne Funken.

Bei einer fest (im Garten) aufgebauten LGB dürfte da auch einiges an 
Kriechstrom zusammen kommen. Wasser hat einen verdammt spitzen Kopf.

von Christian M. (Gast)


Lesenswert?

Roland E. schrieb:
> Bei einer fest (im Garten) aufgebauten LGB dürfte da auch einiges an
> Kriechstrom zusammen kommen. Wasser hat einen verdammt spitzen Kopf.

Habe 0m und die Besetztmelder geben fast immer an! Muss mal die 
Widerstände anpassen. Momentan fahre ich auf "Sicht".
https://scontent.fomr1-1.fna.fbcdn.net/v/t31.0-8/10496029_520282124784928_2751546381616848270_o.jpg?oh=e99394b9fd10870f1c49b39bb6c0e735&oe=591301FF

Gruss Chregu

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Roland E. schrieb:
> Der 712-05 darf 10nF treiben. Na wow. Das ist jetzt richtig viel.

Nö. Der ACS712 hat einen extra Filter Pin und an den darf man mindestens 
bis zu 470nF anschliessen. Siehe Seite 10 im Datenblatt.

von Roland E. (roland0815)


Lesenswert?

Roland E. schrieb:
> Der 712-05 darf 10nF treiben. Na wow. Das ist jetzt richtig viel.
>
> DCC ist kein periodisches Signal, daher ist filtern über einen Tiefpass,
> egal ob nu RC an Pin7 oder C an Pin 6 generell Müll.
>


Einfach noch einmal sinnentnehmend lesen ;-)

von MOBA 2. (Gast)


Lesenswert?

Roland E. schrieb:
> Wir fahren TT/HO. Da muss es sehr viel empfindlicher sein. Die Gleise
> sind geschottert, da kommt ne Menge Kriechstrom zusammen. Die
> handelsüblichen Kehrschleifenmodule tun es aber sauber und ohne Funken.
>
> Bei einer fest (im Garten) aufgebauten LGB dürfte da auch einiges an
> Kriechstrom zusammen kommen. Wasser hat einen verdammt spitzen Kopf.


Ja, aber wie gesagt, hier geht's nicht um 1-2 oder 3A.
Und die Platinen sprühe ich immer mit so einem Schutzlack von 
Kontaktchemie ein.

Die Kehrschleifenmodule im Gartenbahnbereich sind entweder mit blöden 
Sensorgleisen (total größer Verkabelungsaufwand) oder per Kurzschluss. 
Letzteres verursacht schon einen heftigen Kurzschluss. Funkensprühen da 
auf jeden Fall! Finde ich nicht so gut.

Außerdem kosten die Module >80€, meins liegt, von den Materialkosten 
her, bei 4€ und kann 15A Dauerleistung.

von Roland E. (roland0815)


Lesenswert?

Ja, bei Gartenbahnen wird unverschämt zugelangt.

Man könnte den HO-Bausatz von Tams mit einem anderen Relais ausrüsten.
Lenz kann von Haus aus 5A.

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.