Serienschaltung von 2 MAX7219

OP (Firma: privat) #5071773
Lesenswert?

Hallo,
ich habe 2 MAX7219 und wollte diese kaskadiert ansteuen.
Das Ansteuen von einem geht problemlos, leider das kaskadieren nicht.
Nach dem Initialisieren sollte jeweils das °C zu sehen sein.

Source hängt an.

Die Verschaltung ist wie im Datenblatt DOUT1>>DIN2.
Das senden der Daten wurde nur verdoppelt.

Ich danke euch für eure Unterstützung.

Grüße Klaus
Angehängte Dateien:
OP (Firma: privat) #5072177
Lesenswert?

Hallo und Danke.

@ Teo: ich habe 2 x 100µ in die Spannungsversorgung eingebaut, leider 
nix.
@ Thomas: beim ersten (man nächsten am MC) leuchten alle Segmente bei 
allen Stellen und am 2. 7&8 Stelle richtig 6. Stelle (L.)  .

Das ganze ist im Moment noch mit einem Steckbrett zusammengesetzt.
Die MAX7219 sind auf Modulen mit je 2x4 7Segmentanzeigen.
Die Brücken hab ich mehrfach kontrolliert. Mit einem geht es ja.

Danke & Grüße Klaus
#5072193
Lesenswert?

Schau mal meinen alten Thread an: 
Beitrag "Tempertur/Feuchte Display/Logger mit ATMega128  SHT75  SD-Karte"
Dort habe ich einen Temp/Feuchte Logger gebaut. In dem Thread hat dann
ein anderer User seinen Aufbau mit zwei kaskadierten MAX7219 gepostet.
Ev. findest Du da einen Hinweis auf Dein Problem.

Noch was zu den MAX7219. Ich kann mich noch erinnern, dass die Dinger
ziemlich empfindlich sind, was die Leitungslängen anbelangt, also die
Verbindung vom Processor zum MAX7219. Wenn die zu lang sind, gibt es
komische Effekte.
Moderator (Firma: Titel) Persönliche Seite #5072218
Lesenswert?

Daniel B. schrieb:
> Ich kann mich noch erinnern, dass die Dinger
> ziemlich empfindlich sind, was die Leitungslängen anbelangt, also die
> Verbindung vom Processor zum MAX7219. Wenn die zu lang sind, gibt es
> komische Effekte.
Eher, wenn sie nicht korrekt terminiert sind. Insbesondere, wenn die 
Taktleitung spinnt. Das kann man aber mit einem Oszi messen...

Im Beitrag "Re: Serienwiderstand bei Hochfrequenz" und im 
Beitrag "Re: Signalproblem bei langem Kabel" gibt es ein paar 
Beispiele dazu.
#5072314
Lesenswert?

Crazy H. schrieb:
> Sind das diese <2€ ebay-Module? Die haben Cs drauf, da mußt dir keine
> Sorgen machen. Wenn ich jetzt C könnte .....
> Hab erst ein Display 4x16 mit 8 MAX7219 gebaut und keine Probleme.

Und die hast Du über SPI angesprochen ? Bei mir ging damals SPI
irgendwie nicht (kann aber auch an mir gelegen haben...).
Habs dann von Hand programmiert, vorallem da im Datasheet auch noch
steht, dass nur der MAX7221 SPI konform sei.
#5072532
Lesenswert?

Daniel B. schrieb:
> Crazy H. schrieb:
> Sind das diese <2€ ebay-Module? Die haben Cs drauf, da mußt dir keine
> Sorgen machen. Wenn ich jetzt C könnte .....
> Hab erst ein Display 4x16 mit 8 MAX7219 gebaut und keine Probleme.
>
> Und die hast Du über SPI angesprochen ? Bei mir ging damals SPI
> irgendwie nicht (kann aber auch an mir gelegen haben...). Habs dann von
> Hand programmiert, vorallem da im Datasheet auch noch steht, dass nur
> der MAX7221 SPI konform sei.

Ja hab ich. XMega256A3U @ 64MHz mit Hardware SPI.
Angehängte Dateien:
OP (Firma: privat) #5074218
Lesenswert?

Hallo zusammen,
Danke für eure Hilfe :-)
Nun das mit den Blockkondensatoren... ich bitte um Entschuldigung.
Die Pause des Bastelns war dann doch größer.

Das mit den Signalen werde ich prüfen. Ich habe einen Logikanalysator 
bemüht...Ich sehe die Probleme :-)
Ich werde das jetzt anpassen und noch mal testen. Bis später.
Angehängte Dateien:
OP (Firma: privat) #5079620
Lesenswert?

Hallo,
testen testen testen.. lesen und probieren...
irgendwie ist der Wurm drin!

Ich hab in der Sendefunktion ein anders Portpin gewählt.

  PORTD &= ~( 1 << PD3 );  // PIN PORTD3 Löschen

nachdem senden wieder hoch:

  PORTD = ( 1 << PD3 );  // PIN3  PORTD setzen

Manchmal klappt es... leider nicht immer.
Ich hab schon alles ausprobiert, jetzt noch das PIN mit einem 
Abschlußwiederstand versehen.

Ich hoffe, es hat jemand eine Idee?
Grüße Klaus
Angehängte Dateien:
OP (Firma: privat) #5089121
Lesenswert?

Hallo zusammen,
Fehler sind gefunden!
Ich hatten den ATMEGA auf einem kleinen Programmerboard mit 
Textoolfassung gesteckt und die Displays mit Kabeln auf ein Steckbrett.
Ich weiß nicht warum, daher kamen die Nadelimpulse auf den CS Signal.

Einen anderen Fehler hab ich auch noch gefunden:
  adr1=0x0C; adr2=0x0C; dat1=0x01; dat2=0x00;  // Normal Operation

Das dat2 = 0x00;(richtig wäre 0x01) ist falsch so das der 1.MAX7219 
dunkel geblieben ist.

@Crazy H.: danke für deine Realisierung, damit wusste ich das es geht 
muss.
Manchmal zählt der Ansporn ;-)


Danke

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren