VPedia:Beitrag/Pop'n Music ASC / Dekoleuchte

Aus VPedia
Zur Navigation springenZur Suche springen

der fertige Controller im Halbdunkeln

Da wir gerne unseren eigenen Pop'n Music ASC basteln wollten, haben wir uns ein paar Gedanken über mögliche Umsetzungen gemacht... Einfach ein Gamepad in eine Kiste zu packen, war keine technische Herausvorderung und daher nicht die erste Wahl. Ein PNM ASC ist nicht gerade klein, also wohin damit nach dem Spielen? Mit beleuchteten Buttons wäre das Teil ja schon fast als Raumbeleuchtung zu gebrauchen - aber mit diesen Farben? Die schönere Variante wären sicher eine RGB-Belechtung mit variablen Farben. So kamen wir dann letztendlich zu unserer Pop'n Music ASC-Dekoleuchten-Idee. Da wir keine große Erfahrung mit Holz-/Lackierarbeiten, Schaltungsentwurf und C-Programmierung hatten, stand unserem Projekt also nichts mehr im Wege ;-). Am Ende hat alles ganz gut hingehauen, aber die Schaltung hat zum Glück ein netter Bekannter übernommen.

Beleuchtung: 5-Buttons, 2-Player, invertiert

Das kann der fertige Controller:

  • ASC-Modus
    • HID USB-Gamepad mit 11 Tasten + Zusatztaste
    • Buttons leuchten in den PNM Farben
    • Farbwechsel bei Tastendruck
    • Beleuchtungsauswahl: 9-Buttons / 5-Buttons / 2-Player / 9-Buttons (invertiert)


  • Dekoleuchten-Modus
    • fließender Farbwechsel zwischen den Spektralfarben
    • Geschwindigkeitsauswahl
    • Auswahl zwischen wellenförmigem / gleichmäßigem Farbwechsel


  • Testmodus


So, dann mal viel Spaß beim Nachbauen! Eine PS2 Variante wäre sicher auch interessant...


Material

Platine

Die Bauteile für die Platine haben wir bei reichelt elektronik bestellt. Der Einfachheit halber gibt es hier unseren gesammten Warenkorb (inkl. Reserven).

Artikelnummer    Bezeichnung                          Anzahl                    
____________________________________________________________
H25PR150         Lochrasterplatine, Hartpapier, 150x10     1
SL 1X40G 2,54    40pol. Stiftleiste, gerade, RM 2,54       2
GS 40            IC-Sockel, 40-polig, doppelter Federk     1
µA 7805          Spannungsregler 1A positiv, TO-220        1
ZF 3,6           Zener-Diode 0,5W 3,6V                     6
12,0000-HC49U-S  Standardquarz, Grundton, 12,0 MHz         3
ATMEGA 16-16 DIP ATMega AVR-RISC-Controller, DIL-40        1
UDN 2981         Driver,  DIL-18  = TD 62783AP             4
74HC 595         IC-SCHALTUNG                              4
X7R-2,5 100N     Vielschicht-Keramikkondensator 100N,     12
RAD 10/35        Elektrolytkondensator, 5x11mm, RM 2,0     2
KERKO 22P        Keramik-Kondensator 22P                   2
METALL 68,0      Metallschichtwiderstand 68,0 Ohm          4
METALL 10,0K     Metallschichtwiderstand 10,0 K-Ohm        4
METALL 1,00M     Metallschichtwiderstand 1,00 M-Ohm        2
METALL 1,50K     Metallschichtwiderstand 1,50 K-Ohm        2
METALL 470       Metallschichtwiderstand 470 Ohm          12
METALL 430       Metallschichtwiderstand 430 Ohm          15
METALL 510       Metallschichtwiderstand 510 Ohm          12
METALL 4,70K     Metallschichtwiderstand 4,70 K-Ohm        2

Gehäuse

Für das Gehäuse haben wir uns MDF-Platten mit den folgenden Maßen zuschneiden lassen. Der Rahmen für die Bodenplatte besteht aus einem ca. 2 m langen und 1 cm breiten Kantholz.

  • 1x 72,5 cm x 30,5 cm x 1,5 cm
  • 2x 28,5 cm x 8,0 cm x 1,0 cm
  • 2x 72,5 cm x 8,0 cm x 1,0 cm
  • 1x 72,5 cm x 30,5 cm x 0,5 cm
  • 1x 70,5 cm x 28,5 cm x 0,5 cm

Pushbuttons

ArcadeShop.de

  • 9x Jumbotaste, 98 mm, weiß
  • 3x Leuchttaster, 26 mm x 45 mm, blau

Impolux

  • 9x LED 5 mm 4 Pin RGB "5000mcd" gemeinsamer Minuspol - diffus
  • 3x LED 5 mm weiß Flachkopf / Strawhat 60° 5000 mcd +R

Sonstiges

  • Schaltnetzteil AD2830-12 (Pollin Electronic)
  • ISP6-Programmer
  • USB-Einbaubuchse
  • Mini-Wippenschalter
  • Hohlstecker-Buchse
  • USB-Kabel
  • Buchsenleiste
  • Flachsteckerhülsen
  • Litze
  • Schrumpfschlauch
  • Kabelbinder
  • Schrauben
  • Nägel
  • Leim
  • Lack
  • Werkzeug
  • ...

Platine

Platinenlayout

Wie bereits erwähnt ist der Schaltungsentwurf nicht von uns. Hier mussten wir auf die Hilfe von einem befreundeten Fachmann zurückgreifen, welcher netterweise auch sofort alles für uns zusammengelötet hat (hier nochmal ein großes Dankeschön! an Peter :-) ). Ungeübte sollten für die Lötarbeiten mit mehreren Stunden rechnen. Mithilfe der Pläne sollte das Ganze aber auch hier gut zu schaffen sein. Für die Umsetzung der Software mussten wir uns noch in ein Paar Themengebiete einarbeiten. Diese haben wir für Interessierte mit (Wikipedia)-Links versehen. Um die Software auf die fertige Platine zu spielen benötigt ihr noch einen ISP6-Programmer (ca. 15€ bei Ebay).

Hardware

Das Herzstück der Schaltung ist ein ATMega16 Mikrocontroller der Firma Atmel, welcher mit einer Taktung von 12MHz betrieben wird. Die Anschlüsse für die Pushbuttons werden als Eingänge geschaltet. Die Ausgänge bedienen den USB-Anschluß und, mittels SPI, vier Schieberegister. Diese sind in Reihe geschaltet und können so die einzelnen LEDs ansprechen. Für eine schnelle Programmierung gibt es noch einen ISP6-Programmieranschluß.


Schaltplan Seite 1 Schaltplan Seite 2 Schaltplan Seite 3

Partlist

Exported from GamePad.sch at 30.08.2010 14:40:57 

EAGLE Version 4.16r2 Copyright (c) 1988-2006 CadSoft

Part     Value          Device            Package      Library  Sheet

C1       100n           C-EU025-025X050   C025-025X050 rcl      3
C2       10u            CPOL-EUE2.5-5     E2,5-5       rcl      1
C3       100n           C-EU025-025X050   C025-025X050 rcl      3
C4       100n           C-EU025-025X050   C025-025X050 rcl      3
C5       330n           C-EU025-025X050   C025-025X050 rcl      1
C6       100n           C-EU025-025X050   C025-025X050 rcl      1
C7       22p            C-EU025-030X050   C025-030X050 rcl      2
C8       22p            C-EU025-030X050   C025-030X050 rcl      2
C9       100n           C-EU025-025X050   C025-025X050 rcl      2
C10      100n           C-EU025-025X050   C025-025X050 rcl      3
C11      100n           C-EU025-025X050   C025-025X050 rcl      3
C12      100n           C-EU025-025X050   C025-025X050 rcl      3
C13      100n           C-EU025-025X050   C025-025X050 rcl      3
C14      100n           C-EU025-025X050   C025-025X050 rcl      3
D1       1N4004         1N4004            DO41-10      diode    1
D3       3V6            ZENER-DIODEDO34-7 DO34Z7       diode    1
D4       3V6            ZENER-DIODEDO34-7 DO34Z7       diode    1
F1       FUSESH22,5     FUSESH22,5        SH22,5       fuse     1
IC1      UDN2981AN      UDN2981AN         DIL18        uln-udn  3
IC2      UDN2981AN      UDN2981AN         DIL18        uln-udn  3
IC3      7805T          7805T             TO220H       linear   1
IC4      MEGA16-P       MEGA16-P          DIL40        atmel    2
IC5      74HC595N       74HC595N          DIL16        74xx-eu  3
IC6      74HC595N       74HC595N          DIL16        74xx-eu  3
IC7      74HC595N       74HC595N          DIL16        74xx-eu  3
IC8      74HC595N       74HC595N          DIL16        74xx-eu  3
IC9      UDN2981AN      UDN2981AN         DIL18        uln-udn  3
IC10     UDN2981AN      UDN2981AN         DIL18        uln-udn  3
JP1                     PINHD-1X8         1X08         pinhead  3
JP2      ISP            PINHD-2X3         2X03         pinhead  2
JP3      ISP voltage    JP1E              JP1          jumper   2
JP4                     PINHD-1X2         1X02         pinhead  2
JP5                     PINHD-1X8         1X08         pinhead  3
JP6                     PINHD-1X8         1X08         pinhead  3
JP7                     PINHD-1X8         1X08         pinhead  3
JP8      Reset          JP1E              JP1          jumper   2
JP9                     PINHD-1X2         1X02         pinhead  1
JP10                    PINHD-1X1         1X01         pinhead  2
JP11                    PINHD-1X4         1X04         pinhead  1
JP12                    PINHD-1X3         1X03         pinhead  2
JP13                    PINHD-1X8         1X08         pinhead  2
JP14                    PINHD-1X8         1X08         pinhead  2
Q2       12MHz          XTAL/S            QS           special  2
R1                      R-EU_0204/2V      0204V        rcl      3
R2       68             R-EU_0204/5       0204/5       rcl      1
R3       68             R-EU_0207/10      0207/10      rcl      1
R4       1k5            R-EU_0204/2V      0204V        rcl      1
R5       1M             R-EU_0207/10      0207/10      rcl      1
R6       4k7            R-EU_0207/10      0207/10      rcl      2
R7                      R-EU_0204/2V      0204V        rcl      3
R8                      R-EU_0204/2V      0204V        rcl      3
R9                      R-EU_0204/2V      0204V        rcl      3
R10                     R-EU_0204/2V      0204V        rcl      3
R11                     R-EU_0204/2V      0204V        rcl      3
R12                     R-EU_0204/2V      0204V        rcl      3
R13                     R-EU_0204/2V      0204V        rcl      3
R14                     R-EU_0204/2V      0204V        rcl      3
R15                     R-EU_0204/2V      0204V        rcl      3
R16                     R-EU_0204/2V      0204V        rcl      3
R17                     R-EU_0204/2V      0204V        rcl      3
R18                     R-EU_0204/2V      0204V        rcl      3
R19                     R-EU_0204/2V      0204V        rcl      3
R20                     R-EU_0204/2V      0204V        rcl      3
R21                     R-EU_0204/2V      0204V        rcl      3
R22                     R-EU_0204/2V      0204V        rcl      3
R23                     R-EU_0204/2V      0204V        rcl      3
R24                     R-EU_0204/2V      0204V        rcl      3
R25                     R-EU_0204/2V      0204V        rcl      3
R26                     R-EU_0204/2V      0204V        rcl      3
R27                     R-EU_0204/2V      0204V        rcl      3
R28                     R-EU_0204/2V      0204V        rcl      3
R29                     R-EU_0204/2V      0204V        rcl      3
R30                     R-EU_0204/2V      0204V        rcl      3
R31                     R-EU_0204/2V      0204V        rcl      3
R32                     R-EU_0204/2V      0204V        rcl      3
R33                     R-EU_0204/2V      0204V        rcl      3
R34                     R-EU_0204/2V      0204V        rcl      3
R35                     R-EU_0204/2V      0204V        rcl      3
R36                     R-EU_0204/2V      0204V        rcl      3
R37                     R-EU_0204/2V      0204V        rcl      3
R38      10k            R-EU_0204/2V      0204V        rcl      3
R41      10k            R-EU_0204/5       0204/5       rcl      1

Software

Unsere Software verwendet den firmware-only USB Treiber V-USB. Daher steht der Sourcecode unter der GNU General Public License Version 2 (GPL) zu freien Verfügung. Die Gamepad-Implementierung wurde weitestgehend vom V-USB-Projekt SNES/NES Gamepad and Atari Joystick to USB Adapter übernommen. Für die Steuerung der LEDs mussten wir dann noch eine Software-PWM (zum Dimmen / Mischen der Farben) für die Schieberegister schreiben. Das Fading war auch noch ein wenig knifflig, da ohne Gammakorrektur nicht viel zu sehen war. Die restlichen Spielereien waren dann schnell erledigt. Der Code könnte sicherlich schöner sein, aber mehr haben unsere begrenzten C-Kentnisse leider nicht hergegeben. Aber das Wichtigste ist - es funtkioniert tatsächlich :-p...

Datei:PNM ASC V0.1.zip

Taster & LEDs

Taster mit RGB-LED-MOD

Die fertig verlöteten LEDs lassen sich mit etwas Heißkleber prima in der Glimmlampen-Halterung befestigen. Eine optimale Ausleuchtung der Buttons ergibt sich, wenn der LED-Boden 1,5 cm über die Glimmlampen-Halterung hinausragt. Die Litze haben wir links und rechts durch die Löcher der Glimmlampen-Kontakte geführt. Um Litze zu sparen können sich LEDs und Taster eine Masse teilen.

Gehäuse

Abmessungen für das Gehäuse
Abmessungen für das Gehäuse

In die beiden Platten für den Deckel werden die Löcher für die Pushbuttons geschnitten. Die Löcher der 1,5 cm dicken Platte sollten einen Durchmesser von mindestens 87 cm haben. Mangels passender Lochsäge musste bei uns eine Stichsäge herhalten. Das Ergebnis ist zwar nicht so schön, wird aber später durch die Ränder der Buttons verdeckt. Die 0,5 cm dicke Platte erhält Löcher mit einem Durchmesser von 26 mm. Im Anschluss können beide Platten verleimt werden. Für eine rundere Optik haben wir die Kanten noch mit einer Oberfräse bearbeitet.

Alternative: Statt der unteren Platte, kann man zur Befestigung der Pushbuttons auch einfach die beiliegenden Halterungen aus Kunststoff benutzen. So spart man einiges an Arbeit.

Die Löcher für die kleinen Buttons und Anschlüsse haben wir mit einer Laubsäge ausgeschnitten. Danach einfach alles nacheinander verleimen. Zum Schluss noch das Kantholz zuschneiden, mit 0,5 cm Randabstand an die Innenseiten nageln, Bodenplatte auflegen und Schrauben einsetzen. Fertig ist das Gehäuse.


die fertigen Einzelteile alles schön verleimt der Rahmen für die Bodenplatte das fertige Gehäuse

Lackierung

Vor der eigentlichen Lackierung haben wir alle Fugen verspachtelt und einen Isoliergrund aufgetragen. Der grobe Anstrich wurde gerollt, der Übergang und die Motive gepinselt. Zum Abschluss wird noch ein Klarlack gesprüht.

die Grundierung der grobe Anstrich Mimi, Nyami und der Farbverlauf die fertige Stadt

Aufwand & Kosten

Ursprünglich hatten wir mit ca. 150€ geplant. Wie das bei solchen Plänen immer so ist, sind es am Ende ca. 275€ geworden. Allerdings gibt es hier auch noch großes Sparpotential. Die Kosten für die Test- / Ersatzteile würden bei einem Nachbau natürlich nicht mehr anfallen und eine weniger aufwändige Lackierung würde es in den meisten Fällen sicher auch tun. Auf den Isoliergrund sollte man bei MDF allerdings nicht verzichten, da es sonst sehr stark saugt und evtl. aufquillt. Wer noch einen ISP6-Programmer benötigt sollte nochmal ca. 15€ einplanen.

Wir haben für das Projekt jetzt fast ein ganzes Jahr gebraucht. Allerdings lag die Priorität nicht sehr hoch und es gab dabei viele größere Pausen. Ein Nachbau sollte an ein bis zwei Wochenenden zu schaffen sein.


  • 95€ Buttons + LEDs
  • 35€ Elektronik
  • 25€ Holz
  • 20€ Kleinkram
  • 70€ Lackierung (Material, Isoliergrund, Buntlacke, Klarlack)
  • 30€ Test- / Ersatzteile