Hallo zusammen. Ich bräuchte mal einen Denkanstoß. :S Vor einiger Zeit habe ich Platinen für eine Universalsteuerung auf Basis eines Atmega328 fertigen lassen, die einige Ein- und Ausgänge, ein Display, 4 Funktionstasten usw. hat. Jetzt bei der Programmierung habe einige Probleme. Das Flashen habe ich mit dem USBtinyISP gemacht und das geht auch ohne Fehlermeldung. Lade ich aber zu Testzwecken einen Blinksketch für die LED an PD5 hoch, blinkt sie nur, wenn einer der vier Funktionstaster (PB0, 1, 2 und PD7) auch gedrückt ist. Ohne Betätigung bekommt die LED vom Atmega 2,6V und bei Betätigung des Tasters 5V und beginnt zu blinken. Das ist meine erste "Stand-alone-Arduino"-Platine, wenn man das so nennen will ^^ Hab ich irgendwo etwas übersehen? Bin generell für Verbesserungsvorschläge dankbar. Viele Grüße, Daniel
:
Bearbeitet durch User
Moin, an den 4 besagten Pins kann ich keinen Fehler finden. Magst du mal die Software zeigen? Aber einen anderen Fehler habe ich gefunden: Beim MCP23017 können GPA7 und GPB7 nur als Ausgang benutzt werden! (vgl. Datenblatt S. 11). Viel Erfolg Hermann
Daniel O. schrieb: > Bin generell für Verbesserungsvorschläge dankbar. U4: Abblock-Kondensatoren für die Pins Vcc und AVcc fehlen. U2: Abblock-Kondensatoren für die Pins Vcc und VccIO fehlen. U21: Abblock-Kondensator fehlt. Zitat aus "vielen" anderen früheren Threads: "Abblock-Kondensatoren braucht es nicht, es geht ja auch ohne". Ja dann .... C2 und C3 dürften etwas kleiner ausfallen. Je nach Strombedarf bei den Relais darf man schon mal einen etwas grösseren Elko für die Pufferung vorsehen. Wie war das doch? Erst mache ich eine komplette Platine fertig, dann lasse ich im Forum die Fehler finden. Oder wäre es nicht umgekehrt besser?
Fuses auf Quarz gestellt und ein ungünstiges Layout für diesen? Blinkt es auch, wenn du statt dem Taster was anderes auf der Platine berührst? Blinkt es dauernd wenn du den AVR auf seinen internen RC-Oszillator stellst? Ansonsten: Layout zeigen, da kann auch viel schiefgehen.
Auch den 7805 sollte man durch einen Schaltregler (gibts auch in TO220) ersetzen, es wird bestimmt sonst recht warm....
Die GND-Leitungen von deinem ATmega hängen leider nicht an GND...
Oliver D. schrieb: > Die GND-Leitungen von deinem ATmega hängen leider nicht an GND Wie das allerdings überhaupt funktionieren soll ist mir ein Rätsel. Und U21 hat tatsächlich auch keine Masseverbindung.
Oliver D. schrieb: > Die GND-Leitungen von deinem ATmega hängen leider nicht an GND... Oha. Gut gesehen. Das lässt sich wenigstens mit ein paar Drahtbrücken korrigieren. Sollte sowas der ERC nicht direkt anmeckern? Wastl schrieb: > Wie das allerdings überhaupt funktionieren soll ist mir ein > Rätsel. Wenn die Tasten gedrückt werden, kriegt der AVR sein GND über seine ESD-Schutzdioden...
:
Bearbeitet durch User
Oliver D. schrieb: > Die GND-Leitungen von deinem ATmega hängen leider nicht an GND... Treffer :) Damit ist auch klar warum die Schaltung mit gedrückter Taste funktioniert: Die Taste verbindet den Pin mit GND und weil der intern vermutlich eine Schutzdiode von GND Richtung Pin hat, wird damit der AVR über die Schutzdiode betrieben. Wastl schrieb: > Wie war das doch? Erst mache ich eine komplette Platine fertig, > dann lasse ich im Forum die Fehler finden. Oder wäre es nicht > umgekehrt besser? Hmm, ich hatte das mal in der Reihenfolge probiert. Ergebnis: Ganz viele weniger wichtige Sachen wurden gefunden, aber alles kritische (wie analoger Temperatursensor an einem Eingang der keinen ADC hat) wurde übersehen.
Εrnst B. schrieb: > Wenn die Tasten gedrückt werden, kriegt der AVR sein GND über seine > ESD-Schutzdioden... Beim Flashen des Controlers sind aber vermutlich keine Tasten gedrückt. Naja, irgendwoher kommt der Strom schon ....
Wastl schrieb: > Oliver D. schrieb: >> Die GND-Leitungen von deinem ATmega hängen leider nicht an GND > > Wie das allerdings überhaupt funktionieren soll ist mir ein > Rätsel. > > Und U21 hat tatsächlich auch keine Masseverbindung. Das ist das Ergebnis von Late-Night-Projekten. ich korrigiere das mal und schaue, ob sich das Problem dann schon gibt. Das ist ja peinlich ^^
Wastl schrieb: > Beim Flashen des Controlers sind aber vermutlich keine Tasten > gedrückt. Der Reset-Pin hat eine Schutzdiode nach GND (aber keine nach VCC, damit High-Voltage-Programmieren geht) Ansonsten hätte ein ERC-Lauf den Fehler wohl gefunden, hab das mal in KiCad nachgestellt...
Daniel O. schrieb: > Das ist ja peinlich ^^ Immerhin hast du bis jetzt nicht darauf bestanden dass es Abblock-Kondensatoren nicht braucht.
Daniel O. schrieb: > Hab ich irgendwo etwas übersehen? Wie kommt man auf so ein irreführendes Symbol für einen Spannungsregler. Auch hier gilt das EVA-Prinzip als Grundlage für eine gut lesbare Schaltplandarstellung. Und aus dem gleichen Grund sollten Spannungen in der Schaltplandarstellung von ob nach unten fallend sein, d.h. nicht auf dem Kopf, wie z.B. bei U1/3/5/6, U22, U23 und U33 bis U40. Wieso heißen U1/3/5/6 eigentlich Ux und nicht Qx, wie die BJTs. Und warum verwendest du für Dioden Ux? Dx oder LEDx wären deutlich sinnvoller. Wenn auch andere den Schaltplan lesen sollen, macht es die Sache einfacher, wenn man sich an gewisse Konventionen hält und nicht eigene Regeln aufstellt. Was soll der Kondensator am Reset von U2? 1. Traust du deiner Versorgung nicht? 2. Warum lässt du den Pin nicht unbeschaltet, wenn du ihn nicht benötigst? C2 und C3 erscheinen arg groß. Verlangt das Datenblatt des Quarzes so große Kondensatoren? Vergiss die Kapazität des Layouts und des Oszillatoreingangs bei der Auslegung nicht. Du bist sicher, dass deine Optokoppler U7 bis U15 das nötige CTR besitzen, um mit ihrem Ausgang U33 bis U40 zu treiben und gleichzeitig noch einen korrekten Logikpegel für U21 zu liefern?
:
Bearbeitet durch User
Rainer W. schrieb: > C2 und C3 erscheinen arg groß ich habe auch 22p im Kopf und lese das überall, aber es gehört dazu auch kurze Leitungen zm µC, also nicht um die ganze Platine.
Joachim B. schrieb: > aber es gehört dazu auch > kurze Leitungen zm µC, also nicht um die ganze Platine. Für das Layout bei Quarz und Kondensatoren an den Oszillatorpins gibt es doch eine App Note von Atmel mit sehr klaren Empfehlungen (AVR186).
:
Bearbeitet durch User
Hallo, Daniel O. schrieb: > Lade > ich aber zu Testzwecken einen Blinksketch für die LED an PD5 hoch, Laut Schaltplan ist die LED PD5 mit Portpin PD6 verbunden, ist das richtig? rhf
Roland F. schrieb: > Laut Schaltplan ist die LED PD5 mit Portpin PD6 verbunden Kommt drauf an, was der Pixelbrei bedeuten soll ;-) Ein Label "PD6" ist im Schaltplan an keinem Portpin zu finden, was natürlich nicht ausschließt, dass das Netz an PD6 diesen Namen trägt.
:
Bearbeitet durch User
Rainer W. schrieb: > Kommt drauf an, was der Pixelbrei bedeuten soll ;-) Ich würde Dir zuerst einen PC-Führerschein-Lehrgang empfehlen. Dann findest Du vielleicht auch das "Kreuz" unten rechts im Bild, um das Bild zu vergrößern, und damit aus dem Pixelmatsch raus zukommen ...
Jens G. schrieb: > Ich würde Dir zuerst einen PC-Führerschein-Lehrgang empfehlen. Danke gleichfalls - mehr als die PNG-Datei herunterzuladen und in der Originalauflösung anzusehen, kann ich leider nicht tun. Zeigt doch einfach, was du "Experte" dann sieht - vielleicht zur Klarheit direkt in 2- oder 4-facher Vergrößerung, ohne dran rum zu interpolieren.
:
Bearbeitet durch User
Rainer W. schrieb: > Danke gleichfalls - mehr als die PNG-Datei herunterzuladen und in der > Originalauflösung anzusehen, kann ich leider nicht tun. Warum herunterladen? Einfach im Browser aufmachen, und auf groß (Originalgröße) schalten, sollte doch reichen.
Jens G. schrieb: > Einfach im Browser aufmachen, und auf groß > (Originalgröße) schalten, sollte doch reichen. Zeig, was du dann siehst, bevor du neunmalkluge Tipps gibst.
Daniel O. schrieb: > Hallo zusammen. > > Ich bräuchte mal einen Denkanstoß. :S Wenn du bei den IRF9540 die +24V Versorgung wie üblich nach oben gezeichnet hättest, wäre es dir vielleicht selbst aufgefallen. Zeichne mal exemplarisch die beiden OUT1 Knoten zusammen, und überlege dir welche Gate-Source-Spannung sich durch den Widerstandsteiler R18/R43 einstellt und was der MOSFET dabei macht. Und bei der Gelegenheit kannst du auch noch die Gate-Source-Spannung bei durchgeschaltetem Q8 mit VGSmax aus dem Datenblatt vergleichen. Ebenso hängst du die OUT5 mal zusammen und betrachtest die Auswirkungen auf das Relais.
Rainer W. schrieb: > Zeig, was du dann siehst, bevor du neunmalkluge Tipps gibst. Besser als Dein Geschreibsel, was nur in extrem seltenen Ausnahmefällen mal Sinn ergibt. Den Plan vom Eröffnungsbeitrag kann ich nach Belieben vergrößern und alle Beschriftungen einwandfrei lesen . Ich kann ihn auch herunterladen und lokal angucken, 236kb groß und ebenfalls vollständig lesbar. Loco M. schrieb: > Wenn du bei den IRF9540 die +24V Versorgung wie üblich nach oben > gezeichnet hättest, wäre es dir vielleicht selbst aufgefallen. Warum er dort einen 100V-Typ braucht? Die zulässige G-S-Spannung 20V wird überschritten. 1 kOhm an 24Volt gibt über ein halbes Watt, nicht toll. Für gelegentliches Schalten reichen auch 10 oder 100 kOhm. Die LEDs nach GND werden dafür sorgen, dass die FETs niemals schließen. Na immerhin sinnvoll BC817 anstatt eines FETs, aber deren Basisstrom ist unnötig groß.
Manfred P. schrieb: > Den Plan vom Eröffnungsbeitrag kann ich nach Belieben vergrößern und > alle Beschriftungen einwandfrei lesen . Dann zeig doch einfach einmal gut vergrößert das Label oberhalb von U12.
:
Bearbeitet durch User
Moin, Betreff Quarz Cs: Es gibt da eine vereinfachte (Faust) Formel zur überschlägigen Berechnung der Last-Cs: Gegeben: Hersteller Last C Wert (Datenblatt) z.B. 12pF (CL) https://www.digikey.ca/en/products/detail/ecs-inc/ECS-160-12-33-AGN-TR/9648827 LP Verdrahtungs-C überschlägig: 2.5-5pF Cs Dann sind Cl1 und Cl2 = 2 x ( CL - Cs ) Beispiel: Cl1 = Cl2 = 2 x ( 12 - 3 ) = 18pF oder noch etwas höher. In typischen SMD LP habe ich übrigens C-Werte um 2.4-4pF gemessen. Bei meinem Layoutstil liegt er meist um 2.5pF. In der Praxis werden 18-27pF kaum zu Versagern führen. Höhere Werte ergeben meist eine kleinere Frequenzabweichung. Minimalwerte führen meist zu etwas höherer Frequenz. Ich verwende bei AVRs mit den üblichen Quarzen mit Cl=12pF 22pF Cs und befinde mich dann meist innerhalb der Toleranzgrenze des Herstellers. Ich habe kürzlich 14 Quarz uC Schaltungen durchgemessen und kam auf eine Median-abweichung von +3.6ppm. Die Herstellertoleranz des Quarzes war +/- 50ppm. Die Berechnungswerte führen generell zu etwas zu hohen Frequenzwerten. Eine Zugabe von 10-15% vom berechneten Wert ist da meistens günstig. So mache ich es immer. Wenn es genau sein muß, dann ist der Eingangs C ohnehin einstellbar zu machen. Dann sollte man sich auch Gedanken machen, ob der Oszillator genug Verstärkungreserve (Gain Margin) hat. Meistens genügt man sich mit Werten größer wie 5. zur Erhaltung der Schwingungen genügt ein Gm von 1, ist aber nicht genug zum Anschwingen. Normalerweise braucht man sich aber als Anwender selten darum kümmern. Beim AVR kann man diesbezüglich zum Glück mit den gängigen 8 bis 16MHz Quarzen allerdings ohnehin wenig Überraschungen erleben. Beim 328PB könnte man mit gewissen Quarzen möglicherweise Probleme haben, weil dessen Oszillator schwächer ist als der vom 328P. Man sollte den Quarz ESR so wählen, daß man nicht versehentlich den Quarz überlastet, weil er dann mechanisch beim Schwingen zerbrechen könnte. Niedrigere ESR werte sind da sicherer. Je höher der angegebene ESR Wert ist, desto höher ist auch die interne Quarzbelastung. Für 8-16MHz Quarze ist ein ESR Wert um 50 Ohm günstig. Normalerweise haben diese Art Quarze, je nach Modell, einen typischen Leistungsbereich von 50-200uW. Falls es sich herausstellen sollte, daß der Quarz zu nahe an der Belastungsgrenze liegt, kann man notfalls einen Serienwiderstand am Ausgang des Oszillator einschleifen um den Quarzstrom günstiger einzustellen. In Anwendungen wo der uC der Umwelt und ihren T und RH Schwankungen ausgesetzt ist, empfiehlt es sich die Quarzumgebung mit einer Conformal Coating zu versehen. Kondensation kann den Oszillator anhalten. Der Quarzoszillator von uC wird oft sehr stiefmütterlich behandelt. Gerhard
Hallo, Rainer W. schrieb: > Dann zeig doch einfach einmal gut vergrößert das Label oberhalb von U12. Siehe Anhang. rhf
Erstmal großen Dank für das zahlreiche Input. Ich werd mich die kommenden Tage/Wochen damit auseinandersetzen und dann (bevor es scharf geht) nochmal Feedback einholen. Ich denke aber auch, dass ich der Einfachheit halber einen Steckplatz für einen Arduino Nano vorsehe, dann lässt sich bei einem Defekt auch einfacher etwas tauschen. Viele Grüße und schönes Wochenende
Roland F. schrieb: > Siehe Anhang. So sehe ich das auch (s.o.) Sicher wird Manfred sich hier bald melden und uns das nach Belieben vergrößerbare und einwandfrei lesbare Label zeigen ...
Rainer W. schrieb: > Sicher wird Manfred sich hier bald melden und uns das nach Belieben > vergrößerbare und einwandfrei lesbare Label zeigen ... Roland hat es doch schon gezeigt! Das Label ist nicht schön aber eindeutig erkennbar. Der Bildkompressor kann nichts dafür, dass die Software die beiden Zeichen D und 6 aneinander geklebt/gerendert hat. Beim svg Format (ohne Pixelraster) hätte es wahrscheinlich besser ausgesehen, deswegen bevorzuge ich dieses.
Monk schrieb: > Der Bildkompressor kann nichts dafür, dass die Software die beiden > Zeichen D und 6 aneinander geklebt/gerendert hat. Dann bin ich mal gespannt, welche LED Daniel versucht hat, über den GPIO PD5 anzusteuern. Bei einem derart zerfledderten Schaltplan ist es ohne Suchfunktion und eindeutig lesbare Labels etwas schwierig, Signale zu verfolgen. Und der Überblick geht ebenfalls verloren (s. Spannungsteileransteuerung U1...U6 mit ca. 380/500mW Verlustleistung pro Kanal).
Klick. Ach jetzt kappiere ich es! Die LED ist mit PD5 beschriftet, aber die Leitung mit PD6. Oder ist die 6 etwa doch eine 5?
Hallo, Monk schrieb: > Oder ist die 6 etwa doch eine 5? https://www.fielmann.de/ https://www.apollo.de/angebote/zwei-fuer-eins rhf
Roland F. schrieb: > https://www.fielmann.de/ > https://www.apollo.de/angebote/zwei-fuer-eins Du unterschätzt die Gefahr von Expectation Bias
Rainer W. schrieb: > Du unterschätzt die Gefahr von Expectation Bias Allerdings. Denn jetzt sehe ich da eindeutig eine 5. Das fühlt sich kurios an.
Monk schrieb: > Rainer W. schrieb: >> Du unterschätzt die Gefahr von Expectation Bias > > Allerdings. Denn jetzt sehe ich da eindeutig eine 5. Das fühlt sich > kurios an. Das war schon immer klar ein PD5 bei der vertikalen Beschriftung, wenn auch das "D" ein Pixel zu hoch gerendert wurde. Einfach mal die Form der Ziffer mit dem horizontalen "PD5" und "R60" vergleichen, dann wird klar, dass das eine "5" ist. Aber schön oder sauber lesbar ist etwas anderes, ganz unabhängig vom Bildformat - da ist einfach ein Positionierungsfehler im Schriftrenderer.
Abgesehen von Abblockkondensatoren und Mosfet-Ansteuerung empfehle ich noch Schutzdioden an den Eingängen sowie an den Transistorausgängen.
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.