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.
Kannst du auch mal ein paar Fotos von der Verdrahtung machen oder ist das geheim?
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
Uwe schrieb: >> kW/h > Ich liebe diese Einheit kg*m²/s^4 Was soll das sein? Masse mal Beschleunigung zum Quadrat? Kraft pro Kraft?
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
SW Entwicklung ist schnell gemacht, eine anständige Diagnose aber ein anhängendes riesen Übel :) Klaus.
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.