Guten Abend Zusammen, als Absoluter Neuling in Sachen Schaltplan und CAD Programme bin Ich zumindest für meinen Teil mit meinem Ergebniss zufrieden. Allerdings tauchen mir bei der Konstruktion immer wieder einige Fragen auf. Die Grundfunktion des Atmega8 sollen folgende sein: Auswertung eines Tasters (https://www.reichelt.de/de/de/shop/produkt/eingabetaster_schaltspannung_24v_rt-7141) Ansteuern eines Buzzers per PWM um Melodien oder Tonfolgen abzuspielen (Typ SUMMER AL-60P12) Ansteuerung eines LC-Displays im 8-Bit Modus Was die Fragen anbetrifft: Ich habe aus Kostengründen ein 16x2 Display aus Aliexpress bestellt, Modell 1602 mit den HD44780 SPLC780D Controllern. (Gut das Programm müsste ich ja sowieso an die Ports und den Controller anpassen). Sollte Ich da noch auf etwas bestimmtes achten? Bei der Ansteuerung per PWM des Buzzers, auch hier gibt es etwas zu beachten? Ich habe den Atmega8 in der Grundschaltung mal mit dem Nötigsten verdrahtet.. Auch etliche Datenblätter habe ich gewältzt. Leider bin ich mir mit den Tastern nicht einig, ob diese einen Widerstand benötigen um Sauber erkannt zu werden... Vielleicht kann sich jemand der Sache mal annehmen und Konstruktive Tipps geben, oder gar die Änderrungen in der Datei anzeigen. Schaltplan und Target3001 Datei füge ich anbei. Liebe Grüße und einen Schönen Abend. Kevin
:
Bearbeitet durch User
Ich würde die 8 Datenleitungen des LCD an einen Port legen und nicht wild verteilen. Also D0-D7 z.B. an PortD0-PortD7. Wie wird der Atmega programmiert? Ich sehe keinerlei Schnittstellen.
Kevin X. schrieb: > Auch etliche Datenblätter habe ich geweltzt. Nein. Sondern: Du hast auch etliche Datenblätter *gewältzt.* Kevin X. schrieb: > Ansteuerung eines LC-Displays im 8-Bit Modus Ist völlig sinnlos, 4 Bit reichen (d4..d7) und sparen Controller-Pins. Kevin X. schrieb: > Schaltplan und Target3001 Datei füge ich anbei. Hochauflösender Screenshot des Layouts wäre hilfreich da nicht jeder gewillt ist Target3001 zu installieren. Kevin X. schrieb: > Ich habe aus Kostengründen ein 16x2 Display aus Aliexpress bestellt Was man auch in Deutschland an jeder Ecke für einen Appel und ein Ei kaufen kann.
Programmiert wird der Atmega8 von extern und wird dann in die Schaltung eingesetzt.
Kevin X. schrieb: > Programmiert wird der Atmega8 von extern und wird dann in die Schaltung > eingesetzt. Das muss man ja nur einmal machen da die Programmierung auf Anhieb richtig funktioniert.
Da du Analogeingânge nicht nutzt, kannst du dir L2 und den C an AVCC sparen und direkt mit VCC verbinden. 7.40€ für einen Taster, krass. Und er hat keinen spezifizieren Mindeststrom weil Goldkontakt. Trotzdem würde ich mehr als die ca. 55uA fliessen lassen fur sicheres Schalten. Ein 10k oder 4k7 pull up an 5V ist nicht verkehrt, bei beiden. Ob die 120 Ohm für die Hintergrundbeleuchtung passen weiss ich nicht, gibt sehr unterschiedliche LCD, hast du den Wert aus dessen Datenblatt ? Kevin X. schrieb: > Ansteuern eines Buzzers per PWM um Melodien oder Tonfolgen abzuspielen > (Typ SUMMER AL-60P12) Ein Summer summt. Für Melodien brauchst du einen Lautsprecher. Zumal der Summer nominal 12V, mindestens 7V und 40mA benötigt, zu viel für den Ausgangspin. Lautsprecher zum Direktanschluss an einem uC Pin wird auch eher nix. Selbst 32 Ohm Lautsprecher zwischen 2 Pins im Gegentakt ziehen 160mA, 250 Ohm Lautsprecher dann mit 0.1W sind eher unbekannt.
:
Bearbeitet durch User
Michael B. schrieb: > 7.40€ für einen Taster, krass. Die Trollgefahr wächst. Michael B. schrieb: > Ein Summer summt. Für Melodien brauchst du einen Lautsprecher. Und womöglich mehr Speicher, also einen grösseren Controller. Die Trollgefahr wächst nochmal ...
Jetzt unabhängig vom Summer, die Melodien sollten als Gepiepse später herauskommen. Aber das ist etwas, dass kann ich Später implementieren. Die Daten der Hintergrundbeleuchtung habe Ich dem Datenblatt entnommen und Berechnet.
:
Bearbeitet durch User
Dein Widerstand für die LED-Beleuchtung ist zu groß. Der Resetpin vom Atmega ist nicht richtig. Der Atmega läuft nicht. 4 Datenleitungen, und 2 Controll-Leitungen reichen dem Display.
Thomas S. schrieb: > Dein Widerstand für die LED-Beleuchtung ist zu groß. Nein, denn: Kevin X. schrieb: > Die Daten der Hintergrundbeleuchtung habe Ich dem Datenblatt entnommen > und Berechnet.
Kevin X. schrieb: > Jetzt unabhängig vom Summer, die Melodien sollten als Gepiepse später > herauskommen. Aber das ist etwas, dass kann ich Später implementieren. Aber nur, wenn der µC genug Speicher besitzt oder du musst dich mit deiner Ausgabe am verfügbaren Speicher orientieren. Bei den Abblockkondensatoren müsstest du dich noch für einen Wert entscheiden. p.s. Wichtige Regeln - erst lesen, dann posten! Bitte das JPG-Format nur für Fotos und Scans verwenden! Die ganzen Karos machen die Sache nicht übersichtlicher und tragen zum Informationsgehalt kein bisschen bei. Wie in der Schule 2. Klasse mit Rechenkästchen ... Kevin X. schrieb: > Screenshot_2025-04-02_195919.jpg
Kevin X. schrieb: > Guten Abend Zusammen, > > als Absoluter Neuling in Sachen Schaltplan und CAD Programme bin Ich > zumindest für meinen Teil mit meinem Ergebniss zufrieden. Naja, wir haben schon deutlich Schlimmeres gesehen. Trotzdem. Siehe Bildformate. PNG statt JPG, besser noch PDF. Und schalt dieses kleinkarierte Raster aus. > Auswertung eines Tasters > Ansteuerung eines LC-Displays im 8-Bit Modus Kann man so machen, verschwendet aber Pins. Im 4 Bit Modus ist das Ding praktisch genau so schnell und lesen tut man von einem LCD praktisch nie. Also kann man R/W fest auf GND legen. > Leider bin ich mir mit den Tastern nicht einig, ob diese einen > Widerstand benötigen um Sauber erkannt zu werden... Die internen Pull-Up widerstände reichen, wenn man sie einschaltet.
Kevin X. schrieb: > Liebe Grüße und einen Schönen Abend. > Kevin Kevin allein zuhaus (im Elektronik Universum)
Wegen der LCD Beleuchtung stehen Folgende Infos im Datenblatt: Forward Voltage Typ. 2,9V Max. 3,1V Forward Current Typ. 18mA Da ich jetzt mit 3,0V Gerechnet habe dann komme ich auf 120 Ohm Schaltung ändere Ich jetzt mal um und ändere auch den Controller durch einen Atmega32.
:
Bearbeitet durch User
Kevin X. schrieb: > Forward Voltage Typ. 2,9V Max. 3,1V > Forward Current Typ. 18mA > Da ich jetzt mit 3,0V Gerechnet habe dann komme ich auf 120 Ohm Das ist ok. Falk B. schrieb: > Die internen Pull-Up widerstände reichen, wenn man sie einschaltet. Die meisten Taster brauchen halt mehr als 55uA um ihre Kontakte zu putzen auch Goldkontakte. Aber ob nun 0.1mA oder 1mA steht ja nicht im Datenblatt. Man riskiert bei 55uA dass es nach 10 Jahren halt erst unzuverlässig und dann nicht mehr geht. Manche Leute können aber nicht 10 Jahre weit denken.
Das ist Richtig. Aber der Taster ist ja eigentlich nur für "Notfälle" gedacht, weswegen er ja auf der Platine verbleibt. Schaltung habe ich jetzt Entsprechend geändert.
Kevin X. schrieb: > Schaltung habe ich jetzt Entsprechend geändert. Nö. Du hast die Hälfte vergessen. Und die Symbole kann man drehen damit man die Schrift ohne Mühe lesen kann.
Kevin X. schrieb: > Aber der Taster ist ja eigentlich nur für "Notfälle" gedacht, weswegen > er ja auf der Platine verbleibt. Und dafür 14,80€ ? Nimm Kurzhubtaster, wie der Rest der Welt.
Der Resetpinn sollte einen Pullupwiderstand von 10 kOhm gegen +5 V haben, dann passt das erstmal. Das LCD braucht wirklich nur RS, E und DB4-7 neben Vdd, Vss, Vee (Kontrast) und Vdd mit Vorwiderstand für die Hintergrundbeleuchtung. Die Prozessorpins für DB0-DB3 kannst du dann für andere Sachen nutzen, z, B als I/O-Pins oder für resistive Sensoren mit Ausnahme des PB4. Der ist kein ADC-Eingang. Mit welcher Programmiersprache möchtest du den Prozessor denn programmieren? Ich leite die Pins MOSI, MISO, SCK, Vdd, Vss und Reset immer auf einen Extrastecker, dass ich den Prozessor jederzeit im eingebauten Zustand programmieren kann. Diese Pins kann man dann zwar auch für andere Zwecke benutzen, aber sobald das Programmiergerät brennt, ist der Reset aktiv, und man kann dann den Prozessor brennen. Die programmierten Funktionen sind dann auf diesen Pins offline, aber nur, wenn sie nicht z. B. mit einem Taster während der Programmierung auf Masse oder 5 V gezogen werden. Da läuft dann das Programmierinterface gegen Windmühlen.
Kevin X. schrieb: > Aber der Taster ist ja eigentlich nur für "Notfälle" > gedacht, weswegen er ja auf der Platine verbleibt. Es könnte wohl sein, dass dein Error-Taster ohne AVCC nicht funktioniert, weil das die Versorgung für den Port A darstellt. Und denke an den Kondensator zwischen Pin 30 und 31. Bist du sicher, dass der Kondensator richtig angeschlossen ist. In einem normalen Schaltplan müssten dicke Punkt an den T-Verbîndungen auftauchen.
:
Bearbeitet durch User
Wastl schrieb: > Kevin X. schrieb: >> Auch etliche Datenblätter habe ich geweltzt. > > Nein. Sondern: Du hast auch etliche Datenblätter *gewältzt.* Der eine dümmer als der andere ...
Falk B. schrieb: > Siehe Bildformate. PNG statt JPG, besser noch PDF. PNG ja, wie vom Forum unter Bildformate beschrieben. PDF ist mangels Vorschaubild ungeschickt! Falk B. schrieb: >> Leider bin ich mir mit den Tastern nicht einig, ob diese einen >> Widerstand benötigen um Sauber erkannt zu werden... > > Die internen Pull-Up widerstände reichen, wenn man sie einschaltet. Der Herr Bertram ist da anderer Meinung. Unabhängig davon kann es nicht schaden, die Eingänge niederohmiger zu machen. 1k dran, die kurzzeitig 5mA tun nicht weh. Ich sehe irgendwie noch keine sinnvolle Beschaltung des Reset-Anschlusses. Thomas S. schrieb: > Ich leite die Pins MOSI, MISO, SCK, Vdd, Vss und Reset immer auf einen > Extrastecker, dass ich den Prozessor jederzeit im eingebauten Zustand > programmieren kann. > > Diese Pins kann man dann zwar auch für andere Zwecke benutzen, "für andere Zwecke" heißt, Entkopplungswiderstände vorzusehen, damit sich die Signale nicht gegenseitig bekriegen. Das Programmiergerät möchte nicht gegen eine extern niederohmige Quelle kämpfen, wenn der zugehörige µC-Pin ein Eingang ist. Man schaue sich an, wie Arduino-Nano das mit den Rx/Tx-Anschlüssen macht.
Jens G. schrieb: > Wastl schrieb: >> Kevin X. schrieb: >>> Auch etliche Datenblätter habe ich geweltzt. >> >> Nein. Sondern: Du hast auch etliche Datenblätter *gewältzt.* > > Der eine dümmer als der andere ... Nun, "gewältzt", "Standart", "Wiederstand"... Das als Dummheit zu bezeichnen, würde ich nicht unterschreiben. Tippfehler sind das nicht, aber ein normal denkender Mensch würde darauf hinweisen, dass das anders geschrieben wird, und gut ist es. Man weiss, was gemeint ist.
:
Bearbeitet durch User
Wolfgang S. schrieb: > Noch ein Beispiel. Wie man es nicht machen sollte. Na immerhin. Ansonsten Schaltplan richtig zeichnen.
Michael B. schrieb: > Die meisten Taster brauchen halt mehr als 55uA um ihre Kontakte zu > putzen auch Goldkontakte. Jaja . . . > Aber ob nun 0.1mA oder 1mA steht ja nicht im > Datenblatt. Man riskiert bei 55uA dass es nach 10 Jahren halt erst > unzuverlässig und dann nicht mehr geht. Manche Leute können aber nicht > 10 Jahre weit denken. Also ob das bei DEM Projekt ein SEKUNDE eine Rolle spielen würde. Ein echter Laberkoppbeitrag mal wieder! Meine Diagnose bei dir https://de.wikipedia.org/wiki/Logorrhoe Versuchs mal damit, das kommt dem Gehalt deiner Beiträge sehr entgegen https://de.wikipedia.org/wiki/Zen
:
Bearbeitet durch User
Wolfgang S. schrieb: > Noch ein Beispiel. Man erdet die D0-D3 am LCD aber bitte nicht, sondern lässt sie einfach frei. Alles andere ist Stromverschwendung, denn der 44780 hat da Pullups dran: https://www.mikrocontroller.net/wikifiles/5/5f/VF_Sine_Drive.png
Kevin X. schrieb: > Schaltung habe ich jetzt Entsprechend geändert. Beide GND-Anschlüsse des Atmega an GND legen, nicht nur einen. Die vier Datenleitungen des LCD gehen "über Kreuz". Also PC0 -> D7, PC1 -> D6, etc. So musst du in der Software alle Datenbits umständlich umschaufeln. Besser wäre PC0 -> D4, PC1 -> D5, etc.
Manfred P. schrieb: > Das Programmiergerät > möchte nicht gegen eine extern niederohmige Quelle kämpfen, wenn der > zugehörige µC-Pin ein Eingang ist. Dazu kann man ja ein Latch (HCT373 o.ä.) dazwischen machen. Und diese Pins dann, wenn der Reset fällt als Prog-Schnittstelle nutzen. Der Atmega32 will so noch immer nicht laufen. - Der Reset !! GND und Powerpins nicht belegt. Nochmal schlecht. Pin 30,31,32 beschalten.
Ein Latch für die Programmierschnittstelle ist Overkill. Erstmal ist es nur eine Frage der Programmiergeschwindigkeit und das einzige, was der Programmer wirklich gar nicht mag, sind z.B. Entprell-Kondensatoren (in Verbindung mit den internen Pullups). 10nF reichen aus, damit sich das Ding nicht mehr programmieren lässt.
Thomas S. schrieb: > Tippfehler sind das nicht, aber ein normal denkender Mensch würde darauf > hinweisen, dass das anders geschrieben wird, und gut ist es. Und wie nennst du einen Menschen, der einen Rechtschreibfehler anprangert und in derselben Sekunde fast denselben macht? (Glashaus ...) Nach meiner durch Erfahrung gestützten Statistik ist die Wahrscheinlichkeit, dass eine Sprachkritik in Foren fehlerfrei ist, kleiner als 10 %. Liegt wohl am Selbstwertgefühl der Kritiker: Das verhindert, dass sie ihr Zeugs gründlich kontrollieren, was ein ***-denkender Mensch tun würde. > Man weiss, was gemeint ist. Gähn, das uralte und immer noch schwache Argument. Selbst wenn man es nicht als unhöflich gegenüber den Lesern ansieht, sich beim Schreiben etwas Mühe zu geben, bleibt doch immer noch der Punkt, dass man heutzutage mit Lesern rechnen muss, die nur mäßige muttersprachliche Kompetenz in Deutsch haben. Die lernen dann womöglich etwas Falsches oder finden Manches einfach nicht im Wörterbuch. Frag mal professionelle Übersetzer, wie die tagtäglich an schlampigen Texten verzweifeln, gerade im Bereich Technik. Welcher Poster hier geht eigentlich mit tropfenden Ketchup-Flecken auf der Jacke zum Brotkaufen in den Bäckerladen? Ist doch egal, die Verkäuferin bekommt ihr Geld und um anderes geht es ja nicht?
Thomas S. schrieb: > Manfred P. schrieb: >> Das Programmiergerät >> möchte nicht gegen eine extern niederohmige Quelle kämpfen, wenn der >> zugehörige µC-Pin ein Eingang ist. > > Dazu kann man ja ein Latch (HCT373 o.ä.) dazwischen machen. Und diese > Pins dann, wenn der Reset fällt als Prog-Schnittstelle nutzen. > > Der Atmega32 will so noch immer nicht laufen. - Der Reset !! > GND und Powerpins nicht belegt. Nochmal schlecht. Pin 30,31,32 > beschalten. Danke für den Tipp. Kannst du mir mal aufzeigen, wie das Schaltungstechnisch aussehen könnte?
Thomas F. schrieb: > Kevin X. schrieb: >> Schaltung habe ich jetzt Entsprechend geändert. > > Beide GND-Anschlüsse des Atmega an GND legen, nicht nur einen. > > Die vier Datenleitungen des LCD gehen "über Kreuz". Also PC0 -> D7, PC1 > -> D6, etc. > So musst du in der Software alle Datenbits umständlich umschaufeln. > Besser wäre PC0 -> D4, PC1 -> D5, etc. Wenn ich das Layout ändere, kann Ich doch das LCD an die Pins PD0-7 hängen?
Kevin X. schrieb: > Wenn ich das Layout ändere, kann Ich doch das LCD an die Pins PD0-7 > hängen? Du BRAUCHST keine 8 Bit für ein HD44780-Display (s.o.) Kevin X. schrieb: > Kannst du mir mal aufzeigen, wie das Schaltungstechnisch aussehen könnte? Wolfgang S. schrieb: > Atmega_8.png
:
Bearbeitet durch User
> Wolfgang S. schrieb: >> Atmega_8.png Nein da habe ich mich falsch ausgedrückt. Ich meinte wenn Ich den ISP Anschluss Doppelt Belegen möchte, mit diesem HCT373 o. ä. wie das auszusehen hat? Kenne dieses Bauteil nämlich nicht.
Also ab jetzt ist für mich klar dass Kevin euch an der Nase herumführt. Er stellt sich gerade so dumm dass es scheinbar nicht auffällt. Er könnte ja selbst mal nach einem HCT373 suchen, nicht wahr? Er stellt (s)einen Schaltplan vor, etwas später einen ganz anderen und sehr unvollständigen, geht nicht auf die unmöglichen Taster ein, etc. etc. .... Kevin allein zuhaus ....
Rolf schrieb: >> Man weiss, was gemeint ist. > > Gähn, das uralte und immer noch schwache Argument. Sagen die das auch zum Compiler, wenn sie so schlampigen Code schreiben? Ja ja, technisches Forum und so... Gruss Chregu
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.