Forum: Mikrocontroller und Digitale Elektronik Schaltplan Rotordisplay


von Tobias (Gast)


Angehängte Dateien:

Lesenswert?

Ich bin im Moment dabei, ein Rotordisplay zu bauen. Allerdings bin ich 
mir nicht sicher, ob das alles so funktioniert. Als "Hauptprozessor" 
habe ich mich für einen Atmel AVR Mega 644P entschieden, da dieser nicht 
so viele Pins hat, die ich dann eh nicht brauche, weil es ein AVR ist, 
denn man "relativ" einfach mit Bascom programmieren kann und weil er 
recht viel Speicher hat, sodass man auch ein paar Grafiken auf ihm 
Speichern könnte, ohne dass er eine PC Verbindung nötig hätte, da sich 
der AVR ja mitdrehen soll. Falls man doch mal noch mehr Speicher 
braucht, um evtl. sogar Animationen anzuzeigen, habe ich optional den 
Atmel AT25DF321 mit eingefügt. Da dieser aber 3,3 Volt braucht, habe ich 
den Spannungswandler AS 1360 von Austriamicrosystems eingefügt, damit 
dieser aus den normalen 5Volt 3.3 Volt macht.
Über den ISP Stecker kann ich den Prozessor programmieren. Damit die LED 
Treiber keine falschen Signale beim programmieren bekommen, habe ich den 
DIP-Schalter mit eingefügt, sodass man den BUS zu den Treibern einfach 
unterbrechen kann.
Als LED Treiber habe ich die AS 1110, ebenfalls von Austriamicrosystems, 
da diese eine interne Strombegrenzung für die LEDs haben.

Im Anhang habe ich den Schaltplan des ganzen. Außerdem habe ich mein 
Layout für die LED-Platine mitgeschickt.

Meine Frage ist jetzt, ob das alles so funktioniert, wie ich mir das 
gedacht habe, vor allem mit dem Flashspeicher. Außerdem weiß ich nicht, 
ob das ganze schnell genug  ist.(ca. 10MHz Bus, sodass ich auf 50Hz der 
LEDs komme, bei 3000 U/min.) Eigentlich müsste es das, doch ich weiß 
nicht, ob es da noch versteckte "Verbraucher" gibt.

von Nitram L. (nitram)


Lesenswert?

@Tobias
soll ich mir das RAR File runterladen, entpacken und dann feststellen, 
das ich die Dateien gar nicht öffnen kann???

Als Bild sehen sich viel mehr User die Pläne an...


nitraM

von Tobias (Gast)


Angehängte Dateien:

Lesenswert?

Das ist der Schaltplan....

von Tobias (Gast)


Angehängte Dateien:

Lesenswert?

und das mein Layout für die LED-Platine

von name (Gast)


Lesenswert?

was für einen durchmesser bekommt dein rotor? pass auf dass die 
fliehkräfte nicht irgendwann zu groß werden und dein rotordisplay 
anfängt mit hühnerfutter oder platinen zu ballern. 50Hz ist schon 
einiges wenn man mehr als eine kleine welle hat.

wenn ich mich nicht irre ging die zentripetalkraft (fz) so:

Fz= m*omega^2*r

ab wann lötstellen bzw. eher platinen versagen weiß ich leider nicht.

von Matthias L. (Gast)


Lesenswert?

Schaltplan zeichnen musst du noch üben.

Falls der 8pol. neben dem Spannungsregler der Speicher ist, dann ist da 
nix mit optional, weil sonst der SPI-Bus unterbrochen ist.. Weiterhin 
halte ich es nicht für sinnvoll, die LEDTreiber und den Speicher zu 
kaskadieren. Du musstest ja alles durch den jeweils anderen 
durchschieben, weil es eher unwahrscheinlich ist, die Daten direkt aus 
dem Speicher in die LEDtreiber zu senden...

Falls der OEN Anschluss am LED-Treiber eine output-enable ist, würde ich 
den an einen output compare ausgang vom µC legen. So kannst du alle 
zugleich mit ner PWM dimmen..

>bei 3000 U/min.)
Dir ist aber schon klar, dass das 50!!! Umdrehungen die Sekunde sind?
=> Auswuchten, wie, womit?
Wie realisierst du die Spannungsübertragung auf die drehende Elektronik? 
Wie ist die Mechanik realisiert, damit sich das "ordentlich" drehen 
kann?

Wenn dein 8Pinner der 3,3V Speicher ist, dann wirst du wohl eines in die 
ewigen Chipgründe bringen, wenn du einschaltest. Du kannst nicht einfach 
3,3V und 5V Signale mischen und direkt verbinden...

Der 20MHz Quartz sollte wohl eher an die XTAL Anschlüsse, die TOSC sind 
nur für Uhrenquartze...

Du willst wirklich einen riesigen DIL40 schnell drehen lassen...?

Zum DIP Schalter S1: Es gibt bessere (elegantere) Lösungen als solche 
Schalter (zumindest für den Zweck)

>Falls man doch mal noch mehr Speicher
>braucht, um evtl. sogar Animationen anzuzeigen
Wie willst du die Daten da reinbekommen?
Beitrag "Re: IrDA mit 89,6kb/s für Propeller Clock"

Achja: kein einziger Block-C an den LED Treibern vorhanden:
EMV - Sechs.Setzen.

So wie das auf der Platine aussieht, hast du 5V als eine Lage und GND 
als die Andere? Sowas macht man schonmal garnicht, zumindest nicht bei 
Zweilagenplatinen!

>ob das ganze schnell genug  ist
Wenn ich richtig gelesen habe, hast du für jede der 150LEDs einen 
16bit-Helligkeitswert, dass bedeutet, du brauchst für EIN (statisches) 
BILD einen Videospeicher von 300Byte PRO SPALTE!!! Da dein Atmel aber 
nur 4kB SRAM hat, kannst du nur 13Spalten darstellen. Dass du jetzt 
keine Variablen/Spapelzeiger mehr unterbekommst, lass ich mal weg. 
Nehmen wir mal 12Spalten an:
Ergäbe eine Auflösung von 50 (RGB) mal 12 Punkten.
Videospeicher ist dann 3600Bytes!Willst du 50Frames pro Sek darstellen, 
musst du 300x12x50=180kB/sek NETTOdatendurchsatz haben, Also mindestens 
1,44MBit/Sek. Das berücksichtigt noch nicht, dass die Daten Irgendwo 
hergeholt werden müssen, und evtl. auch irgendwie erzeugt werden müssen, 
bzw irgendein Overhead (Steuerdaten für LEDtreiber)...

Weiterhin: Wie erkennst du, wann eine neue Zeile auszugeben ist? 
Hallsensor? Inkrementalscheibe..? Bei angenommenen 12Spalten pro 
Umdrehung. Bei 50 Umd/sek und 12Spalten ergibt das ein Refresh von 
600Hz, also alle 1,67ms müssen (mind.) 300Bytes (für eine Spalte) geholt 
UND geschrieben werden. Wohlgemerkt: bei 12Spalten, was reichlich wenig 
ist..

>ca. 10MHz Bus
Kann man das mit Bascom überhaupt so schnell ansteuern..?

Achja, ich halte softwaretechnisch für unklug, die Videodaten im 
Videospeicher so abulegen: RotLED1,GrünLED1,BlauLED1, 
RotLED2,GrünLED2,..
Es sollte besser so sein: RotLED1..LED50, GrünLED1...LED50, Blau..
(Da wird das Layout komplizierter)

Ich würde dir raten, bevor du Schaltpläne/Layouts erstellt, nochmal 
LÄNGER üner das Konzept nachzudenken.
Eine Softwareentwicklung fängt auch nicht! mit dem Eingeben von 
Quellcode an, das kommt VIEL später...

Mehr fällt mir jetzt in meiner Müdigkeit und auf die Schnelle nicht dazu 
ein..


Beitrag "Re: Auftragsarbeit - RGB-LED-Lauflicht"

von Tobias (Gast)


Lesenswert?

Oh, das war ernüchternd. Ich meinte aber nicht, dass ich für jede LED 
einen 16 bit Helligkeitswert habe, sondern nur, dass ich die Farben 
einzeln ansteuere, sodass ich nur die Farben Rot Grün und Blau und die 
reinen Mischfarben aus diesen habe.
Was ist Block-C und EMV?

von Matthias L. (Gast)


Lesenswert?

>16 bit Helligkeitswert habe, sondern nur, dass ich die Farben
>einzeln ansteuere

Die TreiberICs brauchen 16bit pro Ausgang. ob du die nutzt oder nicht 
spielt da keine Rolle. Übertragen musst du die. Es sei denn, du nimsmt 
normale SRGs, da gibts nur an/aus pro Farbe, somit auch nur 1bit.

>Was ist Block-C
Abblockkondensatoren für die Spannungsversorgung.

>EMV?
Elektromagnetische Verträglichkeit. Also sowas wie: wieviel Störung 
sendet meine Schaltung aus bzw verträgt sie. Störungen entstehen durch 
(schnell) schaltende ICs. Also wenn sich Spannungen/Ströme schnell 
ändern..

von Matthias L. (Gast)


Lesenswert?

tja, und nun?

von atomino (Gast)


Lesenswert?

@ Tobias

Ich hab das mal gebaut vor einer Weile
http://www.myvideo.de/watch/1268548


Mega16  Dil
led direkt an Pins (Widerstände)
Spannung 7805 etc
etwas grössere Kondi 1000uF 16V
Pc-Lüfter Motor
Kupferrohr fuer Strom


also alles lowcost

probier es erstmal ganz einfach mein Tip(p)

Grüsse

von Tobias (Gast)


Lesenswert?

@atomino: nicht schlecht.
@ lippy: Ich werde jetzt das ganze wahrscheinlich kleiner bauen, und 
dann die LEDs direkt an die I/Os des AVRs hängen (natürlich mit 
Transistor und Widerstand)
mal sehen. Trotzdem danke.

von atomino (Gast)


Lesenswert?

hier auch von mir
ein groesseres ca 75cm durchmesser
http://de.youtube.com/watch?v=jkcFnVIT9kk



Tip:bau alles so konzentriert ( Ausdehnung) wie möglich
   smd?
   grösste schwierigkeit mist dynamische Balance


cu

von Dennis (Gast)


Lesenswert?

@atomino
hast du für deines Baupläne und SRC?

von Matthias L. (Gast)


Lesenswert?

ich würd mit ja mal sowas für die meine karre bauen, aber mir graut 
etwas vor einer allgemeinen verkehrskontrolle...

von atomino (Gast)


Lesenswert?

1. hall oder gabellichtschranke an int
2.leds direkt + resistor an avr
3.kondi 500...1000uf wg u-stabilität
4.cu rohr 15ner
5.altes relais ---->schleifkontakte
6.7805 , 100nf etc
7.intern calib takt
8.assembler da konkreter

summa:wenig bauteile

denn  ---> grosses problem  wg dyn. unwucht muss vermieden werden

von Tobias (Gast)


Lesenswert?

gibt es ein Bauteil, sozusagen einen elektronischen umschalter, der, 
wenn das Eingangssignal high ist, Kanal 1 durchschaltet und wenn das 
eingangssignal low ist Kanal 2 durchschaltet?
Welche Transistorart brauche ich, wenn ich ein positives Signal 
verstärken will? (npn oder pnp?)
Ich habe einen Motor, der seine Drehzahl konstant hält, da habe ich 
akeine Probleme mit Hallsensor...^^
Grüße
Tobias

von Jankey (Gast)


Angehängte Dateien:

Lesenswert?

um gleich bei Austriamicrosystems zu bleiben, der AS1743 kann das recht 
gut.

nette schaltung übrigens, die hab sowas mit dem AS1108 gebaut ...

bist du ein AMS Fan?

von Tobias (Gast)


Lesenswert?

nö, eigentlich nicht. wiso? ST Microelektronicks ist mit denen und Atmel 
gleichauf... :-)

von Tobias (Gast)


Lesenswert?

Was gibt es eigentlich für schöne Transistorcluster? (muss nicht von AMS 
sein ^^)

von Falk B. (falk)


Lesenswert?


von Tobias (Gast)


Lesenswert?

jo, das wirds tun, thx

von Tobias (Gast)


Lesenswert?

kann ich nicht zwei Transistorn so zusammenschließen, dass sie an ein 
AVR pin  geschlossen werden können und bei High der eine schaltet und 
bei low der andere? (sie sollten beide möglichst plus schalten)

von Sebastian (Gast)


Lesenswert?

Würde empfehlen erstmal ein kleineres Display mit weniger LEDs 
aufzubauen. Probleme hast du damit noch genug. Jedenfalls mehr als man 
denkt.
Ein Motor mit konstanter Drehzahl wird dir den Hallsensor (o.ä.) nicht 
ersetzen. Hatte einen billigen Modellbaumotor. Ohne synchronisation hat 
auch bei mir das Bild nicht gewackelt. Aber es schwimmt. Und reicht es 
schon, wenn dein Controller und Motor nur ein ganz klein wenig von der 
Drehzahl nicht zusammenpassen. Andererseits kann man so das Bild 
"wegpusten". Ist auch ganz lustig.

Sebastian

von Jankey (Gast)


Lesenswert?

Tobias, wie bist du eigentlich an den AS1100 gekommen?

von Tobias (Gast)


Lesenswert?

An den AS1110? Ich bin einfach auf die Seite der Hersteller, 
Austriamicrosystems, gegangen und habe mir dort Free Samples bestellt.
Dann bekommt man drei Bauteile gratis zugeschickt. Man kann zusätzlich 
noch den AS 1113 nehmen, der ist das gleiche, nur das er maximal 50 
anstatt 100 mA schalten kann. Damit hätte man schon 6 ICs.

von Jankey (Gast)


Lesenswert?

habs in meiner Studienzeit gleich gemacht.

PS.: Ich arbeite übrigens bei AMS :)

von Tobias (Gast)


Lesenswert?

Oh, ähä, da hätt ich dir evtl nicht gleich auf die Nase binden sollen, 
wie ich die verarsche, oder?

von Jankey (Gast)


Lesenswert?

nein, wir sehen das ja auch nicht als Verarschung an sonst würden wir 
auch keine Free Samples anbieten, ich hab zu meiner Studienzeit auch bei 
Analog, National, usw. Gratis IC's besorgt, und das hat auch seine 
Gründe, denn schließelich kenne ich dadurch diese Produkte und Designe 
sie auch in meinem Job gelegentlich ein ( eben diese die ich schon kenne 
).

Und das wird bei dir falls du mal wo Arbeitest genau so passieren, für 
uns sind das nur "werbeausgaben". Und immerhin wir haben es geschafft 
dich für unser produkt zu begeistern oder zumindest hast du es 
eindesignt, mich würde es freuen wenn dein Rota Display funktioniert. 
Wenns gut funktioniert wönnen wir ja auch drüber reden ob du es uns vl. 
verkaufen würdest :) ( würde sich bei uns sicher als schicker 
Demonstrator machen )

lg

von Tobias (Gast)


Lesenswert?

Jo, mag sein, aber ich habe mich jetzt umentschieden, es nicht mit 
Schieberegistern zu machen, sondern die LEDs direkt an den AVR zu 
hängen, ist mir sonst zu kompliziert, aber trotzdem danke...

von Matthias L. (Gast)


Lesenswert?

>ist mir sonst zu kompliziert, aber trotzdem danke...

Ändert aber nicht wirklich was an den Punkten, die ich dir genannt habe.

von Tobias (Gast)


Lesenswert?

Im Moment muss ich das als Facharbeit für die Schule machen und die Zeit 
läuft mir davon , daher wähle ich jetzt erstmal die leichtere Variante, 
aber das Interesse an den Schieberegistern bleibt, falls ich mal viele 
LEDs steuern muss...
Vielleicht wird es auch noch eine zweite Version des Rotordisplays 
geben, mal sehen, was sich zeitlich machen lässt, da die elfte Klasse 
nicht grade gechillt ist.

von Matthias L. (Gast)


Lesenswert?

Das war nicht auf die SRGs bezogen, sondern auf die Herangehensweise.

Du wirst sehen, wenn du jetzt zuwenig (bis garnicht) an die 
(nachfolgende) Softwareentwicklung denkst, wird sich das an 
entsprechender Stelle rächen.

Trotzdem viel Glück

von Tobias (Gast)


Lesenswert?

Dankeschön :-)

von Jankey (Gast)


Lesenswert?

hm noch meine Frage.: was is an den SRGs so kompliziert, Schematic, das 
Layout oder die SW?

von Tobias (Gast)


Lesenswert?

Alles. egal was ich gemacht habe, es war irgendwie falsch. Ich weis 
nicht, wie man diese programmiert, ich weiss nicht wie man mit dem bus 
arbeitet (ISP bus)...Kannst dir ja mal meinen komplett falschen 
Schaltplan oben ansehen...
(Da hatte ich ja die AS1110 verbaut)  :-)

von Tobias (Gast)


Lesenswert?

...Ich weis nicht, ob der Bus schnell genug ist, ich weis nicht, ob man 
die SRGs überhaupt so ansteuern kann.....

von Tobias (Gast)


Lesenswert?

Ich kann doch mit einem Inverter ein positives Signal in ein negatives 
Signal wandeln, oder? Doch wie ist so ein Inverter aufgebaut und wie 
funktioniert er?

von Jankey (Gast)


Lesenswert?

nanana, des Design passt eh, du hast lediglich DataIn und DataOut 
verwechselt. zu schnell für das Ding wirst du min AVR ned sein können 
und zu langsam gibts ned wirklich. vl. hilft dir das ein wenig :) funzt 
auf dem AS1008 wirklich gut.

/* austriamicrosystems AS1108 Democode for SPI */

void OEN( unsigned char value )
{
  P2 = (P2&~4)|(value<<2);
}

void LD( unsigned char  value )
{
  P2 = (P2&~8)|(value<<3);
}

void CLK( unsigned char  value )
{
  P2 = (P2&~16)|(value<<4);
}

void SDI( unsigned char  value )
{
  P2 = (P2&~32)|(value<<5);
}

void WriteSPI( unsigned char *values , unsigned char Devices )
{
  unsigned char  i;
  unsigned char  j;
  for ( j = 0; j < Devices ; j++ )
    for ( i = 0; i < 8 ; i++ )
    {
      SDI( (values[j]>>(7-i))&1 );
      CLK(1);
      CLK(0);
    }

  LD(1);
  LD(0);
}


und im Hauptprogramm steht dann sowas.:

unsigned char RPM[10];


WriteSPI( RPM , 9 );
OEN(0);
Wait(10)  ;
OEN(1);
Wait(10);


musst eigentlich nur noch die Portpins anpassen, bei mir wars halt ein 
LPC938uC für Demozwecke.

von Tobias (Gast)


Lesenswert?

Aha, ich versteh nur Bahnhof, ich wollte den mit Bascom programieren.

von Matthias L. (Gast)


Lesenswert?

>den mit Bascom programieren

Hör doch auf ;-)

**duckUndWeg**

von Tobias (Gast)


Lesenswert?

ich habe halt kein Bock, jetzt noch C oder Assembler zu lernen. 
Tschuldigung!

von Matthias L. (Gast)


Lesenswert?

>habe halt kein Bock,

Ist selbstverständlich dir überlassen, C wäre aber sinnvoller...

von Jankey (Gast)


Lesenswert?

naja gut, also mit zb LD(0), setzt mal die LD Leitung auf 0V und mit 
LD(1) setzt man die LD leitung auf High.

Assembler lernen brauchste da wirklich nicht, wäre auch 
Zeitverschwendung. Aber C wirst du für sowas schon brauchen spätestens 
wenn du dir gedanken machst was du da überhaupt anzeigen willst. Ich 
glaub du solltest dich etwas mit Grundlagen beschäftigen bevor du weiter 
mit deinem Projekt arbeitest.

lg

von atomino (Gast)


Lesenswert?

Hast du es hinbekommen ..?

von dude (Gast)


Lesenswert?

Jo, poste dochmal das Ergebnis :)

von !!! (Gast)


Lesenswert?

Ja, würde mich auch interessieren.

Gruß

von Tobias (Gast)


Lesenswert?

Also, mein Rotordisplay ist seit Sommer fertig. es ist sehr gut bei 
meinen Lehrern angekommen. Seitdem habe ich allerdings nichts mehr an 
dem Rotordisplay gemacht, da ich im Moment in der 12. Klasse bin und 
wichtigeres zu tun habe, und ich nach dem Stress erstmal genug von 
Elektronik hatte.
Daher ist das Rotordisplay in einem relativ unfertigen, aber lauffähigen 
Zustand geblieben. Nach Abschluss der Arbeit habe ich das Display hier 
im Forum gepostet.
Beitrag "Mein Rotordisplay"
Sollte sonst noch jemand Fragen haben, zögert nicht, mich zu löchern.^^

PS: sorry, hatte erst jetzt gesehen, dass dieser Thread noch lebt, :-) 
Sonst hätte ich natürlich schon geantwortet...

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.