Forum: Platinen Arduino 8-Taster Bit-Addierer mit mehreren 7-Segment Anzeigen


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von René H. (ren_h)


Angehängte Dateien:

Lesenswert?

*Achtung: Ein Anfänger hat die Microcontroller für sich entdeckt XD*

Hallo an alle Bastler da draußen.

Ich habe mich nun etwas in KiCAD v7 eingearbeitet und das komplette 
Projekt als zip angehangen (wer will kann es auch selber 
verwenden/modifizieren was auch immer).

Vorweg habe ich auch ein 
Video(https://www.youtube.com/watch?v=bF92q-qHQ88) hochgeladen wo 
ich den ersten Prototypen per Steckplatinen zum Leben erweckt habe. Ich 
denke das erklärt die Funktionsweise schneller als ich es hier mit 
Worten könnte :o)

Mir geht es aktuell erstmal lediglich um den Schaltplan (siehe Anhang).

Meine Frage daher an die Profis: Kann man den so lassen oder habt Ihr 
noch Verbesserungsvorschläge bezüglich der Werte der Kondensatoren etc. 
oder andere Hinweise worauf noch zu Achten ist?

Was ich mir schon überlegt habe, ist die Stromversorgung vom Arduino auf 
einen externen Anschluss (per USB-C?) auszulagern um den Arduino selber 
zu entlasten. Gibt es da was spezielles zu beachten grübel grübel?

PS: Die 8 einzelnen 7-Segment Anzeigen sind mit Absicht einzeln 
verbaut -> die müssen auch mal weg ;o)

Vielen Dank schonmal im Voraus

René

von Roland F. (rhf)


Lesenswert?

Hallo,
René H. schrieb:
> ...habt Ihr > noch Verbesserungsvorschläge...

Ich würde die beiden 74HC795 durch einen zusätzlichen MAX7221 ersetzen 
und den an den DOUT den unteren MAX 7221 anschließen.
Nachteil: ist teurer
Vorteil: du kannst ohne großen Aufwand im Nachhinein noch zusätzliche 
LEDs anschließen und vereinfachst dir die Programmierung enorm.

rhf

von Michael B. (laberkopp)


Lesenswert?

Also das mit den Tasten am 165 geht so nicht, pull up nicht verstanden.

Wenn du die Dezimalpunkte nicht brauchst, könnten die 8 LED als 
Dezimalpunktersatz an den 7221.

von René H. (ren_h)


Angehängte Dateien:

Lesenswert?

Roland F. schrieb:
> Ich würde die beiden 74HC795 durch einen zusätzlichen MAX7221 ersetzen ...

Das war auch schon mein Gedanke ... und mir ist auch gerade ein Fehler 
aufgefallen -> Ich habe den MAX7219 (10 stück für ~35€) anstatt des 
MAX7221. Habe das gleich mal korrigiert. Aber an der Funktionsweise 
ändert sich ja nichts. Von den 74HC595 sind auch ein paar vorhanden die 
verbaut werden wollen :).

Michael B. schrieb:
> Also das mit den Tasten am 165 geht so nicht, pull up nicht verstanden.
> Wenn du die Dezimalpunkte nicht brauchst, könnten die 8 LED als
> Dezimalpunktersatz an den 7221.

Danke Michael, auch hier habe ich den Schaltplan vergessen zu 
aktualisieren. Ich bin mit noch nicht 100%ig sicher ob es jetzt stimmt 
aber so habe ich es auch auf der Steckplatine umgesetzt (Im Video kann 
man es sehen).

Habe den Schaltplan aktualisiert und das Projekt + Schaltplan nochmal 
angehangen (v002 jeweils ^^).

Zusätzlich habe ich mal ein Rendering erstellt wie es in etwa aussehen 
könnte wenn es denn mal fertig wird. Die Zahlen unterhalb der Taster 
sollen hierbei von den einzelnen LEDs beleuchtet werden.

Danke für Euer super schnelles Feedback

von Manfred P. (pruckelfred)


Lesenswert?

René H. schrieb:
> Von den 74HC595 sind auch ein paar vorhanden die
> verbaut werden wollen :).

Der multiplext das dreistellige LED-Display, dem die Vorwiderstände 
fehlen? Dessen drei gemeinsame kommen direkt aus dem Nano A0..2, was vom 
Strom her knapp wird oder den zulässigen Ausgangsstrom überschreitet.

von René H. (ren_h)


Angehängte Dateien:

Lesenswert?

Hallo Manfred, ich habe nochmal alles aktualisiert. Im Video sind da 
natürlich Widerstände (je 330 Ohm) verbaut, aber der Schaltplan ... naja 
reden wir lieber nicht drüber.

Der Multiplexer hängt an den 7 Segmenten und die Ansteuerung der 
einzelnen Zahlen läuft über den Arduino. Bezüglich des Stromverbrauches 
hatte ich ja auch schon überlegt die ICs nicht vom +5V Pin des Arduino 
zu speisen sondern dann im "Finalen Layout" einen separaten 
Stromanschluss zu machen (z.B. USB-C) und von diesem dann auf den 
Arduino und die anderen 3 ICs zu gehen.

Am meisten graut mir aktuell davor das PCB Layout zu erstellen ... da 
werden wohl so einige Kannen Kaffee draufgehen :o)

von Manfred P. (pruckelfred)


Lesenswert?

René H. schrieb:
> Hallo Manfred, ich habe nochmal alles aktualisiert. Im Video sind da
> natürlich Widerstände (je 330 Ohm) verbaut,

Ich schaue keine Videos, zumindest nicht für Elektronikgebastel!

> aber der Schaltplan ... naja reden wir lieber nicht drüber.

Doch, der ist hier die Grundlage. Aber passt doch, Du hast es 
korrigiert.

> ... die Ansteuerung der
> einzelnen Zahlen läuft über den Arduino.

Genau dazu habe ich Bedenken geäußert, und das wohl zu recht:
Du hast pro Segement 330 Ohm, also 10mA. Für die 8 müsste der Nano 80mA 
aus A0..2 liefern, das kann er nicht! Da müssen drei P-FETs her.

> Bezüglich des Stromverbrauches
> hatte ich ja auch schon überlegt die ICs nicht vom +5V Pin des Arduino
> zu speisen sondern dann im "Finalen Layout" einen separaten
> Stromanschluss zu machen

Dazu habe ich einen klaren Standpunkt: Der Arduino versorgt nur sich 
selbst und keinerlei Peripherie. Das sehe ich hauptsächlich aus 
thermischen Gründen, der 1117 auf dem Platinchen bekommt nicht viel weg.

Es gibt kein Problem, sowohl Umgebung als auch den A* mit einem externen 
7805 zu versorgen. Das habe ich mehr als einmal gemacht, der 1117 hat 
kein Problem mit Rückenwind.

von Peter D. (peda)


Lesenswert?

Manfred P. schrieb:
> Das sehe ich hauptsächlich aus
> thermischen Gründen, der 1117 auf dem Platinchen bekommt nicht viel weg.

Ich nehme die Traco TSR 1-2450 oder gleich eine USB-Wandwarze 5V/1A.
Das reicht für viele MC-Experimente.

von Peter D. (peda)


Lesenswert?

René H. schrieb:
> aber der Schaltplan ... naja
> reden wir lieber nicht drüber.

René H. schrieb:
> Am meisten graut mir aktuell davor das PCB Layout zu erstellen

Wenn schon der Schaltplan nicht stimmt, dann graut Dir zu Recht.
Der Schaltplan sind die Wände und ohne Wände fällt das Dach wieder 
runter.

von Axel R. (axlr)


Lesenswert?

René H. schrieb:
> Vorweg habe ich auch ein
> Video(https://www.youtube.com/watch?v=bF92q-qHQ88) hochgeladen wo
> ich den ersten Prototypen per Steckplatinen zum Leben erweckt habe. Ich
> denke das erklärt die Funktionsweise schneller als ich es hier mit
> Worten könnte :o)

Dort im Video haste es aber auch nicht so mit Worten. Hattest Doch Zeit, 
das ausführlich zu erklären. Wäre DIE Gelegenheit gewesen.
Ich hab jetzt nicht so ganz verstanden, was und wofür du das da gebaut 
hast.
Aber wenn es da im Video-Clip so funktioniert, wie Du es gern hättest, 
spricht doch in meinen Augen nichts dagegen, das so auf die Platine zu 
bringen.

von Anon X. (pascalx)


Lesenswert?

Nur kurz, habe das nicht im Detail angeschaut, aber:

- unter "absolute maximum ratings" steht beim HC595:
      Continuous Current through Vdd or GND: 70 mA

  je nachdem könnte das, wenn alle LEDs an sind, etwas eng werden. Und 
die abs max ratings sollte man nie ausschöpfen. Wenn du hohe LED-Ströme 
möchtest, würde ich noch einen Treiber dazwischenhängen.

- wenn du eine getrennte Stromversorgung hast, musst du dafür sorgen, 
dass nichts schief geht, wenn nur ein Schaltungsteil versorgt wird. Wenn 
nun nur der Arduino gespeist wird, versorgst du die Schaltung ungewollt 
über die ESD-Eingangsdioden deiner ICs. Ich würde deshalb in jede 
Signalleitung einen Widerstand zur Strombegrenzung auf einen sicheren 
Wert einbauen (aber keinen zu hohen). Oder alternativ die ICs via Diode 
auch vom Arduino speisen, und LEDs mit gemeinsamer Anode verwenden und 
diese auf die separate Versorgung hängen.

- Generell bevorzuge ich aber eine gemeinsame Kathode, dann kannst du 
diese mit einem N-Kanal MOSFET schalten. Mein go-to logic-level MOSFET 
für solche Dinge ist der NDS331. Der hat sehr tiefe Vgs(th), schaltet 
locker 1A bei Rds(on) von 0.1 Ohm, und ist billig.

- Layout: sollte kein Problem sein, bei den 7-Segmentanzeigen einfach 
die Leitungen zwischen den Pins von einem Digit zum nächsten führen.

von René H. (ren_h)


Angehängte Dateien:

Lesenswert?

Ich Danke Euch erstmal für die vielen Hinweise und die konstruktive 
Kritik.

Ich habe das Konstrukt jetzt nochmal reaktiviert da mir eingefallen ist, 
dass bei einem der elektronischen Bau-Kits ein Power-Module dabei ist. 
(siehe Bilder)

Dabei verwende ich nun den Vin vom Arduino. Ich habe ebenfalls vor jeden 
der ICs einen 100nf Kondensator gesetzt. Jedoch musste ich feststellen, 
dass das Netzteil bei 5V das Konstrukt nicht zum laufen brachte :( --> 
die 8 einzelnen LEDs liefen nur kurz durch wie ein Lauflicht. Mit den 6V 
allerdings funktioniert es super freu.

Meine Frage jetzt an euch: Kennt ihr ein Bauteil um die Eingangsspannung 
von 5V auf 6V zu regeln und was nicht erst nach >3 Monaten lieferbar 
ist?

Ich habe mir jetzt diese Bauteil herausgesucht 
(https://www.ti.com/product/PTN04050C) welches in Kombination mit einem 
27k Widerstand die gewünschten 6V ausgibt.

Vielen Dank schonmal im Voraus und ein erholsames Wochenende Euch allen 
:o)

von René H. (ren_h)



Lesenswert?

Hallo zusammen,

ich habe das Projekt nun erfolgreich umsetzen können (siehe Bilder). Es 
ist sicherlich nicht perfekt (habe selber schon 3 Punkte die man 
verbessern könnte gefunden) aber es funktioniert :o). Als nächstes kommt 
jetzt das Gehäuse dran. Als StepUp-Wandler habe ich den PTN04050CAD 
genommen und die 27kOhm habe ich direkt auf der Rückseite an die beiden 
Pins gelötet ... sicher nicht die eleganteste Lösung aber es 
funktioniert.

Die Projektdateien stelle ich per GitHub zur Verfügung (Revision B folgt 
noch): https://github.com/ReneHoelzel/8bitAddierer

In dem Sinne nochmal ein Danke an Euch für die Unterstützung
und frohes weiter Basteln :o)
René

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.