Schaltplan Rotordisplay

Gast #789774
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.
Angehängte Dateien:
Gast #789818
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.
Gast #790096
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"
Gast #791039
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?
Gast #791152
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..
Gast #792711
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
Gast #793639
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
Gast #793878
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
Gast #794387
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.
Gast #794400
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
Gast #794422
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.
Gast #794428
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
Gast #794519
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)  :-)
Gast #794566
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.
Gast #795659
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
Gast #1003054
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...

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren