Hallo zusammen, ich habe ein kleines Problem mit einer von mir gebauten
Messanlage. In einem Hallen-Ventilationssystem will ich die
Effektivitaet eines Waermetauschers messen. Dazu habe ich ein paar
DS18B20-Sensoren vor und hinter dem Tauscher im Zu- und Abluftkanal
installiert plus Stroemungssensoren. Die Kabel laufen anschliessend zu
einem kleinen Mega8, der das Ganze auswerten soll und die fertigen Werte
in kW/h per RS485 an ein Datenbanksystem uebermittelt. Die
Antriebsmotoren des Systems sind ueber zwei Frequenzwandler gesteuert,
die Kabel zwischen Wandler und Motor geschirmt und geerdet. Trotzdem
tritt folgendes Problem auf: Starten die Motoren, steht der Atmega still
und reagiert auf nichts mehr. Auf dem Oszilloskop sind Spikes zu
erkennen. Seltsam ist, dass die Spikes staendig gleichbleibend sind,
d.h. sie veraendern sich nicht mit der Drehzahl der Motoren. In dem Fall
waere fuer mich klar, woher die Induktion kommt. Sie kommen mit dem
Start der Frequenzwandler, verschwinden mit deren Abschaltung in den
Ruhezustand und sind die ganze Zeit gleichbleibend stark und mit
derselben Frequenz (soweit man das Frequenz nennen kann).
Was ich an der ganzen Sache nicht verstehe, ist das Auftreten von
derartiger Induktion ueberhaupt. An der Anlage ist alles geerdet, was
nur geerdet werden kann. Wandler, Motoren, Gehaeuse der Anlage,
Luftkanaele, etc. und trotzdem derartige Effekte. Meine Kabel sind
ebenfalls geschirmt und geerdet aber trotzdem haeng ich fest. Hat jemand
einen Tipp oder einen Gedanken dazu? Mir gehen langsam die Ideen aus :-(
Gruesse
Michael schrieb:> Auf dem Oszilloskop sind Spikes zu> erkennen
wo? Auf der Spannungsversorgung vom Amtel oder auf der leitung zu den
sensoren? Wie sieht die Spannungsversorgung vom Atmel denn aus?
...die felder bei solchen FUs sind KRASS. und 100%ig geschirmt ist da
gar nichts, es lagen deshalb schon ganze produktionen still.
sind die sensorkabel geschirmt, verdrillt?
Klaus.
Stichwort "Masseschleifen". Manchmal ist zu viel Erdung nicht das
richtige. Dem Mega8 solltest du eine passend ausgelegte Versorgung
spendieren und die Schaltung in ein Metallgehäuse packen.
Ohne nähere Kenntnis der Anlage muss man ansonsten raten.
Schirmen und erden bedeudet nicht "Störeinkopplung = 0" sonder nur
Dämpfung um x dB.
Wenn beide Maßnahmen schon reichen würde wäre vieles sehr einfach, von
den Fehlern (einseitig, zweiseitig, pig-tails, Leistung/Signal Verlegung
usw.) gar nicht gesprochen.
Danke fuer die schnellen Rueckmeldungen. Die Spikes treten in der
Datenleitung auf. Die Leitungen sind gedrillt und geschirmt. Mit dem
Schirm hab ich schon etwas experimentiert. Ohne Schirm = Katastrophe,
Schirm an Erde = Etwas besser, Schirm einseitig an GND = Bisher bestes
Ergebnis aber immer noch Stoerungen. Die Stromversorgung ist ein extra
Kabel, welches sich erst am Sensorstandort mit dem jeweiligen Sensor
verbindet und laut Oszi "Sauber" und stabil.
Michael schrieb:> An der Anlage ist alles geerdet, was> nur geerdet werden kann.
Wie geerdet? Nach Elektrikerart (Schirm ueber einige m Gruengelb an
einen dubiosen Erdungspunkt) oder nach HF-Technikerart (Abschirmung
Flaechig auf Montageplatte).
In der RS485 eine Filterdrossel eingebaut? Das gleiche in der
Datenleitung zum DS18x20 Sensor?
Aeeeeehm, ich denke mal, dass die Anlage nach Elektrikerart geerdet ist.
Sicher habt ihr schonmal ein Ventilationsaggregat gesehen, der Kasten
misst ca. 9m Laenge, und 3m in Hoehe und 1,5m Breite. Gefertigt ist er
aus Aluminium. Der Motor ist erdungstechnisch mit dem Gehaeuse
verbunden, die abgehenden Kanaele via Erdungskabel ebenfalls. Ich hab
mal aus Spass die Erdung abgeklemmt um zu sehen, ob sich das Oszillogram
aendert. Aber es zeigte sich kein Unterschied.
Entstoerdrosseln an den DS18B20ern hab ich nicht verbaut. Ehrlich gesagt
ist es das erste Mal, dass ich ueberhaupt auf solche Probleme stosse.
Meint ihr, dass Drosseln oder Ferritkerne das Problem ausreichend
abdaempfen? Ich bin am Wochenende in dem Gebaeude und poste dann mal das
Oszillogramm von dort.
Was mich nach wie vor verwirrt ist die Stetigkeit des Signals trotz sich
aendernder Drehzahl. Beim Abschalten werden die Motoren erst langsam
abgebremst und stehen einen Moment still, bis sich der FU abschaltet.
Sogar in der "Stillstandsphase" ist die Stoerung mit gleicher
Feldstaerke vorhanden. Deshalb war mein Gedanke zuerst, dass die
Stoerung nicht von den Kanaelen, dem Aggregat selbst oder dem Motor
herruehrt sondern entweder direkt von dem FU im Schaltschrank, der seine
Spikes ueber die Erdung verteilt, oder von einem anderen Geraet, was
parallel laeuft.
Ich weiss ja nicht, vielleicht denke ich ja falsch, aber wie ist das zu
erklaeren?
Michael schrieb:> Was mich nach wie vor verwirrt ist die Stetigkeit des Signals trotz sich> aendernder Drehzahl.
Welche Frequenz haben Deine Störer? Wenn es so ein paar kHz sind, ist es
(wahrscheinlich) die Taktfrequenz des PWM-Signals, das (gemittelt) die
sinusförmige Motorspannung erzeugt. Und das hat üblicherweise eine feste
Frequenz.
Wie lang ist die Leitung zwischen FU und Motor?
Wenn das PWM-Signal ungefiltert zum Motor geht, ist das ein sehr starker
Störstrahler. Hier hilft ggf. ein Sinusfilter direkt am FU-Ausgang - der
ist je nach Leistung aber nicht klein.
Und wie lang ist die Leitung zwischen Sensor und µC?
Eventuell bekommst Du das Ganze mit einem 1-Wire-Sensor gar nicht
gebacken. Mit einem analogen Sensor ist das einfacher, da hier wirksame
Filter verbaut werden können und die Messung (wahrscheinlich) nicht so
schnell sein muss.
Gruß Dietrich
Passiert es denn auch wenn die sensoren nicht angeschlossen sind? Damit
ich kann mir nicht vorstellen das der µC sich aufhängt wenn an seinen
IOs merkwürdige spannungen vorhanden sind. Nicht das es ein
software-fehler ist wenn die Prüfsumme nicht stimmt.
> Welche Frequenz haben Deine Störer?
Schwer zu sagen, die Frequenz des Rauschens ist ziemlich gemischt. Mein
Oszi schwankt zwischen kHz und MHz
> Wie lang ist die Leitung zwischen FU und Motor?
Schaetzungsweise 10-12 Meter
> Und wie lang ist die Leitung zwischen Sensor und µC?
Es sind vier Sensoren, die Leitungen laufen erst vom Sensor zu einer
Verteilerdose am Aggregat, wo sie von vier Kabeln auf ein Kabel
gebuendelt werden. Leitungslaenge betraegt zwischen 15-25 Meter.
> Passiert es denn auch wenn die sensoren nicht angeschlossen sind?
Ich habe die Sensoren nicht abgeklemmt aber habe im "Standby" gemessen,
also ohne Sensoraktivitaet. Stoerung ist da.
> Damit ich kann mir nicht vorstellen das der µC sich aufhängt wenn an> seinen IOs merkwürdige spannungen vorhanden sind. Nicht das es ein> software-fehler ist wenn die Prüfsumme nicht stimmt.
Es ist definitiv kein Softwarefehler. Ich hab am Controller durch eine
"Serviceapplikation" die Moeglichkeit jeden Sensor einzeln aufzurufen
und im Loop abzufragen, um im Falle eines Falles evtl. Fehler wie
Kabelbruch oder sonstwas schnell eingrenzen zu koennen. Jeder DS ist
also an einem eigenen Port angeschlossen, nicht alle an einem (laesst
sich im Fehlerfall austauschen ohne Eingriff ins
Programm/Adresspeicher). Schalte ich die FUs ein, steht der Loop zur
Abfrage sofort still und der uC reagiert weder auf das
interruptgesteuerte Tastenpanel noch auf sonstwas. Das letzte
Messergebnis aktualisiert sich also nicht mehr. Schalte ich die FUs dann
ab laeuft er manchmal aber selten sofort weiter, aber meistens muss ich
durch Unterbrechung der Versorgungsspannung neustarten
Michael schrieb:>> Passiert es denn auch wenn die sensoren nicht angeschlossen sind?>> Ich habe die Sensoren nicht abgeklemmt aber habe im "Standby" gemessen,> also ohne Sensoraktivitaet. Stoerung ist da.
darum ging es nicht. Die Frage ist ob es über die Leitung der sensoren
kommt oder über die Versorgungsspannung. Teste mal was ohne die Kabel zu
den sensoren passiert.
Michael schrieb:> der uC reagiert weder auf das interruptgesteuerte Tastenpanel
Löst die Störung möglicherweise einen Interruptsturm über das
Tastenpanel aus?
MfG Klaus
Aus der englische Wikipedia :
Terms such as watts per hour are often misused when watts would be
correct.[16] Watts per hour properly refers to the change of power per
hour. Watts per hour (W/h) might be useful to characterize the ramp-up
behavior of power plants. For example, a power plant that reaches a
power output of 1 MW from 0 MW in 15 minutes has a ramp-up rate of 4
MW/h. Hydroelectric power plants have a very high ramp-up rate, which
makes them particularly useful in peak load and emergency situations.
> Die Frage ist ob es über die Leitung der sensoren> kommt oder über die Versorgungsspannung. Teste mal was ohne die Kabel zu> den sensoren passiert.
Die Versorgungsspannung ist am Hauptverteiler und am Zwischenverteiler
zu den Sensoren glatt wie ein Babypopo, das war das erste, was ich
ueberprueft habe. Der Witz ist dabei, dass die Versorgungsspannung ueber
ein gewoehnliches 4x0,75 Installationskabel kommt, welches neben der
Datenleitung verlaeuft. Wahrscheinlich machens dort die Kondensatoren
vom Schaltnetzteil rund.
> Kannst du auch mal ein paar Fotos von der Verdrahtung machen oder ist> das geheim?
Geheim? lol Wer das Datenblatt vom DS und Atmega lesen kann, wird das
Geheimnis innerhalb von 5min entschluesseln. Fotos kann ich gern machen,
aber leider erst am Wochenende. Von Samstag nachmittag bis in die Nacht
bin ich dort vor Ort und live hier im Forum, dann kann ich alle Daten
inkl. Oszillograme posten
> Löst die Störung möglicherweise einen Interruptsturm über das> Tastenpanel aus?
War auch schon mein Gedanke. Das Bedienpanel ist ueber ein kurzes Kabel
mit D-Sub-Stecker am Gehaeuse angeschlossen. Ich hab mehrere von den
"Messtationen" dort und in jedes ein eigenes Display einzubauen ist
Unsinn. Deshalb hab ich ein Handgeraet mit drei Tastern und Display
gebastelt, welches ich per Stecker anklemme und ueber einen
Tasteninterrupt die Initialisierung und den Sprung ins Servicemenue
aktiviere.
Sobald der Interrupt das "Serviceflag" gesetzt hat und die Hauptroutine
ins Servicemenue springt, ist der Interrupt abgeschaltet bis zum
Ruecksprung in die Hauptroutine, sprich mit Verlassen des Servicemenues.
Im Menu werden die Taster via Polling abgefragt. Der einzige Interrupt,
der aktiv bleibt, ist die Ablesung des Stromzaehlers, der Impulse
aussendet, die via Interrupt erfasst werden. Das koennte ich nochmal
testen... Guter Gedanke!
Hallo zurueck aus der Halle :-)
Ich hab das Problem gefunden. Der Stromzaehler, der den Energieverbrauch
der Venti-Zentrale erfasst, hatte ne Macke. Anstatt eines
Rechtecksignals spuckte er ne Sinuswelle in den Interrupt-Orbit, was
natuerlich das Programm festsetzt.
Weiterhin ist es mir gelaungen, die Kommunikation zu stabilisieren und
das Problem einzukreisen. Das eigentliche Problem ist nicht die
Abstrahlung vom Schaltschrank oder vom Ventilationsaggregat, was ich
erst annahm, sondern die Metall-Luftkanaele. Ein Teilstueck der
Kabelstraenge laeuft ueber einen Luftkanal und genau dort faengt er die
Induktion ein. Habe von allen Kabeln die Abschirmungen miteinander
verbunden und einseitig (einseitig wegen Brummschleife) an GND gelegt
und die Pullup-Potis etwas in der Leistung gesteigert (von 5k auf ca.
2,8k). Jetzt ist die Ablesung sauber und die Spikes in der Norm. Das
Signal zweier vorhandener Analogsensoren fuer CO2-Messung habe ich mit
Kondensatoren (100nF Keramik + 10uF Elektrolyt) knitterfrei gebuegelt
:-)
Jetzt das Interessante: In dem Gebaeude gibts noch einen Ventilatorraum
einen Stock tiefer, der die Garderoben und Sozialraeume versorgt. Das
selbe Aggregat und die Selben FUs. Dort habe ich mal testweise
billigsten Telefondraht als Verkablung eingesetzt, ohne Abschirmung oder
etwaigen Heckmeck. Mein Kollege, der den Mist immerhin studiert hat,
meinte mal, dass das fuer 1wire besser ist als jedes FTP-Kabel. Nach der
Aktion oben haben wir eigentlich beide schon damit gerechnet, dass wir
heute die Kabel dort gegen FTPs tauschen werden. Nachdem ich dann mein
Scopemeter am Verteiler angeschlossen und die Anlage eingeschaltet hab
und mir schonmal in Vorahnung auf das Oszillogram zur Beruhigung eine
Kippe angesteckt habe, hats mich fast vom Hocker gehauen: Ein absolut
klares Rechtecksignal ohne auch nur den Hauch einer Stoerung. Und das
auf allen Kanaelen. Selbst harte Manoever wie schnelles Beschleunigen
der Motoren, abruptes Abbremsen mit den Gleichstrombremsen, etc.
erzeugten keine Reaktion im Kabel.
Kann mir das mal einer erklaeren? :-)
Michael schrieb:> Hallo zurueck aus der Halle :-)> Ich hab das Problem gefunden. Der Stromzaehler, der den Energieverbrauch> der Venti-Zentrale erfasst, hatte ne Macke. Anstatt eines> Rechtecksignals spuckte er ne Sinuswelle in den Interrupt-Orbit, was> natuerlich das Programm festsetzt.
prima. Also Doch ein Softwarefehler.
Peter II schrieb:> prima. Also Doch ein Softwarefehler.
Nein, ein Hardwarefehler, der die Software durcheinander gebracht hat.
Der Zaehler wurde ausgetauscht und der uC laeuft.
Michael schrieb:> Peter II schrieb:>> prima. Also Doch ein Softwarefehler.>> Nein, ein Hardwarefehler, der die Software durcheinander gebracht hat.> Der Zaehler wurde ausgetauscht und der uC laeuft.
sollte eine Software nicht micht allem zurechkommen? Man könnte z.b. den
ISR abschaltet wenn zu viele pro sekunde ankommen und dann einen Fehler
melden.
Ohne Dich persoenlich anzugreifen - aber denk nochmal nach. Der
Interrupt ist an einem Stromzaehler angeschlossen. Der Zaehler gibt pro
10W Verbrauch ein Rechtecksignal ab, welches den Interrupt ausloest und
eine Variable fuer den Stromverbrauch hochzaehlt. Und was dann? Dann
warten wir auf den naechsten Pulse. Im Programm sieht es dann so aus:
ISR (wenn Signal nach 0 zieht):
Interrupt deaktivieren
Variable hochzaehlen
Warten bis das Signal wieder auf "1" zieht
Interrupt aktivieren
Ende
Bei maximalem Strombedarf kommt der Interrupt alle 3-4 Sekunden. Bei
einer Sinuswelle, wie es in dem fehlerhaften Zaehler der Fall war,
100mal pro Sekunde. Was ist deiner Meinung nach jetzt falsch am
Programm?
Michael schrieb:> Bei maximalem Strombedarf kommt der Interrupt alle 3-4 Sekunden. Bei> einer Sinuswelle, wie es in dem fehlerhaften Zaehler der Fall war,> 100mal pro Sekunde. Was ist deiner Meinung nach jetzt falsch am> Programm?
Dass du einen sehr offensichtlichen Fehler nicht behandelst, sondern
dein Programm zugrunde geht. Es kann ja anscheinend passieren, dass
solch ein Stromzähler kaputt geht.
Gruß
Ape schrieb:> Michael schrieb:>> Bei maximalem Strombedarf kommt der Interrupt alle 3-4 Sekunden. Bei>> einer Sinuswelle, wie es in dem fehlerhaften Zaehler der Fall war,>> 100mal pro Sekunde. Was ist deiner Meinung nach jetzt falsch am>> Programm?>> Dass du einen sehr offensichtlichen Fehler nicht behandelst, sondern> dein Programm zugrunde geht. Es kann ja anscheinend passieren, dass> solch ein Stromzähler kaputt geht.>> Gruß
...so ist es......stell dir vor, dein Programm hätte statt sich tot zu
rennen ein Feedback über diesen Zustand gegeben, dann hättest du ein
paar wertvolle Stunden deines Lebens sinnvoller verbringen können ;-)
Sicher, man kann eine Fehlererkennung einbauen, da habt ihr zu 100%
recht. Aber dazu muss man wissen, was passiert/welche Effekte entstehen,
wenn Fehler auftreten. Eine Fehlerscanner fuer meine Temp- und
Feuchtesensoren hab ich drin, da weiss ich durch Erfahrung, was
passieren kann und wie dass dann aussehen wird. Auch der Zaehler hat
einen Fehlerscanner, naemlich wenn ueber einen Zeitraum x garkeine
Impulse mehr kommen, obwohl die Anlage laeuft. Allerdings war ich mir
nicht im klaren darueber, dass bei einem Fehler eine 5V Sinuswelle am
Ausgang entsteht oder entstehen kann. Man lernt eben staendig dazu :-)
Deshalb nichts fuer ungut und nochmals vielen Dank an alle Schreiber
fuer die hilfreichen Tipps