Midi-Controller Marke Eigenbau

+A -A
Autor
Beitrag
blackfield
Inventar
#1 erstellt: 08. Dez 2010, 00:16
Kennt jemand von euch die Midi Spezifikationen? Mein Gedanke war einen Midi-Controller selber zu baun. Damit sollte dann Freestyler angesteuert werden.

Leider gibt es keinen bezahlbaren Controller der mir gefällt. An Elektronikmaterial komm ich jedoch sehr günstig.
Das Protokoll dürfte doch nicht all zu kompliziert sein oder?
Im Prinzip müsste ich doch nur einen simplen Midi-USB Wandler nehmen. Das vor dem Wandler bereitet mir noch Kopfzerbrechen. Was muss ich in den Midiport reinschicken?
nEvErM!nD
Inventar
#2 erstellt: 08. Dez 2010, 00:38
Hi blackfield!

Ein ziemlich ähnliches (eigentlich identisches) Projekt hatte ich auch mal angefangen.
Bei mir sollten die Steuerelemente zwar für gängige DJ-Software sein aber MIDI-Signal ist ja MIDI-Signal.

Die MIDI-Spezifikationen findet man im Internet haufenweise (einfach mal nach "midi spec", "midi protocol", etc. googlen oder zum Einstieg auch einfach mal den Wiki-Artikel lesen).

Das Protokoll ist nicht großartige kompliziert, zudem du ja nur einen Bruchteil der ganzen Funktionen brauchst.
Du musst ja bei jedem Bedienelement - vereinfacht gesagt - nur irgendeine Note senden, die Zuweisung geht ja dann in Software am PC.

Wie du sagtest ist das ganze eigentlich nicht sonderlich kompliziert.

In deinem Controller brauchst du nur einen Mikrocontroller (AVR, PIC, etc.), der die Bedienelemente (Taster, Fader, etc.) ausließt, das entsprechende MIDI-Signal erzeugt und an den PC schickt.

Die Kommunikation mit dem PC ist eine simple serielle Datenübertragung.
Du brauchst an sich nicht mal einen MIDI-USB-Wandler.
Du kannst den PC direkt an die serielle Schnittstelle (oder per Wandler an den USB) füttern, dass da ein MIDI-Signal reinkommt kannst du dem PC per Treiber sagen (da gibts einen von Roland)

Ich habe mein Projekt selbst nie ganz fertig gestellt (mangels Bedarf), funktioniert hat das ganze jedoch 1A.


[Beitrag von nEvErM!nD am 08. Dez 2010, 00:39 bearbeitet]
blackfield
Inventar
#3 erstellt: 08. Dez 2010, 00:46
Das freut mich ja zu hören. Als Mikrokontroller würde es doch ein AT-Mega tun?

Die Specs führ ich mir gerade zu Gemüte.

Hattest du auch Fader? Ein paar wären ganz cool. Sonst brauch ich nur Taster. Wie funktioniert das anders rum? Kann ich Signale ausgeben also als Bestätigung das eine Funktion aktiv ist?

Der USB Wandler ist leider Pflicht da mein Laptop kein Sellerieport hat

Weiß jemand wie das bei den Enttec Wings funktioniert? Die arbeiten doch per TCP oder?
nEvErM!nD
Inventar
#4 erstellt: 08. Dez 2010, 00:59

Als Mikrokontroller würde es doch ein AT-Mega tun?


Klar, ich hatte einen eben solchen im Einsatz.


Hattest du auch Fader?


Ja, Fader, Taster und Jogwheels.
Ich hatte das Bedienteil eines Standard-Doppel-CD-Players umgerüstet.


Wie funktioniert das anders rum? Kann ich Signale ausgeben also als Bestätigung das eine Funktion aktiv ist?


Die Rückwärtskommunikation stand bei mir auch auf der ToDo-Liste, soweit bin ich aber nicht gekommen, ich hatte das Projekt davor schon abgebrochen.

Sollte aber auch kein größeres Problem darstellen, sofern die Software am PC das ganze unterstützt.

Da müsste man dann eben mitloggen (bzw. in der Dokumentation schauen) was genau die Software wann ausgibt und auf eben diese Signal im Controller reagieren.


[Beitrag von nEvErM!nD am 08. Dez 2010, 01:00 bearbeitet]
blackfield
Inventar
#5 erstellt: 08. Dez 2010, 16:13
Du hast mir echt schon ziehmlich geholfen.

Hast du vielelicht noch irgendwelche Aufzeichnungen, gerade was die Programmierung angeht, an denen ich mich etwas entlanghangeln könnte?
nEvErM!nD
Inventar
#6 erstellt: 08. Dez 2010, 16:46
Ui... da müsste ich mal schauen, ob ich noch irgendwas finde.
Kann aber auch gut möglich sein, dass der Sourcecode, usw. verschütt gegangen ist.

In welcher Sprache programmierst du deine AVRs denn?
blackfield
Inventar
#7 erstellt: 08. Dez 2010, 17:24
Bis jetzt in noch garkeiner. Ich würde mir verschiedene Sprachen anschaun und dann die nehmen wo ich die meisten Grundkenntnisse hab. Bis jetzt gings bei mir nicht viel weiter als Basic.

Aber ich lern schnell ist ja alles iwi gleich. Die Programmierung ist auch das was mir am meisten Sorgen macht. Der Rest dürfte leicht sein. Eine Konstantstromquelle für den AVR, da kann man ja vielleicht Strom vom USB Port abgreifen. Wobei es vielleicht klüger wäre ein normales NT zu verwenden wenn ich wirklich noch LEDs einbau bzw eine Pultbeleuchtung.

Am AVR müsste ich dann die ISP Ausgänge rauslegen sodass ich ihn auch eingebaut programmieren kann.

Ich werd mir mal ein bisschen Material zur Programmierung von AVRs zusammensuchen. Hast du einen Vorschlag in welche Richtung ich gehn soll von der Sprache her? Ich hatte an PonyProg gedacht als Programmiertool. Wenn ich wieder einen Eingang will werd ich sowieso zwei AVRs benötigen.
nEvErM!nD
Inventar
#8 erstellt: 08. Dez 2010, 22:16

Bis jetzt in noch garkeiner. Ich würde mir verschiedene Sprachen anschaun und dann die nehmen wo ich die meisten Grundkenntnisse hab. Bis jetzt gings bei mir nicht viel weiter als Basic.


Basic für die AVRs gibt es auch.
Die Programmierumgebung nennt sich BASCOM-AVR.
Wird von den Profis aber eher belächelt, da Basic auf dem AVR einfach nicht die aller schnellste Sprache ist.
Wie auch immer... meiner Meinung nach tuts das für nicht ganz so umfangreiche bzw. zeitkritische Projekte und ist eben echt simpel zu benutzen.
Wenn man an die Performancegrenzen stoßen sollte muss man eben auf C oder Assembler (Igitt :D) umsteigen.


Hast du einen Vorschlag in welche Richtung ich gehn soll von der Sprache her?


Ich denke wenn du schon Basic am PC kannst bist du mit Bascom gar nicht so schlecht aufgehoben.
Sicher nicht die effizienteste Sprache aber um "ein paar Taster abzufragen" reichts alle mal.
Vor allem ist die Programmierung besonders für Controller-Einsteiger sehr einfach, da es viele vorgefertigte Routinen gibt.


Der Rest dürfte leicht sein. Eine Konstantstromquelle für den AVR, da kann man ja vielleicht Strom vom USB Port abgreifen. Wobei es vielleicht klüger wäre ein normales NT zu verwenden wenn ich wirklich noch LEDs einbau bzw eine Pultbeleuchtung.


Ja, würde da auch eher auf ein externes Netzteil + Festspannungsregler setzen.
Vom USB-Port darfst du (zumindest wenn man sich an die ofiziellen Specs halten möchte) ja nur 100mA ziehen.
Ein paar LEDs sind da kein Problem, Beleuchtung und so weiter wäre aber an einem externen Netzteil besser aufgehoben.

Eine interessante Basis als "Mainboard" für solche Projekte, für den Einstieg in die µC-Welt oder einfach nur als Entwicklungsboard ist wie ich finde das
Pollin Evaluations-Board

Controller, ISP-Schaltung, serielle Anbindung, Netzteil und ein paar Elemte um sich "bemerkbar" zu machen - alles auf einem Board.
Dazu sämtliche Pins des Controllers auf einer Pfostenleiste.
Und das zu einem extrem guten Preis dafür das alles auf einer fertigen PCB ist.

Deine Taster, LEDs, usw. kannst du einfach per Flachbandkabel mit dem Wannenstecker verbinden.
Dazu noch einen USB-Seriel-Wandler und fertig ist die Laube.

Edit:


Wenn ich wieder einen Eingang will werd ich sowieso zwei AVRs benötigen.


Nein, wieso?
Du kannst auf dem einen Controller ja sowohl empfangen als auch senden.


[Beitrag von nEvErM!nD am 08. Dez 2010, 22:20 bearbeitet]
blackfield
Inventar
#9 erstellt: 08. Dez 2010, 22:49
Reicht mir das dann an Aus- und Eingängen?

Ich hab mal etwas gegoogelt und bin auf etwas sehr interessantes gestoßen: Monodeck

Natürlich viel zu viel für mich!

Ich werd wohl erstmal ein Layout entwerfen was ich wirklich an Tastern und Fadern brauch.

Das mit dem Board von Pollin hat ich schon öfters vor und werd ich jetzt wohl auch tun samt ner handvoll AVRs zu testen.
*xD*
Inventar
#10 erstellt: 13. Dez 2010, 02:38
Hi

Du programmierst also am PC in Basic, richtig?

Da Basic ja allgemein eher belächelt wird (klar, die heißt ja nicht umsonst Basic ), nicht schlimm.

Wenns zeitkritisch ist, geht an Assembler sowieso nix vorbei bzw. man nutzt in anderen Sprachen eben Inline-Assembler.

MIDI funktioniert generell in beide Richtungen. Braucht dann aber einen zweiten Stecker.


Frage also: Einen Controller, der MIDI ausgibt und dann auf USB adaptiert wird oder gleich über die serielle rein? Für letzteres wird wie gesagt ein passender Treiber benötigt, der das USB-Signal dann dem Programm als MIDI zu verstehen gibt.

Fader erfordert die Verwendung eines AD-Wandlers.

PonyProg kann kein USB, nur parallel oder seriell. Im Übrigen dient das nur dem Flashen des Controllers und nicht der Programmierung. Entweder einen USB-Treiber verwenden, der eine serielle Schnittstelle emuliert (gibts für die FTDI-Konverter) oder ein anderes Programm, welches direkt über den USB-Treiber kommuniziert.


Was dein AVR können muss:
-Serielle Schnittstelle muss er haben, am besten zwei.
-AD-Wandler, falls Fader erforderlich (die Anzahl derer ist egal, kann man Hardware-multiplexen).
-Genug Programmspeicher und RAM für deine Anwendung (richtet sich nach dem Umfang).
blackfield
Inventar
#11 erstellt: 13. Dez 2010, 16:15
Also mittlerweile steht der AVR fest: Entweder ein ATmega32 oder 64.

Programmiert wird seriell über ISP. (Da ich keinen seriellen Port hab nehm ich da nen 5 Euro USB-RS232 Wandler)

Die Tasten werden in Matrixen angeordnet.

Um von MIDI auf USB zu kommen nehm ich vorerst einen Wald und Wiesen-Adapter.

Und wer meint lachen zu müssen den frag ich nach seinem Controller
*xD*
Inventar
#12 erstellt: 13. Dez 2010, 16:52
Achtung, RS 232 ist nicht gleich serielle Schnittstelle. Den entsprechenden Treiberbaustein nicht vergessen (weißt du wahrscheinlich, wollte es nur nochmal erwähnt haben ).

Der ATMEGA 32 ist an sich ausreichend, es sei denn, du willst noch größere Zusätze einbauen, sodass du auf die 4kB RAM angewiesen bist, nur für die Tasterabfrage und MIDI-Kommunikation ist das sonst ausreichend.

Wir freuen uns über Projektberichte
blackfield
Inventar
#13 erstellt: 13. Dez 2010, 17:40
Ich verlink einfach mal den Thread ausm Roboternetzforum. Dort wurde mir auch ziehmlich geholfen.

RoboNet Thread

Der Treiber sitz auf meinem Board drauf

Berichte und Bilder wird es immer wieder mal geben.
blackfield
Inventar
#14 erstellt: 23. Dez 2010, 14:24
Mal ein kleines Update:

Heute sind ein paar Teile von Reichelt gekommen. Jetzt geht es erstmal daran verschiedene Methoden durchzuprobieren wie ich alles am klügsten Aufbau, ob Matrix oder Schieberegister.
blackfield
Inventar
#15 erstellt: 29. Dez 2010, 16:05
So mal wieder ein Update (sogar mit Bildern):

Kleine Lieferung vom reichelt um die Bestände wieder aufzufüllen:

DSC01419


Da mich einige Leute gefragt haben ob ich das Layout hochladen könnte, hier is es:

Frontplatte

Die Löcher oben rechts und links sind für die Pultbeleuchtung (XLR - dimmbar per PWM).
Rechts darunter werden unter anderm Funktionen wie "Open cue" oder "Open Gobos" zuhause sein. Links darunter zwei Taster für Nächstes/Letztes Fixture, rechts davon fünf Tasten für Fixture Gruppen sowie Gruppen Blackout.

Die Aussparung darunter nimmt ein Display sowie das Kontrastpoti auf.

Darunder finden fünf Fader Platz, vier Submaster (evtl auch nur drei und einer Masterspeed) und ein Master. Alle haben Flashtasten. Ob ich die Parallel zu den Fadern anschließ oder unabhängig mach steht noch nicht fest.

Recht von den Fadern sind Funktionen wie Blackout, Full on, Freeze, Trigger usw beheimatet.

Die drei Felder links sind für die Cues, der einzelne Taster darunter für die Multiselection.

Die kleine Gruppe darunter ist für die Steuerung von Scannern und MHs, werden wohl Drehimpulsgeber.

Ganz unten sind dann noch frei belegbare Tasten zb für Strobe oder ähnliches.
*xD*
Inventar
#16 erstellt: 29. Dez 2010, 16:28
Sieht ja schonmal gut aus

Wir sind auf die Technik gespannt
Dj_Soundforce
Stammgast
#17 erstellt: 06. Jan 2011, 16:40
bist eigentlich schon weiter gekommen? würd mich auch mal brennend interessieren
blackfield
Inventar
#18 erstellt: 06. Jan 2011, 16:42
Aktuell sitz ich am Platinenlayout und ein paar Taster sind gekommen. Leider sind die meisten Firmen noch im Weihnachtsurlaub.

Im Laufe der nächsten Woche werd ich noch ein paar Schieberegister bestellen und dann mal den ersten Versuch starten.
Dj_Soundforce
Stammgast
#19 erstellt: 06. Jan 2011, 16:44
ah ok jaja die weihnachtsfeiertage und der jahreswechsel ^^ werd mal weiterhin auf der lauer sein da mich das gnaze auch intressiert
blackfield
Inventar
#20 erstellt: 06. Jan 2011, 17:13
Wird allerdings ab nächste Woche hinten anstehn, hab auch noch ne Ausbildung.
Dj_Soundforce
Stammgast
#21 erstellt: 06. Jan 2011, 17:31
Man kann ja warten...
blackfield
Inventar
#22 erstellt: 09. Jan 2011, 20:35
So, das Layout wurde nochmal komplett umgeworfen. Die Ausnutzung des vorhandenen Platzes war einfach nicht optimal, auch das Platinenlayout war nicht so. Im laufe der Tage gibts die neue Frontplatte.

Aber da ihr gern Bilder seht:

Tasterplatine

Das ist einer der Platinen für die Flashtaster.
Suche:
Das könnte Dich auch interessieren:
midi controller als dmx
bombdeck am 09.10.2010  –  Letzte Antwort am 09.10.2010  –  6 Beiträge
Welcher MIDI Controller für Daslight 4?
megashooter am 12.03.2016  –  Letzte Antwort am 19.07.2016  –  3 Beiträge
Freestyler über Midi ansteuern
Lebakashaus am 12.01.2011  –  Letzte Antwort am 16.01.2011  –  6 Beiträge
Mit PC_Dimmer über MIDI steuern?
lightpro99 am 28.06.2013  –  Letzte Antwort am 03.07.2013  –  2 Beiträge
Midi Keyboard für Licht
Devil-R am 24.10.2010  –  Letzte Antwort am 23.11.2010  –  4 Beiträge
Dmx Controller an Mixer anschließen für "Sound to Light"
michael.bergwand am 03.01.2015  –  Letzte Antwort am 04.01.2015  –  15 Beiträge
Probleme mit Midi Keyboard und Lichtpult unter DMX Control
andr483 am 07.12.2011  –  Letzte Antwort am 07.12.2011  –  3 Beiträge
Botex DC-1224 und MIDI-Keyboard
niggo04 am 18.08.2013  –  Letzte Antwort am 12.09.2013  –  2 Beiträge
DMX Controller
FocalFreak am 24.04.2016  –  Letzte Antwort am 10.10.2016  –  4 Beiträge
Suche den richtigen DMX Controller
todzjoe am 25.05.2015  –  Letzte Antwort am 05.06.2015  –  2 Beiträge
Foren Archiv
2010
2011

Anzeige

Top Produkte in Veranstaltungstechnik Sonstiges Widget schließen

Aktuelle Aktion

Partner Widget schließen

  • beyerdynamic Logo
  • DALI Logo
  • SAMSUNG Logo
  • TCL Logo

Forumsstatistik Widget schließen

  • Registrierte Mitglieder925.708 ( Heute: 2 )
  • Neuestes MitgliedStevo87
  • Gesamtzahl an Themen1.551.020
  • Gesamtzahl an Beiträgen21.536.143