Forum: Mikrocontroller und Digitale Elektronik Schaltung funktioniert nur mit Labornetzteil


von Patrick G. (grinf4ce)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,
ich arbeite gerade an meinem ersten größeren Projekt und bin auf ein 
Problem gestoßen, wo ich bitte eure Hilfe benötige.

*Kurzbeschreibung Leiterplatte A ("Mainboard"):*
 - Hohlsteckerbuchse (5VDC/1A von einem Conrad "Euronetzteil")
 - LM3940IT-3.3 für die 3.3V Versorgung
 - PIC24 als SPI Master
 - Sowie diverse Anschlüsse für Display, RFID Modul.
 - Wannenstecker zur Verbindung zum Interfaceboard.

*Kurzbeschreibung Leiterplatte B ("Interfaceboard"):*
 - Wannenstecker zur Verbindung mit Mainboard
 - 3.3V Verorgung durch Mainboard über Wannenstecker
 - PIC12 als SPI Slave
 - AM2303 für Temperatur / Luftfeuchtigkeitsmessung.
 - Taster und Drehencoder für Benutzereingaben.

Ich habe euch die Schaltpläne angehangen.
Wenn ich die Schaltung mittels Labornetzteil versorge (5V über 
Stiftleiste EX_PWR), funktioniert alles wunderbar. Der Master fragt beim 
Slave an, dieser übermittelt die korrekten Werte und lässt entsprechend 
LEDS blinken (Testweise).

Wenn ich mittels Hohlstecker und Schaltnetzteil die Schaltung versorge, 
treten undefinierte Zustände auf. Entweder die Kommunikation kommt gar 
nicht zustande, oder nur kurz (5 bis X Sekunden), oder die LEDs blinken 
viel schneller und nicht mehr wie definiert.

Sobald ich mich jedoch mit dem USB-Logicanalyzer an den SPI-Bus 
dranhänge, funktioniert die Kommunikation wieder wie gewollt und die 
korrekten Daten werden übermittelt.

Mein Latein ist wirklich am Ende. Ich kann ihn mir nicht erklären und 
würde eure Hilfe benötigen. Hat jemand einen Tipp für mich woran dies 
liegt und vorallem wie ich es beheben kann? Es ist nicht meine Absicht 
beim fertigen Gerät ein Labornetzteil / USB-Logicanalyzer dauerhaft zu 
integrieren um das Problem zu umgehen. Außerdem bin ich kein Freund 
davon ein Problem zu umgehen, wenn es lösbar ist...

Danke für eure Hilfe und LG,
Patrick

von Joe F. (easylife)


Lesenswert?

470nF am eingang sind ein witz. schalte hier mal 33uF parallel. besser 
gleich 2x

: Bearbeitet durch User
von Markus M. (adrock)


Lesenswert?

Hast Du mal getestet, ob es schon reicht, wenn Du die Masse des Boards 
auf einen definierten Zustand bringst, also z.B. Masse von Deinem 
Logikanalyser?

von Wolfgang (Gast)


Lesenswert?

Patrick G. schrieb:
> *Kurzbeschreibung Leiterplatte A ("Mainboard"):*

> *Kurzbeschreibung Leiterplatte B ("Interfaceboard"):*

Ich sehe auf beiden Plänen nur irgendeine Ansammlungen von 
Schaltungsfragmenten. Mit den ganzen Labels kann man das bestenfalls als 
graphisch unterstützte Netzliste bezeichnen.

sry

von Markus M. (adrock)


Lesenswert?

Das mit C1 kam mir auch in den Kopf, aber im Datenblatt steht 470nF wäre 
ok. Aber mal testweise einen größeren C noch parallel zu schalten kann 
nicht schaden.

Ist sicher das C2 den richtigen Wert hat?

von Karl M. (Gast)


Lesenswert?

Hallo TE,

Nun der Drehgeber mach auf A und B jeweils einen Kurzschluss.
Schlechte Schaltungsauslegung.

von Joe F. (easylife)


Lesenswert?

Markus M. schrieb:
> Das mit C1 kam mir auch in den Kopf, aber im Datenblatt steht 470nF wäre
> ok

...wenn die 5v sauber und stabil sind. daher funktioniert es mit 
labornetzteil. stecknetzteil mit evtl. langer zuleitung braucht extra 
pufferung.

zeitweise kurzschlüsse wären natürlich auch ein grund. labornetzteil 
liefert ordentlich saft nach, stecknetzteil nicht.

: Bearbeitet durch User
von Joe F. (easylife)


Lesenswert?

Karl M. schrieb:
> Nun der Drehgeber mach auf A und B jeweils einen Kurzschluss.

wo siehst du da einen kurzschluss?

von Patrick G. (grinf4ce)


Lesenswert?

Servus zusammen,

Joe F. schrieb:
> 470nF am eingang sind ein witz.
Markus M. schrieb:
> Das mit C1 kam mir auch in den Kopf, aber im Datenblatt steht 470nF wäre
> ok. Aber mal testweise einen größeren C noch parallel zu schalten kann
> nicht schaden.
Joe F. schrieb:
> ...wenn die 5v sauber und stabil sind. daher funktioniert es mit
> labornetzteil. stecknetzteil mit evtl. langer zuleitung braucht extra
> pufferung.

Danke für diesen Tipp. Ich werde morgen im Laufe des Tages ein/zwei 33uF 
parallel schalten. Geht sich heute leider nicht mehr aus.

Markus M. schrieb:
> Hast Du mal getestet, ob es schon reicht, wenn Du die Masse des Boards
> auf einen definierten Zustand bringst, also z.B. Masse von Deinem
> Logikanalyser?
Hab ich gerade probiert - Weder Logikanalyser- noch Labornetzteilmasse 
bringen eine Verbesserung.

Markus M. schrieb:
> Ist sicher das C2 den richtigen Wert hat?
Laut Datenblatt ist ein 33uF gefordert. Den habe ich auch so 
reingenommen und ist auch physikalisch so vorhanden.

von Karl M. (Gast)


Lesenswert?

Hallo,

C9 und C10 !

Das ist das klassische Pollinboard Problem.

von Karl M. (Gast)


Lesenswert?

Nachtrag:

Der Drehgeber ist einfach falsch beschaltet.

Wenn Du dir hier im Forum nach passiver Entprellung den Artikel mit 
nachgeschaltetem Schmitttrigger ansiehst, sollte es klar werden.

von Joe F. (easylife)


Lesenswert?

"falsch" ist da immer streitbar. 10nf ist natürlich zu viel, 100p sind 
gut (gegen ESD).

von Alex22 (Gast)


Lesenswert?

Patrick G. schrieb:
> Entweder die Kommunikation kommt gar
> nicht zustande

Du schreibst ja, dass du einen Logic-Analyzer hast. Bist du sicher, dass 
der SPI-Mode korrekt ist ("Phase" und "Polarity")? Ein instabiles 
Verhalten kann aus einem SPI-Timing herrühren, welches "auf der Kippe" 
steht.

Patrick G. schrieb:
> oder die LEDs blinken
> viel schneller und nicht mehr wie definiert.
Du könntest dir in deinem MCU mal nach einem RESET anschauen, warum er 
neu-gestartet wurde (z.B. Brown-Out) bzw. könntest nach einem Reset erst 
mal "warten", bis dass ein Knopf gedrückt wird. Dann könntest du sehen, 
ob das undefinierte Verhalten an ungeplanten Resets liegt.

Gruß,
Alex

von Thomas (kosmos)


Lesenswert?

Ein LC-Filter am Board Eingang. Schonmal mit dem Oszi nachgeschaut was 
das un/belastete Schaltnetzteil ausspuckt.

von Patrick G. (grinf4ce)


Angehängte Dateien:

Lesenswert?

Hallo,
Danke für eure konstruktiven Beiträge!

Karl M. schrieb:
> er Drehgeber ist einfach falsch beschaltet.
Joe F. schrieb:
> "falsch" ist da immer streitbar. 10nf ist natürlich zu viel, 100p sind
> gut (gegen ESD).
Ich werde beim Umbau heute Abend, wo ich die zusätzlichen Caps beim 
Spannungsregler-Eingang anbringe auch die beiden 10nF Caps austauschen. 
100p genügen hier?

Alex22 schrieb:
> Du schreibst ja, dass du einen Logic-Analyzer hast. Bist du sicher, dass
> der SPI-Mode korrekt ist ("Phase" und "Polarity")? Ein instabiles
> Verhalten kann aus einem SPI-Timing herrühren, welches "auf der Kippe"
> steht.
Also wenn ich mit dem Logic-Analyzer draufhänge, erhalte ich eine 
saubere Übertragung und auch diese undefinerten Zustände treten auch 
nach 1-2 Stunden Laufzeit nicht auf. Ich habe heute vor der Arbeit noch 
schnell drei Fotos gemacht die die aufgenommene Kommunikation zeigt. 
0x0E, 0x0F und 0x0B sind korrekt. Der Slave soll immer mit 0x12 was er 
auch tut.

Alex22 schrieb:
> Du könntest dir in deinem MCU mal nach einem RESET anschauen, warum er
> neu-gestartet wurde (z.B. Brown-Out) bzw. könntest nach einem Reset erst
> mal "warten", bis dass ein Knopf gedrückt wird. Dann könntest du sehen,
> ob das undefinierte Verhalten an umgeplanten Resets liegt.
Habe ich bereits im Vorfeld gemacht. Falls sich der MCU resetet, 
leuchtet für 1s eine LED. Jedoch wird während des ganzen Prozedere wohl 
kein Reset ausgelöst, da sie nur beim einschalten einmal aufleuchtet.

Thomas O. schrieb:
> Schonmal mit dem Oszi nachgeschaut was
> das un/belastete Schaltnetzteil ausspuckt.
Wird heute nach der Arbeit gleich erledigt.

von Joe F. (easylife)


Lesenswert?

Patrick G. schrieb:
> Ich werde beim Umbau heute Abend, wo ich die zusätzlichen Caps beim
> Spannungsregler-Eingang anbringe auch die beiden 10nF Caps austauschen.
> 100p genügen hier?

Ja. Die 10n machen den Encoder unnötig träge. Macht sich bemerkbar, wenn 
man mal schneller drehen möchte.
1n wären auch ok, 100p reichen aber aus.
Die Auswertung der Encodersignale per Software ist (wenn man es richtig 
macht) ohnehin so konstruiert, dass Kontaktpreller keinen Einfluss 
haben.

von Alex22 (Gast)


Lesenswert?

Patrick G. schrieb:
> Ich habe heute vor der Arbeit noch
> schnell drei Fotos gemacht die die aufgenommene Kommunikation zeigt.

Da hast du schon so einen schönen Logic Analyzer (von Saleae?) und 
machst ein Foto vom Bildschirm :-)

Sieht nach SPI-Mode 00 aus (Polarity 0, Phase 0). Siehe auch [[Serial 
Peripheral Interface]]. Auf den ersten Blick scheinen Master und Slave 
den gleichen Modus zu benutzen.

Patrick G. schrieb:
> Jedoch wird während des ganzen Prozedere wohl
> kein Reset ausgelöst,

Hast du denn den Brown-Out-Trigger eingeschaltet? Um sicher zu sein, 
dass der Mikrocontroller einen Reset macht, wenn die Spannung zu niedrig 
ist, damit er definiert läuft? (Bit BOREN). Hast du dir mal den 
Reset-Grund im RCON Register angeschaut?

Viele Grüße,
Alex

von Alex22 (Gast)


Lesenswert?

Oh, noch eine Sache, die immer gerne zu von dir beschriebenen Effekten 
führt: Schlechte Lötstelle? Irgend eine Lötstelle, die schlecht ist, die 
aber "gebrückt" wird, wenn du den Logic-Analyzer einsteckst...? Es kann 
sogar sein, dass durch eine der SPI-Leitungen und durch die Schutzdioden 
im Logic-Analyzer der Stromkreis geschlossen wird...

Oder dass über den GND des Logic-Analyzers, welcher mit dem USB-Ground 
des PCs verbunden ist, die Schleife geschlossen wird...

Du könntest (wenn Verfügbar) mit einem Laptop im Akku-Betrieb testen...

von Bernd M. (Gast)


Lesenswert?

Alex22 schrieb:
> Da hast du schon so einen schönen Logic Analyzer (von Saleae?) und
> machst ein Foto vom Bildschirm :-)

Woran siehst du, was da für eine Logikanalysator dran hängt?
Die Software ist von Saleae und der Chip dann wohl von Cypress ...

von Pastor Braune (Gast)


Lesenswert?

Der 3940 schwingt ganz gerne - ansonsten tippe ich auf ein Problem mit 
der Masse ;-)

mfg

von Patrick G. (grinf4ce)


Lesenswert?

Grüß euch zusammen,

Thomas O. schrieb:
> Schonmal mit dem Oszi nachgeschaut was
> das un/belastete Schaltnetzteil ausspuckt.
Bin bezüglich Oszi leider sehr schlecht ausgerüstet. Habe nur ein 
"Schätzeisen" DSO138 (wird mal Zeit für ein Ordentliches...). Hab es mir 
trotzdem mal angeschaut. Ist aber sowohl unbelastet als auch belastet 
eine glatte Gleichspannung.

Joe F. schrieb:
> Ja. Die 10n machen den Encoder unnötig träge. Macht sich bemerkbar, wenn
> man mal schneller drehen möchte.
> 1n wären auch ok, 100p reichen aber aus.
Die habe ich nun im Zuge des "Reworks" ausgetauscht. Danke für den Tipp 
- War mir so nicht bewusst und hätte mich später sicherlich noch 
geärgert!
Habe nun zwei 100p statt zwei 10n Keramik-Caps und einen 33uF beim 
Eingang vom Spannungsregler zusätzlich parallel geschalten.

Alex22 schrieb:
> Da hast du schon so einen schönen Logic Analyzer (von Saleae?) und
> machst ein Foto vom Bildschirm :-)
Hahaha - Ja musste ich aus Zeitgründen machen. Hatte in der Früh schnell 
PC an, Logic Analyzer drüber und dann war keine Zeit mehr für 
abspeichern + Email in die Firma :D

Alex22 schrieb:
> Sieht nach SPI-Mode 00 aus (Polarity 0, Phase 0).
Genau dieser Mode ist es :) Sorry, hatte ich vergessen zu erwähnen.

Alex22 schrieb:
> Hast du denn den Brown-Out-Trigger eingeschaltet?
Habe ich jetzt aktiviert. Mal schauen was sich tut in den folgenden 
Versuchen.

Alex22 schrieb:
> Oh, noch eine Sache, die immer gerne zu von dir beschriebenen Effekten
> führt: Schlechte Lötstelle?
Guter Gedanke. Ich mach mich gleich dran die Lötstellen anzuschauen und 
ggf. nachzulöten. Ich werde sicherheitshalber auch das Flachbandkabel + 
Steckverbinder austauschen. Da es chinesische Ware ist, vertrau ich dem 
ganzen nicht mehr so ganz.....

Ich melde mich nachher nochmal. Danke euch für eure Unterstützung!

LG,
Patrick

von M. K. (sylaina)


Lesenswert?

Patrick G. schrieb:
> Habe nur ein
> "Schätzeisen" DSO138 (wird mal Zeit für ein Ordentliches...)

Soo schlecht ist das auch wieder nicht ;)

von Patrick G. (grinf4ce)


Lesenswert?

Sodala, ich bin zurück mit Neuigkeiten von der Front.
Habe jetzt mal alle SPI-Relevanten Lötstellen angeschaut und teilweise 
nachgebessert (vorallem beim Wannenstecker waren zwei drei etwas 
unsauber). Noch dazu habe ich das Flachbandkabel mit beiden Steckern 
getauscht.

Ich hab mich jetzt bissl damit rumgespielt und es macht den Anschein, 
als würde nun alles Ordnungsgemäß arbeiten (was die SPI Kommunikation 
und die beiden Mikrocontroller betrifft) - Mit Schaltnetzteil mit und 
ohne Logicanalzer. Scheint wirklich an sowas simplem wie eine kalte 
Lötstelle/schlechte Kabelverbindung gelegen zu haben...

Nun kann es weitergehen mit diesem Projekt :)

Danke für eure vielen konstruktiven Beiträge und eure Hilfe.
Schönes Wochenende!

LG,
Patrick

von Joe F. (easylife)


Lesenswert?

Patrick G. schrieb:
> Scheint wirklich an sowas simplem wie eine kalte
> Lötstelle/schlechte Kabelverbindung gelegen zu haben...

Naja, vermutlich eher an sowas simplem wie der ehemals fehlenden 
Pufferung hinter der 5V Buchse, die du jetzt mit 33uF hergestellt 
hast... ;-)

Bei der Fehlersuche ist es immer eine gute Idee, nur eine Änderung zu 
machen, und dann zu testen.
Wenn man mehrere Änderungen gleichzeitig macht, weiss man am Ende nicht, 
woran es tatsächlich lag.
Wenn der 33uF bedrahtet ist, könntest du "spaßeshalber" ja nochmal ein 
Bein liften und gucken, ob das Problem dann wieder da ist.

: Bearbeitet durch User
von Patrick G. (grinf4ce)


Lesenswert?

Joe F. schrieb:
> Naja, vermutlich eher an sowas simplem wie der ehemals fehlenden
> Pufferung hinter der 5V Buchse, die du jetzt mit 33uF hergestellt
> hast... ;-)
**hust** höchst wahrscheinlich :)

Joe F. schrieb:
> Bei der Fehlersuche ist es immer eine gute Idee, nur eine Änderung zu
> machen, und dann zu testen.
> Wenn man mehrere Änderungen gleichzeitig macht, weiss man am Ende nicht,
> woran es tatsächlich lag.
Ja, da hast du vollkommen recht. Habe da diesesmal bissl geschlampt - 
alà "na wenn der Lötkolben schonmal warm ist". Beim nächsten mal mach 
ichs besser wieder Schritt für Schritt.

LG Patrick

: Bearbeitet durch User
von Thomas (Gast)


Lesenswert?

Hallo,

habe die Seite erst jetzt gesehen.
Gibt es eine Platine dazu?
Gibt es die Software dazu?

Danke.

von M. K. (sylaina)


Lesenswert?

Thomas schrieb:
> Hallo,
>
> habe die Seite erst jetzt gesehen.
> Gibt es eine Platine dazu?
> Gibt es die Software dazu?
>
> Danke.

Du hast vergessen zu fragen, ob der TE noch lebt :D

von Thomas (Gast)


Lesenswert?

Sorry, versteh ich nicht!!!!

von Wacht am Rhein (Gast)


Lesenswert?

Thomas schrieb:
> Sorry, versteh ich nicht!!!!

Das sollte einen Scherz darstellen , weil der Thread 3 Jahre nicht 
benutzt wurde. Ja, da gibt's hier tatsächlich Leute, die sich mit 
solchen Überwachungsaufgaben den Tag vertzreiben. Sei es wegen der Hitze 
oder der völligen Unterforderung im Job.

Mach Dir nichts draus.

https://www.youtube.com/watch?v=d22CiKMPpaY

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.