Jump to content

[Geloest] Servobrick erkennt HW Display 1.2 (FW 2.0.3) als 1.1 mit nur 3 Btn


Recommended Posts

Geschrieben

Edit: Urspruenglicher Titel war: "Servobrick (FW 2.0.2) erkennt HW Display 1.2 (FW 2.0.3) als 1.1 mit nur 3 Btn"

Loesung siehe unten

 


 

Hallo zusammen,

 

heute ist die Schatulle mit dem Tinkerforgesachen angekommen.

Neben dem Problem, dass das LCD einen Multiplex-Hau hat, habe ich folgendes im Brickviewer 2.0.4 (Windows) beobachtet:

 

Vorraussetzung das Display haengt an Port A, an Port B ist alles ok.

Display HW 1.2 FW 2.0.3 und Servobrick FW 2.0.2

 

Display an Port A wird als Display HW 1.1 mit 3 Buttons erkannt. Wenn man den 4. Button drueckt aendert sich leicht der Kontrast.

 

Display an Port B wird als Display HW 1.2 mit 4 Buttons erkannt. Alle 4 Buttons arbeiten normal.

 

Firmware habe ich sowohl via Port A und Port B neu aufgespielt. Ergebnis bleibt gleich. Hat das wieder mit dem EEPROM zu tun?

 

Kann mir das bitte jemand erklaeren, bzw. aendern?

 

Danke.

 

Der Loetkolben

 

Geschrieben

Hallo borg,

 

ja habe ich. Sicher ist das ulkig, da bin ich auf deiner Seite, aber es kostet trotzdem Zeit und man muss erstmal verstehen wo das Problem ist.  :)

 

Das hat nichts mit dem EEPROM zu tun, die Firmware ist bei beiden Ports gleich

 

Die Firmware ist zwar die gleiche, aber nicht die Art des ansprechens. Ich habe die Firmware deshalb neu geflasht um auszuschliessen dass sie falsch ins EEPROM geschrieben wurde, da anscheinend ein Port "anders" reagiert.

 

Das EEPROM wird doch je nachdem an welchen Port es haengt, mit einer anderen Adresse angesprochen, oder? Siehe hier:

 

[...] Beim Servo Brick und allen anderen Bricks mit zwei Anschlüssen liegt der Select Pin der Bricklets bei einem Anschluss auf GND bei dem anderen auf 3.3V [...]

 

Ist ja nur eine Idee ob das evtl. damit zusammenhaengt.

 

Der Loetkolben

Geschrieben

Hallo zusammen,

 

das Problem ist mit einer neuen Firmware (2.0.4) fuer das LCD Bricklet geloest worden. Ob das nun alle Bricks mit nur 2 Anschluessen betrifft (denn am Masterbrick gab es keine Probleme) oder in welchen Pfeffer der Hase genau gelegen hat kann nur das Tinkerforge Team erklaeren.

 

Vielen Dank fuer die schnelle Loesung.

 

Der Loetkolben

Geschrieben

Ich würde mcih auch über eine Erklärung freuen. Habe gerade in die Änderungen für die neue Firmware geschaut und weitestgehend Bahnhof gelesen ;D

 

Beim Initialisieren wird der 4. Button kurzzeitig anders eingestellt (default statt Pull-Down und output statt input) und dann ziemlich lange (1 Sekunde) gewartet, bevor er wieder normal konfiguriert wird (glaube ich).

Aber ich habe sowas von viel zu wenig Ahnung von diesen hardware-nahen Geschichten, um wirklich zu verstehen warum das hilft :)

Geschrieben

Alle Pinne des Mikrocontrollers den wir verwenden können Pull-Ups und Pull-Downs anschalten. Wir erkennen ob ein LCD 20x4 HW Version 1.2 angeschlossen ist, in dem wir Pin 4 auf Pull-Down stellen. Bei der 1.2er Version ist der Pin "floating", d.h. wir würden erwarten dort dann ein Low zurücklesen zu können.

 

Soweit zur Theorie. Nun ist es aber so, dass die Pull-Ups/Downs in Mikrocontrollern sehr ungleichmäßig sind, im Datenblatt vom sam3s ist ein Wert von 50-175kΩ angegeben. Nun scheint es gerade so zu sein, dass der Pin der beim Servo Brick an Button 4 angeschlossen ist so hochohmig ist, dass es zulange dauert bis das Signal so niedrig ist, das es als Low interpretiert wird.

 

Dafür setzen wir jetzt einmal für 1000µs (1ms) die Leitung auf Low um sie zu "entladen", dann nochmal für 1ms auf Pull-Down und dann gucken wir ob die Leitung Low oder High ist (also nur 2ms in Summe, keine Sekunde).

Geschrieben

Hallo borg,

 

dann muss ich ja gluecklich sein, dass euer Servobrick das gleiche Verhalten gezeigt hat.  :D

 

Dementsprechend haette es also auch an jedem anderen Brick, egal ob 2 oder 4 Ports, passieren koennen?

 

 

Der Loetkolben

Geschrieben

Dementsprechend haette es also auch an jedem anderen Brick, egal ob 2 oder 4 Ports, passieren koennen?

Prinzipiell ja.

 

dann muss ich ja gluecklich sein, dass euer Servobrick das gleiche Verhalten gezeigt hat.  :D

Ich glaube das hat an der Stelle nichts mit Glück zu tun. Ich denke die haben bei der Produktion von ICs eine sehr hohe Reproduziergenauigkeit, wodurch dann die Widerstände an den gleichen Pinnen immer sehr ähnlich sind, solange die Prozessoren aus der gleichen Charge sind.

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...