Flipdots: Unterschied zwischen den Versionen
Leyrer (Diskussion | Beiträge) |
|||
(6 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
Zeile 52: | Zeile 52: | ||
Und eine Spalte zu beschreiben kann man also die Spalte einmal komplett auf schwarz setzen und dann die weißen Pixel setzen die man will: | Und eine Spalte zu beschreiben kann man also die Spalte einmal komplett auf schwarz setzen und dann die weißen Pixel setzen die man will: | ||
− | set_row(row, | + | set_row(row,65535,0); |
set_row(row,pixel_mask,1); | set_row(row,pixel_mask,1); | ||
Zeile 64: | Zeile 64: | ||
Achtung, das Panel braucht beim Schalten extrem viel Strom! Unsere Netzteile hier schaffen das nicht. Mit einem ausreichend großen Kondensator sollte man das ausgleichen können. | Achtung, das Panel braucht beim Schalten extrem viel Strom! Unsere Netzteile hier schaffen das nicht. Mit einem ausreichend großen Kondensator sollte man das ausgleichen können. | ||
+ | |||
+ | And some simple math about the current draw… the panel takes 1.6A while updating for two seconds. You need 3ms per row to switch. It is assumed that the current through the solenoids rise linear. And there are 20 rows. That’s 10 rows per second which means a duty cycle of 0.03 (Ton/Toff). | ||
+ | For a short moment the panel pulls 50Amps averaged and 100Amps peak. That's almost impossible to handle for SMPS supply without nice caps. | ||
+ | And a very rough estimation about the inductance of one coil: | ||
+ | There are 16 coils per row which means one coil pulls 6.25Amps peak. I=U/L*t -> 6.25=24/L*0.003 -> L=22uH | ||
+ | |||
+ | = Bastelerfahrung von [[Benutzer:leyrer|leyrer]] = | ||
+ | I just played around with Netzteil, Treiberplatine und rpi that came in the yellow box. | ||
+ | |||
+ | * Thanks to [[Benutzer:Pepi|maclemon]], the Raspberry Pi for the Flipdots display now has the static IP4 address: 10.20.42.253 (so just connect it to the ethernet and ssh into it). Username/password are the raspbian defaults. | ||
+ | * The spi-setup script already ran. | ||
+ | * Watch out that you connect the power ot the panel to the correct pins of the Treiberplatine, otherwise the fuse will blow. | ||
+ | |||
+ | |||
+ | /home/pi/leyrer/flipdots/rpi-demo/demo had a "one-off" error. Finally got it working. :D http://youtu.be/mN7yumsafPY | ||
+ | |||
+ | Now working on the udp-receiver. | ||
+ | |||
+ | Want: http://youtu.be/7oSH-aZKyU8 & http://youtu.be/x3jkoIyJgoc |
Aktuelle Version vom 14. Januar 2014, 12:38 Uhr
Bastelerfahrung von Mathias
Pins von Interesse:
- 3 ROW_DATA
- 5 STROBE
- 7 BLACK_OUTPUT_ENABLE
- 9 WHITE_OUTPUT_ENABLE
- 11 COL_CLOCK
- 13 ROW_CLOCK
- 15 COL_DATA
- 17 ROW_DATA_OUT (zum Kaskadieren)
Einfach gesagt wählt man eine Reihe aus indem man in ROW (pro Panel) 24bit hineinschiebt. Die aktive Reihe wird 1 gesetzt, der Rest 0.
for(i=0;i<24;i++){ change_pin(ROW_DATA,i==row); toggle_pin(ROW_CLOCK); }
Dann kann man gleichzeitig 16-bit in eine Spalte schreiben.
for(i=0;i<16;i++){ change_pin (COL_DATA,(data>>i)&1); toggle_pin(COL_CLOCK); }
Jetzt muss man einmal die Ausgänge im Display mit strobe updaten:
toggle_pin(STROBE);
Und nun wählt man ob die Pixel, welche man in der Spalte vorher gesetzt hat, nach schwarz oder weiß setzt:
change_pin(BLACK_OUTPUT_ENABLE,!color); change_pin(WHITE_OUTPUT_ENABLE,color); _delay_us(color?1500:3000); change_pin(BLACK_OUTPUT_ENABLE,0); change_pin(WHITE_OUTPUT_ENABLE,0);
Und eine Spalte zu beschreiben kann man also die Spalte einmal komplett auf schwarz setzen und dann die weißen Pixel setzen die man will:
set_row(row,65535,0); set_row(row,pixel_mask,1);
oder unauffälliger einfach die toggeln, die man toggeln will.
mask=old_pixel_mask ^ pixel_mask; set_row(row, old_pixel_mask & mask, 0); set_row(row, pixel_mask & mask, 1);
Spannungsversorgung
Achtung, das Panel braucht beim Schalten extrem viel Strom! Unsere Netzteile hier schaffen das nicht. Mit einem ausreichend großen Kondensator sollte man das ausgleichen können.
And some simple math about the current draw… the panel takes 1.6A while updating for two seconds. You need 3ms per row to switch. It is assumed that the current through the solenoids rise linear. And there are 20 rows. That’s 10 rows per second which means a duty cycle of 0.03 (Ton/Toff). For a short moment the panel pulls 50Amps averaged and 100Amps peak. That's almost impossible to handle for SMPS supply without nice caps. And a very rough estimation about the inductance of one coil: There are 16 coils per row which means one coil pulls 6.25Amps peak. I=U/L*t -> 6.25=24/L*0.003 -> L=22uH
Bastelerfahrung von leyrer
I just played around with Netzteil, Treiberplatine und rpi that came in the yellow box.
- Thanks to maclemon, the Raspberry Pi for the Flipdots display now has the static IP4 address: 10.20.42.253 (so just connect it to the ethernet and ssh into it). Username/password are the raspbian defaults.
- The spi-setup script already ran.
- Watch out that you connect the power ot the panel to the correct pins of the Treiberplatine, otherwise the fuse will blow.
/home/pi/leyrer/flipdots/rpi-demo/demo had a "one-off" error. Finally got it working. :D http://youtu.be/mN7yumsafPY
Now working on the udp-receiver.
Want: http://youtu.be/7oSH-aZKyU8 & http://youtu.be/x3jkoIyJgoc