8 x 36 blinkenLarge
8 x 36 blinkenLarge
hallo allerseits
wie der titel schon sagt, möchte ich mir ein doppelt breites blinkenlights bauen. jedoch wollte ich mir eine eigene schaltung dazu bauen, da ich die für die Anzeige verwendeten hellen LEDs nicht einzeln, sonden matrizenartig ansteuern will.
zur ansteuerung dachte ich an ein Atmega169 (oder ATmega3290 da fast gleich teuer) in kombination mit ein paar 2803; für die Zeilen PA0-PA7 und für die Spalten PC0-PG3. das ganze angeschlossen per serielle schnittstelle...
kann das laufen? ich hab eben selbst noch nie so eine schaltung geplant, aber macht in meinem kopf irgendwie sinn
BTW: gibt es lochrasterplatinen wo man den Atmega169 rauflöten kann? Mir macht es nicht so spass, selbst eine zu ätzen.
gruss blau
wie der titel schon sagt, möchte ich mir ein doppelt breites blinkenlights bauen. jedoch wollte ich mir eine eigene schaltung dazu bauen, da ich die für die Anzeige verwendeten hellen LEDs nicht einzeln, sonden matrizenartig ansteuern will.
zur ansteuerung dachte ich an ein Atmega169 (oder ATmega3290 da fast gleich teuer) in kombination mit ein paar 2803; für die Zeilen PA0-PA7 und für die Spalten PC0-PG3. das ganze angeschlossen per serielle schnittstelle...
kann das laufen? ich hab eben selbst noch nie so eine schaltung geplant, aber macht in meinem kopf irgendwie sinn
BTW: gibt es lochrasterplatinen wo man den Atmega169 rauflöten kann? Mir macht es nicht so spass, selbst eine zu ätzen.
gruss blau
Re: 8 x 36 blinkenLarge
Hallo blau,
>wie der titel schon sagt, möchte ich mir ein doppelt breites blinkenlights bauen.
Was soll da drauf laufen bzw. dargestellt werden? In dem Format gibt es ja praktisch nichts.
> zur ansteuerung dachte ich an ein Atmega169 [...] kann das laufen?
Das kann funktionieren, kommt auf deine Schaltung an. Letztendlich kann das aber erst mit einem Schaltplan disskutiert werden. 1steins Arcade Platine funktioniert ja ähnlich und hat sogar CF und USB, allerdings mit einem PIC18F8520. Das BSA ist eine Matrix mit Atmega16, geht also.
> BTW: gibt es lochrasterplatinen wo man den Atmega169 rauflöten kann?
Wie der Name "Lochraster" schon sagt, werden da keine Prozessoren raufpassen, die nicht ins Raster passen. Ees gibt Platinen für bestimmte Chips mit/ohne Sockel, bei denen die Pins rausgeführt sind. Für Atmegas habe ich das noch nicht gesehen, aber auch noch nicht danach gesucht. Was sagt den Google?
Viele Grüße
[STephan]
>wie der titel schon sagt, möchte ich mir ein doppelt breites blinkenlights bauen.
Was soll da drauf laufen bzw. dargestellt werden? In dem Format gibt es ja praktisch nichts.
> zur ansteuerung dachte ich an ein Atmega169 [...] kann das laufen?
Das kann funktionieren, kommt auf deine Schaltung an. Letztendlich kann das aber erst mit einem Schaltplan disskutiert werden. 1steins Arcade Platine funktioniert ja ähnlich und hat sogar CF und USB, allerdings mit einem PIC18F8520. Das BSA ist eine Matrix mit Atmega16, geht also.
> BTW: gibt es lochrasterplatinen wo man den Atmega169 rauflöten kann?
Wie der Name "Lochraster" schon sagt, werden da keine Prozessoren raufpassen, die nicht ins Raster passen. Ees gibt Platinen für bestimmte Chips mit/ohne Sockel, bei denen die Pins rausgeführt sind. Für Atmegas habe ich das noch nicht gesehen, aber auch noch nicht danach gesucht. Was sagt den Google?
Viele Grüße
[STephan]
Re: 8 x 36 blinkenLarge
hallo
danke für den schnellen reply
> Was soll da drauf laufen bzw. dargestellt werden? In dem Format gibt es ja praktisch nichts.
das ist nicht schlimm. man kann ja immer die blinkenlight sachen drauf laufen lassen (mit einem rand). aber ich finde das format schöner und möchte dafür dann auch ein paar tolle animationen und eben auch laufschriftchen programmieren
> Das kann funktionieren, kommt auf deine Schaltung an.
> Letztendlich kann das aber erst mit einem Schaltplan disskutiert werden.
ich hab schnell mal meine ideen in einen schaltplan verwandelt. es fehlen jedoch die 5V und GND anschlüsse auf den ULN2801...
> 1steins Arcade Platine funktioniert ja ähnlich und hat sogar CF und USB
es ist eben so: ich finde die arcade platinen zu kompliziert, soviel will ich doch gar nicht. und ich hätte gerne das breite format -- ich habe das gefühl, das breite format kommt besser zur geltung
gruss blau
danke für den schnellen reply
> Was soll da drauf laufen bzw. dargestellt werden? In dem Format gibt es ja praktisch nichts.
das ist nicht schlimm. man kann ja immer die blinkenlight sachen drauf laufen lassen (mit einem rand). aber ich finde das format schöner und möchte dafür dann auch ein paar tolle animationen und eben auch laufschriftchen programmieren
> Das kann funktionieren, kommt auf deine Schaltung an.
> Letztendlich kann das aber erst mit einem Schaltplan disskutiert werden.
ich hab schnell mal meine ideen in einen schaltplan verwandelt. es fehlen jedoch die 5V und GND anschlüsse auf den ULN2801...
> 1steins Arcade Platine funktioniert ja ähnlich und hat sogar CF und USB
es ist eben so: ich finde die arcade platinen zu kompliziert, soviel will ich doch gar nicht. und ich hätte gerne das breite format -- ich habe das gefühl, das breite format kommt besser zur geltung
gruss blau
Re: 8 x 36 blinkenLarge
Hi blau,
>> Das kann funktionieren, kommt auf deine Schaltung an.
>> Letztendlich kann das aber erst mit einem Schaltplan disskutiert werden.
>ich hab schnell mal meine ideen in einen schaltplan verwandelt.
>es fehlen jedoch die 5V und GND anschlüsse auf den ULN2801...
Mit meinem Leihenhaften Verständnis in Bezug auf AVRs sollte das gehen wenn er richtig Programmiert ist. Vielleicht sagt 1stein noch was dazu, der hat wesentlich mehr Kennung.
>> 1steins Arcade Platine funktioniert ja ähnlich und hat sogar CF und USB
> es ist eben so: ich finde die arcade platinen zu kompliziert, soviel will ich doch gar nicht. und ich hätte gerne das breite format --
>ich habe das gefühl, das breite format kommt besser zur geltung
Du wolltest wissen ob deine Idee Funktioniert, ich habe dir zwei Beispiele gegeben das es funktioniert, mehr nicht.
Viele Grüße
[STephan]
>> Das kann funktionieren, kommt auf deine Schaltung an.
>> Letztendlich kann das aber erst mit einem Schaltplan disskutiert werden.
>ich hab schnell mal meine ideen in einen schaltplan verwandelt.
>es fehlen jedoch die 5V und GND anschlüsse auf den ULN2801...
Mit meinem Leihenhaften Verständnis in Bezug auf AVRs sollte das gehen wenn er richtig Programmiert ist. Vielleicht sagt 1stein noch was dazu, der hat wesentlich mehr Kennung.
>> 1steins Arcade Platine funktioniert ja ähnlich und hat sogar CF und USB
> es ist eben so: ich finde die arcade platinen zu kompliziert, soviel will ich doch gar nicht. und ich hätte gerne das breite format --
>ich habe das gefühl, das breite format kommt besser zur geltung
Du wolltest wissen ob deine Idee Funktioniert, ich habe dir zwei Beispiele gegeben das es funktioniert, mehr nicht.
Viele Grüße
[STephan]
Re: 8 x 36 blinkenLarge
hi
vielen dank. es freut mich zu wissen, dass ich damit nicht völlig fehl liege...
schönen abend noch
gruss blau
ST wrote: Mit meinem Leihenhaften Verständnis in Bezug auf AVRs sollte das gehen wenn er richtig Programmiert ist. Vielleicht sagt 1stein noch was dazu, der hat wesentlich mehr Kennung.
vielen dank. es freut mich zu wissen, dass ich damit nicht völlig fehl liege...
schönen abend noch
gruss blau
Nagut, dann will ich da mal eben ein paar Kommentare zu schreiben. Tut mir leid, dass diese nicht so positiv ausfallen, wie vielleicht erwartet:
1) ULN2801 benötigt vor den Eingängen Vorwiderstände, da er selbst keine enthält. Besser ist hier der ULN2803, da der direkt für TTL-Level am Eingang ausgelegt ist.
2) Zeilen und Spalten mit ULN2803 schalten ist auf den ersten Blick etwas merkwürdig, da dann sowohl die Zeilen- als auch die Spalten-Leitungen gegen Masse schalten. D.h. pro Pixel ergeben sich dann die folgenden 4 möglichen Zustände (Zeile/Spalte): offen/offen, offen/Masse, Masse/offen, Masse/Masse --> Ich glaube, da wird in keinem Zustand eine LED aufleuchten.
Prinzipiell ist es meiner Meinung nach schon ohne weiteres möglich, 36x8 Pixel (mit (quadratischen, d.h. Gamma=2.0) Graustufen) in einer Matrixschaltung mit einem ATMEGA anzusteuern und die Daten seriell reinzugeben.
Gruß,
Stefan
1) ULN2801 benötigt vor den Eingängen Vorwiderstände, da er selbst keine enthält. Besser ist hier der ULN2803, da der direkt für TTL-Level am Eingang ausgelegt ist.
2) Zeilen und Spalten mit ULN2803 schalten ist auf den ersten Blick etwas merkwürdig, da dann sowohl die Zeilen- als auch die Spalten-Leitungen gegen Masse schalten. D.h. pro Pixel ergeben sich dann die folgenden 4 möglichen Zustände (Zeile/Spalte): offen/offen, offen/Masse, Masse/offen, Masse/Masse --> Ich glaube, da wird in keinem Zustand eine LED aufleuchten.
Prinzipiell ist es meiner Meinung nach schon ohne weiteres möglich, 36x8 Pixel (mit (quadratischen, d.h. Gamma=2.0) Graustufen) in einer Matrixschaltung mit einem ATMEGA anzusteuern und die Daten seriell reinzugeben.
Gruß,
Stefan
hallo 1stein
> 1) [...] Besser ist hier der ULN2803, da der direkt für TTL-Level am Eingang ausgelegt ist.
ok, werd ich ersetzen
gruss patrick
> 1) [...] Besser ist hier der ULN2803, da der direkt für TTL-Level am Eingang ausgelegt ist.
ok, werd ich ersetzen
was gäbe es dazu für eine möglichkeit? zum beispiel die 8 zeilen anstatt mit uln2803 mit transistoren a la tip126 (mit widerständen) ansteuern?2) Zeilen und Spalten mit ULN2803 schalten ist auf den ersten Blick etwas merkwürdig, da dann sowohl die Zeilen- als auch die Spalten-Leitungen gegen Masse schalten.
gruss patrick
neuer schaltplan
hallo
ich hab meinen schaltplan nun nochmal überarbeitet. ist das so besser, mit der ansteuerung der zeilen?
vielen dank für die hilfe
lg blau
ich hab meinen schaltplan nun nochmal überarbeitet. ist das so besser, mit der ansteuerung der zeilen?
vielen dank für die hilfe
lg blau
Das sieht schon besser aus. Allerdings würde ich dir noch empfehlen, den Transistoren einen Basis-Emitter-Widerstand zu verpassen, damit die auch sauber sperren. Auch sollte man nochmal im Datenblatt nachlesen, ob der TIP126 schnell genug ist und basierend auf dessen Daten die Widerstände berechnen.
Gruß,
Stefan
Gruß,
Stefan
hallo
ok, hab die nun auch noch eingezeichnet (mit 560 ohm vorwiderstand). ich begebe mich dann mal -- mit dem nun hoffentlich finalen schaltplan -- ans basteln. falls es läuft melde ich mich mal wieder.
vielen dank für deine hilfe und tipps!
gruss
blau
1stein wrote: Allerdings würde ich dir noch empfehlen, den Transistoren einen Basis-Emitter-Widerstand zu verpassen, damit die auch sauber sperren.
ok, hab die nun auch noch eingezeichnet (mit 560 ohm vorwiderstand). ich begebe mich dann mal -- mit dem nun hoffentlich finalen schaltplan -- ans basteln. falls es läuft melde ich mich mal wieder.
vielen dank für deine hilfe und tipps!
gruss
blau
und nun die firmware
hallo allerseits
so nach ein paar monaten sendepause, kann ich sagen, dass das board so mehr oder weniger funktioniert. ich bin gerade voll am firmware schreiben, es geht auch mehr oder weniger. jedoch wollte ich diesbezüglich noch 2 fragen stellen:
i) wie verarbeite ich am besten die blm movies? ich dachte mir, wenn ich sie in einem array von uint8_t hab, so kann ich dann die werte gleich auf die entsprechenden register laden um output pins zu setzen. ich schrieb also einen converter, welcher mir die blm movies in c code übersetzt und include das entstandene file. gibts eine schlauere art und weise?
ii) irgendwie schaff ich es nicht, über PE3 zu outputten. woran könnte das liegen? ansonsten gehen alle outputs, alle wurden mit hilfe des DDRn entsprechend gesetzt.
weitere infos: µc ist atmega128 und ich brauche avr-gcc. ich habe keine mmc card auf meinem board, aber könnte wohl den internen flash des atmega brauchen.
gruss blau
so nach ein paar monaten sendepause, kann ich sagen, dass das board so mehr oder weniger funktioniert. ich bin gerade voll am firmware schreiben, es geht auch mehr oder weniger. jedoch wollte ich diesbezüglich noch 2 fragen stellen:
i) wie verarbeite ich am besten die blm movies? ich dachte mir, wenn ich sie in einem array von uint8_t hab, so kann ich dann die werte gleich auf die entsprechenden register laden um output pins zu setzen. ich schrieb also einen converter, welcher mir die blm movies in c code übersetzt und include das entstandene file. gibts eine schlauere art und weise?
ii) irgendwie schaff ich es nicht, über PE3 zu outputten. woran könnte das liegen? ansonsten gehen alle outputs, alle wurden mit hilfe des DDRn entsprechend gesetzt.
weitere infos: µc ist atmega128 und ich brauche avr-gcc. ich habe keine mmc card auf meinem board, aber könnte wohl den internen flash des atmega brauchen.
gruss blau
Hallo blau.
i) Movie-Frames als uint8_t-Array sind im Prizip nicht schlecht, allerdings lnden sie dadurch im RAM. Viel besser sind sie wohl im Flash aufgehoben, weil da einfach mehr Platz ist. Das kann man mit "const uint8t_t PROGMEM my_frame[] = { ... };" erreichen ("#include <avr/pgmspace.h>" nicht vegessen). Lesen kann man das ganze dann mit "pgm_read_byte_near( (int)my_frame + i )". Weitere Infos findet man im Netz, wenn man zu seinen Suchwörter "PROGMEM" oder "pgm_read_byte_near" hinzufügt.
ii) Ich rate jetzt einfach mal: Vielleicht hatte PE3 beim ATMEGA103 noch eine andere Bedeutung. Der ATMEGA128 befindet sich bei Auslieferung im Kompatibilitätsmodus zum 103er und hat daher ein paar auf den ersten Blick merkwürdige Einstellungen. Das kann man mit den Fuse-Bits aber abschalten. Das ist irgendwo im Datenblatt beschrieben...
Gruß,
Stefan
i) Movie-Frames als uint8_t-Array sind im Prizip nicht schlecht, allerdings lnden sie dadurch im RAM. Viel besser sind sie wohl im Flash aufgehoben, weil da einfach mehr Platz ist. Das kann man mit "const uint8t_t PROGMEM my_frame[] = { ... };" erreichen ("#include <avr/pgmspace.h>" nicht vegessen). Lesen kann man das ganze dann mit "pgm_read_byte_near( (int)my_frame + i )". Weitere Infos findet man im Netz, wenn man zu seinen Suchwörter "PROGMEM" oder "pgm_read_byte_near" hinzufügt.
ii) Ich rate jetzt einfach mal: Vielleicht hatte PE3 beim ATMEGA103 noch eine andere Bedeutung. Der ATMEGA128 befindet sich bei Auslieferung im Kompatibilitätsmodus zum 103er und hat daher ein paar auf den ersten Blick merkwürdige Einstellungen. Das kann man mit den Fuse-Bits aber abschalten. Das ist irgendwo im Datenblatt beschrieben...
Gruß,
Stefan