Hallihallo! Nach einigen Probierereien und Basteleien möchte ich mein erstes großes Elektro- / Informatikprojekt angehen (bin selber IuK-Student, also ein Mix aus E-Technik und Inf). Mein Ziel ist es, ein Masterkeyboard selber zu bauen. Ein Masterkeyboard ist ein Keyboard, (also Musikinstrument, keine PC-Tastatur ;) ) dass keine Klangerzeugung besitzt, sondern nur Steuersignale (genannt MIDI) an andere Klangerzeuger, wie zB Synthesizer, PCs oder andere Keyboards sendet. Die Vorteile beim Selbstbau sind neben dem Hobbyfaktor v.a. Kosten, Funktionsumfang und die Möglichkeit, die Tastatur selber auszusuchen. Weiterhin sind folgende Besonderheiten geplant: -Ein USB-OTG-Host, der es dem Keyboard erlaubt, USB-MIDI nicht nur am PC, sondern auch zwischen verschiedenen Keyboards/Synthies einzusetzen. -Steuerung über eine App vom Handy/Tablet (evtl auch Netbook o.ä.), die mir nicht nur massig Hardware (allem voran das Display) spart, sondern auch Funktionen, wie Datensicherung und -verwaltung (evtl auch Speicherung), Software-Updates etc. relativ einfach umsetzen kann und ganz nebenbei über das Touchpad auch noch einen MIDI-Controller darstellen kann. Wird wohl auch auf USB-OTG hinauslaufen. Als allererstes bin ich auf der Suche nach dem passenden Mikrocontroller. Bisher habe ich nur Erfahrungen mit AVRs, aber für dieses Projekt zieht es mich eher zu den PICs. Warum PIC? Die größeren AVRs in Richtung AVR32, AT91, etc. sind nicht mehr ISP-kompatibel, während sich alle PICs über das gleiche Interface programmieren lassen. Da mein Studenten-Budget recht begrenzt ist, bin ich ganz froh, wenn ich nicht jedes Projekt mit einem neuen Programmer/Entwicklungsboard beginnen muss. Also: Einen ICSP-Programmer anschaffen und in Zukunft alle PICs und 8bit AVRs proggen können, das klingt für mich ziemlich gut. Außerdem hat PIC auch zB 16bitter im Angebot, die schon verdammt viel können und ziemlich günstig sind und was ich so gelesen hab bieten die auch gute Frameworks und so Zeugs an. Also, genug blahblah, was muss der uC können? - ein bisschen Standard-Krimskrams, wie I2C, SPI natürlich - möglichst viel (10+) ADC für Potis, Pedale, Fader... - genügend Ressourcen, um Latenzfrei 88 Tasten (SPI) + ca. 15 Steuereingänge abzufragen, mit dem Handy zu kommunizieren und MIDI-Daten zu empfangen, verarbeiten und verschicken - USB-OTG für MIDI-Übertragung und App-Steuerung (ist hierfür überhaupt OTG nötig?) - vorzugsweise beim blauen R erhältlich ;) Folgende Controller hab ich bisher in Betracht gezogen: 16bit, viele Anschlusspins, allerdings nur 8kB RAM (zu wenig?) http://www.reichelt.de/PIC-24-Controller/24FJ64GA306-IPT/3/index.html?;ACTION=3;LA=3;ARTICLE=121640;GROUPID=4085 Sind 32bit schon mit Kanonen auf Spatzen geschossen? Der hier ist etwas kleiner, dafür nochmal deutlich leistungsfähiger. Wie siehts hier mit RAM aus? Ich kapier das mit dem Memory-Mapping nicht so ganz. Hat der überhaupt was auf dem Chip? http://www.reichelt.de/PIC-32-Controller/32MX150F128D-IPT/3/index.html?;ACTION=3;LA=2;ARTICLE=121324;GROUPID=4509;artnr=32MX150F128D-IPT Wie es aussieht brauche ich ja 2 USB-OTG Anschlussmöglichkeiten. Ist es möglich, im Controller einen Hub zu implementieren oder wäre es das einfachste, vors Handy noch einen zweiten kleinen Vielbeiner als Schnittstelle zu platzieren? Was sagt ihr zu denen? Oder fallen Euch passendere Controller ein? Muss ja nicht unbedingt PIC sein, wäre aber schon am praktischsten, denke ich. Ich bin auch noch nicht voll in der Materie drin, gerade, was USB und so betrifft. Ich werde mir dann als erstes mal ein kleines Bastel-Brett für den Controller erstellen und mich damit in die Feinheiten einarbeiten. So, das wars nun erstmal ;) Viele Grüße, Hannes P.S.: Schon wieder so eine Text-Wand, ich muss mal lernen, mich kürzer zu fassen...
STM32F4 Discovery 32bit 168MHz 1MB Ram, 0.5MB ROM, USB, USB-Host, integrierter Programmer, 10 Dollar. Günstiger geht nicht Hannes schrieb: > Also, genug blahblah, was muss der uC können? > - ein bisschen Standard-Krimskrams, wie I2C, SPI natürlich Ich glaube der STM32F407VG der auf dem STM32F4 Discovery verbaut ist hat 8 Module davon > - möglichst viel (10+) ADC für Potis, Pedale, Fader... Ja > - genügend Ressourcen, um Latenzfrei 88 Tasten (SPI) + ca. 15 168MHz und externe Interrupts für jeden Pin sollten reichen > Steuereingänge abzufragen, mit dem Handy zu kommunizieren und MIDI-Daten > zu empfangen, verarbeiten und verschicken Pippifax > - USB-OTG für MIDI-Übertragung und App-Steuerung (ist hierfür überhaupt > OTG nötig?) OTG = Host = wohl nicht nötig > - vorzugsweise beim blauen R erhältlich ;) Nö
Hallo Hannes,
>P.S.: ich muss mal lernen, mich kürzer
zu fassen...
Du müsstest folgendes lernen:
1. .....wann man "dass" und wann man "das" schreibt.
2. .....dass es hier recht kontraproduktiv ist, nach "welchen
Mikrocontroller" zu fragen...das wirst Du sehr schnell merken. Reine
Glaubensfrage.
3. .....Dass Du für den Preis des komfortabelsten Midi-Masterkeyboeard
was es käuflich zu erwerben gibt, VIELLEICHT gerade mal das Starterkit
bekommst und ein passendes Netzteil dazu.
So genau ist mir noch nicht klar geworden, welchen ANteil das Handy
dabei haben soll.
Ist das ganze erst mal ein "IchWill" oder hast Du irgendeine praktische
Anwendung dazu?
Gruss
Michael
DK schrieb: > STM32F4 Discovery 32bit 168MHz 1MB Ram, 0.5MB ROM, USB, USB-Host, > integrierter Programmer, 10 Dollar. Günstiger geht nicht ARM lässt (mal wieder) grüßen :) Nicht schlecht, der Vorschlag! Hast Du schon Erfahrungen damit gesammelt? Taugt das Board auch für spätere (evtl viel kleinere) Projekte? An sich scheint mir der Controller ganz schön überdimensioniert, wobei das bei dem preis ja eigentlich ziemlich egal wäre^^ DK schrieb: > OTG = Host = wohl nicht nötig Meinst Du für den Anschluss ans Handy? Kann das den Host auch selber übernehmen? Michael Roek schrieb: > 1. .....wann man "dass" und wann man "das" schreibt. Hm, also wenn ich nix übersehen habe, erkenne ich oben genau einen dass-das-Fehler. Entschuldige vielmals! ;) Michael Roek schrieb: > 3. .....Dass Du für den Preis des komfortabelsten Midi-Masterkeyboeard > was es käuflich zu erwerben gibt, VIELLEICHT gerade mal das Starterkit > bekommst und ein passendes Netzteil dazu. Puh, du kaufst aber teure Starter-Kits :D Michael Roek schrieb: > So genau ist mir noch nicht klar geworden, welchen ANteil das Handy > dabei haben soll. > Ist das ganze erst mal ein "IchWill" oder hast Du irgendeine praktische > Anwendung dazu? Zusätzlich zu dem, was oben steht, will ich es auch einfach schaffen, ein selbstgebautes Gerät mit einer selbst geschriebenen App zu steuern. Das ist ja allgemein betrachtet auch nicht gerade unsinnig und lässt sich sicher auch auf andere Sachen anwenden. Generell geht es mir bei dem Projekt neben dem Selbstbau-Aspekt auch darum, mich generell mit solchen Dingen, wie digitaler Übertragung, Kommunikation zwischen Geräten, schreiben von Apps etc. zu beschäftigen und einzuarbeiten. Immerhin ist das alles genau das, was ich auch studiere. Natürlich kann ich gewisse ich-will- und Coolness-Effekte nicht abstreiten, aber darum geht es imho eben auch, wenn man sich irgendwas bastelt. ;) Zum praktischen Nutzen: Ein Live-taugliches Masterkeyboard, dass mein Equipment um eine Klavier-Tastatur erweitert und im besten Fall die Steuerung für sämtliche anderen Geräte übernehmen kann. Hoffe trotz Glaubensfrage trotzdem noch auf ein paar schöne Vorschläge :) Ich will ja keine Grundsatzdiskussion anzetteln...
Hannes schrieb: > ein selbstgebautes Gerät mit einer selbst geschriebenen App zu steuern Gibt es als Demo-Board mit Demo-APP und Schaltplan, und kann man dann als minimales Board selbst nachbauen: http://www.embeddedartists.com/products/app/aoa_kit.php
Michael Roek schrieb: > Hallo Hannes, > > 3. .....Dass Du für den Preis des komfortabelsten Midi-Masterkeyboeard > was es käuflich zu erwerben gibt, VIELLEICHT gerade mal das Starterkit > bekommst und ein passendes Netzteil dazu. > > Gruss > Michael Gab es nicht schon Midi Keyboards ab 50 Euro?
Die gibts auch für 30, aber das erfüllt dann doch nicht ganz meine Ansprüche :D http://www.thomann.de/de/korg_nanokey_2_black.htm Lothar schrieb: > Gibt es als Demo-Board mit Demo-APP und Schaltplan, und kann man dann > als minimales Board selbst nachbauen Das sieht auch äußerst interessant aus, danke!
Hallo Hannes, ich denke das du mit den PICs nicht verkehrt liegst (das kriegste aber auch mit Atmel Chips hin). Was mich total interessiert, weil ich auch etwas Musikzeugs habe, woher bekommst du denn die Tasten für das Keyboard, sollen doch welche mit Hammermechanik und so sein, kenne dafür keine günstigen Anbieter. Wenn du dazu vielleicht ein paar Links hast würden sich bestimmt auch andere freuen! Gruß dat Beast
Hannes schrieb: > Einen ICSP-Programmer anschaffen und in Zukunft > alle PICs und 8bit AVRs proggen können, das klingt für mich ziemlich > gut. Um das "proggen" kommt man nicht herum, viel wichtiger ist für mich das Debuggen. Kann ich mit einem Tool möglichst viele Prozessoren single steppen, Breakpoints setzen und Variable anschauen. Ob es da etwas gibt, das sowohl für PICs und AVRs gleichgut funktioniert ? MfG Klaus
Hallo Hannes Ich würde eine PIC32 dafür nehmen, aber das ist natürlich Geschmacksache. Es gibt halt ziemlich leistungsfähige Typen im DIP-28 Gehäuse und alle lassen sich mit einem günstigen PicKIT 3 programmieren und debuggen. USB-MIDI: Für die Verbindung vom Masterkeyboard zum PC (Sequencer Programm) brauchst du einen USB-Device. Für die Verbindung zu einem Synth Module über USB brauchst du einen USB-Host. Falls nicht beides gleichzeitig gebraucht wird muss der Controller also einen USB-OTG Port haben, sonst je einen Host und einen Device-Port. TABLET: Manche Tablets haben einen USB Host Anschluss, aber meistens wird zur Kommunikation der USB Device Anschluss benutzt, das hat den Vorteil dass man darüber das Tablet auch gleich mit Strom versorgen kann. Google mal nach IOIO, aber auch Microchip hat da fertige Lösungen für PICs. Ich finde es allerdings einfacher über Bluetooth zu gehen, mit einem kleinen Bluetooth Modul kriegst du eine einfache serielle Schnittstelle. Der Controller im Masterkeyboard braucht dann nur einen UART statt eines zweiten USB Ports. Und du kannst das Tablet auch mal von etwas weiter weg als Fernsteuerung benutzen. Ich denke das schwierigste an deinem Projekt ist die Programmierung des USB-MIDI Treibers sowohl als Host wie auch als Device. Informationen über das Protokoll findet man nicht viel im Netz. Und fertige Software Module, wie für andere USB Protokolle schon gar nicht. Falls du da schon gute Informationen hast, würden mich die auch interessieren. Gruss Andi
Im Prinzip ist der verwendete Controller egal, ich würde vermutlich einen STM32 nehmen, z.B. in Form eines Discovery Boards wg. des günstigen Preises, der vielen Ports und der zahlreichen ADC Kanäle, sowie dem Verzicht auf spezielle Programmer. Eines der Hauptprobleme wird sein, die unterstützende Hardware zum Scannen der Tasten zu planen. Egal, wieviele Ports der MC besitzt, es sind zu wenige, um direkt für jede Taste einen Portpin zu spendieren (Solange du nicht ein Nanokeyboard oder Casio SK-1 bauen willst :-) ). Da du vermutlich auch Velocity unterstützen möchtest, kann die richtige, übersprecharme Hardware den Prozessor da gut unterstützen. Abdi schrieb: > Ich finde es allerdings einfacher über Bluetooth zu gehen, mit einem > kleinen Bluetooth Modul kriegst du eine einfache serielle Schnittstelle. Allerdings ist Latenz hier mögl. ein Problem. Wenn das mehr als 2-5ms sind, ist das beim Spielen schon spürbar.
Hallo Hannes, nach wie vor mein absoluter Favorit ist : www.ucapps.de Basis ist der LPC1768 mit einer umfangreichen Peripherie. Hier ist das Modul Midibox-KB wohl für dich interessant. Gruss RomanK
Danke fürs Feedback schonmal soweit! :) Andreas G. schrieb: > Was mich total interessiert, weil ich auch etwas Musikzeugs habe, woher > bekommst du denn die Tasten für das Keyboard, sollen doch welche mit > Hammermechanik und so sein, kenne dafür keine günstigen Anbieter Günstig ist natürlich die Frage, die Tastatur wird auf jeden Fall mit Abstand das teuerste am Keyboard. Viele Hersteller (z.B. Doepfer, Studiologic, Clavia,...) beziehen ihre Tastaturen von Fatar (http://www.fatar.com/Pages/Intro_production.htm). Inwiefern diese Tastaturen einzeln beschaffbar sind, ist die Frage. Doepfer (http://www.doepfer.de/home_d.htm) bietet z.B. ein Modell zum Verkauf an, evtl. können die auch andere Liefern. Habe auch schon gelesen, dass sich jemand direkt bei Fatar eine TP40W (so ziemlich das Beste, was es derzeit gibt, zB im Studiologic Numa Nero verbaut) für 650€ bestellt hat. Hier muss man wohl ein bisschen rum fragen. Klaus schrieb: > Kann ich mit einem Tool möglichst viele Prozessoren single > steppen, Breakpoints setzen und Variable anschauen. Ob es da etwas gibt, > das sowohl für PICs und AVRs gleichgut funktioniert ? Abdi schrieb: > ...und alle lassen sich mit einem günstigen PicKIT 3 programmieren > und debuggen Ein Brett für AVRs habe ich ja schon, nur passt das ja nicht für die größerren Kaliber. Mit einem weiteren PicKit würde ich dann in Zukunft halt schon einen großen Pool an uCs abdecken, das spricht für den Einsatz eines PICs. Verfügbarkeit von DIP-Gehäuse(n?) ist mir hingegen relativ schnuppe, da ich sowieso eine SMD Version einsetzen werde. Abdi schrieb: > meistens wird zur > Kommunikation der USB Device Anschluss benutzt, das hat den Vorteil dass > man darüber das Tablet auch gleich mit Strom versorgen kann Touché! Dann brauch ich also einen zweiten Host. Bluetooth und kabellose Übertragungen sind mir da nicht ganz geheuer, zumal sich mit einem USB-Kabel das Teil auch ausreichend "fernsteuern" ließe. Abdi schrieb: > Ich denke das schwierigste an deinem Projekt ist die Programmierung des > USB-MIDI Treibers sowohl als Host wie auch als Device. > Informationen über das Protokoll findet man nicht viel im Netz. Also für die OTG-Funktionen werde ich das On-Chip-OTG verwenden und eine Device-Anbindung lässt sich auch über andere Schnittstellen implementieren, so viel weiß ich bisher. Für den zweiten OTG-Host werde ich dann wohl noch einen zweiten Controller reinsetzen, der die Steuerdaten vom Handy/Tablet über I2C weitergibt. Was die USB-Feinheiten betrifft, ist es vielleicht das schlaueste, sich irgendwo mal passende Literatur anzuschaffen. Matthias Sch. schrieb: > Eines der Hauptprobleme wird sein, die unterstützende Hardware zum > Scannen der Tasten zu planen. Egal, wieviele Ports der MC besitzt, es > sind zu wenige, um direkt für jede Taste einen Portpin zu spendieren > [...]. > Da du vermutlich auch Velocity unterstützen möchtest, kann die richtige, > übersprecharme Hardware den Prozessor da gut unterstützen. Wenn ich dich richtig verstanden habe, gehst Du bei der Tastatur von 88 Analog-Anschlüssen aus? Die braucht es nicht. Die Tastatur kann man einfach digital über Schieberegister+SPI auslesen. Die Tasten senden entweder einen Ein-Impuls oder betätigen zwei verschiedene Schalter. Aus dem zeitlichen Abstand ergibt sich dann der Anschlag. Also das mit den verschiedenen Controllern ist schon eine schwierige Sache... STM32 + Discovery am günstigsten PIC24/32 + PicKit 3 am vielseitigsten für zukünftige Projekte LPC mit Midibox und AOAA-Kit wohl am passendsten für dieses Projekt Schwierig! :D
Hannes schrieb: > LPC mit Midibox und AOAA-Kit wohl am passendsten für dieses Projekt Bei der Midibox: http://www.ucapps.de/mbhp_core_lpc17.html ist das Einstecken eines LPCXPRESSO vorgesehen. Du kannst aber stattdessen auch das AOAA direkt damit verbinden. Oder Du kannst das LPCXPRESSO nehmen und dort die AOAA Demo drauf laden, die ist frei d.h. Du musst das AOAA nicht kaufen. Dann musst Du allerdings für das LPCXPRESSO eine kleine Zusatzplatine mit USB-Host Stecker und LM3526-Power-Switch machen. Dafür den AOAA Schaltplan nutzen. > PIC24/32 + PicKit 3 am vielseitigsten für zukünftige Projekte After 10 years of using the PIC as microcontroller for the MIDIbox Hardware Platform, and living with all the limitations ...
Danke Hannes für den Wink mit Fatar, wenn man so ein Projekt machen möchte dann scheint mir die Anlaufstelle sinnvoll, außer man hat die Chance ein kaputtes Keyboard auszuschlachten, wenn es denn eine gute Tastatur besitzt. Hab mir mal die MidiBox angesehen und muß sagen das dort natürlich schon ein richtig gutes Projekt vorliegt! Sowas müßte man erstmal von A-Z bei den anderen Chips auf die Beine stellen. Bei der MidiBox kann man sich schon am geschrieben Code orientieren, das ist eine riesige Hilfe... Und dann nen ARM-Cortex, joar, das hat was. Gruß Beast
Nimm einen PIC24 mit 64 k Rom...Die sind eher viel zu schnell für das bischen Midi, sind gut verfügbar, relativ einfach zu beherschen und haben wie schon gesagt 40 mips und neue E Typen haben 70 mips. Also hau rein und gebe Bescheid beim Fertigstellen deines Projektes ...C ist kostenlos samt MPLAB.. also los ....
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.