Forum: Mikrocontroller und Digitale Elektronik Schaltplan Kontrolle


von Kevin X. (kevin_x)


Angehängte Dateien:

Lesenswert?

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
von Thomas F. (igel)


Lesenswert?

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.

von Wastl (hartundweichware)


Lesenswert?

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.

von Kevin X. (kevin_x)


Lesenswert?

Programmiert wird der Atmega8 von extern und wird dann in die Schaltung 
eingesetzt.

von Wastl (hartundweichware)


Lesenswert?

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.

von Michael B. (laberkopp)


Lesenswert?

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
von Wastl (hartundweichware)


Lesenswert?

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 ...

von Kevin X. (kevin_x)


Lesenswert?

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
von Thomas S. (Firma: Chipwerkstatt) (tom_63)


Lesenswert?

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.

von Wastl (hartundweichware)


Lesenswert?

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.

von Rainer W. (rawi)


Lesenswert?

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

von Falk B. (falk)


Lesenswert?

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.

von Wastl (hartundweichware)


Lesenswert?

Kevin X. schrieb:
> Liebe Grüße und einen Schönen Abend.
> Kevin

Kevin allein zuhaus (im Elektronik Universum)

von Kevin X. (kevin_x)


Lesenswert?

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
von Michael B. (laberkopp)


Lesenswert?

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.

von Kevin X. (kevin_x)


Angehängte Dateien:

Lesenswert?

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.

von Wastl (hartundweichware)


Lesenswert?

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.

von Michael B. (laberkopp)


Lesenswert?

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.

von Thomas S. (thommi)


Lesenswert?

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.

von Rainer W. (rawi)


Lesenswert?

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
von Jens G. (jensig)


Lesenswert?

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 ...

von Wolfgang S. (wolfgang_s278)


Angehängte Dateien:

Lesenswert?

Noch ein Beispiel.

von Manfred P. (pruckelfred)


Lesenswert?

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.

von Thomas S. (thommi)


Lesenswert?

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
von Falk B. (falk)


Lesenswert?

Wolfgang S. schrieb:
> Noch ein Beispiel.

Wie man es nicht machen sollte. Na immerhin. Ansonsten

Schaltplan richtig zeichnen.

von Falk B. (falk)


Lesenswert?

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
von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

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

von Thomas F. (igel)


Lesenswert?

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.

von Thomas S. (Firma: Chipwerkstatt) (tom_63)


Lesenswert?

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.

von Ben B. (Firma: Funkenflug Industries) (stromkraft)


Lesenswert?

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.

von Rolf (rolf22)


Lesenswert?

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?

von Kevin X. (kevin_x)


Lesenswert?

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?

von Kevin X. (kevin_x)


Lesenswert?

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?

von Rainer W. (rawi)


Lesenswert?

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
von Kevin X. (kevin_x)


Lesenswert?

> 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.

von Wastl (hartundweichware)


Lesenswert?

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 ....

von Christian M. (christian_m280)


Lesenswert?

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
Noch kein Account? Hier anmelden.
Lade...