Fehlerhafte Platine v1.6?

Hallo!

Ich habe mir ganz nach Anleitung die TonUINO Komponenten und auch die Leiterplatte vom Thorsten gekauft. Da ich die Female-Steckkabel vergessen hatte ging erst mal alles auf ein Steckboard und der wilde TonUINO funktionierte bald auch wunderbar.
Nach Eintreffen der Steckkabel konnte ich alles hübsch aufgeräumt auf die Platine stecken.
Beim ersten Test wurde mir im Portviewer die Meldung der fehlenden Verbindung zum RFID-Modul MFRC522 ausgegeben.

Nach dem Durchmessen der einzelnen Verbindungen habe ich festgestellt, dass entgegen dem Schaltplan keine Verbindung zwischen dem Arduino-D9 und dem RST vom RFID-Reader besteht.

Als Gelegenheits-Löter, könnte ich ja auch einen Lötpunkt zu Tode gebraten haben und daher habe ich meine zweite unbefleckte Platine beguckt und den Widerstand der Verbindungen durchgemessen. Dabei sind mir auch die neuen 1kOhm SMDs aufgefallen, die hier schon Thema waren.
Aber: Keine Verbindung an der neuen Platine zwischen D9 und RST (des RFID-Readers)!

Also habe ich mir auf der Rückseite der Platine eine kleine Brücke zwischen beide Pins rübergelötet und siehe da, es funktioniert!

Nun die Frage an den Fachkreis…
Ist dahingehend etwas bekannt? Hab ich zwei Montagsplatinen oder etwas falsch verstanden?

Ich bin mit der Kiste voll zufrieden und poste dies hauptsächlich, weil mich das etwas irritiert hat und ich keinen Hinweis auf ein solches Problem gefunden hatte.

1 Like

Ohne dich beleidigen zu wollen, stecken die Leitungen in den richtigen Buchsen des Multimeters, bzw. misst du woanders Durchgang?

Berechtigter Hinweis, aber ja!
Die anderen Strompfade hat er gekonnt und auch die mit den 1kOhm-SMDs.
Ich habe auch darauf geachtet, dass ich mit der Messspitze auch ja auf den Kontakt bin und auch das gegengeprüft.

Ich habe leider nicht gefunden wie groß die Widerstände der LevelShifter sind.
Auf jeden Fall läuft D9 aber auch über einen.
Aber 40MOhm wird er nicht sein.
Kannst du auf der Platine sehen ob ein Pfad von D9 weg geht?

Augen gerieben, Brille geputzt, große Lupe rausgeholt…
Ich bin mir nicht sicher ob man das so sicher erkennen kann. Meinem Eindruck nach geht da nichts weg und auch der RST sieht vereinsamt aus. Laut durchmessen landet er auch nirgend wo anders.
Die SMDs haben hübsch paarweise 1kOhm (R1, R3, R6) und 2kOhm (R2, R4, R5).
Achso, wenn bei meinen Multimeter die Messspitzen in der Luft hängen, blinkt die „4“ der 40MOhm. Das sieht man auf dem Foto schlecht :wink: Mehr geht wohl nicht bei Widerstandsmessung.

Eben noch mal gemessen: nur die RFID-Pins MOSI, SCK und SDA haben Verbindung zu den sechs SMDs.

Ihr habt Recht. D9 sollte eigentlich mit RST verbunden sein. Ist er tatsächlich nicht.

ALLERDINGS

Wir haben die Platine natürlich auch getestet und es werden sowohl der blaue als auch der schwarze Reader problemlos erkannt und funktionieren auch. Deswegen ist der Fehler wahrscheinlich auch nicht aufgefallen.

Thorsten und ich haben das ganze gerade nochmal unabhängig voneinander mit unseren Testsamples probiert und der TonUINO funktioniert einwandfrei. Reader wird erkannt und es können Karten gelesen und beschrieben werden. Der Grund dafür ist wie die Reset Logik der Library funktioniert und wie die Reader aufgebaut sind.

2 Like

Ich habe mir gerade auch die MFRC522 Lib angeschaut.

Es ist so: grundsätzlich können die Chips auch einen Softreset wenn entweder kein PIN für Reset definiert wurde, oder, wenn beim Prüfen dieses Pins der digitalRead kein LOW zurück gibt.

// If a valid pin number has been set, pull device out of power down / reset state.
if (_resetPowerDownPin != UNUSED_PIN) {
	// First set the resetPowerDownPin as digital input, to check the MFRC522 power down mode.
	pinMode(_resetPowerDownPin, INPUT);

	if (digitalRead(_resetPowerDownPin) == LOW) {	// The MFRC522 chip is in power down mode.
		pinMode(_resetPowerDownPin, OUTPUT);		// Now set the resetPowerDownPin as digital output.
		digitalWrite(_resetPowerDownPin, LOW);		// Make sure we have a clean LOW state.
		delayMicroseconds(2);				// 8.8.1 Reset timing requirements says about 100ns. Let us be generous: 2μsl
		digitalWrite(_resetPowerDownPin, HIGH);		// Exit power down mode. This triggers a hard reset.
		// Section 8.8.2 in the datasheet says the oscillator start-up time is the start up time of the crystal + 37,74μs. Let us be generous: 50ms.
		delay(50);
		hardReset = true;
	}
}

if (!hardReset) { // Perform a soft reset if we haven't triggered a hard reset above.
	PCD_Reset();
}

Du hättest nun auch mal probieren können was dein Chip sagt, wenn du die Definition in der TonUINO.ino für den MFRC522 mal ohne den Reset PIN machst.

Das kannst du auch probieren wenn du die Brücke schon gelötet hast. Ist ja eine reine Softwaresache.

MFRC522 mfrc522(SS_PIN); // Create MFRC522

Meine Erwartung wäre dann, dass du auch die Fehlermeldung bekommst und der Reader irgendwie Probleme mit dem Softreset hat, der dann beim Init gemacht wird.

Aber wie Stephan schon sagte, wir werden es selbstverständlich in der nächsten Version beheben.

Also wenn ich RST irgendwie nicht benötige, dann kann ich riskieren die Anpassung meiner Platine stecken zu lassen