glaf Geschrieben May 20, 2012 at 12:05 Geschrieben May 20, 2012 at 12:05 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 Zitieren
Loetkolben Geschrieben May 20, 2012 at 14:05 Geschrieben May 20, 2012 at 14:05 Hallo Olaf, fuer erste Test setze die Zeiten mal auf 1 und 10 Sec (also faktor 10) rauf. Aus meiner Sicht ist das ein IP bombing.  Baust du jedesmal die IP Verbindung neu auf? Der Loetkolben. Zitieren
glaf Geschrieben May 20, 2012 at 15:53 Autor Geschrieben May 20, 2012 at 15:53 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.... Zitieren
borg Geschrieben May 20, 2012 at 16:21 Geschrieben May 20, 2012 at 16:21 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. Zitieren
glaf Geschrieben May 20, 2012 at 17:07 Autor Geschrieben May 20, 2012 at 17:07 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. Zitieren
borg Geschrieben May 20, 2012 at 17:48 Geschrieben May 20, 2012 at 17:48 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. Zitieren
batti Geschrieben May 20, 2012 at 17:51 Geschrieben May 20, 2012 at 17:51 Siehe auch hier: http://www.tinkerforge.com/doc/Hardware/Bricklets/Dual_Relay.html#inductive-load-switching Zitieren
AuronX Geschrieben May 20, 2012 at 20:00 Geschrieben May 20, 2012 at 20:00 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 Zitieren
Loetkolben Geschrieben May 20, 2012 at 20:03 Geschrieben May 20, 2012 at 20:03 Interessant mitzulesen. Aus Hardwaresicht finde ich "jumperbare" Moeglichkeiten klasse. Ggf. die paar Cent mitbestuecken und dann per Jumper "zuschaltbar" machen.  Der Loetkolben Zitieren
AuronX Geschrieben May 20, 2012 at 20:11 Geschrieben May 20, 2012 at 20:11 Wenn auch sicherlich langsam einen eigenen Thread wert: Sofern jumperbar/schaltbar sich so leicht realisieren lieĂe, dann wĂ€re das definitiv die von mir favorisierte Lösung. Zitieren
Loetkolben Geschrieben May 20, 2012 at 21:00 Geschrieben May 20, 2012 at 21:00 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. Zitieren
Christian Geschrieben May 20, 2012 at 21:55 Geschrieben May 20, 2012 at 21:55 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 Zitieren
glaf Geschrieben May 21, 2012 at 06:41 Autor Geschrieben May 21, 2012 at 06:41 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. Zitieren
AuronX Geschrieben May 21, 2012 at 07:56 Geschrieben May 21, 2012 at 07:56 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. Zitieren
glaf Geschrieben May 21, 2012 at 09:14 Autor Geschrieben May 21, 2012 at 09:14 OK, also evtl liegts an der AnfĂ€lligkeit vom I2C, das muss ich wohl mal prĂŒfen. Sobald ich wieder zum basteln komme versuch ichs auch mal mit nem selfmade-Schirm. Zitieren
Christian Geschrieben May 21, 2012 at 10:06 Geschrieben May 21, 2012 at 10:06 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 Zitieren
batti Geschrieben May 21, 2012 at 14:43 Geschrieben May 21, 2012 at 14:43 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? Zitieren
Christian Geschrieben May 21, 2012 at 14:56 Geschrieben May 21, 2012 at 14:56 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 Zitieren
glaf Geschrieben May 21, 2012 at 19:42 Autor Geschrieben May 21, 2012 at 19:42 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?  Zitieren
Christian Geschrieben May 22, 2012 at 06:54 Geschrieben May 22, 2012 at 06:54 interessanter weiĂe ist mein Display die gesamte Nacht durchgelaufen ... VorfĂŒhreffekt... GruĂ Christian Zitieren
glaf Geschrieben June 3, 2012 at 11:58 Autor Geschrieben June 3, 2012 at 11:58 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 Zitieren
Loetkolben Geschrieben June 3, 2012 at 12:49 Geschrieben June 3, 2012 at 12:49 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 Zitieren
Wumpus Geschrieben June 9, 2012 at 08:55 Geschrieben June 9, 2012 at 08:55 Bin ebenfalls betroffen (LCD hĂ€ngt, keine Hintergrundbeleuchtung schaltbar). Auch hier wĂŒrde es wieder helfen, wenn man zumindest die Master per Softwarereset durchstarten könnte. Zitieren
batti Geschrieben June 11, 2012 at 07:42 Geschrieben June 11, 2012 at 07:42 @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  Zitieren
Wumpus Geschrieben June 11, 2012 at 08:31 Geschrieben June 11, 2012 at 08:31 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. Zitieren
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.