Forum: Mikrocontroller und Digitale Elektronik Bitte um Beurteilung meines ersten Schaltplans


von Herb G. (donar)


Angehängte Dateien:

Lesenswert?

Guten Abend Profis,

ich habe mein erstes Elektronik-Projekt auf dem Breadboard zum laufen 
gebracht mit einem Atmel AVR ATmega48.

Den Schaltplan hab ich mit Eagle erstellt (darauf fehlen allerdings noch 
die Stützkondensatoren auf den 7 Schieberegistern (ich verwende die 
74HC595N [1]), die ich mit jeweils 100 nF zwischen VCC und GND gesetzt 
habe). Die 8 Outputpins jedes Schieberegisters sprechen die 8 LEDs einer 
7-Segment-LED an (SA56-11QBWA-D [2].

Auch die Reset-Beschaltung des uC ist noch nicht drauf: ich verwende 4.7 
nF zwischen RESET und GND, sowie 10 k zwischen RESET und VCC.

Beim Betätigen des Power-Tasters geht der AVR erfolgriech in den Schlaf 
und mit demselben Taster kann ich ihn per Interrupt wieder aufwecken.

Bevor ich nun demnächst ans Platinen machen gehe (offensichtlich auch 
das erste Mal, und ich gehe da durchaus mit einigem Respekt ran; 
bestellt sind bei Reichelt der UB-Belichter 1 und das Ätzgerät 1, sowie 
Platinen, Ätzmittel und Entwickler) möchte ich nun gerne eine Meinung 
einholen, ob ich am Schaltplan etwas verbessern kann.

Wie gesagt, es läuft auf dem Breadboard ohne Probleme, aber ich sehe z. 
B. im AVR-Tutorial zu den 7-Segment-Anzeigen, dass dort Transistoren 
eingesetzt werden, die ich nicht verwende. Kann das zu einem Problem 
führen?

Nun ja, ich weiss nicht genau was ich weiter erfragen soll, da ich mit 
der Materie noch nicht sonderlich vertraut bin, obwohl ich viel dazu 
gelesen habe. Auf Anregungungen freue ich mich daher sehr. Und als 
Anfänger würde ich natürlich auch gerne wissen, warum ich etwas anders 
machen sollte.

Besten Dank im voraus!


[1] http://www.datasheetcatalog.org/datasheets/320/387709_DS.pdf
[2] 
http://www.reichelt.de/index.html?;ACTION=7;LA=3;OPEN=0;INDEX=0;FILENAME=A500%252FSA56-11QBWA-D%2528V2%2529.pdf

von MaWin (Gast)


Lesenswert?

Die SA52-11 ist eine grüne 20mA Anzeige, mit 220 Ohm an 4.5V durch die 3 
Batterien lässt du nur 10mA fliessen. Wenn dir das hhelligkeitsmässig 
ausreicht...

Die Schaltung ist in Ordnung, PullUps an den tastern, Vorwiderstände vor 
den LEDs, keine Überlastungen, AREF offen gelassen, da haben wir hier 
schon schlimmeres gesehen. Die kannst du so ausfauen, aber wenn das eine 
Uhr sein soll, würde ich mal über einen Quartz am AVR nachdenken.

Natürlich liesse sich so was mit steigender Erfahrung mit weniger 
Bauteilen billiger aufbauen, aber du willst ja noch 
Steigerungsmöglichkeiten haben.

von Stefan Frings (Gast)


Lesenswert?

7 Segment anzeigen kannst Du locker direkt an die 74er IC's anschließen, 
auch bei 20mA. Doch 10mA sind sicher schon hell genug.

Ich würde allerdings niemals 7 Segment Anzeigen mit Batterien betreiben, 
wegen der hohen Stromaufnahme. Da bietet sich eher ein Netzteil mit 3,3 
Volt an, dann verheizt du auch weniger Energie in Widerständen.

Bei Netzbetrieb könntest Du auch die Frequenz der Wechselspannung als 
Zeitbasis für die Uhr nehmen. Denn die Netzfrequenz ist auf längere Zeit 
betrachtet nämlich so präzise wie eine Atom-Uhr, dafür sorgen die 
Kraftwerke.

Ein Quarz ist nicht automatisch präzise, den musst du erst mit einem 
Trimmkondensator auf die gewünschte Frequenz einstellen und das ist 
leider auch noch von Spannung und Temperatur abhängig.

Es gibt da diese 32768 Hz Uhrenquarze, die sind für Uhren in der Regel 
eher geeignet, als "runde" Mhz Quarze wie 8 Mhz oder 1Mhz. Aber auch bei 
denen kommst du um eine manuelle Feineinstellung nicht herum, wenn du 
dich mit der Uhr nach 1-2 Monaten Laufzeit nicht blamieren willst.

Insofern würde ich über die Sache mit der Netzfrequenz mal nachdenken.

von Herb G. (donar)


Lesenswert?

Guten Sonntagmorgen allerseits, und besten Dank für Eure motivierenden 
Antworten.


@mawin:

> Wenn dir das hhelligkeitsmässig ausreicht...

Ja, ist eigentlich schon fast zu hell :)

> AREF offen gelassen

Ich brauche den ADC nicht in diesem Projekt (werde aber sehr bald damit 
experimentieren) und liess AREF daher offen. Sollte ich ihn dennoch über 
100 nF auf GND legen?

Gleich noch eine Frage: Was mache ich am sinnvollsten mit QH* vom 
letzten Schieberegister? Einfach offen lassen, ja? Ich muss ja nichts 
mehr weiterleiten über die 56 Bits hinaus.

> aber wenn das eine
> Uhr sein soll, würde ich mal über einen Quartz am AVR nachdenken.

Es ist keine Uhr, weder Geschwindigkeit noch Taktgenauigkeit sind ein 
Kriterium. Es handelt sich nur um eine Zustandanzeige von 9 
verschiedenen Speicherplätzen (eine 7-Segment-Anzeige) zu je 3 
Datenwerten (drei zweistellige 7-Segment-Anzeigen), die über 8 Taster 
manipuliert werden können (der 9. Taster lässt den AVR einschlafen/weckt 
ihn wieder).

> mit steigender Erfahrung mit weniger
> Bauteilen billiger aufbauen

Multiplexing statt Schieberegister?


@Stefan:

> Ich würde allerdings niemals 7 Segment Anzeigen mit Batterien betreiben,
> wegen der hohen Stromaufnahme.

Ich habe mir darüber auch Gedanken gemacht. Das Gerät ist aber nur für 
wöchentlich vielleicht 2 oder 3 Minuten im Betrieb. Durch den 
Sleep-Modus in der restlichen Zeit erhoffe ich mir genügend Reserven für 
eine längere Laufzeit. Im Breadboard reicht es im Sleepmodus auch dazu, 
die Batterien zu wechseln.

> Insofern würde ich über die Sache mit der Netzfrequenz mal nachdenken.

Das hört sich interessant an, dazu suche ich mir doch gleich mehr 
Lesefutter, danke. Aber erst schliesse ich dieses Projekt ab, der 
nächste Schritt wird dann wohl das Platinen-Layout. Ich hoffe ich kriege 
die 7 ICs und den uC auf eine 160x100 Karte.

von Marco S. (masterof)


Lesenswert?

Hi Herb,

Aus dem Bauch heraus würde ich sagen das müsste von der Größe herpassen.
Machst du du die Platine ein oder zweiseitig?

Gruß Marco

von Andreas W. (geier99)


Lesenswert?

Herb G. schrieb:
> Ich brauche den ADC nicht in diesem Projekt (werde aber sehr bald damit
> experimentieren) und liess AREF daher offen. Sollte ich ihn dennoch über
> 100 nF auf GND legen?

ja.

Was mir noch fehlt ist die ISP-Schnittstelle zum Programmieren des 
Prozessors.

Die würde ich auf jeden Fall rein machen.
Die schon benutzten Ports kanns Du ja mit z.B. 1k Widerstände anbinden 
(ISP - Schnittstelle direkt mit den Prozessor-Pins verbinden und dann 
mit 1k Widerstände weg zuer restlichen Schaltung)

Gruß
 Andreas

von thomas (Gast)


Lesenswert?

Wenn schon sleep-modus, dann würde ich für diesen Fall auch das Vcc der 
Register abschalten.

von Herb G. (donar)


Lesenswert?

@Marco

> Machst du du die Platine ein oder zweiseitig?

Ich komm da einseitig nie ohne Leiterbahnen-Überkreuzungen hin (?), also 
zweiseitig. Hab mir beim Reichelt auch extra die Handpresse von Bungart 
bestellt mitsamt Werkzeug und Nieten; eine Standbohrmaschine mit feinen 
Bohrern hab ich (Proxxon TBM 20).


@ Andreas W.

>> Sollte ich ihn dennoch über 100 nF auf GND legen?
> ja.

Danke, werde ich also machen. Aber warum?

> Was mir noch fehlt ist die ISP-Schnittstelle zum Programmieren des
> Prozessors.

Ich weiss, doch ich befürchte sehr dass ich mit dem Platz nicht hinkomme 
auf 160x100 mm in der vorgesehenen Box, die ersten Design-Versuche sehen 
nicht gut aus :( Ich werd daher einen 28er-Sockel einbauen statt direkt 
den uC und den halt nachher einsetzen, um mir spätere Änderungen 
offenzuhalten.


@ thomas

> Wenn schon sleep-modus, dann würde ich für diesen Fall auch das Vcc der
> Register abschalten.

Und die zu erhaltenden Daten vor dem Sleep ins EEPROM schreiben und von 
da wieder auslesen beim Powerup stattdessen?

von (prx) A. K. (prx)


Lesenswert?

Herb G. schrieb:
>>> Sollte ich ihn dennoch über 100 nF auf GND legen?
>> ja.
> Danke, werde ich also machen. Aber warum?

Vielleicht arbeitet er bei einem Kondensatorhersteller.
Der bringt nichts und schadet nichts.

von (prx) A. K. (prx)


Lesenswert?

Herb G. schrieb:
>> Wenn schon sleep-modus, dann würde ich für diesen Fall auch das Vcc der
>> Register abschalten.
>
> Und die zu erhaltenden Daten vor dem Sleep ins EEPROM schreiben und von
> da wieder auslesen beim Powerup stattdessen?

Er meint vermutlich die externen Schieberegister. Das RAM vom Controller 
geht dabei nicht flöten. Allerdings bezweifle ich, dass diese 
Abschaltung einen signifikanten Unterschied macht.

von (prx) A. K. (prx)


Lesenswert?

Was du ggf. einsparen kannst: Die Pullups an den Schaltern. Die AVRs 
haben zuschaltbare Pullups intern. Die sind zwar etwas hochohmiger, aber 
wenn die Umgebung keine argen Funkstörungen einstreut, dann reichen die 
aus.

von thomas (Gast)


Lesenswert?

A. K. schrieb:
> Er meint vermutlich die externen Schieberegister. Das RAM vom Controller
> geht dabei nicht flöten. Allerdings bezweifle ich, dass diese
> Abschaltung einen signifikanten Unterschied macht.

Laut Datenblatt liegt die Stromaufnahme für die 74hc595n bei 0A 
Ausgangsstrom irgendwo zwischen 80uA und 160uA. Das ganze mal 7 gibt im 
Worstcase mehr als 1mA. Bei Batteriebetrieb und je nach dem, wie lange 
die Batterie halten soll, kann das durchaus signifikant sein.

von (prx) A. K. (prx)


Lesenswert?

thomas schrieb:
> Laut Datenblatt liegt die Stromaufnahme für die 74hc595n bei 0A
> Ausgangsstrom irgendwo zwischen 80uA und 160uA.

Im worst case, und der gilt bei 125°C weils mit steigender Temperatur 
krass schlimmer wird. Im typischen Betriebsfall bei normaler Temperatur 
wird er es kaum messen können.

Wieviel Strom benötigt eigentlich ein Mega8 bei 125°C im worst case im 
powerdown mode?

von dolf (Gast)


Lesenswert?

Stefan Frings schrieb:
> s gibt da diese 32768 Hz Uhrenquarze, die sind für Uhren in der Regel
> eher geeignet, als "runde" Mhz Quarze wie 8 Mhz oder 1Mhz.

stimmt nur zum teil .

hf quarze wie z.b. 4,19mhz sind zu bevorzugen.
die sind für wohnraumuhren gemacht.
wer es auf die spitze treiben der will baut noch nen quarzofen drum rum.

"""Insofern würde ich über die Sache mit der Netzfrequenz mal 
nachdenken."""

nö wozu.
hab nen frequenzzähler pm6666 damit kann ich den oszil. rel. genau 
abgleichen.

mfg

von MaWin (Gast)


Lesenswert?

> > AREF offen gelassen
> Sollte ich ihn dennoch über 100 nF auf GND legen?

Nein, nicht nötig, ich hab nur aufgelistet was du
auf Anhieb richtig gemacht hast (nicht mit VCC verbunden)
was andere Leute jahrelang nicht begreifen.

Du brauchst auch keine 100nF da dran, unnötig in deinem
Fall.

> Was du ggf. einsparen kannst: Die Pullups an den Schaltern.
> Die AVRs haben zuschaltbare Pullups intern.

Bis 50k und damit leicht störbar. Auch das hat er richtig
gemacht.

> > Was mir noch fehlt ist die ISP-Schnittstelle zum Programmieren des
> > Prozessors.
> Ich weiss, doch ich befürchte sehr dass ich mit dem Platz nicht hinkomme
> auf 160x100 mm

Trau dich, passt schon, auch mit ISP Stecker.
Nur halt mit doppelseitig durchkontaktierter und  damit professionell 
und teuer gefertigte Platine.
Einseitig mit Drahtbrücken oder Lochraster wird schwer,
bei Lochraster kann man immerhin noch auf die Fädeltechnik ausweichen,
und die Vorwiderstände der Anzeigen wirken wie Drahtbrücken, d.h. man
könnte ihre Anschlüsse so lang lassen wie man sie braucht.

> > mit steigender Erfahrung mit weniger Bauteilen billiger aufbauen
> Multiplexing statt Schieberegister?

Richtig. Und Stromquellen wie in CAT4016 statt Vorwiderstände.
Nächstes mal, mit steigender Erfahrung.

von (prx) A. K. (prx)


Lesenswert?

A. K. schrieb:
> Wieviel Strom benötigt eigentlich ein Mega8 bei 125°C im worst case im
> powerdown mode?

PS: Im Datasheet der 74HC finde ich nur jene grosszügigen worst case 
Werte, jenseits der ein Exemplar aus der Fertigung fällt. Andererseits 
finde ich im Datasheet vom AVR nur die typischen Werte, nicht aber den 
worst case.

von W.S. (Gast)


Lesenswert?

A. K. schrieb:
> Was du ggf. einsparen kannst: Die Pullups

Lieber nicht.

Ein paar Widerstände machen dich nicht ärmer und die Funktion ist 
gesichert, auch dann, wenn du aus irgendwelchen jetz noch nicht 
erkennbaren Gründen mal die internen Pullups anders programmieren 
solltest.

Aber einen passablen Quarz solltest du vorsehen, so daß er nebst C 
davor+dhinter wenigstens im Layout vorhanden ist. Dann hast du später 
immer noch die Wahl, ob du ihn benutzt oder nicht.

Herb G. schrieb:
> auch extra die Handpresse von Bungart...

Uff, du läßt es ja krachen... Ich mache bei Selbstgeätztem meine Vias 
von Hand mit so einer Art Abbrech-Stiften, die es mal bei RS gab.

W.S.

von Croesus (Gast)


Lesenswert?

Schön ausgearbeitet, das alles. Nur eines:

Herb G. schrieb:
> bestellt sind bei Reichelt der UB-Belichter 1 und das Ätzgerät 1,

Herb G. schrieb:
> Hab mir beim Reichelt auch extra die Handpresse von Bungart
> bestellt mitsamt Werkzeug ..

Belichter: 198,95 €
Ätzgerät: 114,50 €
Handpresse: 193,50 €
1 Werkzeugsatz: 68,95 €

Knapp 576 Euro für Kram, den man vielleicht braucht, wenn man jeden Tag 
viele Platinen machen will.

Das klingt so, wie:
Ich möchte Autofahren lernen, und habe mir schon einen Audi TT bestellt, 
eine Tankstelle vor meinem Haus in Auftrag gegeben und eine 
Straßenbaufirma mit dem Bau einer Übungsstrecke auf dem Feld hinter 
meinem Garten beauftragt.

Dein Streben, auf einem recht hohen Niveau einzusteigen, scheint sich 
nicht nur auf das Technische zu beziehen, sondern auch auf die 
Investitionen für die Ausrüstung.

Wenn Du nicht so voreilig Dein Geld zum Fenster herausgeschmissen 
hättest, wäre mein Alternativvorschlag gewesen:
Belichter: alter Gesichtsbräuner von ebay
Ätzgerät: Tupperdose
Handpresse: 1 Stück Blech als Unterlage
Werkzeugsatz: Körner oder gefeilter Nagel/Schraubenzieher oder vorn rund 
geschiffener Bohrer, dazu Stecknadeln

Vielleicht überlegst Du Dir ja noch, den Kram zurück zu schicken und ein 
paar der unzähligen weitestgehend identischen Selberätz-Threads 
durchzulesen..

von spontan (Gast)


Lesenswert?

Hab mir den ganzen Thread druchgelesen.
Sieht doch ganz passabel aus, bis auf die Kleinigkeiten die bemägelt 
wurden.

Ich hätte noch einen Vorschlag:
Am µC sind noch IO-Pins unbenutzt und der Enable-Pin #13 der 595 liegt 
fest auf GND.

Verbinde doch die Enable-Pins mit einem IO-Pin des µC, dann kannst Du 
per Software die Anzeige leicht abschalten, ohne zu schieben, oder Du 
realisierst eine Helligkeitssteuerung per PWM über diese Enable-Pins.

good luck

von Herb G. (donar)


Lesenswert?

Vielen Dank für alle Meinungen, vor allem auch an MaWin!

Dann lass ich das also so wie auf dem Schaltplan; diesmal noch ohne ISP, 
dafür mit Sockel für den uC, für den Fall der Fälle. Beim nächsten 
Projekt berücksichtige ich den ISP gleich von Anfang an, danke für die 
Hinweise!

Den Quarz spar ich mir in diesem Projekt, da es wirklich nichts zeit- 
und geschwindigkeitsabhängiges ist, und er nur unnützen Strom ziehen 
würde. Eines der nächsten Projekte kommt hingegen ganz sicher nicht ohne 
aus :)


@ spontan

> oder Du realisierst eine Helligkeitssteuerung per PWM über
> diese Enable-Pins.

Mit PWM spiele ich bald herum, vielen Dank für den Input!


Ich habe den gestrigen Rest vom Tag mit dem Layoutzeichnen von meiner 
ersten Platine gem. Schaltplan verbracht, beim dritten Entwurf war ich 
dann soweit ja auch zufrieden.

Mit Bestimmtheit hab ich aber mangels Erfahrung noch viele Dinge nicht 
berücksichtigt. Darf ich dafür auch Meinungen einholen? Besser in einem 
neuen Thread?

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.