Welche sind die Pull-Ups?

Gast #2048250
Lesenswert?

Hallo,

ich werd aus der angehängten Platine irgendwie nicht schlau, ich will 
rausfinden, welches die Pull-Up Widerstände der DATA und CLK Leitungen 
sind.

Sieht so aus als würde z.B. vom CLK Pin überhaupt keine Leiterbahn 
wegführen?

Schematic ist leider nicht vorhanden.
Kann mir jemand helfen?
Angehängte Dateien:
Gast #2048265
Lesenswert?

Wegstaben:
Ich nehme an der gelb markierte, ich hab auch erst gebraucht, bis mir 
das aufgefallen ist.

Du könntest das ganze einfache mal mit einem Durchgangsprüfer 
durchpiepsen. So viele Widerstände sind ja nicht drauf.

Allerdings könnten auch interne Pullups genutzt werden. Wie sieht denn 
die andere Seite der Platine aus?
Gast #2048284
Lesenswert?

Auf der anderen Seite ist nicht viel drauf aber das was interessant sein 
könnte wird von der Steckerleiste überdeckt...

Das mit dem Durchgangsprüfer probier ich jetzt mal. Bei den Pullups 
müsste ja dann ein Kontakt direkt mit VCC und der andere direkt mit CLK 
bzw. DATA verbunden sein, oder?
#2048290
Lesenswert?

Ich glaub, da sieht man aus der sicht nicht viel. Die Widerstände können 
in den ICs sein, auf der anderen Seite, in der Platine verarbeitete 
Wiederstände (Hidden Resistors) können auch welche sein. Gehe ich recht 
der Annahme, dass das dieses Zusatzding für die WiiMote ist?? Sieht vom 
Stecker so aus und die Farbe vom Plastik sieht auch so aus. Da könntest 
du evtl bei google gucken. Manche haben ja schon die 
Beschleunigungssensoren angesteuert.
Gast #2048297
Lesenswert?

Du glaubst doch nicht, dass in diesem Massenprodukt für zwei fuffzich 
Bauteile in die Platine eingearbeitet sind.

Was mich viel mehr interessiert: Was willst du denn mit den Pullups 
machen, wenn du sie gefunden hast? Ich meine, die sind da ja nicht 
umsonst da dran. Eventuell gibt es auch gar keine oder sie sitzen in der 
Wiimote und nicht im WMP.
Gast #2048302
Lesenswert?

Ja, ist ein Wii Motion Plus. Ich will das Teil aber mit Lego Mindstorms 
ansteuern und die Gyrosensoren auslesen. Die Kommunikation erfolgt über 
i2c. Allerdings sind für das Mindstorms Teil die Pull Ups angeblich zu 
klein. Das war zumindest beim Wii Nunchuk so. Da waren 1,8k Pull Ups 
drin, Lego fordert eigentlich 82k Pullups und es hat sich rausgestellt, 
dass die Verbindung mit 33k am besten funktioniert.
Deswegen dacht ich, dass das bei dem Motion Plus auch so oder so ähnlich 
sein wird.
Gast #2048532
Lesenswert?

Naja als erstes solltest du mal herausfinden, welche Widerstände an CLK 
und Data liegen. Danach schaust du, ob diese Widerstände mit dem anderen 
Anschluss auf VCC oder GND liegen.

Wenn du keine Pullups/Pulldowns ausmachen kannst, dann stecken Sie 
vermutlich in der Wiimote oder im ADC. Aus deinem Post entnehme ich, 
dass das Mindstorms die CLK- und Data-Leitungen mit so kräftigen Pullups 
nicht auf Masse ziehen kann. Mit einem einfachem Buffer-IC oder einer 
simplen Transistorschaltung könntest du das ausbügeln.

Ist das eine original WiiMotionPlus, oder ein Fake? Je nachdem, was es 
für ein Fake ist, könnte ich auch mal nachschauen.
Persönliche Seite #2048648
Lesenswert?

Du bist ein komischer Vogel. Du hast eingangs nicht mal gesagt, was das 
Objekt sein soll. Woher sollen wir wissen wo irgendwelche Widerstände 
von CLK oder DATA Leitungen liegen? Vielleicht solltest du es mal mit 
Nachdenken versuchen.

Ich glaube dort wird I2C verwendet. Die Pullups für I2C sitzen am Master 
und sollten damit in der Fernbedienung sitzen und nicht in der 
Erweiterungsplatine.
Gast #2048720
Lesenswert?

Simon K. schrieb:
> Ich glaube dort wird I2C verwendet. Die Pullups für I2C sitzen am Master
> und sollten damit in der Fernbedienung sitzen und nicht in der
> Erweiterungsplatine.

Ich persönlich würde mir an der Stelle von Nintendo möglichst viele Wege 
offenhalten, meine Hardware zu erweitern. Und da ist es ungeschickt, 
alle Bauteile in den Master zu pflanzen. Man ist flexibler, wenn man die 
Pullups in den (noch nciht existierenden) Slave baut.
Gast #2048727
Lesenswert?

Ach, jetzt habe ich das eigentliche Thema ganz außer Augen verloren:

Probiere es doch einfach mal aus, ob's nicht ohne Modifikation geht? 
Ansonsten suchst du schnell die Betriebsspannung von Lego und Wiimote 
raus und meldest dich nochmal, dann kann man schauen, welche Buffer man 
da reinhauen könnte.

Interessanter Link:

http://www.wiibrew.org/wiki/Wiimote/Extension_Controllers#Wii_Motion_Plus
Gast #2052006
Lesenswert?

Dann brauchst du ja wohl einen Levelshifter.

Hast du die Möglichkeit eine Platine zu ätzen? Wenn nicht, kann ich es
dir machen, dann kann man das ganze als SMD aufbauen und es braucht
nicht viel Platz.

Kannst du vielleicht mal den ganzen Aufbau abfotografieren? Ich frage
mich gerade, wie du das Nunchuck mit dem Lego versorgst, wenn die
Spannungen gar nicht passen. Ausgehend davon kann man einen kleinen
Levelshifter zusammenzimmern.
Gast #2052098
Lesenswert?

Also ich habe mich jetzt mal ein wenig über I2C-Levelshifting schlau 
gemacht. Der Knackpunkt ist, dass die Datenleitung bidirektional ist. 
Einfach einen Buffer in die Leitung zu hängen ist also nicht die Lösung.

Die eine Lösung ist von NXP und funktioniert mit zwei N-MOSFET und vier 
Widerständen. Allerdings müssen dazu einige Vorraussetzungen erfüllt 
sein. Ohne nochmal genau die Eigenheiten der beiden Systeme zu 
analysieren, würde ich diese Methode nicht verwenden. Der Preis wäre mit 
36Ct für die Bauteile natürlich super.

Von Texas Instruments gibt es noch einen Levelshifter-Chip, der auf den 
Namen PCA9306 hört. Kostenpunkt 76Ct exkl. bei Abnahme von 5 Stück. Dazu 
kommen noch 5 Widerstände und zwei Kondensatoren. Das wäre meiner 
Meinung nach die eleganteste Lösung und auch noch universell.

Wen du Zeit hast, dann könntest du den PCA9306 auch als Sample bei TI 
anfordern. Mit der richtigen E-Mailadresse (nix terminator007mega@gmx.tv 
oder so) sind die recht großzügig und liefern richtig fix.

Wie gesagt, eine kleine Platine (einseitig mit Lötstopp) könnte ich dir 
schon ätzen und auch löten, wenn du SMD nicht beherrschst.
Gast #2052157
Lesenswert?

Ohje, scheint mir fast ein bisschen viel Aufwand zu sein, für so ein 
kleines Hobby Spaßprojekt...

Ich hab halt gedacht, es würde vll genauso einfach wie beim Nunchuk 
funktionieren, da muss man nur die 2 Pullups rauslöten, zwei neue 
zwischenrein und es funzt. Zusätzlich hat der, von dem ich die Idee mit 
dem Umbau habe einfach eine Diode zwischenreingeklemmt um die Spannung 
zu reduzieren, obwohl der Nunchuk angeblich auch mit den 5V vom 
Mindstorms laufen soll. (siehe Anhang)

Wäre das vll auch noch ne Idee die man ausprobieren könnte? Oder ist das 
eher ne dumme Idee mit der Diode?
Angehängte Dateien:
#2052183
Lesenswert?

Daniel schrieb:
> Die eine Lösung ist von NXP und funktioniert mit zwei N-MOSFET und vier
> Widerständen. Allerdings müssen dazu einige Vorraussetzungen erfüllt
> sein.

Welche sollen das sein? Bei mir tut die Schaltung super. Allerdings hab 
ich mit den empfohlenen BSN20 schlechte Erfahrung gemacht (was aber 
wahrscheinlich an einem anderen Fehler lag) und nehm daher immer BSH108 
oder BSS138.
Gast #2052223
Lesenswert?

nintendomindstorms schrieb:
> Zusätzlich hat der, von dem ich die Idee mit
> dem Umbau habe einfach eine Diode zwischenreingeklemmt um die Spannung
> zu reduzieren, obwohl der Nunchuk angeblich auch mit den 5V vom
> Mindstorms laufen soll.

Also ich würde das Nunchuck nicht mit 5V befeuern, wenn es normalerweise 
3,3V haben möchte. Wenn unbedingt notwendig, müsste man dazu das 
Datenblatt der Chips zu Rate ziehen. Die Diode senkt die Spannung für 
das Nunchuck um ca. 0,7V ab. Das löst zwar das Versorgungsproblem mehr 
schlecht als recht, aber an den Datenleitungen passiert trotzdem noch 
nicht viel. Wemm irgendetwas passiert, dann eigentlich das Gegenteil von 
dem, was du haben möchtest. Die Level unterscheiden sich vielleicht noch 
mehr.

Du kannst jetzt viel ausprobieren. Fakt ist nach allem, was du hier 
gemessen hast, dass du die Widerstände nicht tauschen kannst. Deswegen 
hilft es nichts, wenn wir über diese Lösung diskutieren.
Gast #2052228
Lesenswert?

nintendomindstorms schrieb:
> Oha, grad seh ich, dass der Pegel für CLK und DATA ja sogar beim NXT bei
> 3,3V liegt...

Dann sollte man den Fehler vielleicht woanders suchen. Bist du dir 
sicher, dass dein WMP noch funktioniert? vielleicht waren die 5V über 
längere Zeit nicht gerade das gelbe vom Ei.

Ich überlege die ganze Zeit, warum der Pullup zu klein sein sollte. 
Anscheinend schafft es eines der beiden Geräte nicht mehr, die Leitung 
auf 0-Potenzial zu bringen. Wenn du wenigstens ein Oszi hättest, dann 
könnte man an CLK nachmessen, ob es am Mindstorms liegt.

Ich würde als nächstes die Spannung am WMP reduzieren (ZWEI Dioden in 
die Leitung). Möglicherweise befeuert das Teil die Datenleitung aktuell 
mit 5V und das Mindstorms (das ja für 3,3V konzipiert ist :-) bringt den 
Pegel nicht runter. Das passt zumindest zu der Lösung mit dem zu kleinen 
Widerstand.
Gast #2052247
Lesenswert?

Daniel schrieb:
> Möglicherweise befeuert das Teil die Datenleitung aktuell
> mit 5V und das Mindstorms (das ja für 3,3V konzipiert ist :-) bringt den
> Pegel nicht runter. Das passt zumindest zu der Lösung mit dem zu kleinen
> Widerstand.

Achso, dann probier ich als nächstes die Betriebsspannung mit den zwei 
Dioden zu reduzieren.

Ob das WMP noch funktioniert kann ich ausprobieren, habe bisher noch 
nichts dranrumgelötet oder so, allerdings kann ich das alles frühestens 
Dienstag Abend machen, dann meld ich mich wieder =)

Danke schonmal für die Hilfe!
Gast #2054663
Lesenswert?

Dann bleibt dir eigentlich nichts anderes übrig, als eine kleine 
Schaltung dazwischen zu hängen, wie auch immer die aussehen mag.

Ich bin mir ziemlich unsicher, ob die Variante mit den FETs auch das 
Pullup-Problem lösen kann. Auf der NXT-Seite 82kOhm als Pullups 
anschließen. Auf der WMP-Seite hast du deine Pullups ja schon. Aber 
warum sollte das NXT jetzt die Leitung auf einmal über die DS-Strecke 
eines FETs auf GND bringen, wenn es das schon so nicht schafft...

Mal ganz blöd gefragt: Hast du schonmal nachgemessen, ob im WMP 
überhaupt Pullups eingebaut sind? Vielleicht liegt der Fehler ja auch 
darin, dass gar keine Pullups vorhanden sind...
Gast #2055235
Lesenswert?

War das WMP an oder aus? Leg mal Spannung an und miss nochmal den 
Widerstand zwischen VCC und den Leitungen (einmal mit schwarzer und 
einmal mit roter Spitze auf VCC). Dann misst du noch die Spannung auf 
den Leitungen (nach Masse).

Wenn du weder einen Widerstand, noch einen sauberen Logikpegel messen 
kannst, dann schalt einfach mal 33kOhm als Pullups rein. Dann müsste es 
klappen.
Gast #2055384
Lesenswert?

Ok, habs gemessen.

Zwischen VCC und CLK hab ich bei schwarzer Messspitze an VCC nen Wert 
von -18,9kOhm gemessen. Ein negativer Widerstandswert? Keine Ahnung was 
das zu bedeuten hat. Mit vertauschten Messspitzen hab ich keinen Wert 
bekommen.

Ähnlich bei VCC und DATA, da warens -31,2kOhm bzw. kein Wert.

Spannungen gegen Masse hab ich bei CLK 0,88 V und bei DATA 2,26 V 
gemessen, also keine vernünftigen Pegel. Heißt das jetzt, das keine 
Pull-Ups verbaut/aktiv sind?
Gast #2055441
Lesenswert?

Wow, es scheint zu funktionieren! Hatte keine 33k Widerstände da aber 
27k funktionieren genauso gut, denk ich. Ich krieg auf jeden Fall 
jeweils 6 Bytes Daten. =)

Vielen, vielen Dank Daniel! Ohne deine Hilfe wäre das wohl nie was 
geworden... ^^

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren