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
470nF am eingang sind ein witz. schalte hier mal 33uF parallel. besser gleich 2x
:
Bearbeitet durch User
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?
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
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?
Hallo TE, Nun der Drehgeber mach auf A und B jeweils einen Kurzschluss. Schlechte Schaltungsauslegung.
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
Karl M. schrieb: > Nun der Drehgeber mach auf A und B jeweils einen Kurzschluss. wo siehst du da einen kurzschluss?
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.
Hallo, C9 und C10 ! Das ist das klassische Pollinboard Problem.
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.
"falsch" ist da immer streitbar. 10nf ist natürlich zu viel, 100p sind gut (gegen ESD).
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
Ein LC-Filter am Board Eingang. Schonmal mit dem Oszi nachgeschaut was das un/belastete Schaltnetzteil ausspuckt.
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.
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.
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
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...
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 ...
Der 3940 schwingt ganz gerne - ansonsten tippe ich auf ein Problem mit der Masse ;-) mfg
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
Patrick G. schrieb: > Habe nur ein > "Schätzeisen" DSO138 (wird mal Zeit für ein Ordentliches...) Soo schlecht ist das auch wieder nicht ;)
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
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
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
Hallo, habe die Seite erst jetzt gesehen. Gibt es eine Platine dazu? Gibt es die Software dazu? Danke.
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.