mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik LED_Laufschrift mit Mega 32 und MAX 7219


Autor: Sebbel L. (langer77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moin moin,

so ich fange hier mal wieder ein Thema an, das glaube ich schon 1000 Mal 
besprochen wurde, nur habe ich für mein problem noch nicht wirklich was 
passendes gefunden!

Ich habe ein ATmega 32 und 3 MAX7219 die ich kaskadiert habe, möchte 
damit drei Matrixen a 8x8 ansteuern, Schaltung ist klar, Matrix sowieso, 
mein Problem ich muss das ganze in C schreiben habe bisher aber nur 
Assemblercodes gefunden mit dennen ich nicht wirklich was anfangen kann, 
hat hier irgendjemand sowas in C schon geschrieben und kann mir dabei 
ein wenig weiter helfen, bin um jede ernstgemeinte Antwort dankbar!!!

s.

Autor: Udo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Sebbel,

na, dann fang doch mal hiermit an:

#include <avr/io.h>
#include <util/delay.h>
#include <stdlib.h>

void transmit(unsigned char, char);

void Load_Low()
{  
  PORTB &= ~(1 << PB4);
}

void Load_High()
{
  PORTB |= (1 << PB4);
}


void SPI_MasterInit(void) {

    DDRB = (1<<PB4)|(1<<PB5)|(1<<PB7);      // set PB4(SS), PB5 (MOSI) and PB7 (SCK) output, all others input

    SPCR = (1<<SPE)|(1<<MSTR);           // enable SPI, Master, set clock rate fck/4  
  
    PORTB |= (1 << PB7)|(1 << PB4);
}

void transmit(unsigned char addr, char data) {
  
  SPDR = addr;                      // Start transmission
  while(!(SPSR & (1<<SPIF)));           // Wait for transmission complete
  
  asm volatile("nop");
 
  SPDR = data;                      // Start transmission
  while(!(SPSR & (1<<SPIF)));            // Wait for transmission complete
}

void test_Init(void)
{
  Load_Low();
  for (int i = 0; i < 3; i++)
  {
  transmit(0x0C,0x01);            // normal mode  transmit(0x0C,0x01);
  }
  Load_High();

int main()
{
  
    SPI_MasterInit();
    _delay_us(10);
    test_Init();
  
    tu was....

      while (1) { 

     _delay_ms(10);

      }

   return 0;

}

Schaltung:
MOSI an DIN vom ersten 7219
CLK  an CLK vom ersten 7219
PB4 (#SS) an LOAD vom ersten 7219

Gruß
Udo

Autor: Sebbel L. (langer77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
erstmal vielen Dank Udo,

hab beim linken aber einige Fehler:

Build started 19.3.2008 at 14:50:44
avr-gcc.exe  -mmcu=atmega32 -Wall -gdwarf-2 -Os -std=gnu99 
-funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -MD -MP 
-MT LED_Laufschrift.o -MF dep/LED_Laufschrift.o.d  -c 
../LED_Laufschrift.c
In file included from ../LED_Laufschrift.c:12:
c:/winavr-20071221/bin/../avr/include/util/delay.h:85:3: warning: 
#warning "F_CPU not defined for <util/delay.h>"
../LED_Laufschrift.c: In function 'test_Init':
../LED_Laufschrift.c:58: warning: 'main' is normally a non-static 
function
../LED_Laufschrift.c: In function 'main':
../LED_Laufschrift.c:64: error: 'tu' undeclared (first use in this 
function)
../LED_Laufschrift.c:64: error: (Each undeclared identifier is reported 
only once
../LED_Laufschrift.c:64: error: for each function it appears in.)
../LED_Laufschrift.c:64: error: expected ';' before 'was'
../LED_Laufschrift.c: In function 'test_Init':
../LED_Laufschrift.c:74: error: expected declaration or statement at end 
of input
make: *** [LED_Laufschrift.o] Error 1
Build failed with 5 errors and 2 warnings...

Autor: Udo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Sebastian,

Der erste Fehler kommt daher das du deine F_CPU nicht definiert hast:
#define F_CPU 'deine Quarzfrequenz'

naja, " tu was " ist nicht unbedingt ein gültiger Befehl in C  :)
War mehr als Platzhalter für dein restliches Programm gedacht....
kannst du ausklammern: //tu was....

Gruß
Udo

Autor: Sebbel L. (langer77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hehe, das hab ich mir auch gedacht, aber merci mal für den anfang!!!

Autor: Sebbel L. (langer77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
jetzt nochwas dummes, wo nem ich meinen clk ab, direkt am quarz den ich 
vor dem mega32 hab  oder gibts da noch nen ausgang den ich 
durchschleifen muss???

Autor: crazy horse (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
den SCL-Pin der SPI-Schnittstelle

Autor: Udo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ups, sorry, das sollte natürlich SCLK nach CLK am 7219 heißen.
Also SCLK von der SPI-Schnittstelle des 32.

Autor: Udo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hehe, crazy horse war schneller....

Autor: crazy horse (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
sagt meine Frau auch immer :-)

Autor: Udo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
grübel.... ist das jetzt gut oder schlecht? ;))

Autor: Sebbel L. (langer77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
sauber jungs, bin begeistert wie schnell das geht, merci

s.

Autor: Udo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
was meinst du jetzt Sebbel?

Autor: Sebbel L. (langer77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ja nix, finds echt saugut das hier geantwortet wird und keine dummen 
sprüche kommen wie man es besser machen könnte oder sonst was, war 
positiv gemeint.

Autor: Sebbel L. (langer77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hab aber immernoch dumme fehlermeldungen, weis da fehlt nochwas im 
programm aber das hängt damit glaub nicht zusammen


Build started 19.3.2008 at 19:50:37
In file included from ../LED_Laufschrift.c:12:
c:/winavr-20071221/bin/../avr/include/util/delay.h:85:3: warning: 
#warning "F_CPU not defined for <util/delay.h>"
../LED_Laufschrift.c:14:1: warning: "F_CPU" redefined
c:/winavr-20071221/bin/../avr/include/util/delay.h:86:1: warning: this 
is the location of the previous definition
../LED_Laufschrift.c: In function 'test_Init':
../LED_Laufschrift.c:58: warning: 'main' is normally a non-static 
function
../LED_Laufschrift.c:74: error: expected declaration or statement at end 
of input
make: *** [LED_Laufschrift.o] Error 1
Build failed with 1 errors and 4 warnings...



hab die cpu frequenz laut avr-gcc tutorial so definiert  #define F_CPU 
[10000000], sollte ja stimmen da ich die taktfrequenz in hertz angeben 
muss sprich 10mhz= 10000000

Autor: Udo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
arbeitest du mit dem AVR-Studio?

Autor: Udo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Da fehlt ein }


void test_Init(void)
{
  Load_Low();
  for (int i = 0; i < 3; i++)
  {
  transmit(0x0C,0x01);            // normal mode  transmit(0x0C,0x01);
  }
  Load_High();


} // das hier

Autor: Udo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
und #define F_CPU  muß

so aussehen:  #define F_CPU 10000000

ohne die [] Klammern

Autor: Sebbel L. (langer77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
jap ich arbeite mit dem avr studio, ok werd ich morgen früh gleich 
ausprobieren und euch berichten,

s.

Autor: Sebbel L. (langer77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
mahlzeit maenners,

melde mich wieder zurück war wegen einer notop meiner freundin, die 
ihren blinddarm rausbekam etwas verhindert!!!

quellcode ist jetzt fehlerfrei, danke udo

Autor: Sebbel L. (langer77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
...jetzt habe ich folgendes problem, das ich mein programm nicht in den 
microcontroller laden kann, benutze den avrisp mkII programmer, bei dem 
beide grünen ledsleuchten, also sollte da ja alles stimmen meine 
frequenz zum isp liegt bei 1000khz, sollte also auch passen, was kan man 
noch falsch machen, benutze das avr studio, hab mein hexfile erzeugt und 
auch richtig ausgewählt,hmmm...hat irgendjeamnd ne antwort??
achso ich benutze einen ATmega32 16PU, hier sollte ich doch dann im 
device einfach den ATmega32 auswählen, oder??

Autor: Sebbel L. (langer77)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
so ich hab jetzt mal die fehlermeldung angehängt, vielelicht bringst ja 
was!!

soden

s.

Autor: Sebbel L. (langer77)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
den isp, hab ich mit dem atmega folgendermassen verbunden, wie oben in 
der tollen zeichnung, habe beim reset gegen 5V einen 10k ohm widerstand 
drin, sollte doch auch passen, oder seh ich das alles falsch???

Autor: Udo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Sebastian,

bei Atmel gibt es folgende Info:

AVR ISP mkII fix:
AVRISP mkII programmers manufactured from 20071012 to 20080130 has a 
missing parameter in the firmware. This causes the AVRISP mkII to not be 
able to communicate with the target AVR. The AVRISP mkII can be fixed by 
upgrading the firmware For procedure details see AVRISP mkII fix note.

Download upgrade package at 
http://www.atmel.no/beta_ware/as4/AVRISPmkIIUpgrade.exe. ...

versuch es mal damit.

Gruß
Udo

Autor: Sebbel L. (langer77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
moin udo,

habe die exe installiert gleiches problem, meinte dann auch das die exe 
die ich von dir hab die 1.06 ist und ich die neuste installieren sollte 
die 1.09, hab ich alles getan nichts verändert, das eeprom lässt sich 
laden übers avr aber das flash nicht, mach ich da wat falsch???

Autor: Sebbel L. (langer77)
Datum:
Angehängte Dateien:
  • preview image for 1.JPG
    1.JPG
    56,1 KB, 446 Downloads

Bewertung
0 lesenswert
nicht lesenswert
hier wieder fehlermeldungen,hab zwei fotos gemacht, das zweite ist im 
nächsten post, hab probleme mit dem flash, mach ich da irgendwelche 
falschen einstellungen oder was ist das

Autor: Sebbel L. (langer77)
Datum:
Angehängte Dateien:
  • preview image for 2.JPG
    2.JPG
    26 KB, 300 Downloads

Bewertung
0 lesenswert
nicht lesenswert
fehlermeldung

Autor: Udo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
das erste Bild sieht doch schon gut aus, der MKII wird scheinbar 
erkannt.
Ins EEprom kannst du nichts brennen, weil du nichts hast was du ins 
EEprom brennen kannst. Dein Code kommt komplett ins Flash.
Zeig mal das Bild der Ordner "Main" und "Fuses"

Autor: Sebbel L. (langer77)
Datum:
Angehängte Dateien:
  • preview image for 3.JPG
    3.JPG
    39,7 KB, 528 Downloads

Bewertung
0 lesenswert
nicht lesenswert
nochwas ich benutze eine ATmega32 16PU finde diesen baustein aber nicht 
unter AVR studio, bringt da auch ne warnung, kann mein ganzes problem 
damit zusammenhänegn???

Autor: Sebbel L. (langer77)
Datum:
Angehängte Dateien:
  • preview image for 4.JPG
    4.JPG
    46,2 KB, 344 Downloads

Bewertung
0 lesenswert
nicht lesenswert
main ist oben, fuse in dem post

Autor: Udo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
also wenn ATmega32 auf der CPU steht ist auch eine drin :))
16 ist die max.Takfrequenz in MHz und P steht DIP-Gehäuse und U für 
unlead, also bleifrei.
Wenn AVRStudio schon Fehlermeldungen bringt, würd ich erst mal da 
schauen, gegebenenfalls gibt es da ein Update: www.atmel.com

Autor: Udo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
also. die ganzen Bilder bringen nichts, da die CPU nicht richtig vom 
AVRStudio erkannt wird. Würde da jetzt auch nichts umstellen an den 
Fuses ect.
Erst mal schauen was mit dem AVRStudio ist.

Autor: Sebbel L. (langer77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
...hmmm, was ich halt komisch finde ist das er im dem unteren fenster 
vom main dann schreibt, signatur blablabla OK, und oben dann wieder 
schreibt WARNING signature dos not match selected device??

Autor: Udo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
dein AVRStudio spinnt.... schau, dass du das erstmal richtig zum laufen 
bekommst

Autor: Sebbel L. (langer77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
allet klar, ich werds mal neuinstallieren, mach des avr studio drauf und 
des gcc bin mal gespannt was dann passiert ;),...meld mich dann wieder

Autor: Udo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
erst das GCC installieren und dann erst, aber die neueste Version von 
Atmel + Servicepacks, AVRStudio installieren

Autor: Sebbel L. (langer77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
also ich hab jetzt vorgehabt die gcc zu installieren danch das avr 
studio, was soll ich von atmel installieren?

Autor: Sebbel L. (langer77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
sprich zuerst winavr, weil da mein gcc drin it und danach das avr studio

Autor: Udo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
genau die Reihenfolge. Soviel ich weiß gibt es von Atmel Servicepacks zu 
dem AVRStudio.

Autor: Sebbel L. (langer77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
oooh man jetzt dreh ich durch, hab zuerst das win avr, danach das avr 
studio installiert, und hab wieder den gleichen mist,

Autor: Udo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
du solltest dir hier:
http://www.atmel.com/dyn/products/tools_card.asp?f...

erst das runterladen und installieren:
AVR Studio 4.13 (build 528) (73 MB, updated 03/07)
dann dieses runterladen und installieren:
AVR Studio 4.13 SP2 (build 571) (45 MB, updated 12/07)

dann eventuell noch mal den USB-Treiber für den MKII und die Updates für 
das MKII.

Wie deinstallierst du? hoffentlich über Start/Einstellungen/Software

Autor: Sebbel L. (langer77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
logisch über software,

ich hab runtergeladen, das:

1. AVR Studio 4.13 (build 528
2. AVR Studio 4.13 SP1 (build 557)
3. AVR Studio 4.13 SP2 (build 571)

genau in der reihenfolge habe ich auch installiert, zuvor das winavr.

Autor: Udo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich hab hier leider kein AVRStudio, kann ich erst heute abend 
nachschauen was alles kontrolliert (eingestellt) werden muß im 
AVRSTudio.

Autor: Thomas W. (thomasw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moin!

Zu den Programmierproblemen:
Kann es sein, dass du die Software für einen anderen Prozessor als den 
mega32 kompilierst? Das muss vorher noch an anderer Stelle eingestellt 
werden. Habe gerade kein AVR-Studio zur Hand um den Pfad zu nennen. War 
aber irgendwas mit "Konfiguration" (?).

Welcher Prozessor momentan ausgewählt ist kannst du auch im Makefile 
angucken.

MfG

Autor: Sebbel L. (langer77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hmm,
also ich hab da schon den atmega32 eingestellt unter dem avr studio, 
aber das blöde ist ja wie oben schon beschrieben, das er im unteren teil 
des fensters meint signatur ist ok und oben sagt er mir was vonwegen 
warning, signature dos not match selected device, man man kann es sein 
das mein avrisp mkII einen schuss hat, das ist doch echt zum haare 
verleiren, macht mich echt fertig, zumal ich ja gerade erst angefnagen 
hab mit dem ganzen scheiss und dann am anfang gleich so probleme

s.

Autor: Thomas W. (thomasw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Fehlermeldung würde ja auf meinen Hinweis deuten. Du kannst die 
Signatur des angeschlossenen mega auslesen. Ist ja auch ok. Wenn du nun 
aber versuchen willst zu Flashen, sagt er dir, dass die Software nicht 
für den AVR passt, dessen Signatur du ausgelesen hast.

Die Auswahl des Prozessors in dem Programmiermenü, von dem du oben die 
Screenshots gemacht hast, ist was anderes als die Auswahl des Prozessors 
für den compiler.

Guck dir mal das make-File an, das irgendwo in dem Projektordner sein 
muss. Da steht drin für welchen AVR der Code kompiliert wird.

Autor: Sebbel L. (langer77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
egal was ich ändern und übertragen will auch wenn es nur die fusebits 
sind, bringt immer die gleiche fehlermeldung, wie oben schon eingefügt,
der isp stecker ist auch so beschaltet wie überall beschrieben, habe 
oben auch ein bild eingefügt, habe eine 10k ohm gegen 5V am reset.

Autor: Sebbel L. (langer77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ok, danke wieder was gelernt, habe hier mal das makefile:


######################################################################## 
#######
# Makefile for the project LED_Laufschrift
######################################################################## 
#######

## General Flags
PROJECT = LED_Laufschrift
MCU = atmega32
TARGET = LED_Laufschrift.elf
CC = avr-gcc.exe

## Options common to compile, link and assembly rules
COMMON = -mmcu=$(MCU)

## Compile options common for all C compilation units.
CFLAGS = $(COMMON)
CFLAGS += -Wall -gdwarf-2 -std=gnu99 -DF_CPU=10000000UL -Os 
-funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums
CFLAGS += -MD -MP -MT $(*F).o -MF dep/$(@F).d

## Assembly specific flags
ASMFLAGS = $(COMMON)
ASMFLAGS += $(CFLAGS)
ASMFLAGS += -x assembler-with-cpp -Wa,-gdwarf2

## Linker flags
LDFLAGS = $(COMMON)
LDFLAGS +=  -Wl,-Map=LED_Laufschrift.map


## Intel Hex file production flags
HEX_FLASH_FLAGS = -R .eeprom

HEX_EEPROM_FLAGS = -j .eeprom
HEX_EEPROM_FLAGS += --set-section-flags=.eeprom="alloc,load"
HEX_EEPROM_FLAGS += --change-section-lma .eeprom=0 --no-change-warnings


## Objects that must be built in order to link
OBJECTS = LED_Laufschrift.o

## Objects explicitly added by the user
LINKONLYOBJECTS =

## Build
all: $(TARGET) LED_Laufschrift.hex LED_Laufschrift.eep 
LED_Laufschrift.lss size

## Compile
LED_Laufschrift.o: ../LED_Laufschrift.c
  $(CC) $(INCLUDES) $(CFLAGS) -c  $<

##Link
$(TARGET): $(OBJECTS)
   $(CC) $(LDFLAGS) $(OBJECTS) $(LINKONLYOBJECTS) $(LIBDIRS) $(LIBS) -o 
$(TARGET)

%.hex: $(TARGET)
  avr-objcopy -O ihex $(HEX_FLASH_FLAGS)  $< $@

%.eep: $(TARGET)
  -avr-objcopy $(HEX_EEPROM_FLAGS) -O ihex $< $@ || exit 0

%.lss: $(TARGET)
  avr-objdump -h -S $< > $@

size: ${TARGET}
  @echo
  @avr-size -C --mcu=${MCU} ${TARGET}

## Clean target
.PHONY: clean
clean:
  -rm -rf $(OBJECTS) LED_Laufschrift.elf dep/* LED_Laufschrift.hex 
LED_Laufschrift.eep LED_Laufschrift.lss LED_Laufschrift.map


## Other dependencies
-include $(shell mkdir dep 2>/dev/null) $(wildcard dep/*)


wie gesagt benutze eine atmega32 16PU also sollte es ja passen wie es 
oben beschrieben ist unter MCU =atmega32

Autor: Thomas W. (thomasw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hmm, daran kanns also nicht liegen.

Achso, ich sehe gerade, dass die Signatur doch nicht richtig gelesen 
wurde. Kommen ja nur Nullen raus. Dann würde ich mein Augenmerk nochmal 
auf die Verkabelung richten. Hast du mal durchgemessen, dass auch 
Kontakt vom Programmierstecker zum zugehörigen AVR-Pin besteht und das 
keine Kurzschlüsse zwischen den Leitungen besteht?

Ich habe selbst noch nicht viel mit dem SPI-Bus gemacht. Wie sieht es 
denn mit der Beeinflussung der MAX 7219 auf den Programmieradapter aus?

Autor: Sebbel L. (langer77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
durchmessen werd ich das alles jetzt auch nochmal, beeinflussen sollte 
sich da nix, da es egal ist ob die max7219 gesteckt sind oder nicht!!!

Autor: Sebbel L. (langer77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
also hab es durchgemessen und des passt soweit alles, ich kann ja 
eigentlich fast alles machen ausser des flash programmieren, fusebits 
setzen,

Autor: Thomas W. (thomasw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
In deinem Posting von "25.03.2008 12:28" kann man die Fuses ja sehen. 
Und da hat er auch nur Nullen gelesen. Oder liest er die manchmal auch 
richtig?

Autor: Sebbel L. (langer77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hab jetz auch mal nen andere prozessor gesteckt, also nen anderen mega32 
das gleiche problem

Autor: Sebbel L. (langer77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
des weis ich ja nicht wirklich,
wollte die fusebits so setzen das er meine externe quartz erkennt, aber 
des macht er auch nicht, ich find des alles sehr komisch weil irgendeine 
verbindung hab ich ja zu dem prozessor

Autor: Sebbel L. (langer77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
...so hab jetzt auch nochmal die avr checkliste durch, alles wie es 
beschrieben ist getan, bzw. war schon vorhanden.

nochmal zu meinem isp stecker:
pin1 = MISO
pin2 = +5V
pin3 = SCK
pin4 = MOSI
pin5 = RESET
pin6 = GND

das sehe ich doch richtig so,.....habe zwar einen 10polige gegenstelle 
auf meiner platine verauen müssen aber da geht das kabel ja auch rein 
und ja ich habe den pin 3 als meine 1 genommen, da ja 10polig, sprich 
alles verschoben!

Autor: Thomas W. (thomasw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moment. Verstehe ich das richtig, dass du den 6poligen Stecker in die 
10polige Buchse gesteckt hast? Oder hast du dir ein Adapterkabel gebaut?

Die Gegenüberstellung der 10poligen und 6poligen Steckerbelegung findest 
du hier:
AVR In System Programmer

Autor: Sebbel L. (langer77)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
nein nein, da die 6 polige buchse nicht so leicht zu finden ist(die die 
ich auf meiner platine verbaut habe), habe ich eine 10 polige genommen, 
bei der ich die ersten zwei und die lezten zwei pins abgeschnitten habe, 
sprich 1und2, 9und10, was ich sagen wollte ist das ich auf dem 
ehemaligen pin 3 an der buchse jetzt mein pin 1 habe, papelapap, des 
passt schon so, hab einfach ne 10polige buchse genommen den 6poligen 
stecker da rein gesteckt und entsprechend der pinbelegung für den 
6poligen abgegriffen wie im bild das ich eingefügt habe!!!!

Autor: Sebbel L. (langer77)
Datum:
Angehängte Dateien:
  • preview image for 1.JPG
    1.JPG
    11,5 KB, 337 Downloads

Bewertung
0 lesenswert
nicht lesenswert
so männers, habe gegoogelt und durch glück hierdrauf gestossen aber nur 
weil ich vorher die fehlermeldung hatte,(oben)

dann bin ich auf diesen Kommetar gestossen und es hat geholfen, man man 
war das ne geburt!!!

----------------------------------------------------
Das Problem könnte an der Chip Revision liegen.
Im ct-Bot Forum hatten wir dasselbe Problem.

Problem ist wohl, dass sich die Fuses bei fabrikfrischen Chip mit 06xxx 
Revision nicht korrekt lesen lassen.
Probier mal:
* ISP Frequenz so niedrig wie möglich einstellen (max. 250kHz).
* Danach einen Chip Erase ausführen
* Dann kann man die Fuses setzen und die ISP Frequenz wieder hochsetzen 
und alles ist OK.
----------------------------------------------------

so jetzt weiter im programm, habe jetzt zumindest feststellen können das 
alles was ich vorher getan hatte richtig war,das baut doch auf ;)

gruss s.

Autor: Udo S. (udo)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Sebastian.

Glückwunsch...
Bin gerade rein und hab deinen Erfolg gesehen.
Das war natürlich ein blöder Fehler. :(

Gruß
Udo

Autor: Sebbel L. (langer77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
fotos folgen morgen, vom ersten Funktionstest, man man war des ne 
Geburt!!!

Autor: Udo S. (udo)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hast du denn schon im Programm weiter gemacht?

Autor: Sebbel L. (langer77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
nicht wirklich, da werd ich morgen dran basteln, habe mich die letzten 
zwei tage mit dem fehler beschäftigt, an mir selbst gezweifelt aber 
morgen geh ich das an, funktion der matrix hab ich aber, es leuchten mal 
zumindest alle Leds ;),dann mal nen schönen abend noch, muss ins 
krankenhaus,

s.

Autor: Sebbel L. (langer77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
moin moin,

hab da nochmal ne Frage am Rande, brauch ich am Ausgang meines 
Mikrocontrollers und an den DIN Eingängen der MAX7219, Pullup, bzw. 
Pulldownwiderstände???
Denke doch schon, bin mir aber nicht so sicher!

Gruss

s.

Autor: Udo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
du solltest am ersten Modul einen 10k PullUp an Din anschalten und an 
jeden Dout einen. An SCLK und LOAD kommt am letzen Modul je ein 10K als 
PullUp.

Gruß
Udo

Autor: Udo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nachtrag: wichtig! an jedem 7219 muß direkt am 
Versorgungsspannungsanschluss ein 100nF und ein 10µF parallel, gegen 
Masse geschaltet werden.

Autor: Udo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Sebbel L. (langer77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
moin udo,
sieht sauber aus deine anzeige, respekt, das mit den kondensatoren hatte 
ich schon, aber danke,
hab an den MAX7219 auch noch 22k widerstände von 5V auf Pin 18,
werd jetzt aber mal die pullups noch einlöten ;)

s.


achja Bilder wollt ich ja auch noch posten, kommt demnächst

Autor: Sebbel L. (langer77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
so da bin ich wieder, bist dir da ganz sicher mit den PULLUP, sprich 
gegen +5V Widerständen, hab jetzt wieder ganz komische probleme!!!

Autor: Udo S. (udo)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Sebastian,

sehr schön aufgebaut deine Schaltung. Sieht gut aus.

Die Kondensatoren sollten nur so nah wie möglich an die 7219 ran. Das 
ist sehr wichtig.
Wir gesagt, die Pullups genau so wie ich es oben beschrieben habe. 
Allerdings könnte es in deinem Fall kontraproduktiv sein, da wegen dem 
Aufbau auf Lochrasterkarte und der damit bedingten Leiterbahnführung die 
Spannungsversorgung und Datenleitungen mit der Multiplexfrequenz des 
7219 verseucht sind. Wenn du ein Scope hast, das mal messen. 
Gegebenenfalls direkt am IC auf der Leiterbahnseite nochmal mit 
zusätzlichen Kondensatoren die Spannungsversorgung abblocken.

Gruß
Udo

Nachtrag: achte beim einstellen von Bildern auf die Dateigröße. Evtl. 
das png Format wählen, zumindest aber bei jpg komprimieren. Sonst gibt 
es Ärger mit den Mod's

Autor: Sebbel L. (langer77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
....hehehe


alles klar werde drauf achten,(mit den Pics)
dann würd ich sagen sollte ich das Ding mal ätzen, funktionieren tut es 
ja, hab mir schon gedacht das es nicht so toll ist auf lochraster 
aufzubauen, aber zum ersten mal testen geht des ja;)

s.

Autor: Sebbel L. (langer77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wiedermal ne grundsätzliche Frage,


ich muss mir doch ein array anlegen in dem ich mein text speicher, 
diesen text bzw dieses array muss ich dann irgendwie mit dem ascii-code 
bzw generator verbinden, so dann hab ich das irgendwie, gott weis wie,
die andere sache ist ja das ich mir register anlegen muss die die werte 
immer ein register weiterschieben, damit das ding dann auch läuft, oder 
seh ich das jetzt mal grundsätzlich falsch???

gruss

s.

Autor: Udo S. (udo)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
du wirst, wenn du Text anzeigen willst, erstmal eine Datei anlegen 
müssen, wie z.B: Zeichensatz.h .In dieser Datei legst du dann die 
hex-Daten für die einzelnen Zeichen ab, so wie in diesem Beispiel:

#ifndef h_zeichensatz
#define h_zeichensatz

unsigned char ch_32[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};  // Code for char Space 
unsigned char ch_33[8] = {0x00, 0x00, 0x00, 0x7D, 0x00, 0x00, 0x00, 0x00};  // Code for char !
unsigned char ch_34[8] = {0x00, 0x00, 0x60, 0x00, 0x60, 0x00, 0x00, 0x00};  // Code for char "
unsigned char ch_35[8] = {0x00, 0x14, 0x7F, 0x14, 0x7F, 0x14, 0x00, 0x00};  // Code for char #

unsigned char ch_36[8] = {0x00, 0x32, 0x49, 0xFF, 0x49, 0x26, 0x00, 0x00};  // Code for char $
unsigned char ch_37[8] = {0x00, 0x32, 0x34, 0x08, 0x16, 0x26, 0x00, 0x00};  // Code for char %
....
....
....

unsigned char* Zeichentabelle[256];

void static Zeichentabelle_Initialisieren()
{
  Zeichentabelle[32] = ch_32;
  Zeichentabelle[33] = ch_33;
  Zeichentabelle[34] = ch_34;
  Zeichentabelle[35] = ch_35;
  Zeichentabelle[36] = ch_36;
  Zeichentabelle[37] = ch_37;
.....
....
....
}
#endif

wobei die 32..33..34... jeweils für den dezimalen ASCII-Code des 
Zeichens steht.

diese Datei bindest du dann so in deine .c ein:
#include "Zeichensatz.h"

Damit hast du jetzt erst mal genug Beschäftigung.... :)

Der Ansatz alles in ein Register und dann das Register schieben ist 
falsch.
Besser ist, das ganze zu Berechnen. Aber dazu später.

Gruß
Udo

Autor: Sebbel L. (langer77)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
moin moin,

sag mal udo, die höhe der zeichen die du oben angegeben hast ist doch 
8zeilig,oder??? wie hoch sind die buchstaben 6 zeilig??? der erste wert 
ist ja die oeberste zeile,oder??
ich hab da was gefunden, aber denke das funzt nicht so ganz, hast du 
alles von hand gemacht, jedes zeichen??? wenn ja junge junge das ist ja 
ein ganzes stück arbeit, gehen die buchstaben bei dir erst in der 
zweiten zeile von unten los, da man ja irgendwie ein komma machen möchte 
und dies ja tiefer sitzt!!!!
gruss

s.

Autor: Sebbel L. (langer77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
sehe ich das richtig das du spalten weise durch gehst und nicht 
zeilenweise,so sieht es zumindest bei dem ! aus, da sind ja die ersten 
zwei spalten aus in der dritten ist dann das ! und dann sind die letzten 
4 spalten wieder aus, oder hab ich das jetzt falsch interprtiert???

gruss

s.

Autor: Udo S. (udo)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Sebastian,

Ja, ich gehe Spaltenweise vor, vorgegeben durch den internen Aufbau der 
Register beim 7219.
Für die 8x8 Matrix wird der 7219 im "no decode" - Modus betrieben.
Dadurch ergibt sich, dass jede Spalte = Digit0 bis Digit7 = Adresse, mit 
einem entsprechen Wert im Data-Register beschrieben wird. Die Zuordnung 
sieht so aus ( lt.Datenblatt):
z.B.: Digit 0, also die ganz rechte Spalte, das hat die Adresse 0x01. 
Füllst du das dazugehörige Datenregister z.B. mit: 0xFF , leuchten alle 
LED's in dieser Spalte. D.h., das Wort, dass du dem 7219 sendest, muss 
also 0x01FF sein. Die Berechnung des Daten-Wertes für eine Spalte sieht 
so aus:

X  = D7 = MSB = Wertigkeit: 8 dezimal
X  = D6 =       Wertigkeit: 4 dezimal
X  = D5 =       Wertigkeit: 2 dezimal
X  = D4 =       Wertigkeit: 1 dezimal
X  = D3 =       Wertigkeit: 8 dezimal
X  = D2 =       Wertigkeit: 4 dezimal
X  = D1 =       Wertigkeit: 2 dezimal
X  = D0 = LSB = Wertigkeit: 1 dezimal

Der ermittelte dezimale Wert muss dann natürlich in Sedezimal gewandelt 
werden.

Wie du deinen Zeichensatz jetzt erstellst, ob die Zeichen nur 1 Zeilig 
oder 8 Zeilig hoch sind, bleibt dir überlassen.
Die Spaltenbreite für jedes Zeichen kannst du auch variieren. Das wird 
natürlich von der Logik her schwieriger, die Zeichen dann aneinander zu 
fügen. In meinem Beispiel im oberen Post bin ich von einer festen 
Zeichenbreite von 8 Spalten ausgegangen.

Ich hatte mir hier: http://www.pocketmt.com/ die Demoversion des GLCD 
Font Creator's gezogen, damit können immer 15 Zeichen erstellt und auch 
ausgegeben werden. Aber Achtung, für die Verwendung beim 7219 müssen die 
erstellten Zeichen vor der Ausgabe horizontal gespiegelt werden.

>wenn ja junge junge das ist ja ein ganzes stück arbeit, snip....

Hab ich nicht gesagt, dass du erst mal genug Beschäftigung hast..... :))

Gruß
Udo

Autor: Sebbel L. (langer77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
looool,
alles klar, hab bis jetzt 88 zeichen erstellt, alle 8 splaten breit, 
wobei mir gleub ich 5 spalten für alle zeichen und zahlen und 
sonderzeichen langen würden, hmmm, werd mal weitermachen,

kanns dir ja mal zeigen oder schicken!


hab auch noch kein schimmer wie ich das mit dem laufen dann realisieren 
kann, das sich die buchstaben durchschieben.

s.

Autor: Udo S. (udo)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>hab auch noch kein schimmer wie ich das mit dem laufen dann realisieren
>kann, das sich die buchstaben durchschieben.

kommt Zeit, kommt Rat.....

also die Tastaturzeichen solltens wohl schon alle sein, oder?

Gruß
Udo

Autor: Sebbel L. (langer77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ja,
 hab jetzt mal 98 zeichen gemacht, buchstaben a-z (groß und klein), dann 
ä,ö,ü (gross und klein), zahlen von 0-9, sonderzeichen, jetzt langt es 
;)

s.

Autor: Udo S. (udo)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Sebastian,

mir ist da noch was eingefallen. Um Platz im Ram zu sparen wäre es 
sinnvoll das die Zeichen aus dem Programmspace nicht ins RAM geholt 
werden. Dazu müßte die Zeichentabelle aber ergänzt werden:

#ifndef h_zeichensatz_neu
#define h_zeichensatz_neu

#include <avr/pgmspace.h>

unsigned char PROGMEM ch_32[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};  // Code for char Space 
unsigned char PROGMEM ch_33[8] = {0x00, 0x00, 0x00, 0x7D, 0x00, 0x00, 0x00, 0x00};  // Code for char !
unsigned char PROGMEM ch_34[8] = {0x00, 0x00, 0x60, 0x00, 0x60, 0x00, 0x00, 0x00};  // Code for char "
unsigned char PROGMEM ch_35[8] = {0x00, 0x14, 0x7F, 0x14, 0x7F, 0x14, 0x00, 0x00};  // Code for char #
unsigned char PROGMEM ch_36[8] = {0x00, 0x32, 0x49, 0xFF, 0x49, 0x26, 0x00, 0x00};  // Code for char $
unsigned char PROGMEM ch_37[8] = {0x00, 0x32, 0x34, 0x08, 0x16, 0x26, 0x00, 0x00};  // Code for char %
unsigned char PROGMEM ch_38[8] = {0x00, 0x22, 0x55, 0x49, 0x55, 0x22, 0x05, 0x00};  // Code for char &
unsigned char PROGMEM ch_39[8] = {0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00};  // Code for char '
unsigned char PROGMEM ch_40[8] = {0x00, 0x00, 0x3C, 0x42, 0x81, 0x00, 0x00, 0x00};  // Code for char (
unsigned char PROGMEM ch_41[8] = {0x00, 0x00, 0x00, 0x81, 0x42, 0x3C, 0x00, 0x00};  // Code for char )
........
........

unsigned char* Zeichentabelle[256]; // hier sollte nichts geändert werden, egal wieviel Zeichen oben definiert sind

void static Zeichentabelle_Initialisieren()
{
  Zeichentabelle[32] = ch_32;
  Zeichentabelle[33] = ch_33;
  Zeichentabelle[34] = ch_34;
  Zeichentabelle[35] = ch_35;
  Zeichentabelle[36] = ch_36;
......
......

Gruß
Udo

Autor: Sebbel L. (langer77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo,

was ich nochmal fragen wollte das horizontal spiegeln, kann ich das 
übers programm machen, oder muss ich das von hand machen???

gruss

s.

Autor: Udo S. (udo)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
das kannst du in dem Font Creator machen und musst das nur spiegeln, 
wenn du die Zeichen mit dem Font Creator erstellst.

Autor: Sebbel L. (langer77)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
ochne, oder??

d.h. ich muss alle zeichen nochmal neu machen, ich dreh durch,

hmmm, das was ich später an den max7219 schicke vom mega32 ist doch das 
D0-D15, ist es dann nicht so das es mit D0 losgeht, oder fängt D0 an der 
8ten Stelle an und geht dann nach links mit D1, D2, D3 weiter???

entweder verstehe ich dich gerade nicht,oder wir missverstehen uns?? ich 
hab mal ein bild zugefügt und dein $ zeichen eingezeichnet, wenn du die 
werte so benutzt und ich so auch vorgegangen bin, passt es doch!!! die 
roten punkte sind die eingeschaltetn LEDS ;)


gruss

s.

Autor: Udo S. (udo)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Sebastian,

wenn du die Zeichen so wie in deinem Beispiel erstellt hast, ist alles 
o.K.

Zu deiner Frage wie die Zeichen zum 7219 gesendet werden:
Der 7219 erwartet als erstes Bit das MSB, also D15, da du immer ein 
Wort, also 16 Bit, senden musst. Davon stellt D15 bis D8 die Adresse dar 
und D7 bis D0 deine Daten (das Zeichen).

Gruß
Udo

Autor: Sebbel L. (langer77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
mahlzeit,

ok das hab ich soweit verstanden, melde mich morgen wieder da ich grad 
noch ne kleine baustelle habe.

gruss

s.

Autor: Sebbel L. (langer77)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
mahlzeit,

du udo das was du etwas oben gemeint hast mit: wobei die 32..33..34... 
jeweils für den dezimalen ASCII-Code des Zeichens steht. versteh ich 
nicht so ganz, hab das jetzt mal fertig gemacht würd mich interessieren 
ob es stimmt was ich gemacht habe!!! hab es angehängt ;)

gruss

s.

Autor: Udo S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Sebastian,

schau mal hier: http://de.wikipedia.org/wiki/ASCII-Tabelle

und dann fehlt noch das "PROGMEM" hinter unsigned char

Gruß
Udo

Autor: Sebbel L. (langer77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
mahlzeit udo,


also heist das für mich das ich im oberen teil überall die richtigen 
zahlen eintragen muss sprich

unsigned char ch_1[8]  ={0x00, 0x3F, 0x44, 0x44, 0x3F, 0x00, 0x00, 
0x00};  // Code for char A   wird dann-->
 unsigned char ch_65[8]  ={0x00, 0x3F, 0x44, 0x44, 0x3F, 0x00, 0x00, 
0x00};  // Code for char A


usw.



und bei der tabelle heist es dann für z.B A

Zeichentabelle[65]  = ch_65;


und das mit dem  "Progmem" ist dann so gemeint?


unsigned char ch_65[8] PROGMEM  ={0x00, 0x3F, 0x44, 0x44, 0x3F, 0x00, 
0x00, 0x00};  // Code for char A

gruss

s.

Autor: Sebbel L. (langer77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo,
ich nochmal

hast du das € zeichen als ASCII, find des nicht, entweder hab ich einen 
alten ASCII satz hier, oder es gibt es nicht???

s.

Autor: Udo S. (udo)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Sebastian,

richtig, bis auf PROGMEM.

Das muss so aussehen:

unsigned char PROGMEM ch_128[8] = {0x00, 0x14, 0x3E, 0x55, 0x55, 0x41, 0x00, 0x00};  // Code for char EURO

// und im unteren Teil:

Zeichentabelle[128] = ch_128;


Es gibt alle Zeichen, schau mal hier:
http://www.torsten-horn.de/techdocs/ascii.htm

Gruß
Udo

Autor: Udo S. (udo)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Sebastian,

Einen Jumper für die Baudrate? Was für eine Baudrate meinst du?

Zum Stromlaufplan:

Am IC4 PIN DOUT , der Widerstand kann entfallen.
Am IC4 PIN CLK , den Widerstand gegen Masse schalten. (Ich weiß, ich 
habs vorher anders gesagt, sorry. )
Am IC1 von PIN 9 einen Kondensator: 100nF, gegen Masse schalten.

Gruß
Udo

Autor: Sebbel L. (langer77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
mahlzeit,

hmm, am pin 9 von ic1 hab ich doch vor dem widersatnd einen 100nF 
kondensator, oder muss noch direkt davor einer , kann ich eigentlich 
noch einen externen reset-taster einbasteln, den muss ich ja entprellen 
dann, oder???


gruss

s.

Autor: Udo S. (udo)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Sebastian,

der Kondensator, den du vor dem Widerstand geschaltet hast, liegt 
zwischen Vcc und GND und dient als Abblockondensator für IC1. Für eine 
vernünftige Resetfunktion brauchst du neben dem Widerstand noch einen 
Kondensator von 100nF direkt von Pin9 gegen GND. Parallel zu diesem 
Kondensator kannst du natürlich auch einen Tastkontakt setzen, als 
manuellen Reset. Der braucht auch nicht entprellt werden.

Gruß
Udo

Autor: Sebbel L. (langer77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
moin moin,

so da bin ich mal wieder hatte nicht soviel zeit in der letzten zeit 
;)....meine platine ist fertig und geht nicht, bringt wieder die 
fehlermeldung
entering programm mode,..failed,...ich hab zu meiner lochrasterplatine 
nix verändert, nur mehr masseflächen, ich versteh die welt nid,.. werds 
nochmal(5000mal) durchmessen,

soden

s.

Autor: Sebbel L. (langer77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich verstehs echt nicht,

hab nur die änderungen drinne wie du oben gesagt hast, auf meiner 
lochraster ist es aber nicht gannz so, da  ist es wie das schaltbild was 
ich gepostet habe, versteh des nicht,
schaltung hab ich jetzt 5 mal durchgemessen, kein plan was da falsch 
sein sollte,, ich poste mal ein foto der platine
s.

Autor: Udo S. (udo)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Sebastian,

ich kann in deinem Stromlaufplan auch nichts Fehlerhaftes entdecken.
Da wirst du deine Leiterplatte noch mal genauer unter die Lupe nehmen 
müssen. Evtl. Haarrisse in den Leiterbahnen, Kurzschlüsse beim Löten 
etc.
Zum Programm hab ich mal was angehängt.

Gruß
Udo

Autor: Sebbel L. (langer77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo udo,

erstmal danke, könnte vielleicht ein haarris sein, mal 
schauen....vielleicht liegt es aber auch an der leitungsführung vom 
stecker zum controller, muss ich mal testen.

gruss

s.

Autor: an3ma (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So nebenbei erwähnt, man kann als Treiber auch MAX6960 benutzen. Hat 
paar nette Spielereien wie Fading, Negierung, auch bicolour ist möglich. 
Ein Treiber steuert zwei 8x8-Monocolour, bzw. eine 8x8-bicolour. Ich 
hatte sowas im Rahmen eines Schulprojekts aufgebaut (3xMAX6960 mit 6 8x8 
Matrizen und ATMega16) und es hat nicht schlecht funktioniert. MAX6960 
habe ich im Handel noch nie gesehen, aber man kann bei Maxim paar 
Samples bestellen (ich hatte damals jeweils 8 von 6960, -61, -62 und -63 
bekommen). Aber ich rate zu 6960, weil mit 6962 hatte ich Probleme.
Damals war es meine erste Erfahrung mit µc.

Autor: an3ma (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Noch vergessen eine Seite, ich zum Einstieg verwendet habe: 
http://metalab.at/wiki/MetaLEDs

Autor: Sebbel L. (langer77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
moin udo,

das angehängte sieht ja ganz gut aus, aber lauffähig ist das nicht 
unbedingt, versuch des gerade zu verstehen ;)

gruss

s.

Autor: Udo S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Sebastian,

also bei mir läuft es.

Gruß
Udo

Autor: Sebbel L. (langer77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hmm,
ok,loooool,......dann ist mein problem wieder mal vor der tastatur ;)

dann muss ich mal schauen was ich falsch gemacht habe, bzw. gemacht 
haben könnte

gruss

s.

Autor: Sebbel L. (langer77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
moin, moin,...
so morgen werd ich meine neue platine ausprobieren, hoffe die funst dann 
;).....werd mich dann wieder melden, soden udo, bis morgen

s.

Autor: Sebbel L. (langer77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
mahlzeit,

da bin ich wieder, Platine funst wieder :).....dank meinem 
Elektronik-Händler  habe ich jetzt einge Zeit mit Fehlersuche verbracht, 
Platine überarbeitet und neu geätzt, half alles nichts, da die zwei 
kondensatoren die ich beim dem Superhändler gekauft hatte anstatt 22pf 
220pF hatten, was zur Folge hatte das mein Quarz nicht schwingte und 
mein Prozessor somit nicht funste, da ich den fehler bei mir suchte und 
nicht beim dem Superelektronikshop, hat das jetzt alles etwas länger 
gedauert ;),......kurz und knapp ich könnte kotzen, wahnsinn,

gruss

s.

Autor: Udo S. (udo)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Sebastian,

nicht ärgern, nur lernen.
Ist doch toll, dass du den Fehler gefunden hast!

Gruß
Udo

Autor: Sebbel L. (langer77)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
nabend,

ja des ist schon klar, freut mich ja auch, aber es ärgert mich halt 
irgendwie tierisch das es an einem falschen bauteil lag,

zwecks meiner verkabelung hab ich da nochmal ne frage ich habe jetzte 
alle kathode in spalten aufgeteilt, woran dann die d0-d7 angeschlossen 
werden, sprich d0 ist ganz rechts und d7 eben ganz linke spalte, stimmt 
oder??
bei den zeilen hab ich die anoden zusammengfügt, wie ist das dann 
aufgebaut ist die unterste zeile mein sega und die oberste mein seg dp 
,oder ist das andersrum??? oder hätte ich die anoden in den spalten 
zusammenfügen müssen und die kathoden in den zeilen???

hab es mal versucht grafisch darzustellen, pic ist angehängt

gruss

s.

Autor: Udo S. (udo)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Sebastian,

ich habe mal einen Auszug von meinem Stromlaufplan beigefügt.

Gruß
Udo

Autor: Sebbel L. (langer77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
moin,

ok....so hab ich des auch gehabt, hab auf der anzeige abr nur komische 
grafiken, die linke matrix leuchtet komplett und die zwei anderen zeigen 
irgendwas an, muss jetzt aber erstmal in die schul, schau später mal 
danach und meld mich wieder ;)

gruss

s.

Autor: Sebbel L. (langer77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
moin moin,

nach langer pause melde ich mich wieder zurück, habe aber immernoch 
problem mit komischen zeichen auf meiner matrix, soll ich ma ein video 
drehen, vielleicht macht das die sache etwas einfacher,

gruss

s.

Autor: Udo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Sebastian,

ich hatte schon angenommen, du hättest aufgegeben... ;)

Was heißt "komische Zeichen" ?

Gruß
Udo

Autor: Sebbel L. (langer77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hi udo,

aufgeben, nene dafür hab ich da jetzt schon zuviel herzblut 
reingesteckt, komische zeichen heist meine linke matrix leuchtet 
komplett und die beiden anderen matrixen zeigen irgendwas an, ich dreh 
jetzt einfach mal ein video, kann  ich das hier überhaupt hochladen???

gruss

s.

Autor: Udo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
wahrscheinlich nicht, aber ist ja schon gut beschrieben. Geh doch mal 
systematisch vor: Sprich erst mal alles in der Main auskommentieren was 
nicht zur Initialisierung des Displays gehört. Was macht deine Anzeige 
dann?

Autor: Sebbel L. (langer77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hmmm,

aber ich brauch doch mehr oder weniger alles in dem programm, ok 
geschwindigkeit vielleicht nicht unbedingt aber alles andere so gut wie

s.

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Debugger anwerfen.

Autor: Sebbel L. (langer77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ok, los gehts


Loaded plugin STK500
Loaded plugin AVR GCC
Loaded partfile: C:\Programme\Atmel\AVR 
Tools\PartDescriptionFiles\ATmega32
AVR Simulator: Please wait while configuring simulator...
AVR Simulator: ATmega32 Configured OK
Loaded objectfile: C:\Dokumente und 
Einstellungen\school\Desktop\1\led\default\led.elf


-zuerst geht er jetzt die ganze zeichentabellen durch

-dann DDRB = (1<<PB4)|(1<<PB5)|(1<<PB7); der spiu initialisierung

-dann läuft er in dem oberen die nächsten zwei zeilen durch und springt 
danach in die delay_basic

-dann  transmit(0x0C,0x01);    // normal mode  transmit(0x0C,0x01);

-dann forschelife der 7219 initialisierung

-die läuft er durch danach  transmit(0x0A,0x01);// set intensity 0x00 - 
0x0F

-dann die darüberliegende forschleife die läuft er auch durch und danach
transmit(0x0B,0x07);  // scan digits 0-7 Achtung, damit ist eine Stelle 
gemeint

-die forschleife die über dem transmit ist läuft er auch durch springt 
dann in die   transmit(0x09,0x00);   // no decoding
dnach springt er in die forschleife von load low

-danach ins main in die forschleife

-die läuft er auch durch und danach dann ins updatedisplay(test) und 
danach ist dann schluss, jetzt macht er nix mehr und anzeige immernoch 
irgendwas

s.

Autor: Udo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
sorry, hab erst heute abend wieder Zeit.

Autor: Sebbel L. (langer77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
kein thema, mach du wie du zeit hast ich probier noch ein bissle

s.

Autor: Udo S. (udo)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Sebastian,

sorry, aber da war noch ein Fehler im Programm:
#include "Zeichensatz_neu.h"
muss natürlich
#include "Zeichensatz.h"
heißen.
Da müsste aber der Compiler eigentlich gemeckert haben.

Außerden solltest du natürlich
# define F_CPU 10000000
an deinen CPU-Takt angleichen.

Überprüf auch bitte ob du die LOAD-Leitung an PB4 angeschlossen hast.

Ansonsten diesen Teil in der Main mal auskommentieren:
char Test[24];

  for (int i = 0; i < 24; i++)
  {
    Test[i] = 0x00;
  }
  
  UpdateDisplay(Test);

  _delay_ms(1000);
  
  TestDisplay(SCROLL);
dann sollte das Display nur initialisiert werden und nichts anzeigen.

Gruß
Udo

Autor: Sebbel L. (langer77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nabend,

das mit dem zeichensatz hab ich vor 2 wochen schon geändert, aber merci

hab am pin 5 sprich pb4(ss) den load der 7219 angeschlossen, passt also 
auch, mein quarz hab ich zwischen 12 und 13 ein 10mhz quartz sollte also 
auch passen, hab leider kein oszi da!

den teil hab ich jetzt auchmal auskomentiert, immernoch dasselbe 
spiel,....kann es sein, da meine platine mit den 3 7219 über ca 10-15cm 
langen leitungen mit der matrix verbunden ist, das ich da irgendwelche 
abartigen störungen reinbekomme??

gruss

s.

Autor: Sebbel L. (langer77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
...aber dank dir nochmals,mir langst für heute ;) ich leg mich jetzt mal 
ins nest, morgen wieder

s.

Autor: Udo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Sebastian,

laß mal den im obigen Post aufgeführten Teil in der Main auskommentiert 
und ändere diesen Teil mal so ab:
void static max7219_Init(void)        // 7219 werden initialisiert
{
  Load_Low();
  for (int i = 0; i < 3; i++)
  {
  transmit(0x0C,0x01);            // normal mode  transmit(0x0C,0x01);
  }
  Load_High();

  Load_Low();
  for (int i = 0; i < 3; i++)
  {
  transmit(0x0A,0x01);            // set intensity 0x00 - 0x0F
  }
  Load_High();

  Load_Low();
  for (int i = 0; i < 3; i++)
  {
  transmit(0x0B,0x07);            // scan digits 0-7 Achtung, damit ist eine Stelle gemeint
  }
  Load_High();

  Load_Low();
  for (int i = 0; i < 3; i++)
  {
  transmit(0x09,0x00);           // no decoding
  }
  Load_High();

  Load_Low();
  for (int i = 0; i < 3; i++)
  {
  transmit(0x0F,0x01);           // Display in Test-Mode, alle LEDs leuchten mit voller Intensität
  }
  Load_High();
}
dann sollten alle LEDs mit voller Intensität leuchten.

Falls nicht, hast du noch irgendeinen Bock in deiner Hardware.

Die Leitungslänge von 10-15cm vom Controller bis zu den 7219 halte ich 
nicht für kritisch, sofern die Masse und auch die +5V über entsprechend 
große Querschnitte verlegt sind, also >0,5mm² und die 
Blockkondensatoren,10µF und 0.1µF, jeweils nahe der 7119 plaziert sind.

Gruß
Udo

Autor: Sebbel L. (langer77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
moin moin,

jetzt mal ne blöde Frage, was für Masse und +5V leitunegn meinst du?? An 
meiner Matrix wohl kaum, die an meinem "Mainboard" ist so stark, ist 
0,5mm².
Dann werd ich jetzt mal ausprobieren ob meine LEDs leuchten ;)

s.

Autor: Udo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ups, sorry, das hatte ich falsch verstanden. Ich dachte die 7219 sitzen 
bei den LEDs. Ok, das kann, muss aber nicht zu Störungen führen. Aber 
bei deinem Probeaufbau hatte es doch auch funktioniert?

Gruß
Udo

Autor: Udo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
naja....wäre vielleicht besser gewesen ich hätte dein Layout nicht 
gesehen... ;-)

Was mir noch eingefallen ist: nachden du den Atmel programmiert hast, 
solltest du die ISP-Zuleitung abziehen und die schaltung resetten. Da du 
keine Entkopplungswiderstände für die ISP-Schnittstelle vorgesehen hast, 
könnte der Prommer die SPI-Schnittstelle behindern.

Gruß
Udo

Autor: Sebbel L. (langer77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
wie meinst des mit dem layout??? ist des so bescheiden oder warum ??
was fürn widerstand meisnt du, wo muss der genau hin???

gruss

s.

Autor: Udo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Man kann, bzw. sollte 100 Ohm Widerstände von den ISP (SPI) Pins des 
Controllers in Reihe zu dem Rest der Schaltung legen. Also Verbindung 
ISP-Pfostenleiste <--> ISP(SPI)-Pins direkt verbinden und Verbindung 
ISP(SPI)-Pins zum Rest der Schaltung über 100 Ohm in Serie. Diese dienen 
dazu, Störungen des Programmiervorgangs durch den Rest der Schaltung zu 
vermeiden. In deinem Fall nicht ganz so schlimm, da nur Eingänge 
angeschaltet sind. Du solltest aber nach dem Programmiervorgang den 
Programmer abziehen und den Controller resetten.

Zu deinem Layout: du hast wahrscheinlich nicht viel Übung im Layouten, 
denn du hast so ziemlich alle Fehler die man machen kann gemacht.
Das fängt bei der Plazierung der ICs an, geht über Verlegung der 
Spannungsversorgung der Ics und endet bei der Plazierung von wichtigen 
Bauteilen wie Blockkondensatoren und Quarze bzw. dessen Kondensatoren. 
Was nutzt dir z. B. eine große Massefläche, wenn die zum Teil bis auf 
wenige mm zum Massepunkt verjüngt wird? Oder Blockkondensatoren..wenn es 
heißt so nah wie möglich ans IC, dann ist damit gemeint, so nah wie 
möglich an die Spannungsversorgungs-Pins des IC. Grundsätzlich wird die 
Spannungsversorgung, also + und Masse von ICs möglichst Sternförmig und 
Parallel verlaufend verlegt. Am Sternpunkt wird die Spannungsversorgung 
eingespeist und dort sitzt i.d.R. ein relativ großer Kondensator von 
mehreren hundert µF.

Gruß
Udo

Autor: Sebbel L. (langer77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hmmmm,

ok habe verstanden, ist aber auch erst meine zweite platine,.....hab den 
quelltext jetzt mal abgeändert, es leuchten alle LEDs, aber das tolle 
ist das die rechte und die mittlere in voller intensität leuchten und 
die linke die vorher in voller intensität geleuchtet hat jetzt nicht 
mehr so stark leuchtet.
also den ganzen scheiss jetzt in die presse und neues board planen :(


gruss

s.

Autor: Udo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
nee, nicht in die Tonne kloppen.....

Löt doch versuchshalber mal auf der Lötseite an jeden 7219 direkt 
zwischen Pin19 und Pin9 einen 22µF Kondensator und schau dann mal was 
passiert.

Gruß
Udo

Autor: Sebbel L. (langer77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ok, werd ich probieren, das sollte dann aber ein elko sein, oder ist der 
zu langsam???

gruss

s.

Autor: Udo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
kannst einen ELKO nehmen, evt. noch direkt nen 0,1µF Keramik direkt 
parallel.

Gruß
Udo

Autor: Sebbel L. (langer77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hmm,

hab ich jetzt gemacht, gebracht hat es nicht wirklich was,....das 
komische ist das im einschaltmoment die linke matrix auch hell leuchtet 
dann aber wie soll ichs beschreiben sieht aus als ob sie nach rechts 
dann läuft und dabei dunkler wird!!!

gruss
s.

Autor: Udo S. (udo)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Sebastian,

ok, vergiss erst mal das dunkler werden.

Kommentier bitte jetzt mal diesen Teil wieder aus:
  Load_Low();
  for (int i = 0; i < 3; i++)
  {
  transmit(0x0F,0x01);           // Display in Test-Mode, alle LEDs leuchten mit voller Intensität
  }
  Load_High();

und ergänze mal diesen Teil so:
//char* Text = "   ZWÖLF BOXKÄMPFER JAGEN VIKTOR QUER ÜBER DEN GROßEN SYLTER DEICH | zwölf boxkämpfer jagen viktor quer über den großen sylter deich   "; // Dieser Text wird angezeigt
char* Text = "123";

und diesen Teil so:
int main()
{
  Zeichentabelle_Initialisieren();
  SPI_MasterInit();
  _delay_us(10);
  max7219_Init();
  
  TextLen = strlen(Text);
  char Test[24];

  for (int i = 0; i < 24; i++)
  {
    Test[i] = ColumnFromText(i);
  }
  
  UpdateDisplay(Test);

  //_delay_ms(1000);
  
  //TestDisplay(SCROLL);    // bei 'SCROLL' läuft der Text von Rechts nach Links durch und bei 'SWING' läuft der Text von Rechts nach Links und wieder zurück.
  
  while (1) { }

   return 0;
}
dann sollte auf deinem Display "123" erscheinen.

Und immer daran denken, nach dem Programmieren die ISP-Schnittstelle 
abziehen und den Controller resetten.

Gruß
Udo

Autor: Sebbel L. (langer77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ok probier ich aus, was mich jetzt aber ein wenig wundernt warum sind in 
deinem quelltext sachen 0 und 24 , while(1) blau, das einzige was bei 
mir blau ist sind die int, for,char etc...


mach ich vielleicht auchnoch was falsch beim übertragen ?? ich muss ja 
nur das flash programmieren und das eeprom nicht,oder?


gruss

s.

Autor: Udo S. (udo)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
das hat nur was mit der Darstellung hier auf der Seite was zu tun, ist 
belanglos.

wird alles im Flash abgelegt. Nichts im EEProm.

Autor: Sebbel L. (langer77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ok und die elf, da steht bei mir auch was drin in dem fenster, ich 
versteh die welt nimma, des kann doch alles nicht sein, was mach ich 
bitteschön falsch, jetzt zeigt er mir wieder die linke matrix komplett 
an und bei den anderen beiden leuchten nur die uneteren reihen:(

gruss

s.

Autor: Udo S. (udo)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
du brauchst im AVR-Studio im Programmierfenster nur beim Flash auf 
"Program" drücken. Aber achte darauf, dass auch der richtige .hex File 
ausgewählt ist.
Also Pfad und Name checken.

Autor: Udo S. (udo)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
poste mal das Programm, dass du im Moment im AVRStudio stehen hast.

Autor: Udo S. (udo)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Main sollte aber doch so aussehen:
int main()
{
  Zeichentabelle_Initialisieren();
  SPI_MasterInit();
  _delay_us(10);
  max7219_Init();
  
  TextLen = strlen(Text);
  char Test[24];

  for (int i = 0; i < 24; i++)
  {
    Test[i] = ColumnFromText(i);
  }
  
  UpdateDisplay(Test);

  //_delay_ms(1000);
  
  //TestDisplay(SCROLL);    // bei 'SCROLL' läuft der Text von Rechts nach Links durch und bei 'SWING' läuft der Text von Rechts nach Links und wieder zurück.
  
  while (1) { }

   return 0;
}

Du kannst doch obigen Code mit Copy und Paste einfügen...

Autor: Sebbel L. (langer77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
oooh sorry das hab ich übersehen, ich änder es mal ab ich lösch mal den 
gesamtem quelltext, find es echt klasse das du mir hilfst

gruss

s.

Autor: Udo S. (udo)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
kein Problem, gerne...
aber lösch lieber oben das Bild, weil 500K sieht man hier nicht so 
gerne....

Autor: Sebbel L. (langer77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
so ich mach schluss für heute,
verändert hat sich nix grossartig, bin aber auch total durcheinander im 
kopf, denke eine nacht drüber schlafen wird das beste sein!
bis morgen

gruss

s.

Autor: Udo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
versuch auch noch mal folgendes: Den Widerstand, der von SCLK der 
SPI-Schnittstelle nach Masse geschaltet ist, gegen +5V schalten oder 
weglassen.

Gruß
Udo

Autor: Sebbel L. (langer77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hab ich jetzt probiert und es verhält sich so, wenn der widerstand an 
mass, oder +5V liegt keine veränderung, wenn der widerstand in der luft 
hängt hab ich wieder das die rechten matrix und die mittlere volle 
intensität leuchten und die linke schwächer, quelltext ist unverändert 
zu gestern abend!!!

gruss

s.

Autor: Sebbel L. (langer77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
nochmal zum verständnis, du meintest ja den widerstand der an meinem 
letzten 7219 am clk hängt,oder???

ich bin echt kurz davor ne neue platine zu planen, die ich direkt hinter 
die matrix hängen kann, auf der nur die drei 7219 sitzen, den atmel auf 
ne extra platine und drei abgeschirmte leitungen+ versorgung dann nach 
oben führen...die software geht ja,denk ich zumindest ;)

gruss

s.

Autor: Sebbel L. (langer77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich hab jetzt nochmal auf meinem anderen rechner das avr installiert da 
fragt er mich jetzt am anfang als ich auf verbinden gehe mit dem mkII 
was für eine
oszilator calibration byte nach einer frequenz was für ne frequenz ist 
den das???oder besser gesagt wie bestimm ich die?? es geht 
1MHz,2MHz,4MHz,8MHz

gruss

s.

Autor: Sebbel L. (langer77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
nabend,

was ich auch nicht wirlich verstehe, wenn ich vom schaltbild her 
dasselbe aufgebaut habe wie du, dann kann es ja nur an meiner 
beschissenen leitungsführung liegen, wenn bei mir alles indentisch ist, 
muss es doch daran liegen!
ich fahr jetzt mal los und besorg mir ein oszi, bin gerade die neue 
platine zu planen, vielleicht fällt dir ja nochwas ein was ich unbedingt 
beachten sollte, ausser die kondesatoren direkt, bzw. so nahe wie 
möglich an die spannungsversorgung der ics, hast du bei den 100nf, 
folienkondensatoren, oder keramische???

gruss

s.

Autor: Sebbel L. (langer77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
..und wenn ich des ganze mit dem hier vergleiche ist bei mir auch nicht 
viel anders,http://www.woe.onlinehome.de/projekte.htm

hab auchschon den atmel getauscht, bringt aber auch nix!!!!

gruss

s.

Autor: Udo S. (udo)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Sebastian,

> nochmal zum verständnis, du meintest ja den widerstand der an meinem
> letzten 7219 am clk hängt,oder???
 genau den mein ich. Lass in einfach mal weg.

Dann lad mal dieses Programm:
# define F_CPU 4000000

#include <avr/io.h>
#include <avr/interrupt.h>
#include <util/delay.h>
#include <stdbool.h>
#include <stdlib.h>
#include <string.h>


void transmit(unsigned char, char);

void static Load_Low()      //Datenübernahme durch die 7219 wird vorbereitet
{  
  PORTB &= ~(1 << PB4);
}

void static Load_High()      //Daten werden von den 7219 übernommen
{
  PORTB |= (1 << PB4);
}


void static SPI_MasterInit(void) {    /* SPI Schnittstelle initialisieren*/

  DDRB = (1<<PB4)|(1<<PB5)|(1<<PB7);      // set PB4(SS), PB5 (MOSI) and PB7 (SCK) output, all others input

    SPCR = (1<<MSTR)|(1<<SPE);           // enable Master, SPI, set clock rate fck/4  
  
    PORTB |= (1 << PB7)|(1 << PB4);
}

void transmit(unsigned char addr, char data) {    /* Daten zu den 7219 schicken*/
  
  SPDR = addr;                      // Start transmission
  while(!(SPSR & (1<<SPIF)));           // Wait for transmission complete
  
  asm volatile("nop");
 
  SPDR = data;                      // Start transmission
  while(!(SPSR & (1<<SPIF)));            // Wait for transmission complete
}

void static max7219_Init(void)        // 7219 werden initialisiert
{
  Load_Low();
  for (int i = 0; i < 3; i++)
  {
  transmit(0x0C,0x01);            // normal mode  transmit(0x0C,0x01);
  }
  Load_High();

  Load_Low();
  for (int i = 0; i < 3; i++)
  {
  transmit(0x0A,0x01);            // set intensity 0x00 - 0x0F
  }
  Load_High();

  Load_Low();
  for (int i = 0; i < 3; i++)
  {
  transmit(0x0B,0x07);            // scan digits 0-7 Achtung, damit ist eine Stelle gemeint
  }
  Load_High();

  Load_Low();
  for (int i = 0; i < 3; i++)
  {
  transmit(0x09,0x00);           // no decoding
  }
  Load_High();
}


int main()
{  
  SPI_MasterInit();
  _delay_us(10);
  max7219_Init();
  
  Load_Low();
   for (int i = 0; i < 3; i++)
   {
    transmit(0x0F,0x01);           // Dispay-Test an
   }
  Load_High();

  _delay_ms(3000);

  Load_Low();
   for (int i = 0; i < 3; i++)
   {
    transmit(0x0F,0x00);           // Display-Test aus
   }
  Load_High();  
  
  while (1) { }

   return 0;
}

Dann müssten erst alle Stellen komplett leuchten und nach ca.3 Sekunden 
müssten alle LED's ausgehen.

Gruß
Udo

Autor: Sebbel L. (langer77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ok, würd ich gerne machen, kannst mir noch sagen was ich bei dieser 
komischen abgleichfrequenz einstellen muss, bin grad die tür rein, hab 
jetzt aber entlich mal ein oszi


gruss

s.

Autor: Sebbel L. (langer77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
nochwas, kann es sein das es auch damit zusammenhängt das wenn ich am 
quarz mit dem oszi messe, auf der einen seite das signal wunderbar 
sinusförmig ist auf der anderen seite weniger sinusförmig??

s.

Autor: Sebbel L. (langer77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
nabend,
hab das programm aufgespielt, das mit dem wechseln klappt schon, nur 
sind nicht alle leds an, bzw. aus.........denke echt das die platine 
scheisse ist, da ich ja auch dieses komische phänomän am quarz hab (eine 
seite sauberes signal, andere seite unsauber)....werd mich morgen weiter 
an meinem neuen layout auslassen, mach das so wie ichs oben beschrieben 
habe, eine platine mit den 3x 7219 und was dazugehört, diese dann 
steckbar direkt hinter die matrix, ohne kabel zur verbindung mit der 
matrix, dann die 3 leitungen zum steuern und die spannungsversorgung, 
den prozessor setz ich dann auf ne kleine platine unten ins 
gehäuse,.....wird hoffe ich das einfachste sein, weil so komm ich nicht 
weiter, obwohl mir so bei meinem kampf hilfst,.....man des kann doch 
nicht so schwer sein,.......sach mal kommst du von der küste udo???

soden

gruss

s.

Autor: Udo S. (udo)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Sebastian,

sorry, dass mit dieser "Abgleichfrequenz" kann ich dir auch nicht sagen, 
mach mal nen Print-Screen wenn die Meldung kommt.

Das mit dem Quarz dürfte i.O. sein. Je nachdem mit was für einen 
Tastkopf du an die Anschlüsse gehst, wird das Signal mehr oder weniger 
bedämpft. Man sollte in dem Bereich mit Tastköpfen 100:1 arbeiten, aber 
ein 10:1 reicht auch. Aber Hauptsache ist, dass ne Schwingung in 
ausreichender Amplitude da ist, so 3-4 Vss. Wird eh intern im Controller 
ein Rechtecksignal draus gemacht.

Wo du schon mal einen Oszi da hast, mess doch mal die 
Versorgungsspannung, wie die aussieht und auch das SCLK- und LOAD-Signal 
von der SPI-Schnittstelle.

Nein, ich bin nicht von der Küste....:))
Tiefster Ruhrpott hier...

Gruß
Udo

Autor: Sebbel L. (langer77)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
moin, moin


aus dem tiefsten ruhrpott also, auch nid schlecht ;)

so hab mal alles gemessen, bin aber nicht der oszi meister, hab alles 
auf auto und 10:1 gemessen, hoffe die bilder sind einigermaßen 
brauchbar, was ich bezweifle, hab mir vorhin nochmals deine platine 
angeschaut in dem anderem forum, da sind ja wesentlich weniger 
kondensatoren und widerstände zu erkennen, und deine max sind ja smd.

gruss

s.

Autor: Udo S. (udo)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Sebastian,

die Bilder sind ja soweit ok.
Was hast du für Kondensatoren am Quarz?
Was für ein Netzteil hast du? (Stromlaufplan)?

Das mit der Frequenzeinstellung im AVR-Studio vergiss mal schnell, da du 
ja einen Quarz angeschlossen hast. Dieses Bild ist zum Abgleich, wenn 
man den internen Oszillator benutzt.
Aber zeig doch noch mal ein Bild von den Fuses-Einstellungen. Der dritte 
Reiter von links....

Gruß
Udo

Autor: Sebbel L. (langer77)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
mahlzeit,

also als netzteil hab ich so ein kleines steckernetzteil mit 1200mA da, 
5V,...hab dazu leider kein stromlaufplan, hätte aber noch ein richtiges 
netzteil da, zur not.
an meinem quarz hab ich keramsiche kondensatoren 22pF, gemessen haben 
die ca. 23pF,....denk das könnt aber die abweichung meines multimeters 
sein.

bild hab ich angehängt

gruss

s.

Autor: Udo S. (udo)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
mmh, sieht soweit alles ok aus.
Natürlich ist so eine Ferndiagnose immer schwierig.
Hat das Netzteil denn auch  noch 5V Ausgangsspannung bei Last, also wenn 
z.B. alle LEDs im Testmodus leuchten? Und wie sieht dabei die 
Lastspannung auf dem Oszi aus? Die Masseleitung der Oszi's solltest du 
bei den Messungen immer am Eingangsklemmpunkt der Spannungsversorgung 
deiner Schaltung anschließen.
Mess das mal und mach Bilder davon.

Gruß
Udo

Autor: Sebbel L. (langer77)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
so hab ich jetzt mal gemessen, hab jetzt ein andres netzteil dran, 
anständiges industrienetzteil mit 3A bei 5V, bei dem bricht garrahtiert 
nix zusammen, hatte ausserdem ganz am anfang mal den strom der gesamten 
schaltung gemessen als alle leds auf volle intensität leuchteten und da 
kam ich auf 800mA, hab die bilder wieder angehängt,

gruss

s.

Autor: Udo S. (udo)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
also diese abklingende Schwingung auf DIN gefällt mir gar nicht.. kannst 
du mal die Zeitablenkung vergrößern, so dass man die Schwingung komplett 
sieht?

Das Layout für die Matrix ist ok.

Gruß
Udo

Autor: Udo S. (udo)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
du meinst jetzt DIN und DOUT ?

Sorry, aber ist sehr schwer nachzuvollziehen was du meinst, wenn du dich 
nicht sorgfältig ausdrückst und an Rechtschreibregeln hälst. 
Rechtschreibfehler ist was anderes, die macht sicher jeder....

Gruß
Udo

Autor: Sebbel L. (langer77)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
sorry hab vergessen die bilder anzuhängen

s.

Autor: Sebbel L. (langer77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
also als ich von ein und ausgang sprach, meinte ich natürlich DIN und 
DOUT, schreinb immer so schnell, GROSS und klein ist mir da zuviel ;)

gruss

s.

Autor: Sebbel L. (langer77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
was mir jetzt auch noch aufgefallen ist, das Signal das am ersten DOUT 
rauskommt sieht fast so aus wie das Signal das ich auf der 5V Leitung 
habe,

werde das Layout jetzt echt nochmal machen, zuerst meine Kondensatoren 
platzieren, oder sollte ich zuerst die Steuerleitungen machen, 
eigentlich hab ich ja nur das Problem auf den DIN und DOUT Leitungen, 
hab die Leitung mal nach dem ersten 7219 unterbrochen bringt aber keinen 
Erfolg, hab dann auch noch einen anderen 7219 gesteckt den ich hier 
rumliegen habe, das bringt aber auch keinen Erfolg, es muss doch an dem 
Layout liegen,oder was meinst du Udo


Gruss

s.

Autor: Udo S. (udo)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
also, die Bilder die du bis jetzt gepostet hast, zeigen ja nur den 
Ruhezustand, also den LOW-Pegel auf den Leitungen, der allerdings schon 
mit ca. 200mV-300mV Störsignalen überlagert ist. Deutet auf schlechte 
Masseführung und Spannungsversorgungssiebung hin. Kannst du nicht mal 
die Main dahingehend ändern, dass der Test-Modus periodisch wiederholt 
wird? Dann könnte man auch mal die High-Signale sehen. Besser wär 
natürlich für sowas ein Logik-Analyser.

Gruß
Udo

Autor: Sebbel L. (langer77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hmmmm,
jetzt versteh ich garnix mehr,
warum soll das jetzt der Ruhezustand gewesen sein,
das war doch während dem Betrieb,
ich versteh solangsam echt nix mehr, meine Schaltung sollte passen, 
zumindest vom Schaltbild,
die Software sollte passen, laut dir,.....also kann es ja nur noch an 
dem Layout liegen, wenn es nicht am Layout liegt, dann ist der Fehler ja 
in einer der zwei Komponenten von denen ich ausgehe das sie stimmen.
Also hab ich jetzt die Möglichkeit noch Tage hier zu suchen, 
Logikanaylser hab ich leider nicht. Mich immer mehr und mehr verrückt zu 
machen(ich weis garnicht wie oft ich das Schaltbild jetzt schon mit dem 
Layout verglichen habe), dachte jetzt entlich was gefunden zu 
haben,....;(
und wenn ich mir andere Platinen anschaue, z.b. die von 
http://www.woe.onlinehome.de/proj_gif/ledmodul.gif
 dann seh ich da nix anderes, als das was auf meinem Schaltplan ist.

Gruss

S.

Autor: Udo S. (udo)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ok, ich denke du hast jetzt gesehen was ich gemeint hab mit Ruhezustand 
bzw. LOW-Pegel und und jetzt siehst du ja auch HIGH-Pegel(Impulse) auf 
den Leitungen
Ist die LOAD-Leitung immer LOW, oder kommt da zwischendrin mal nen 
HIGH-Impuls?

Um das besser sehen zu können nimm als Main einfach mal diese hier:

int main()
{  
  SPI_MasterInit();
  _delay_us(10);
  max7219_Init();
  
  while (1)
  {
    Load_Low();
     for (int i = 0; i < 3; i++)
     {
      transmit(0x0F,0x01);           // Dispay-Test an
     }
    Load_High();

    _delay_ms(3000);

    Load_Low();
     for (int i = 0; i < 3; i++)
     {
      transmit(0x0F,0x00);           // Display-Test aus
     }
    Load_High();
    
    _delay_ms(3000);  
  }

  while (1) { }

   return 0;
}


Gruß
Udo

Autor: Sebbel L. (langer77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ok, probier ich aus,
was ich aber nicht wirklich verstehe ist das return0 !!!
für was ist das??

gruss

s.

Autor: Sebbel L. (langer77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
also ich hab das jetzt aufgespielt,
an der LOAD-Leitung scheint sich was zu tun, nur ist das so schnell das 
kann ich nicht messen, meine matrix wechslet jetzt auch, hin und her, 
aber nicht so wie gewollt, sondern so das eine Zeit lang die linke 
Matrix hell leuchtet und die anderen schwach, dann wechselt es das die 
rechte und die mittlere hell leuchtet und die linke schwach, ich mach 
jetzt echt ne neue platine für die max7219, mit den kabel ist des kacke 
und dann kann ich auch gleich meine Leitungsführung verbessern. du hast 
bei dir ja für die CLK,LOAD und DIN Leitung ne abgeschirmte genommen, 
die hast aber nur auf einer seite geerdet, da sonst ja ne masseschleife 
entsteht, oder seh ich das falsch??
gruss

s.

Autor: Udo S. (udo)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
wieso Masseschleife? Ich hab von meinem Board über die Abschirmung die 
Masse zu den Anzeige-Modulen geführt.

Das return 0 dient dazu, falls sich der Controller in der Main mal 
verschluckt, die Main von Anfang wieder ausgeführt wird. Ist in dem 
obigen Beispiel uninteressant, da der Controller eh in der 
Endlosschleife davor läuft.

Aber das Verhalten deiner Anzeige ist wirklich komisch. Möglich, dass es 
an den langen Leitungen zu den LEDs liegt. Die 7219 sollen sehr 
empfindlich  sein. Das Problem habe ich nicht, da meine 7219 direkt auf 
den Leiterplatten mit den LED-Matrixen sitzen. Andersrum hatte dein 
Probeaufbau ja funktioniert, oder?

Gruß
Udo

Autor: Udo S. (udo)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Tausch mal den Teil für die SPI-Initialisierung gegen diesen hier:

void static SPI_MasterInit(void) {    /* SPI Schnittstelle initialisieren*/

  DDRB = (1<<PB4)|(1<<PB5)|(1<<PB7);      // set PB4(SS), PB5 (MOSI) and PB7 (SCK) output, all others input

    SPCR = (1<<MSTR)|(1<<SPE)|(1<<SPR1)|(1<<SPR0);           // enable Master, SPI, set clock rate fck/128
  
    PORTB |= (1 << PB7)|(1 << PB4);
}


Damit wird die Übertragungsrate der SPI herabgesetzt, evtl. mögen deine 
7219 bzw. dein Aufbau die hohe Übertragungsrate nicht.

Gruß
Udo

Autor: Sebbel L. (langer77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
nabend,

mein Probeaufbau hat damals soweit funktioniert, das alle LEDs an waren, 
mehr aber auch nicht!!!

mit dem Return 0, gut zuwissen, wieder wat gelernt.

Ich meinte das mit der Masseschleife so, wenn man ein geschirmtes Kabel 
nimmt und den Schirm auflegt sollte man dies nur auf einer seite der 
Platinen machen, wenn beide am selben Potenzial hängen, aber da erzählt 
dir jeder was anderes, ;)

Das mit der Initialiesierung hat nix gebracht, denke echt das es einfach 
an den langen Leitungen liegt.

Gruss

s.

Autor: Sebbel L. (langer77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
...

so ich mach mich dann mal ab in die kiste, will Morgen wieder früh raus 
und das Layout fertig machen ;)

dann mal nen schönen Abend noch, bis morgen....

gruss

s.

Autor: HannsW (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Udo,
Das return 0 dient dazu, falls sich der Controller in der Main mal
verschluckt, die Main von Anfang wieder ausgeführt wird. Ist in dem
obigen Beispiel uninteressant, da der Controller eh in der
Endlosschleife davor läuft.
Die Wirkung mag stimmen, aber die Begründung nicht:

In C ( wie auch in anderen Sprachen ) liefern Funtkionen immer einen 
Wert zurück. Der Typ dieses Wertes steht vor dem Func-Namen. ( Selbst 
wenn nichts zurückgeliefert wird, ist dieses Nichts = void ).
"main()" ist die Funkion, die vom "direkt" vom Betriebssystem aufgerufen 
wird, ist somit "Das Programm". wird main() beendet, ist das Programm 
beendet, und es sollte (!) ein Integer wert ( wegen "int main()" ) ans 
BS geliefert werden: der sogenannte ErrorCode. Main teilt so dem 
aufrufendem System mit, ob es Fehlerfrei ( = 0 laut Vereinbarung ) oder 
nicht beendet wurde. Im "oder nicht" Fall muss der Programmierer dann 
die Auflösung der Codes mitteilen, damit die Aufrufer wissen, was 
geschah.



Gruß Hanns
und schöne Pfingsten.
Ich drücke die Daumen, daß die Schrift bald Laufen lernt

Autor: HannsW (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Sebbel,

Das mit dem Schirm stimmt schon.
Generell sollten MASSEN an "einem" Punkt zusammengeführt werden.

Verbindest Du zwei "Platinen" mit Masse, und dann den Ausgang der einen 
mit dem Eingang der anderen Platine und zusätzl. die SChirmung i.e. 
Masse, dann bilden Deine Masseleitungen ein Dreieck. wenn dann über jede 
der drei Leitungen ein unterschiedlicher Strom fließt... ( Nimm U= R* I 
und Du weisst Bescheid.)
In der Audiotechnik hört man das dann ganz gut.

Aber erst mal Erfolg bei Deinem Problem, das ich sehr spannend finde
Hanns

Autor: Sebbel L. (langer77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moin,

Udos Schrift läuft ja, meiner Einer hat Probleme,...aber dat wird


s.

Autor: Sebbel L. (langer77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
moin moin,

hätte da mal noch ne frage bezüglich der beschaltung isp schnittstelle 
und controller, hab gerade gesehen das es leute gibt, die zwischen 
sck,miso, mosi und reset, zwischen der schnittestelle und dem controller 
100ohm in reihe haben, stimmt das so??
gruss

s.

Autor: HannsW (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moin,
mir faäält auf, daß Du mit Deinen Beschriftungen teilweise in der 
falschen Ebene bist.

Allt Verbindungen "x?" sind rot, ebenso wie die Beschriftung des 
Verbinders
rechts unten
Hanns

Autor: HannsW (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
DOUT3 ?
gibt es das nicht?
Hanns

Autor: Sebbel L. (langer77)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
nabend,

da ich der verzweiflung nahe bin und ehrlich gesgat nichtmehr weiter 
weiss, könnte sich jemand erbarmen und mal schauen ob meine 
prozessorbeschaltung so stimmt???

danke


gruss

s.

Autor: Sebbel L. (langer77)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Moin, Moin...

habe jetzt nochmals meinen Plan der MAX7219 mit Schaltbildern verglichen 
und gemacht und getan, stimmt alles,....Bauteile die ich verabut habe 
sind für den 100nF einen keramischen und den 10µF einen Elko, 
Widerstsände sind normale 1/4 Watt Widerstände.
Die Prozessorplatine werde ich heute ätzen und die MAX7219 PLatine 
gleich auch nochmal,....wie kann ich testen ob die 7219 noch i.O. 
sind???
MUss ich noch irgendetwas an der Prozessorbeschaltung beachten, denke 
doch nicht!
Werde mir gleich nen neuen Prozessor mitnehmen, vielleicht hat der ja 
auch ein Macken!!!!
Habe für die jeingen die es interesiert mal beide Layouts angehängt.

Gruss

S.

Autor: Udo (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Sebastian,

so, wieder da...nach langem Wochenende.

Hat sich ja einiges getan. Laß dich nicht unterkriegen, du schaffst das.

Hab mal die Controllerschaltung angehängt.

Gruß
Udo

Autor: Udo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Hanns,

du hast natürlich recht.

Sorry, ich hab das vereinfachen wollen und natürlich ist Quatsch dabei 
rausgekommen.

Gruß
Udo

Autor: Udo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nachtrag:

Das Spannungsversorgungssymbol im obigen Stromlaufplan "Vcc" soll 
natürlich "+5V" heißen.

Autor: Sebbel L. (langer77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
moin udo,

ich hab mal in einem anderem forum gestöbert, da hast du geschrieben das 
du die 7219er mit 4MHz betreiben tust, auf deim schaltbild sehe ich das 
du einen 16MHz Quarz drin hast, kann ich das jetzt so verstehen das dein 
controller mit 16MHz läuft und das SCLK Sgnal dann 4 MHz hat???

dank dir für dein schaltbild, aber das ist ja leider genauso wie meins 
;)

gruss

s.

Autor: Sebbel L. (langer77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
so ich nochmal ;)

was mir noch gleich ins auge gefallen ist, du gehst auf deine platine 
mit 5V, ist das ein 5V netzteil??? danach gehst du dann weiter auf die 
schottkydiode und den kondensator, ist das zur filterung????

gruss


s.

Autor: Udo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Sebastian,

> du die 7219er mit 4MHz betreiben tust, auf deim schaltbild sehe ich das
> du einen 16MHz Quarz drin hast, kann ich das jetzt so verstehen das dein
> controller mit 16MHz läuft und das SCLK Sgnal dann 4 MHz hat???

richtig, das kannst du in deinem Programm über das SPCR-Register mit 
Hilfe der SPR1 und SPR0 Bits einstellen. Datenblatt lesen....

> was mir noch gleich ins auge gefallen ist, du gehst auf deine platine
> mit 5V, ist das ein 5V netzteil??? danach gehst du dann weiter auf die
> schottkydiode und den kondensator, ist das zur filterung????

richtig, das ist ein 5V-Netzteil. Die Schottky ist dafür da, wenn die 
Spannungsversorgung falsch herum angeschlossen wird, die Schaltung 
geschützt wird. Sie leitet dann nämlich nicht.
Die Kondenstoren dienen dazu um Störspannungen zu unterdrücken.

Gruß
Udo

Autor: Sebbel L. (langer77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Udo,

dann hab ich das ja alles richtig gedeutet, werd es jetzt mal in die Tat 
umsetzen,müssen die 100nF und der 0,47microF (sorry hab ein MacBook, da 
find ich das micro grad nicht) unbedingt keramische Kondenstaoren 
seinen, oder können das auch Folienkondensatoren sein???

Gruss

S.

Autor: Udo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
sollten Keramische sein.

Autor: Sebbel L. (langer77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ok, hat das auch ein Grund, weil bei dem Händler meines Vertrauens gab 
es nur Folien als 0,47 microF, hab dann die 100nF dann halt auch als 
Folie mitgenommen!!!

Gruss

S.

Autor: Udo (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
hab mal ein Layout für den Stromlaufplan angehängt.

Gruß
Udo

Autor: Sebbel L. (langer77)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Danke Udo,

hab jetzt aber schon mein eigenes erstellt,.....nicht so schön wie 
deins, aber ist leider schon im ätzbad ;)

Gruss

s.

Autor: Sebbel L. (langer77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
nabend,

udo was mir aufgefallen ist, ist folgendes, auf meinem alten schlatplan 
ging das rsestsignal der isp schnittstelle vcc am R1 also vor dem 
widerstand, bei dir, aber ich denke mal das ist richtig geht das 
resetsignal von der isp schnittstelle ,auf den punkt R1 der nicht an vcc 
angeschlossen ist, also so ne art pullup,.....und im gegensatz zu meinem 
alten plan hast du im resetzweig einen 47µF drin und in meienm alten 
paln ist ein 100nF drin???

aber ich werd jetzt erstmal wieder messen und schauen ;)

gruss

s.

Autor: Sebbel L. (langer77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich mal wieder ;)

ich hab jetzt folgenden Programmcode geladen:
#define F_CPU 10000000

#include <avr/io.h>
#include <avr/interrupt.h>
#include <util/delay.h>
#include <stdbool.h>
#include <stdlib.h>
#include <string.h>


void transmit(unsigned char, char);

void static Load_Low()      //Datenübernahme durch die 7219 wird vorbereitet
{  
  PORTB &= ~(1 << PB4);
}

void static Load_High()      //Daten werden von den 7219 übernommen
{
  PORTB |= (1 << PB4);
}


void static SPI_MasterInit(void) {    /* SPI Schnittstelle initialisieren*/

  DDRB = (1<<PB4)|(1<<PB5)|(1<<PB7);      // set PB4(SS), PB5 (MOSI) and PB7 (SCK) output, all others input

    SPCR = (1<<MSTR)|(1<<SPE)|(1<<SPR1)|(1<<SPR0);           // enable Master, SPI, set clock rate fck/128
  
    PORTB |= (1 << PB7)|(1 << PB4);
}

void transmit(unsigned char addr, char data) {    /* Daten zu den 7219 schicken*/
  
  SPDR = addr;                      // Start transmission
  while(!(SPSR & (1<<SPIF)));           // Wait for transmission complete
  
  asm volatile("nop");
 
  SPDR = data;                      // Start transmission
  while(!(SPSR & (1<<SPIF)));            // Wait for transmission complete
}

void static max7219_Init(void)        // 7219 werden initialisiert
{
  Load_Low();
  for (int i = 0; i < 3; i++)
  {
  transmit(0x0C,0x01);            // normal mode  transmit(0x0C,0x01);
  }
  Load_High();

  Load_Low();
  for (int i = 0; i < 3; i++)
  {
  transmit(0x0A,0x01);            // set intensity 0x00 - 0x0F
  }
  Load_High();

  Load_Low();
  for (int i = 0; i < 3; i++)
  {
  transmit(0x0B,0x07);            // scan digits 0-7 Achtung, damit ist eine Stelle gemeint
  }
  Load_High();

  Load_Low();
  for (int i = 0; i < 3; i++)
  {
  transmit(0x09,0x00);           // no decoding
  }
  Load_High();
}


int main()
{  
  SPI_MasterInit();
  _delay_us(10);
  max7219_Init();
  
  while (1)
  {
    Load_Low();
     for (int i = 0; i < 3; i++)
     {
      transmit(0x0F,0x01);           // Dispay-Test an
     }
    Load_High();

    _delay_ms(3000);

    Load_Low();
     for (int i = 0; i < 3; i++)
     {
      transmit(0x0F,0x00);           // Display-Test aus
     }
    Load_High();
    
    _delay_ms(3000);  
  }

  while (1) { }

   return 0;
}

das ergebnis ist, das alle leds eine zeit lang an sind dann wechselt es 
und  fast alle sind aus, bis auf ein paar die leuchten noch in geringer 
intensität,
was ich komisch finde ist das ich keine wirklichen rechtecksignale mehr 
an DIN und CLK messen tue, genauso sieht maeine schwingung am quarz nict 
wirklich sinusförmig aus????

gruss

s.

Autor: Udo S. (udo)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Sebastian,

Die Schwingung die du am Quarz misst, muss nicht Sinusförmig sein. Wenn 
da was faul wäre, würde der Controller überhaupt nicht arbeiten und du 
würdest ihn noch nicht mal programmiert bekommen.
Zu den LEDs die noch schwach leuchten: welchen Wert haben die 
Widerstände die jeweils von Pin 18 gegen +5V bei den 7219 geschaltet 
sind?

Gruß
Udo

Autor: Sebbel L. (langer77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
nabend Udo,

die "Vorwiderstände" haben 22KOhm,.....ich weis solangsam echt nimma, 
manchmal denk ich das die Max7219 was abbekommen haben????
vorhin hat ich es einmal das alle an und alle aus waren, glaube das war 
aber ein zufall :(

was ist mit dem 47µF der bei mir in meinem alten Schaltbild ein 100nF 
war,....das mit dem widerstand vor reset ist glaub ich ok, das ist ja 
nur der pullup für den reset,oder??
gruss

s.

Autor: Udo S. (udo)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vorwiderstände?? Das sind keine Vorwiderstände, diese Widerstände dienen 
dazu den max. Strom durch die LEDs einzustellen.

Tausch diese Widerstände mal gegen 30KOhm oder 39KOhm aus.


Ob nun 0,47µF oder 0,1µF ist ziemlich egal. Wenn du 0,1µF drin hast ist 
es auch gut.

Genau, das ist der PullUp-Widerstand für die Reset-Leitung

Autor: Sebbel L. (langer77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
....hehe

ok dann halt keine vorwiderstände, habs ja auch in " " gestellt, werd 
ich morgen machen, hab grad leider keine da......bin mal gespannt ob das 
was bringt, aber irgendwie sind mir die zustände der matrix alle zu 
undefiniert, sag mal wo hast du die 7219er hergehabt, hab ne seite im 
netz gefunden da will  derjenige aber 23 euro für die dinger,.....soweit 
ich weis liegen die zwischen 8-10 euros!!!

gruss

s.

Autor: Sebbel L. (langer77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
...glaub ich werde morgen mal ein video drehen, mit allem ,
wie ich das dinge compilere, was ich einstelle,oszi signale, jeden 
handgriff und natürlich auch die matrix...

s.

Autor: Udo S. (udo)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich hab meine beim Distributer gekauft. Aber normalerweise haben doch 
alle Großen diese Dinger. Schau doch mal in der Linkliste hier nach: 
http://www.mikrocontroller.net/articles/Elektronikversender

Autor: Sebbel L. (langer77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
moin,

so eine Nacht drüber geschlafen, was mit eingefallen ist,
das mit dem ISETabgleich könnte echt für mich wichtig sein, ich habe 
meine Matrix mit superhellen LEDs aufgebaut, da diese LEDs schon bei 
geringem Strom relativ hell leuchten, könnte das ein Teil meiner 
Problemlösung sein, könnte wohlgemerkt ;)
hab aber gleich gestern nochmal drei 7219er geordert, für 4,48€ das 
Stück!!!

soden muss mal los paar Widerstände kaufen

Gruss

s.

Autor: Sebbel L. (langer77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich nochmsl,

hab mal ein kleines Video der Matrix gemacht, quellcode ist der obige ;)

http://rapidshare.com/files/114782929/CIMG4879.AVI.html

gruss

s.

Autor: Hanns Weil (hannsw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sebbel L. wrote:
> ich nochmsl,
>
> hab mal ein kleines Video der Matrix gemacht, quellcode ist der obige ;)
>
> http://rapidshare.com/files/114782929/CIMG4879.AVI.html
>
Das kostet doch Geld?
Hanns

Autor: Sebbel L. (langer77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
nene, da kannst du free wählen,

gruss

s.

Autor: Udo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Hanns,

nein, kannst auf freedownload klicken, dann dauert es allerdings so eine 
Minute bis du es downloaden kannst.

Gruß
Udo

Autor: Udo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich allerdings nicht, da die Seite hier durch unseren Proxy geblockt 
wird.... :(

Autor: Sebbel L. (langer77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
im moment ist grad happy hour, also direkt unter free downloadbar ;)

immer diese proxys, kommst da nicht irgendwie aussenrum .....des wär 
jetzt meins ;)

s.

Autor: Sebbel L. (langer77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich wart jetzt mal ab bis die 7219 kommen, hab die ISET widerstände mal 
getauscht auf 30kohm, hat dann einmal funktioniert das alle an und alle 
aus waren, aber als ich dann wieder software aufspielen wollte hat es 
schoinwieder nicht funktioniert, das gleiche mit den 39kohm 
widerständen, es kann eigentlich nurnoch an den 7219 liegen, wenn es das 
dann auch nicht war, keine ahnung, dann bin ich vielleicht mit einem 
fluch belegt, so eine "scheisse" hab ich in meinem leben noch nicht 
erlebt, hab jetzt glaub schon 100stunden mit fehlersucheverbracht, alles 
20mal gecheckt, passt alles...jede leitung durchgemessen(nicht gepiepst) 
hatten alle so um die 12 ohm, das passt ja auch;)
gruss

s.

Autor: Udo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Sebastian,

dir ist klar, dass wenn du dein Programmiergerät an die 
ISP-Schnittstelle anschließt und was in den Controller lädst, diese 
Signale auch an die 7219 gehen. Die in dem Moment natürlich keine 
gültigen Daten bekommen und irgendwas anzeigen.

Du solltest grundsätzlich immer so vorgehen:

1. Betriebsspannung des ATmega ausschalten.
2. Programmieradapter an die ISP-Schnittstelle anschließen.
3. SPI-Schnittstelle abziehen.
4. Betriebsspannung des ATmega einschalten.
5. Programm in den ATmega laden.
6. Betriebsspannung des ATmega abschalten.
7. Programmieradapter von der ISP-Schnittstelle abziehen.
8. SPI-Schnittstelle aufstecken.
9. Betriebsspannung des ATmega einschalten.

Gruß
Udo

Autor: Sebbel L. (langer77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
alles klar udo, ganz so hab ich es nicht gemacht,

hab jetzt 43kOhm widerstände am ISET, jetzt ist witzig, es gehen alle 
an, aber dann gehen alle aus, bis auf die untere reihe, man man

gruss

s.

Autor: Sebbel L. (langer77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
so jetzt hab ichs zweimal hinbekommen das alle an und ausgehen, 
zwischendrin hab ich mal dein richtiges programm probiert, geht nicht, 
dann hab ich eins umgeschrieben wie damals das mit der 123, geht auch 
nicht, da bringt er nur müll, jetzt hab ich wieder das ein ausschalt 
prog, geht alle ein und jetzt sind 5 dioden aber nochan, wenn alle 
aussein sollten, werds nochmal aufspielen mal schauen was dann passiert 
;)

s.

Autor: Sebbel L. (langer77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich meld mich heute abend wieder, habs jetzt nochmal hinbekommen das 
alle an und aus gehen, aber ich denk, oder es könnte nurnoch an den 
max7219 liegen das da irgendwas mit den internen register verruscht, 
versaubeutelt ist???

soden

gruss

s.

Autor: Sebbel L. (langer77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
....aber wenn ich ehrlich bin, weiss ich nicht wirklich was das noch 
sein könnte, vielleicht sollt ich mal nen lehrer fragen,

s.

Autor: Udo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Sebastian,

versuch mal folgendes:

löte mal 1nF Keramik-Kondensatoren, jeweils von LOAD, SCK, und MOSI an 
jedem 7219 gegen Masse. Möglichst auf der Lötseite direkt vom jeweiligen 
Pin gegen Masse.

Gruß
Udo

Autor: Sebbel L. (langer77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moin,

hmmm meinst du echt,....werd später mal fortfahren welche holen, aber 
ich  glaub nicht das des nich was bringt,...ich hoffe eigentlich nurnoch 
darauf das die 7219 defekt sind

gruss

s.

Autor: Sebbel L. (langer77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hab nochmal zwei videos bei YouTube hochgeladen,

nicht ganz das erwünschte
Youtube-Video "LED Matrix Versuch1"


so sollte es sein
Youtube-Video "LED Matrix Versuch2"

gruss

s.

Autor: Udo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also der Stromlaufplan ist ok. Vorausgesetzt, DOUT1 geht an DIN2 und 
DOUT2 geht an DIN3.
Versuch das mal mit den Kondensatoren.

Gruß
Udo

Autor: Sebbel L. (langer77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
mahlzeit,

jup udo genauso sind DIN und DOUT verdrahtet, werd jetzt mal losfahren 
und son paar Kondensatoren kaufen, meld mich dann wieder.

gruss

s.

Autor: Sebbel L. (langer77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
nabend,
schade, gab keinerlei Veränderung durch die Kondensatoren,

gruss


s.

Autor: Udo S. (udo)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Sebastian,

schade, dann wart doch mal ab ob es funktioniert, wenn die neuen 7219 
drin sind. Hast du die wenigstens in IC-Fassungen?

Gruß
Udo

Autor: Sebbel L. (langer77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
...hab nochmal was ungewolltes hinbekommen, angeschlossen war ISP, SPI 
war auf dem Prozessorboard abgezogen, schaut selber

Youtube-Video "LED Lustig"

gruss

s.

Autor: Sebbel L. (langer77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Udo,

wie meinst des mit IC Fassungen, DIL Gehäsue wenn mich nicht alles 
täuscht, also Max7219CNG

Gruss

s.

Autor: Hanns Weil (hannsw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sebbel L. wrote:
> ...hab nochmal was ungewolltes hinbekommen, angeschlossen war ISP, SPI
> war auf dem Prozessorboard abgezogen, schaut selber
>
> Youtube-Video "LED Lustig"
>
> gruss
>
> s.

Hallo SebbelL.
Das ganze macht mich ja schon richtig Kribbelig.
Nachdem ich Dein Video angesehen habe, kam mir diese Idee:

Kannst Du nicht einen Taster anschließen, der die Lauf-Takte gibt?
Mir schien es, als hööt ich zumeindest ein "A" erkannt.
Und wenn DU manuell den Takt vorgibst, könntest DU besser sehen, was 
passiert ??


Gruß Hanns

Autor: Hanns Weil (hannsw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Mir schien es, als hööt ich zumeindest ein "A" erkannt.
= Mir schien es, als hätte ich zumindest ein "A" erkannt

 Gruß Hanns

Autor: Sebbel L. (langer77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nochwas, hab mal die Ausgänge gemessen,
hab am ersten 7219 an den anderen das gleiche.
zwischen 7 und 11 (43kOhm)
zwischen 7 und 6 (49kOhm)
zwischen 7 und 2 (65kOhm)
zwischen 7 und masse(2,5 kOhm)
zwischen jedem PIN der DIG Seite gegen Masse 44kOhm
zwischen  jden Pin der SEG Seite gegen +VCC 104Kohm


gruss

s.

Autor: Sebbel L. (langer77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
glaub das wird nicht gehen, das war ja nicht beabsichtigt, würd sagen 
das waren irgendwelche Störungen

Gruss

s.

Autor: Udo S. (udo)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Sebastian,

> wie meinst des mit IC Fassungen,...snip

Ich meinte, ob du die 7219 direkt in die Leiterplatte eingelötet hast, 
oder ob du sie in IC-Fassungen gesteckt hast. Bei Fassungen hättest du 
es einfacher die 7219 auszutauschen.

> Nochwas, hab mal die Ausgänge gemessen,
> hab am ersten 7219 an den anderen das gleiche.

Das kannst du dir sparen, da kannst du nichts messen.

> Kannst Du nicht einen Taster anschließen, der die Lauf-Takte gibt?
> Mir schien es, als hööt ich zumeindest ein "A" erkannt.
> Und wenn DU manuell den Takt vorgibst, könntest DU besser sehen, was
> passiert ??

leider nein Hanns, das funktioniert nicht.

Jeder 7219 beinhaltet ein 16Bit Schieberegister. Das High-Byte stellt 
die Adresse dar und das Low-Byte das Datum. Davon 3 hintereinander 
geschaltet ergeben 48 Bit, die in einem Rutsch reingeschoben werden 
müssen.
Die Datenübergabe an die 7219 funktioniert folgendermaßen:
LOAD wird von HIGH auf LOW gelegt.
Mit jeder Low-High-Flanke des SCK wird ein Bit über MOSI in die 
Schieberegister eingelesen bzw. 1 Bit weitergeschoben, bis alle 48 Bit 
übergeben wurden.
Danach wird LOAD wieder auf HIGH gelegt und mit der Low-High-Flanke von 
LOAD werden die Daten in die adressierten Register übergeben. Beim 7219 
besteht auch die Möglichkeit erst am Ende des Bitstroms einmal LOAD auf 
HIGH-LOW-HIGH zu setzen.

Ich würde jetzt einfach mal Entspannen und auf die neuen 7219 warten.

Gruß
Udo

Autor: Udo S. (udo)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sebastian,

 was mir bei Durchsicht der Beiträge noch aufgefallen ist:

du schriebst:
> 20mal gecheckt, passt alles...jede leitung durchgemessen(nicht gepiepst)
> hatten alle so um die 12 ohm, das passt ja auch;)

War das ein Schreibfehler mit den 12 Ohm?

Weil... bei mir hat ne Leitung um die 0 Ohm, wenn sie nicht gerade 200m 
lang ist und nur 0,1mm² Querschnitt hat.

Gruß
Udo

Autor: Sebbel L. (langer77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo udo,

schreibfehler war das nicht, sind die Messleitugen die 12 Ohm haben, 
sind halt nicht die tollsten ;)
ja entspannen würd ich auch gerne, da ich in 2 Wochen Prüfung habe, 
...ohman
ja logisch hab ich ic-sockel auf meiner pLatine ;), ohne wär es echt 
sehr umständlich,

was mich mal noch interesieren würde, wieviel Layer haben deine 
Platinen???
Gruss

s.

Autor: Udo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Meine Leiterplatten sind doppelseitig, durchkontaktiert.

Autor: Sebbel L. (langer77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
OK,

dann hast auch nicht mehr als ich, dachte du hättest vielleicht mit 3 
oder 4 Layern, wobei dann di emittleren die VCC und die GND wären, aber 
wenn des auch nur so gemacht hast, dann passt des ja.
Das mit den Pullups, bzw. dem einen Pulldown hast du ja auch so auf den 
Platinen,oder??

Gruss

S.

Autor: Udo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ja, hab ich.
Aber du könntest noch eins versuchen: Mal den Wiederstand an der SCLK- 
Leitung statt als Pull-Down als Pull-Up zu schalten.

Autor: Sebbel L. (langer77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hab ich schon getan,
keine Veränderung....hab ihn auch mal weggelassen, brachte aber auch 
nix....ich mien wenn du den bei dir auch drin hast,...sollt es ja nix 
bringen ;)

Gruss

s.

Autor: Udo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
von deiner 7219 Leiterplatte, wie hast du da die Verbindung zu den 
LED-Matrixen gemacht? Auf deiner Leiterplatte sieht man ja 8-polige 
Single-Inline Kontakte. Gehst du von da aus mit Flachbandleitung oder 
einzelne Drähte?

Autor: Sebbel L. (langer77)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
ich hab das so gelöst, das ich von den Kontakten der Max7219 Platine, 
direkt steckbar auf die LED Matrix gehe, hab Bild angehängt ;)
verdrahtet ist es wie auf meinem Plan, eigentlich so wie du es 
verdrahtet hast, so wie es jeder andere verdrahtet hat ;)

Gruss

s.

Autor: Udo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Deine Leiterplatten sind ja doppelseitig, aber ich denke nicht 
durchkontaktiert. Wie stellst du denn die Verbindung auf der 
Bestückungsseite mit der Leiterbahn her, wenn wie bei dem 
Pfostenverbinder zu sehen, der Kunstoff des Pfostenverbinders bis auf 
die Leiterbahn aufsitzt?

Autor: Sebbel L. (langer77)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
doch doch, hab ein paar durchkontaktierungen, die hab ich mit normalem 
0,8 silberdraht gemacht ud verlötet, die kontakte die du meinst sind von 
oben angefahren und oben verlötet, ich häng mal noch ein bild an....rot 
ist top und blau bottem, ist nicht alles ganz optimal, aber es geht mit 
dem löten, da wo die ics drinsitzen hab ich so gedrehte sockel genommen, 
also richtig gute, bei denen man auch auf der topseite einigermassen 
löten kann, weil mit den billigen geht das ja nicht,d ie sind ja bis 
unten zu und man kommt nur von unten an die kontakte sowas in der art 
hab ich bei den ics genommen ;)
http://img.alibaba.com/photo/50241910/Sell_IC_Sock...

gruss

s.

Autor: Udo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, ok. Ich hatte nur die alte Version gesehen und da war das nicht so 
ausgeführt.

Autor: Sebbel L. (langer77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
nabend,

da bin ich mal wieder und habe nix erfreuliches zu melden,
habe gerade meine neuen 7219er bekommen und es hat sich nix verändert, 
ich bin jetzt mit meinem latein am ende

gruss

s.

Autor: Sebbel L. (langer77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
kann sowas vielleicht noch mit meim AVR mkII zusammenhängen??? das der 
einen schuss hat??
gruss

s.

Autor: Sebbel L. (langer77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
habe jetzt sogar nen 47kohm am ISET, aber bringen tut des auch nix!!!

gruss

s.

Autor: Udo S. (udo)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Sebastian,

das ist schade.

Das der Fehler mit deinem mk II zusammenhängt bezweifel ich, da das 
Programm ja geladen wird und man sieht ja, dass der 32 es ausführt.

So aus der Ferne sind solche Fehler natürlich schlecht zu suchen.
Ich kann dir nur anbieten mir das Teil zu schicken und ich überprüfe es 
hier vor Ort.

Gruß
Udo

Autor: Udo S. (udo)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mail ist raus.

Autor: hshjjfhfsdhjlk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
bräuchte eine Erklärung für den Code

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.