Jump to content

Recommended Posts

Geschrieben

Hallo zusammen,

 

nach einigen Spielereien bin ich jetzt dabei, meine Heizungssteierung zu programmieren. In 0.1-Sec-Taktung wird ein Joystick abgefragt, in 1-Sec-Taktung die Temperatur, und falls sich was Àndert, wird das Relais geschalten und/oder das Display verÀndert.

 

Einzelne Tests haben bisher immer ganz gut geklappt, aber auf einmal, wenn alles zusammen spielen soll, steigt immer wieder das LCD aus (und zwar nur das LCD), es bleibt hÀngen und reagiert einfach nicht mehr. Auch mit dem Brickv kann ich dann nix mehr am LCD schalten. Alles andere geht weiterhin. Der Brickd meldet keinen Fehler, die API tut so als wÀre alles gut - ist es aber nicht. Es hilft nur ein Reset am Master, was eigentlich ziemlich schlimm ist.

 

Das ganze System besteht aus 4 Bricklets an einem Master, welcher wiederum am USB hÀngt: Joystick, LCD 20x4, Dual-Relay, Temperature.

 

Dabei werden von zwei verschiedenen Python-Skripten (eins fĂŒr die Relay-Steuerung per Temp+Relay und eins fĂŒr die MenĂŒfĂŒhrung per LCD und Joystick) Verbindungen zum Brickd aufgebaut... was bisher nie das Problem war.

Woran kann das liegen? Jemand eine Idee? Firmware- oder Brickd-Bug?

 

Gruß,

Olaf

 

Geschrieben

Hi Loetkolben,

 

nein, die Verbindung bleibt bestehen.

Und Du hast Recht, Faktor 10 langsamer scheint problemlos zu sein. Nur das fĂŒhrt die MenĂŒsteuerung per Joystick und LCD ad absurdum.

 

Schon eine ziemlich tragische Sache... anscheinend kann man das Display zubomben wie man will, da gibts ĂŒberhaupt keine Probleme (ausser mit der langsamen Reaktion des LCD). Abschmieren tuts offenbar erst dann, wenn zeitnahe Temperature- und Relay-API-Aufrufe erfolgen. Kann doch nicht im Sinne des Erfinders sein, oder? Ich meine auch das Relay lĂ€sst sich 10 mal pro Sec schalten. Und der IP-Stack wird doch von dem bisschen nicht ĂŒberlastet. Die USB-Verbindung etwa? Trotzdem hĂ€tte ich dann gerne eine Fehlermeldung und nicht einfach ein hĂ€ngenbleibendes Display.

Tja....

Geschrieben

Da der Joystick analog ausgelesen wird sollte das keine Probleme machen können. Kannst du mal versuchen das Problem nur mit Temeprature und LCD Bricklet nachzustellen? Und welche Firmware Versionen haben die Bricklets? Ist da alles aktuell?

 

Klingt fĂŒr mich nach einem fixbaren Software Problem.

Geschrieben

FW-Versionen sind aktuell, hab ich als erstes geprĂŒft.

 

Habe gerade das Problem weiter eingrenzen können:

Es scheint sich das Display dann aufzuhĂ€ngen, wenn das Relay schaltet. Und zwar nur dann, wenn tatsĂ€chlich eine Last anliegt (in meinem Fall derzeit noch zu Testzwecken eine 40W-GlĂŒhbirne). Entferne ich die Last, dann ist alles kein Problem.

 

Da aber weder Brickd noch API irgendwas melden, kann es sein dass "nur" die Display-Einheit abranzt, die Schnittstelle aber noch immer denkt, das Display wĂŒrde funktionieren?

Und wie könnte ich das vermeiden? Die stromfĂŒhrende 230V-Leitung inklusive Relay-Bricklet sind jetzt ca. 30cm vom Display entfernt. Weiter weg wird wegen KabellĂ€ngen erstmal schwierig...

 

Hm.

Geschrieben

Oh, also wieder ein Problem mit induktiven Lasten. Ich glaube das letzte mal sind wir zu dem Schluss gekommen das zwischen Relay und Last ein "Snubber" benötigt wird: http://de.wikipedia.org/wiki/Snubber

 

Wir hatten uns auch schon ĂŒberlegt ob wir das nicht direkt aufs Relay Bricklet setzen, aber dadurch wĂŒrden wir natĂŒrlich die Schaltgeschwindigkeiten auch fĂŒr nicht-induktive Lasten verĂ€ndern.

 

Mhhh.

Geschrieben

Könnt ihr denn einen "allgemeinen" Snubber einsetzen? Dachte das kĂ€me auch immer auf die Last an die geschaltet wird. Ansonsten wĂ€re ich auch sehr fĂŒr eine Variante die vor Fehlbedienung sicher ist :D

Geschrieben

Man muss aber aufpassen:

 

Tinkerforge classic: Plug und & Play. Anfaengersicher und ohne Loetkolben. FIND ICH GUT! Das soll auch so bleiben!

vs.

Tinkertorge forte: Anpassbar an die Alltagsprobleme. Zugegeben das wuerde mich sehr interessieren.  ;)

 

Alternatividee: Statt Jumper koennte man auch folgendes machen: Man designt die Platine so, dass man per Loetkoben die passenden Bauteile (Kein SMD) selbst einloeten kann. Statt Freiluftfaedelei hat man schon die Loecher/Leiterbahnen vorgegeben, bzw. vorgebohrt.

Damit verhindert man, dass die Anfaeger einfach mal so Jumper stecken und die Platine zum Abrauchen bringen. Der fortgeschrittene User sollte die 2 oder 3 Standartbauteile einloeten koennen.

 

 

Der Loetkolben.

Geschrieben

Servus,

 

ich wollte auch mal meinen Senf zum LCD Problem dazu geben.

 

Ich hab auch "stÀndig" das Problem, dass mein 24x4 LCD aussteigt. Ich habe ja mein kleines PHP Script gebastelt, welches das Temperatur und Rotary Poti ausliest. Angeschlossen sind zwar noch IO16 (nix angeschlossen), Ambi und Distance Bricklet, welche aber aktuell nicht angesprochen werden.

 

Ich lasse ja die Temperatur und RotPot mit Callback abfragen. Zudem wird 1x pro Minute die Uhrzeit aktualisiert und die Temperatur wird nur bei Änderungen von 0,1 Grad geĂ€ndert (normal sind ja 0,01-Werte möglich).

 

Allerdings Steigt das LCD immer wieder mal aus. Mal nach einer halben Stunde, mal nach 3 Stunden... Die Schrift lĂ€sst sich am LCD noch lesen, aber das Backlight geht dann aus (das "dimmt" richtig runter). Anhand der Uhrzeit weiß ich dann seit wann es aus ist :).

 

Ich vermute, dass es ein Problem von "statischen Aufladungen" ist, da der Aufbau nur lose am Tisch rumsteht...

 

Gruß

Christian

Geschrieben

Aha, und ich dachte ich nehme extra erst einmal eine GlĂŒhlampe, damit ich das Problem mit der induktiven Last zunĂ€chst nicht bekomme. Ist ja keine Wicklung, kein Trafo, kein Motor... hab ich wohl falsch gedacht... tja, gesundes Halbwissen sag ich da nur ;)

Und am Ende soll ja ein Stellventil geschalten werden (eben die Heizung), das wird wohl ein Motor sein, also brauch ich dann sowieso eine Lösung. Sollte ich das sicherheitshalber vielleicht mit einem zweiten Relais realisieren?

Und wie muss ein Snubber dimensioniert sein? Gibts da eine DAU-sichere Standardschaltung? Bin wie gesagt eigentlich kein Hardware-, sondern eher der Softwaremensch... daher find ich Tinkerforge (bisher) auch so gut konzipiert.

 

Und Christian, genau so verhÀlt es sich bei mir auch. Das Display bleibt stehen und die HG-Beleuchtung dimmt langsam runter, es ist aber weiterhin adressierbar (nur ohne dass sich was verÀndert).

Statische Aufladungen wĂ€ren bei mir auch möglich, die ganze Chose liegt momentan noch im Pappkarton rum :) Aber dass es lĂ€uft wenn die GlĂŒhlampe nicht dran ist erklĂ€rt sich damit auch nicht unbedingt - wobei ich noch nicht mehrere Stunden abgewartet habe. Mit GlĂŒhlampe dauerts nur wenige Minuten bis der Fehler auftritt.

Geschrieben

Das Display scheint auch besonders empfindlich gegenĂŒber ESD zu sein, da gabs ja schonmal nen Thread wo es darauf hinauslief: http://www.tinkerunity.org/forum/index.php/topic,222.msg965.html#msg965

 

Der Threadersteller hat dort das Problem (in meiner Erinnerung) einschrÀnken können, indem er das Kabel zum Display geschirmt hat. Möglicherweise ist es bei dir gar kein ESD, sondern das Display liegt nur zu nah am (magnetisch schaltenden(?)) Relais...

 

Ich habe bei mir im Moment auch Pappkarton-betrieb, da kann sowas schnell sehr dicht beisammen liegen.

Geschrieben

also bei mir hÀngt das Display an einem 2m bricklet Kabel und steht unter meiner Monitor-Konstruktion. der Brick-Turm steht etwas "abseits" in einer Kunststoff-Schale mit den restlichen Bricklets.

 

Bei mir lÀuft auch alles andere weiter. In der Console seh ich auch wenn ich z.B. am Poti dreh oder die Zeit aktuallisiert werden soll... ganz ohne meckern.

 

Manchmal bilde ich mir auch ein, dass es dann "abstĂŒrzt" wenn ich meinen Platz verlasse bzw. nicht da bin (?!).

 

Naja, könnte man das ESD-Thema evtl etwas entschĂ€rfen, wenn ich die Masse-Teile (Schraukontakte des LCD Bricklets z.B.) mit irgendwas anderem MassefĂŒhrenden verbinde wie dem GehĂ€use von einem USB-VerlĂ€ngerungskabel (welches natĂŒrlich angeschlossen ist...)? Oder wird die "ESD-Induktion" eher ĂŒber das Bricklet-Kabel kommen? Wie gesagt, ist ja auch 2 m lang...

 

Gruß

Christian

Geschrieben

Wir haben uns nochmal etwas Gedanken gemacht. Hatten leider wenig Zeit diese zu Testen. Ich bin immer davon ausgegangen, dass sich das LCD selbst aufhĂ€ngt (d.h. der Controller auf dem LCD). Ich habe nun aber auch gehört, dass sich die Hintergrundbeleuchtung des LCDs auch nicht mehr schalten lĂ€sst. Wenn dem so ist, dann heißt das, dass die I2C Portextension auf dem LCD Bricklet sich aufhĂ€ngt. Kann das jemand verifizieren?

Geschrieben

Ich habe nun aber auch gehört, dass sich die Hintergrundbeleuchtung des LCDs auch nicht mehr schalten lĂ€sst. Wenn dem so ist, dann heißt das, dass die I2C Portextension auf dem LCD Bricklet sich aufhĂ€ngt. Kann das jemand verifizieren?

das wĂŒrd ich so sagen... jo

Ich teste das nochmal, aber bin mir sicher, dass das der Fall ist. Seit 1,5 Std. lÀuft das Display bisher :)

Geschrieben

Richtig, wenn es hĂ€ngt, dann geht ĂŒberhaupt nichts mehr (auch Hintergrundbeleuchtung weder an noch aus) und die Hintergrundbeleuchtung entlĂ€dt sich langsam bis es dunkel ist. Ziffern bleiben stehen, Fehlermeldungen kommen keine.

Gibts etwa ne Softwarelösung des Problems? :)

 

  • 2 weeks later...
Geschrieben

Hallo zusammen,

 

nochmal zum ursprĂŒnglichen Problem: Mein 20x4-LCD steigt aus wenn das Relais eine Last schaltet. Das geht ziemlich schnell, sagen wir nach spĂ€testens 1-5 SchaltvorgĂ€ngen bleibt das Display hĂ€ngen und die Helligkeit dimmt langsam runter. Fehlermeldung kommt keine. Ich kann weiterhin API-Funktionen aufrufen und das Ding tut so als wĂ€re alles OK... aber keine visuelle Reaktion.

Liegt am Relais keine Last an, dann gibts auch keine AbstĂŒrze.

 

Mittlerweile verschĂ€rft sich der Effekt: Wenn das Relais eingeschalten bleibt und die Last (weiterhin eine 100W-GlĂŒhbirne) per externem Schalter an- und abgeschalten wird (habe einen ins Zuleitungskabel eingebaut), dann stĂŒrzt bei schnellen, manuellen Ein- und Ausschaltzyklen sogar der Master-Brick ab, sodass keine Kommunikation mehr möglich ist. Im Gegensatz zum alleinigen Absturz des LCDs wirft die API dann aber immerhin eine Exception.

 

Tja.

Wie interpretiere ich das? Beeinflussen die Felder um die stromfĂŒhrenden Leitungen das gesamte System dermaßen, dass nicht nur das I2C-Modul vom Display abranzt, sondern sogar ein Totalabsturz des Masters möglich ist?

 

LösungsvorschlÀge?

Workarounds?

 

Und an die Entwickler: Welche Lasten kann ich mit dem 227V/AV 10A Relais denn ĂŒberhaupt bedenkenlos schalten?

 

Weiterhin dankbar um Antworten und Tipps,

Olaf

Geschrieben

Hallo zusammen,

 

anbei ein paar Ideen.

 

Kann es sein, dass nicht alle Leitentungen zwischen Brick und Bricklet benutzt werden und elektrisch abgeschlossen sind?

 

Somit wuerden sie in der Luft haengen und als Antenne dienen. Destruktiver Vorschlag: Alle Leitungen die nicht benoetigt werden, bzw. in der Luft haengen abknipsen.

 

Wie lang sind eigentlich die Bricklet Leitungen? Kann man kuerzere verwenden?

 

Sollte man die Brickletkabel mal abschirmen? Alufolie?

 

Ist die Chasismasse des Display eigentlich auf GND Potential oder kann sich das Display statisch aufladen?

 

 

Der Loetkolben

 

Geschrieben

@glaf: Probiere mal die hier beschriebenen Maßnahmen:

http://www.tinkerforge.com/doc/Hardware/Bricklets/Dual_Relay.html#inductive-load-switching

 

@Loetkolben: Alle Leitungen werden beim Dual Relay benutzt. In der Luft hÀngen tut keine. Die FlÀchen des LCD Bricklets sind wirkliche MasseflÀchen.

 

@Wumpus: Tritt das Problem bei dir auch nur auf wenn du Lasten schaltest? Die hier beschriebenen Maßnahmen schon probiert?

http://www.tinkerforge.com/doc/Hardware/Bricklets/Dual_Relay.html#inductive-load-switching

 

 

Geschrieben

Bei mir tritt es auf, ohne dass ein DualRelay Bricklet beteiligt ist. Ich lasse das ganze einfach permanent laufen und irgendwann ist das LCD "tot". Der Joystick am selben Master funktioniert dann noch.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gast
Reply to this topic...

×   Du hast formatierten Text eingefĂŒgt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rĂŒckgĂ€ngig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Clear editor

×   Du kannst Bilder nicht direkt einfĂŒgen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...