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