ich habe vor gut einem 1 Jahr meine ersten Schritte mit der Arduino/C- Programmierung gemacht, und versuche mich seit kurzem mit der AVR-Programmierung mit Microchip Studio 7. Ich habe bislang größtenteils diverse Schaltungen aus Büchern und Videos auf dem Breadboard nachgebaut und paar simple Schaltungen gelötet. Nun möchte jetzt mein erstes größeres Projekt angehen. Ziel ist die Beleuchtung eines Lego-Modells mit 28 LEDs mittels Schieberegistern und 2 Push-Buttons zur Programmauswahl. Leider habe ich wenig Ahnung von Elektrotechnik, und habe mich daher immer strikt an Vorgaben aus Beispielen und Forenbeitragen gehalten. Da ich (noch) keine vernünftigen Schaltpläne in dieser Größenordnung erstellen kann , muss erstmal eine Fritzing-skizze herhalten. Ich hoffe die Skizze ist aussagekräftig , ansonsten hier noch eine Erläuterung zur Schaltung:
Hohlsteckerbuchse für 5V 1A Netzeil + ISP
Der Microcontroller ist ein ATmega88pa (8Mhz) mit 100nF Abblockkondensatoren an VCC/GND und AVCC/GND
2 Buttons für die Programmauswahl
1x 74HC595 mit 100nF Abblockkondensatoren zwischen VCC/GND steuert ein ULN2802A an, um die rot/blauen LEDs jeweils mit 20mA leuchten zu lassen
2x 74HC595 kaskadiert mit 1x 100nF Abblockkondensatoren zwischen VCC/GND , 16 LEDs
4 LEDs zusätzlich noch am PORTC
Bei allen Schieberegistern wird der OUTPUT ENABLE PIN beim Start zunächst auf HIGH gesetzt (PIN 9 & 14)
Nun zu meinen Fragen:
Ist die Schaltung im diesem Zustand dauerhauft problemlos betriebsfähig d.h. dass sie nicht irgendwann in Rauch aufgeht? Und fehlen noch irgendwo Kerkos oder Elkos. wenn ja, warum ?
Würde es etwas bringen, bei dieser Schaltung einen externen 16MHz Quarz anstatt den internen mit 8Mhz zu nutzen, bzw. gäbe es da einen signfikanten Unterschied und wann wäre ein 16MHz Oszillator sinnvoller? Steige da noch nicht ganz durch.
Noch etwas: Ist zwar etwas Off-topic , aber könnt ihr mir ein gutes Buch empfehlen, der den Einstieg in Digitale Schaltungen mit ICs (Schiebe-Registern , 555er, usw.) gut erklärt ?
Vielen Dank schon mal im Vorraus
ich freue mich über jeden Verbesserungsvorschlag
Da ich (noch) keine vernünftigen Schaltpläne in dieser Größenordnung
erstellen kann , muss erstmal eine Fritzing-skizze herhalten.
Dann wäre es jetzt aller höchste Zeit, sich mit dem Thema Schaltplan zu beschäftigen.
Diese "Stecken-nach-Farben"-Fritzing-Anleitung durchblickt keiner. Das scheitert an der unübersichtlichen Anordnung, fernab von irgendwelchen logischen Zusammenhängen und an fehlenden Informationen zur Pinbelegung. Wie soll man da überprüfen, ob das funktionieren kann, ohne erst die Datenblätter raus zu kramen. Es wurden Schaltzeichen festgelegt, um unabhängig von der geometrischen Pin-Anordnung am IC die Funktion darzustellen und damit die Lesbarkeit ganz entschieden zu erhöhen.
Halte dich beim Schaltplan möglichst an das EVA-Prinzip (v.l.n.r. Eingabe-Verarbeitung-Ausgabe), halte Funktionsgruppen zusammen und sorge dafür, dass Versorgungsspannungen möglichst von oben nach unten abnehmend angeordnet sind. Dann wird das auch etwas mit der Übersicht über die Funktionsweise der Schaltung.
Ist die Schaltung im diesem Zustand dauerhauft problemlos betriebsfähig
Dazu müsste man diese Schaltung Pin für Pin "reverse engineeren", um einen Schaltplan zu haben. An einem Schaltplan kann man dann blitzschnell erkennen, ob ein Fehler drin ist.
Taster an uC: geht.
uC ohne Quartz: geht auch.
20mA pro LED: das schafft ein 74HC595 ohne ULN2803 direkt.
Wenn du sowieso kaufen musst: ein DM13 kann 16 LED mit nur 1 Vorwiderstand. (viele baugleiche anderer Typennummer anderer Hersteller)
Wenn von den 20 LED nur 1 leuchten muss, geht das direkt am uC mit bloss 5 Pins "Charlyplexing". Wenn die LED auch mit 1mA Dauerstrom hell genug ist, kann man sogar alle 20 leuchten lassen.
stimmt, da ist mir ein Fehler unterlaufen. es muss ein 74HC595 sein.
dachte eigentlich , das ein 74HC595 nur 8,75 mA pro Pin verträgt, also max 70mA.
Das Thema Multi-und Charlieplexing wollte ich nächster angehen, aber bei dieser Schaltung sollen es Schieberegister sein
Da ich (noch) keine vernünftigen Schaltpläne in
dieser Größenordnung erstellen kann , muss erstmal eine Fritzing-skizze
herhalten. Ich hoffe die Skizze ist aussagekräftig
Nö, so geht das nicht. Die Skizze verlangt sehr viel Zeit, um sie in eine vernünftige Form umzuändern. Erst danach kann man sie auf Funktion untersuchen.
Es ist ja auch kein Schaltplan, sondern ein Verdrahtungsplan, nachdem man das Gerät bauen kann. Die Funktion erkennt man an Verdrahtungsplänen kaum oder gar nicht.
Würde es etwas bringen, bei dieser Schaltung einen externen 16MHz
Quarz anstatt den internen mit 8Mhz zu nutzen, bzw. gäbe es da einen
signfikanten Unterschied und wann wäre ein 16MHz Oszillator sinnvoller?
Diese µPs sind schon bei 1 MHz so schnell, dass dein langsames Auge beim Betrachten der LEDs gar keinen Unterschied sieht. Vorausgesetzt, du programmierst halbwegs vernünftig.
Ist die Schaltung im diesem Zustand dauerhauft problemlos
betriebsfähig d.h. dass sie nicht irgendwann in Rauch aufgeht?
Bau es einfach auf. Kostet nicht viel, wenn etwas kaputtgeht, aber du lernst dann viel bei der Problemsuche.
Eine Sicherung in der Versorgungsleitung kann nicht schaden, dann lernst du auch schnell, Kurzschlüsse zu vermeiden. :-)
Auch Fritzing hat eine Möglichkeit, einigermassen lesbare
Schaltpläne zu
erstellen. Wimmelbilder mag ich mir nicht anschauen, sorry.
Eigentlich hat sich der Hendrik viel Mühe damit gegeben und Zeit aufgewendet und sieht auf Fritzing Weise doch prinzipiell ordentlich aus. Ein Schaltbild wäre natürlich leichter zu studieren.
sorry das ich hier gerade etwas abwesend bin, freue mich aber über die rege Anteilnahme an meinem Thread. Ich werde morgen einen Schaltplan(versuch) hier hochladen.
Was willst Du damit sagen? Ich hoffe nicht, diese idiotischen Konstrukte
einzelner Bauteile mit vielen Labels, wie es aktuelle Schwachmaten
machen.
Ich sprach von Schaltplan und nicht von Label-Such-Spielen.
Es schadet z.B. überhaupt nichts, wenn ein simpler Spannungsteiler auch als solcher klar dargestellt ist (Eingangsspannung oben, Widerstand, Abgriff, Widerstand, Gnd unten) oder wenn an Netzen sinntragende Labels dran stehen. Eine Angabe der Signalrichtung bei der Verwendung von GPIOs wäre dann schon reiner Luxus. Und ein Signal acht mal hin- und her zu knickeln, um noch irgendwie durch den Drahtverhau durchzukommen, macht die Sache nicht übersichtlicher. An den Steckerpins dürfen auch gerne einmal sinntragende Labels stehen, damit man bei der Fehlersuche gleich weiß, was an einem bestimmten Pin für ein Signal anliegen muss. Das erleichtert auch ungemein den Abgleich mit Pin-Beschreibungen der Gegenseite.
Von einem funktionsorientieren Symbol für den µC, bei dem z.B. die GPIOs schön der Reihe nach als Gruppe angeordnet und nicht wild durcheinander um den Kasten verteilt sind, will ich gar nicht reden.
Was haben eigentlich in einem offensichtlich deutschen Schaltplan die amerikanischen Symbole zu suchen? ;-)
Gratuliere, macht einen guten Eindruck. Habe nicht alles im Detail angeschaut, nur ein kleiner Fehler zwischen R2 u.Switch2: ein Punkt zuviel.
Gruss Herbert
P.S. Dasselbe beim AVR : bei AVCC zwei Punkte, einer davon zu Vcc
Ein Abblock-Kondensator vergessen, entweder bei U4 oder bei U5.
Fehler: U2 hat keine GND-Verbindung.
C1 evtl. Pin 16 zuordnen, dann wirds verständlicher und weniger
anfällig für Fehler. Gilt auch für die anderen 595er.
Rote LED haben deutlich weniger Flussspannung als blaue. Du wirst also die Vorwiderstände noch etwas anpassen müssen. Übrigens sind 300 Ohm und 350 Ohm keine Normwerte.
Rote LED haben deutlich weniger Flussspannung als blaue. Du wirst
also
die Vorwiderstände noch etwas anpassen müssen. Übrigens sind 300 Ohm
und 350 Ohm keine Normwerte.
Und die LEDs hinter U3 werden nie leuchten, weil verkehrt herum ...
danke erstmal für euer Feedback. Da das mein erster Schaltplan ist, sind natürlich irgendwo Logik-und Flüchtigkeitsfehler. ich setz mich nacher nochmal ran.
-SW1 und SW2 sind parallel geschaltet - das ist bestimmt nicht
beabsichtigt.
doch, das soll so sein, wo ist das problem dabei?
-U2 hat kein Gnd
stimmt, weiß nicht genau, wie ich den Abblockkondensator richtig zischewn vcc und gnd einzeichnen soll
-Rote LED haben deutlich weniger Flussspannung als blaue. Du wirst also
die Vorwiderstände noch etwas anpassen müssen. Übrigens sind 300 Ohm
und 350 Ohm keine Normwerte.
-Rote LED haben deutlich weniger Flussspannung als blaue. Du wirst also
die Vorwiderstände noch etwas anpassen müssen.
Hast Du mal die LEDs mit 5V/300R ausprobiert? Aktuelle LEDs sind so effizient dass Du besser nicht reinschaust. Ich (Maulwurf) benutzt 5V/1kR und sind immer noch hell genug.
Generell sollte man bei vorhandenen LEDs den Vorwiderstand einfach mal ausprobieren und herausfinden, welche Helligkeit am besten passt. Schließlich kann man LEDs kaufen zwischen einstelligen und fünfstelligen mcd Lichtstärke.
Dann sieht man auch schnell, wie groß der Unterschied z.B. zwischen 270R und 330R ist und stellt auch schnell fest, dass man auf die Beschaffung von 300R verzichten kann. Oder ob es besser 1k oder 4k7 sein müssten, damit es im Auge nicht weh tut.
Irgendwelche Werte vorzugeben, ohne die vorgesehenen oder bereits gekauften LEDs zu kennen, ist nicht sinnvoll.
Was soll der Unfug, krampfhaft 20 mA durch LEDs prügeln zu müssen? Ist
das so ein "Maker"-Ding?
Welchen Widerstände ich für die roten/blauen LEDs letzendlich verwende, habe ich noch nicht entgültig entschieden, werde da noch bisschen rumprobieren. Das mit denn unterschiedlichen Spannungen der LEDs ist mir bewusst.
Steckbretter und Dupont Kabel (vor allem die billigen) eignen sich sehr schlecht zur Verteilung der Stromversorgung. Die Kabel und Steckverbinder haben einen hohen Innenwiderstand, der so weit stören kann, dass gar nichts mehr funktioniert.
Deswegen empfehle ich, 8 Kabel für Plus und 8 Kabel für Minus sternförmig an die 5V Buchse anzulöten und diese dann an die Stromschienen der 4 Steckbretter zu stecken. Keine Ketten bilden, wie im Eröffnungsbeitrag!
Falls du später mal Module verwendest, die mehr als 100 mA Spitze brauchen (z.B. Funkmodule), solltest du diese lieber mit direkt angelöteten Leitungen versorgen und dabei gar nicht über das Steckbrett gehen.
Wenn du später mal Platinen planst, verteile auch dort die Stromversorgung möglichst sternförmig.
Also sollte man am besten nur E12 Widerstände nutzen?
Du darfst natürlich alle Reihen benutzen (bis E96), aber die Reihen E3, E6 und E12 sind die gebräuchlichsten. Die hat jeder Händler garantiert immer vorrätig. Bei der heutigen Mangelwirtschaft, ist das ein Vorteil.
Steckbretter und Dupont Kabel (vor allem die billigen) eignen sich sehr
schlecht zur Verteilung der Stromversorgung. Die Kabel und
Steckverbinder haben einen hohen Innenwiderstand, der so weit stören
kann, dass gar nichts mehr funktioniert.
Deswegen empfehle ich, 8 Kabel für Plus und 8 Kabel für Minus
sternförmig an die 5V Buchse anzulöten und diese dann an die
Stromschienen der 4 Steckbretter zu stecken.
Falls du später mal Module verwendest, die mehr als 100 mA Spitze
brauchen (z.B. Funkmodule), solltest du diese lieber mit direkt
angelöteten Leitungen versorgen und dabei gar nicht über das Steckbrett
gehen.
Ein Abblock-Kondensator vergessen, entweder bei U4 oder bei U5.
Wenn man die Abblock-Kondensatoren direkt an den Vcc Pin des
jeweiligen ICs platziert und sich das angewöhnt kann man es
eigentlich nicht verfehlen. Siehe U2/C5.
ich hoffe , man kann ungefähr erkennen, was gemeint ist.
Kann man deutlich besser.
Was soll das? Nach der Kritik am Fritzing-Bildchen befasst sich Hendrik kurzfristig mit KiCad und Dir fällt nichts weiter ein, als zu meckern. Das ist nicht perfekt und hat einige Fehler, aber was, Du wurdest schon als CAD-Experte geboren.
Du darfst natürlich alle Reihen benutzen (bis E96), aber die Reihen E3,
E6 und E12 sind die gebräuchlichsten. Die hat jeder Händler garantiert
immer vorrätig. Bei der heutigen Mangelwirtschaft, ist das ein Vorteil.
Die Ostzone ist vorbei und zumindest E12 klaglos zu bekommen. Aber passt auch zu Deinem sonstigen Gesülze, ob nun 350, 330 oder 360 Ohm ändert nichts an der Grundfunktion.
Theoretisches Gesabbele. Die Schaltung ist einigermaßen langsam und damit unkritisch. Warum ein ULN2803 (U3) eine Abblockung braucht, wird sich niemandem außer Dir erschließen.
Nein. Es schadet nichts, ob notwendig oder nicht hängt vom Gesamtaufbau ab. Ich sehe im Forum ein paar millitante Verfechter ohne notwendiges Augenmaß.
Sorry, wenn ich mich diesbezüglich dumm anstelle, aber ich verstehe die Problematik hier einfach nicht, hab aber auch bislang nie mehr als einen Button gleichzeitig genutzt. klärt mich bitte auf
Eventuell solltest du dich bei der Anzahl von LEDs mit dem Thema Multiplexing bzw. LED-Matrix beschäftigen, die Schaltung wird erheblich "übersichtlicher".
Eventuell solltest du dich bei der Anzahl von LEDs mit dem Thema
Multiplexing bzw. LED-Matrix beschäftigen, die Schaltung wird erheblich
"übersichtlicher".
Danke für den Tipp, aber wie bereits früher im Thread erwähnt, habe ich mich dem Thema Multiplexing noch nicht so wirklich auseinandergesetzt, habe ich aber auf jedenfall noch vor.
Eine letzte Frage nochmal zu KiCAD:
Ist es bad practice , diese Global Labels zu nutzen , bzw. gibts einen da Konsens oder scheiden sich da die Geister?
Ist es bad practice , diese Global Labels zu nutzen
Global labels dienen der Verbindung von einem Schaltplanblatt zu anderen sheets, nicht zur Verbindung wo man auch eine Linie als wire hätte zeichnen können.
Was passiert wenn man labels nutzt und keinen wire, sieht man hier:
Ist es bad practice , diese Global Labels zu nutzen
Global labels dienen der Verbindung von einem Schaltplanblatt zu anderen
sheets, nicht zur Verbindung wo man auch eine Linie als wire hätte
zeichnen können.
ich würde mich mal mit Kicad versuchen bzw. hast Du damit ja schon angefangen. Sehr gut. Zugegeben ist der Einstieg nicht so einfach. Es braucht ein bisserl zeit, bis man alles raus hat. Aber es lohnt sich und gibt gute Youtube videos. "Echte" Schaltbilder sind einfach klarer und besser zu verstehen. In der Regel macht man ja auch zuerst eine Schaltung und dann eine Platine (PCB). Auch ein Fritzing! ist eigentlich schon sowas wie eine Platine, nur halt etwas "besonders" ;-)
Bezüglich der LEDs könntest Du auf den 74HC595 verzichten und sog. serielle bzw. adressierbare LEDs verwenden. Die sind zwar etwas teurer, lassen sich aber über ein Binärprotokoll ansteuern und können alle Farben und gibt es neben SMD auch als 5mm Ausführung. Serielle LEDs haben 4 Anschlüsse, einen +, einen GND, ein IN und ein OUT Anschluss und funktionieren wie ein Schieberegister. Der IN-Eingang der ersten LED wird an den Mikroprozessor angeschlossen, der OUT-Ausgang an den IN der nächsten LED. Für die RGB-Farben werden in jede LED z.B. 24 bits "rein geschoben", 8 Bit für Rot, 8 Bit für Grün und 8 Bit für Blau. Wenn Du 10 LEDs hintereinander hast sind das (8+8+8)*10 Bits. Das ganze geht aber relativ flott und im Nanosekunden-Bereich. Es gibt hier auch sehr viele Libraries. LED-Streifen funktionieren z.B. so. Dazu brauchst Du am Mikroprozessor nur einen einzigen Digital Ausgang. Beispiel ist die "WS2811 F5" LED.
Auch ein Fritzing! ist eigentlich
schon sowas wie eine Platine, nur halt etwas "besonders" ;-)
Zurückkommend auf meine eingeworfene Frage von weiter vorn, habe ich das Firtzing ausprobiert. Ich rechne es in den Rang eines Layoutwerkzeugs: Ohne die Leiterbahnen zu sehen lassen sich die Schaltungen nicht nachvollziehen.
ich würde mich mal mit Kicad versuchen bzw. hast Du damit ja schon
angefangen. Sehr gut. Zugegeben ist der Einstieg nicht so einfach.
Da ich früher oder später auch mal mit PCBs arbeiten möchte, bietet es sich ja für mich an, mich intensiver mit KiCad zu beschäftigen.
Danke für den Tipp mit den Led-strips. Mit Sachen wie Multiplexing, LED-Strips, MAX7219s usw, werde ich in mich naher Zukunft auf jeden Fall noch näher befassen, aber im Moment reichen mir die 74HC595s für mein Projekt vollkommen aus.