Forum: Mikrocontroller und Digitale Elektronik Schaut x jemand ob ich multiplexe oder brenne


von Anfänger (Gast)


Angehängte Dateien:

Lesenswert?

Hab zwar mich hier im Forum belesen weiss aber nicht ob ich alles
richtig verstanden habe also meine erste Kreation.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Was mag dieser Beitrag bedeuten?

von Hannes L. (hannes)


Lesenswert?

Verstehe ich auch nicht...

von Anfänger (Gast)


Lesenswert?

Ja die Frage ist ob ich die schaltung so lassen kann oder ob ich sie
nochmals überdenken sollte ist meine erste Schaltung dieser Art und ich
weis nicht genau ob die Teile dort sind wo sie hingehören??!!

von Hannes L. (hannes)


Lesenswert?

Im GIF-Format hätte ich mir die Schaltung sogar angesehen...

von Carcorni (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Hannes,

Könntest du mir einen Link zu deiner Homepage geben?

Ich hab sie nicht gefunden...

Danke im Voraus

Im Anhang ist ein Bild der Schaltung, damit du sie dir wenigsten
anschauen kannst :)

von Anfänger (Gast)


Angehängte Dateien:

Lesenswert?

Sorry hat ja nicht jeder Eagle. Die Anzeigen haben gem.Kathode und ich
weis nicht ob genug Vorwiedersände da sind bzw. die T´s an der
richtigen Stelle die Leuchtbandanzeige soll im Punkbetrieb betrieben
werden.

von Sebel De Tutti (Gast)


Lesenswert?

Die Transistoren Q9 Q10, etc. sind verkehrt (C und E vertauscht).

von Sebel De Tutti (Gast)


Lesenswert?

Ist auch noch vieles anders nicht so recht im Lot. Ich würd das nochmals
überarbeiten und mal mit einer oder 2 Leds und einem Digit
experimentieren.

von Hannes L. (hannes)


Lesenswert?

Stimmt...

- Transistoren falsch herum und fehlende Basis-Widerstände
- keine Adressleitungen an den Multiplexern

Die ganze Schaltung erscheint mir ziemlich konfus.

Ich würde dir auch raten, Experimente mit weniger Komponenten zu
machen.

Ich habe und benutze Eagle. Allerdings öffne ich ungern Dateien fremder
Herkunft.

@Carcorni:
hanneslux.de mit oder ohne www. Oder die (zeitlose) Umleitung über
www.hannes.de.md
Lohnt sich aber nicht, da ich schon lange nix Neues mehr reingestellt
habe.

...

von Anfänger (Gast)


Angehängte Dateien:

Lesenswert?

uiuiui ganz schön schwer.Ja ich würde ja auch gern mit einer einfachen
Schaltung anfangen aber ich brauche diese.Und ob ich nun den AVR mit 2
LED´s verbrate oder 64(zumal ich ja langsam steigern würde) ist doch
gleich.
Abgeändert habe ich jetzt alles bis auf die Adressleitung vom
Multiplexer, brauch ich die unbedingt ich dachte da wird der BCD
zurückgegeben aber er wird doch umlaufend aktualisiert oder hab ich da
was falsch verstanden??

von Anfänger (Gast)


Lesenswert?

Jetzt hab ich kapiert mit den adressleitungen, manchmal hilft suchen

von Stephan Walter (Gast)


Lesenswert?

Prizipiell:
Eingänge an Logik-Bausteinen nicht offen Lassen! Nicht benötigte
Eigänge sollten immer auf GND oder VCC gelegt werden.

Speziell für die Multiplexer:
Was hat ein Multiplexer in deinen Augen für einen Sinn, wenn du die
Adresse festlegst? Da würdes du ja immer den selben Kanal wählen. Du
musst dem schon sagen, welche Leitung er durchschalten soll.
Wenn du Pins sparen willst, kannst du Counter an die Adressleitungen
basteln. Dann braust du nur eine Leitung pro Multiplexer, um Adresse
weiter zu schalten und (besser isses) eine Leitung um alle Counter
rückzusetzen (falls du dich mal "verzählst").

Dann fehlen da noch unheimlich viele Abblockkondensatoren: jeweils 1x
100n zwischen jeden GND und VCC Pin ist das übliche Maß, möglichst nahe
am VCC Pin.

von Heiner B. (karadur)


Lesenswert?

Hallo

die Multiplexer sind aber nicht geeignet den LED-Strom zu führen

von Stephan Walter (Gast)


Lesenswert?

Zumindest nicht acht LEDs gleichzeitig, aber wegen der zwei Multiplexer
ist ja auch immer nur eine an ... sollte schon gehn, wenns nicht gerade
die Luxeon Star Emitter sind.
4051 kann +-10 mA oder so.

von Hannes L. (hannes)


Lesenswert?

Mein Vorschlag:

Die 7 Segmente der Ziffernanzeigen über Widerstände 180 Ohm direkt an
die AVR-Pins (ohne Decoder). Dann für die Stellentreiber zwei
Schieberegister HC(T)595 mit nachgeschalteten ULN2003 oder ULN2803.
Dann muss die Software zwar den Segment-Code ausgeben, was aber über
eine Tabelle kein Problem ist.

Auch die LEDs lassen sich auf diese Art gut ansteuern. LEDs und
Zifferanzeigen über einen Port (mit 3 Schieberegistern und
ULN-Treibern) könnte etwas viel werden, da wird die Einschaltphase
jeder einzelnen Ziffer bzw. LED zu kurz (1/24).

Bei getrennten Ports für Ziffern und LEDs genügt eine
Schieberegisterkette (mit Treiber ULN2803), um LEDs und Ziffern
gleichzeitig anzusteuern. Betrachte jede "Stelle" elektrisch einfach
als eine 11-Segment-Anzeige, 7 davon in der Ziffernanzeige, weitere 4
als Einzel-LEDs. Da du schonmal 14 (16) Stufen für die Ziffernstellen
brauchst (also 2 595er und 2 ULN2803), genügen für die 64 LEDs schon 4
Leitungen (Matrix 4x16).

Bei ATMEL gibt es eine Appnote, die zeigt, wie man die Tasten (eine
Matrix 4x4) mit an die Segmentleitungen anschließen kann und die
Abfrage ins Multiplexing einbinden kann. Das lässt sich gut in dein
Projekt einarbeiten.

Alternativ dazu kannst du die Tasten mit an die Stellentreiber
anschließen (statt GND) und (über Dioden zusammengefasst) an einen
Eingang des AVRs legen. Die Entprellung ist dann zwar etwas anders,
aber ohne Weiteres möglich.

Du bräuchtest also für das "Mäusekino":

- 7 Ausgänge für die Ziffernsegmente (über Widerstände) (8 mit DP)
- 4 Ausgänge für die LED-Matrix (über Widerstände)
- 3 Ausgänge für Schieberegister (Data, Clock, Strobe)
- 1 Eingang für die Tasten (mit Dioden entkoppelt)

Also auch nicht mehr, als mit deiner Lösung (16), bei der allerdings
noch die (mindestens 4) Adressleitungen für die Multiplexer fehlen und
dazu gerechnet werden müssen.

An Bauteilen zum Ansteuern der 64 LEDs, 14 Anzeigestellen und bis zu 16
weiterer LEDs bräuchtest du:

-  1 ATMega (DIL 40)
-  2 74HC(T)595
-  2 ULN2803
- 12 Widerstände für Displaysegmente und LEDs
-  6 Dioden zum Entkoppeln der Taster
- einige Keramik-Kondensatoren 100nF

Also bedeutend weniger Teile, da die Transistoren entfallen und
stattdessen 2 ULN2803 eingesetzt werden. Auch die 3 Multiplexer werden
durch nur 2 Schieberegister ersetzt.

Dass jeder Stromversorgungsanschluss eines jeden Digital-Chips (auch
der MAX232!) einen Abblock-Kondensator (100nF Keramik) braucht, der in
Prinzip-Schaltplänen der Lehrbücher nicht eingezeichnet ist, sollte
eine Selbstverständlichkeit sein.
Übrigens benötigen die Spannungsregler auch am Eingang neben dem Elko
einen 100nF Keramik-C, um Schwingneigungen zu unterdrücken. Was der
Spannungsregler in deiner Schaltung bezwecken soll, verstehe ich auch
nicht. Du legst den Eingang an Vcc (also an +5V). Was soll denn dann am
Ausgang des Reglers herauskommen? Die Differenz zwischen
Eingangsspannung und Ausgangsspannung sollte (bei Standardreglern)
mindestens 3V betragen. Das wären dann max 2V am Ausgang, solche Regler
habe ich aber noch nicht gesehen...

Ich sehe gerade, dass du außer den 64 LEDs noch 2 weitere LEDs hast.
Diese können wie einer Ziffernstelle geschaltet werden (wie eine
Anzeige, aber eben mit nur 2 Segmenten), denn es stehen 16
Stellentreiber zur Verfügung (werden auch für die 64 LEDs genutzt), du
hast aber nur 14 Zifferanzeigen angeschlossen. Da wäre also noch Platz
für bis zu 16 LEDs.

Aufgrund des Umfangs der Schaltung empfehle ich, das erstmal in
abgespeckter Form auf einem Steckbrett anzuordnen und zu testen. Es
wäre schade um eine vermurkste Platine dieser Größe.

Was soll das eigentlich mal werden?

...

von Hannes L. (hannes)


Lesenswert?

Noch was vergessen:

Du verwendest die UART (mit MAX232) und einen externen Quarzgenerator.
Wenn du serielle Kommunikation mit üblichen Baudraten betreiben willst,
dann solltest du darauf achten, dass die Frequenz baudratentauglich ist.
Ich würde daher einen Quarz bevorzugen, da diese in Baudratenfrequenzen
verfügbar sind, was bei Quarzoszillatoren nicht immer der Fall ist.
Welche Frequenzen das sind, erfährst du im Datenblatt des AVRs im
Kapitel U(S)ART in den Baudratentabellen. Es sind die "krummen"
Werte, bei denen die Fehlerquote 0% ist.

...

von woodym (Gast)


Lesenswert?

haltet mich für paranoid...

aber du willst da 12 7-segment-anzeigen multiplexen?
und alle sollen was anzeigen? gleichzeitig?
du hast dann nur ein 12'tel der zeit eine segmentanzeige an.
das bedeutet das du hier kräftig strom drauf geben mußt und das
wird der prozessor nicht mehr packen. mit 20 mA ist da nicht mehr viel
zu sehen bei den segmentanzeigen. und vorallem wird das schon richtig
schön flackern wenn du die multiplexfrequenz zu klein ist.

von Dominik Tewiele (Gast)


Lesenswert?

Moin,

also ich würde mir das IC-Grab sparen und einfach 1 bis 3 (hab jetzt
nicht gezäht wieviele LEDs du hast) MAX7219 für die Anzeigen und LEDs
verwenden. Dann kannst du dir außerdem noch den Code für's Multiplexen
sparen und kommst eventuell noch mit nem kleineren Controller aus.
Außerdem kannst du die Helligkeit in 16 Stufen regeln.

Gruß, Dominik

von Christoph Kessler (Gast)


Lesenswert?

Also mit der 35ten Stelle von Pi könnte man schon den Durchmesser des
Weltalls auf einen Atomdurchmesser genau angeben -  was willst du mit
12 Stellen anzeigen ?
73
Christoph

von cdg (Gast)


Lesenswert?

Name:    Anfänger
Projekt: "meine erste Kreation"

Da hoffe ich doch, du hast reichlich Software-Erfahrung.
Besser du beherzigst die vorgenannten Vorschläge klein anzugehen.

Naja, zu den vielen 7-Segmentanzeigen würde eine (DCF-) Uhr pssen.

cdg

von Anfänger (Gast)


Lesenswert?

Die ersten vier Anzeigen sollen die Gradzahl anzeigen die zweiten vier
den Druck die dritten sollen Minuten zählen und die letzten zwei sollen
den CO2 Gehalt darstellen.Die 64er Ledzeile sind 2x32 einmal Volt und
einmal Ampere.
Soll also ein Messgerät werden.Die Anzeige muss micht sehr hell sein da
sie im dunkel betrieben wird.Wenn ich an die Ausgänge des AVR auch noch
T´s mache könnte ich doch den Strom erhöhen,oder??
Den MAX7219 schau ich mir x an.

von Hannes L. (hannes)


Lesenswert?

Mit einem mehrzeiligen LCD wird es vermutlich einfacher.

...

von Anfänger (Gast)


Lesenswert?

Ja hab ich auch schon überlegt aber die sind zu stossempfindlich und
hässlich :-)

von Anfänger (Gast)


Lesenswert?

Der MAX7219 hört sich gut an zumal ich nur 2 bräuchte(was bei dem Preis
auch langt).
Und die Punktanzeige mit Schiebegegister an die low current led´s da ja
im normalbetrieb immer nur 1 leuchtet.
Und das mit die Taste in einer Leitung genial wenn man´s weis.
Wannsinn ich glaub ich muss mich mehr mit sowas beschäftigen bin
normal eher mechanich veranlagt weniger elektrisch aber so ein AVR
ermöglicht ja so einiges hätt nicht gedacht das das alles so flexibel
ist.

von Ludwig W. (lordludwig)


Lesenswert?

wieso sieht das keiner??? Seit wann schließt man den AVR am EINGANG vom
7805 an??? Und der RESET pullup fehlt(weis ned ob das schon jemand
gesagt hat)

von Hannes L. (hannes)


Lesenswert?

> wieso sieht das keiner???

Wieso? - Hab' ich doch bemängelt... Außerdem steht nirgends
geschrieben, das dieser Regler Vcc erzeugen soll. Kann ja auch sein,
dass dieser Regler aus Vcc eine weitere Spannung erzeugen soll. -
Oder?

Mein eigener Text:

> Was der
> Spannungsregler in deiner Schaltung bezwecken soll, verstehe ich
> auch
> nicht. Du legst den Eingang an Vcc (also an +5V).

...

von Anfänger (Gast)


Angehängte Dateien:

Lesenswert?

Na nochmal überdacht! Ich weis nur nicht noch mehr C´s ?? Und ist das
mit dem SPI richtig verödelt?? AH ich seh gerade ich sollte doch alle
offenen Ausgänge auf Masse legen naja mach ich noch.

von Ludwig W. (lordludwig)


Lesenswert?

LED 50 falsch :-)

von Ludwig W. (lordludwig)


Lesenswert?

was sollen die taster deren eine seite ins nichts führt??? ich vermutwe
mal an VCC :-)

von Ludwig W. (lordludwig)


Lesenswert?

sorry bin zu blöd um alles zusammen zu fassen aber woher sollen die
max7219 wissen das gerade sie gemeint sind??? die hängel alle am
gleichen pin

von Ludwig W. (lordludwig)


Lesenswert?

nehme meine letzte frage zurück

von Hannes L. (hannes)


Lesenswert?

Neeeeiiiiinnnnnnnn!!!!!

Offene Ausgänge niemals auf Masse legen! Das ist ein Kurzschluss.

Offene Eingänge legt man auf definiertes Potential, aber keine
Ausgänge.

Das mit den Tastern funktioniert nur, wenn der AVR das Multiplexing
macht. Hier macht aber der MAX das Multiplexing, der AVR weiß also
nicht, wann welcher Taster angesteuert wird. Auch sind die Dioden an
den Tastern falsch, zum Entkoppeln gehören die in Reihe. Dass LED50
falsch ist, weißt du ja schon.

Auf diese Weise wird das nix. Du solltest das Projekt auf Eis legen und
dir erstmal einige Grundlagen aneignen. Mangels "Nürnberger Trichter"
ist das leider mit Arbeit und Zeit verbunden.

...

von Anfänger (Gast)


Angehängte Dateien:

Lesenswert?

So habe nochmals geändert und hoffe das das jetzt passt?? Wenn man es
gesagt bekommt erscheint es immer logisch aber erlesen ist bei dem
Fachchinesich schwierig, es ist halt jeder auf seinem Gebiet
Spezi.DANKE trotzdem die sich meine Kreation antun.

von Hannes L. (hannes)


Lesenswert?

Es ist schon schwierig, eine Schaltung zu begutachten, die nicht auf den
Bildschirm passt. Man verliert dabei schnell den Überblick. Das ewige
Scrollen nervt.

So wie die Schaltung jetzt ist, funktioniert sie auch nicht.

Erkläre uns einfach mal, warum du das so und nicht anders machst. Fang
am besten mit den Tastern an, da kann ich dir z.B. nicht folgen.
Vielleicht kannst du mich ja vom Sinn der Schaltung überzeugen.

Also:
- Wie funktioniert das mit den Tastern?
- Warum sind die Taster nicht nach GND geschaltet mit Pullups nach
  Vcc oder mit den internen Pullups des AVRs?
- Welche Aufgabe haben die Widerstände R5 bis R12 und die Dioden D1
  und D2?
- Warum ist DIN von IC2 an MISO des AVRs angeschlossen?
- Was bedeutet MISO?
- Warum ist DOUT von IC4 an MOSI des AVRs angeschlossen?
- Was bedeutet MOSI?
- Was kommt aus DOUT heraus? Was kann man damit machen?
- Was bedeutet DIN und DOUT?
- Warum haben die diskreten Bauelemente keine Wertangabe?
- Warum haben AVR und MAX232 keine Abblock-Kondensatoren (100nF Ker)?

Wenn du all diese Fragen beantwortest findest du selbst noch etliche
Fehler.

...

von Anfänger (Gast)


Lesenswert?

Mit die tasten hab ich mist gebaut einfach nur die 4x4 Matrix von der
Atmelseite beschnitten,ups.
DOut vom IC4 war Gefühlssache hatte nichts darüber gelesen.
Den Rest hab ich aus der PDF zum MAX7219 MISO=Master In Slave Out, und
wenn ich richtig verstanden habe(scheinbar nicht)DIn schiebt man 24 bit
rein und dann hatt jeder seine 8bit dank DOut??

von Null815 (Gast)


Lesenswert?

Hi

Ich würde mittlerweile zum kleineren AVR greifen... vielleicht nen
Mega8 !?

Und...wer "darf" das eigentlich später programmieren ?

mfg mIcHa

von Anfänger (Gast)


Lesenswert?

Kleiner geht nicht brauche den Rest noch,ich muss "nur" die Schaltung
machen und ich denke ich bin nah dran.Weis nur nicht was an dem SPI
verkehrt ist vermute habe die falschen Pins belegt naja ich lese und
lerne.
Zum programmieren hab ich zum Glück einen Freund der C spricht,der hat
zwar wenig Zeit aber die Schaltung muss erst Ende Mai fertig sein.Ich
wollte mich eigentlich nicht so in die Materie vertiefen weil ich nur
diese Schaltung benötige werde es aber jetzt doch tun da seit dem ich
einen kleinen Blick auf AVR´s werfen konnte begeistert von den
Möglichkeiten bin.
Vieleicht macht sich doch noch jemand die Mühe mir zu erklären was noch
verkehrt ist und ich gelobe zu lernen oder einen "Nürnberger Trichter"
zu erfinden :-)

MFG

von Rick Dangerus (Gast)


Lesenswert?

Den MAX7219 bzw. 7221 habe ich im Einsatz. Allerding lies er sich nicht
mit der SPI-Funktion des ATMega8 ansteuern. Wenn man die Bits selber
wackeln läßt geht es aber.

Um bei den Tastern noch etwas Aufwand zu sparen kannst Du auch die
Variante die Roboternetz nutzt verwenden. Dabei schließt ein Taster
Widerstände in einem Spannungsteilernetzwerk kurz und der Wert des
Spannungsteilers wird über einen Analogeingang abgeriffen. Damit lassen
sich mindestens fünf Tasten an einem Analogport anschließen.

Rick

von Anfänger (Gast)


Lesenswert?

Das mit die 24 bit nehm ich zurück hab herausgefunden das das geistiger
Schrott ist.

von Hannes L. (hannes)


Lesenswert?

- Braucht jeder MAX 8 Bit?
- Oder 12?
- Oder 16?
- Wo kommen die SPI-Daten aus dem AVR raus?
- Was heißt MOSI und MISO?
- Wer ist Master?
- Wer ist Slave?
- Was ist Eingang?
- Was ist Ausgang?

Tipp:
Falls du deine Treiber mit Hardware-SPI ansteuern willst, dann schau
mal in sie STVO zum Thema Einbahnstraßen. ;-)

Wenn du etwas entwickeln willst, dann musst du es verstehen, sonst
wird das ein Lottospiel. Und beim Entwickeln der Hardware muss man auch
schon die Software (zumindest Fragmente davon) im Hinterkopf haben. Der
MAX7219 ist ein tolles Bauteil mit netten Features (mir aber etwas arg
zu teuer, dafür bekomme ich bei Pollin schon ein LCD). Hast du dir mal
den Teil des Datenblattes angesehen, in dem die Ansteuerung beschrieben
ist? Verstehst du es? Kannst du die Software dafür schreiben?

Ich habe den Eindruck, dass du es dir sehr einfach machst. Einfach mal
einen (utopischen) Schaltplan posten und dann solange nachfragen und
ändern, bis jemand sagt, dass es jetzt in Ordnung ist. Das wird so
nicht gehen, du musst schon selbst die Grundlagen erlernen, die dich in
die Lage versetzen, eine solche (relativ komplexe) Schaltung aufzubauen
und zu verstehen.

Fang also klein an. Damit meine ich nicht unbedingt einen kleineren
AVR, die DIL40-Klasse ist schon richtig, da sind (im Gegensatz zur
DIL28-Klasse) die Ports wenigstens vernünftig angeordnet.

- Nimm ein Steckbrett mit Mega16, häng einen MAX7219 mit 8 Digits
  dran und programmiere einen freilaufenden Zähler (Uhr).
- Dann kommen Taster dazu und du nimmst einen Teil der Anzeige, um
  auf die Taster zu reagieren.
- Dann kommt ein Poti an einen ADC, dessen Wert du als Zahlen
  ausgibst.
- Dann den AVR etwas rechnen lassen, um die Zahlen anzupassen.
- Dann nacheinander all deine gewünschten Sensoren anschließen und
  Software dafür schreiben.

Wenn du alle dabei auftretenden Hürden (von denen du heute noch nichts
ahnst!) genommen hast (möglichst ohne "Forumquiz"), dann hast du
genug Wissen, die endgültige Schaltung zu entwerfen. Nix gegen diese
oder jene Frage im Forum, aber dein Quiz wird so nicht mehr lange
laufen.

...

von Anfänger (Gast)


Lesenswert?

16 bit braucht jeder MAX,
Master ist der Atmel,
Slave die 3 MAX,
MOSI=Master Out Slave In,
MISO=Master In Slave Out,
Tja am Rest (I/O)hängt es aber ich werde deinen Rat beherzigen und
klein Anfangen weil ist schon gut zu wissen was man macht.
Danke trotztdem hab seit gestern viel gelernt und das an einem Tag, nur
mit dem Eagle muss ich mal schaun das hab ich aber schon seit
vorgestern.
Ich meld mich wieder keine Frage heute ist nicht alle Tage.

MFG

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.