- versie 2006/7 last updated: 01.09.2007 Midi kanaal voor Rotomoton: 8 (tellend vanaf 0) 1.- MIDIHUB BOARD : PIC 18F2525 ------------------------------- X17 2: Note 114 - PWM (light) X17 3: Note 115 - PWM (light) X11 2: Controller 66: Beater power on/off X11 3: Controller 65: Motor power on/off X12 2: Note 116 on/off (blue front light forward) X12 3: Note 117 on/off (blue front light upward) X15 2: Note 118 on/off (light) X15 3: Note 119 on/off (light) Dit board is al helemaal klaar en kan geprogrammeerd worden (19.09.2006) done 2006 bugs to be solved: pwm frequency must be much lower for the lites at start up the lites should be dimmed. 2.- 16-output small pulse only board: PIC 18F2525 ------------------------------------------------- De beaters zijn gemapt op de noten 48-59, overeenkomstig de Weidmuller uitgangspinnen 5 tot en met 16 - note + velo: beater ( 2 or 3 beaters depending on drum size) - note pressure: roffel + tempo [optioneel, met alternerende beaters] - nog niet geimplementeerd - note off: roffel off [optioneel] - nog niet geimplementeerd De overblijvende uitgangen (Weidmueller pinnen 1,2,3,4) mogen dezelfde funktie hebben, en worden gemapt op de noten 44-47. (voor latere toevoegingen). Dit board is al helemaal klaar en geprogrammeerd worden (20.09.2006) Code version 1.0: Voorlopig geprogrammeerd voor een 18F252 PIC met pulse only kode. [gwr] to do: sysex voor velo scalings roffels 3.- Motor control board: PIC 18F2525 ------------------------------------ Er zijn 5 pics, eentje voor elke rototom stappenmotor De stappenmotor controller heeft 3 output bits nodig van de PIC. De microswitches vergen twee input bits. Er zijn 2 lampen (on off) dus 2 bits. (+1 in reserve) [niet gebruikt in rotomoton, wel in Flex] Er zijn 3 beaters (velo-pulse), dus 3 bits. [niet gebruikt in rotomoton, wel in Flex] Er zijn twee PWM outputs (power) [niet gebruikt in rotomoton, wel in flex] Op het board moeten dus naast de PIC, maximaal 6 mosfets kunnen komen (Weidmueller 8 polig) en de I/O voor motorcontroller (6 polig Weidmueller) en sensors (Weidmueller 6-polig). Uiteraard ook een konnektor voor +5V, GND en midi-TTL in. (Weidmueller 3-polig) Het standaard opstart LEDje is voorzien evenals twee extra kleurLEDs voor melding van sensorfouten/positie naar de gebruiker. Midi kommando's: - reset to lowest pitch position: ctrl 81-85 (run ccw until pin 25=1, on time out, LED 1 on) - reset to highest pitch position: ctrl 91-95 (run cw until pin 24=1, on timeout, LED 2 on) - Pitch position: controller 101, 102, 103, 104, 105 - value 0-127 (value= requested position) TO DO: - calibrate (reset and recalculate pitch range): ctrl 111-115 (Optionaly we can add a speed parameter) [not yet implemented] De step-pulsen moeten volgens een accelleratiekurve opgewekt worden (telkens met een glissando vanaf ca. 500Hz tot ca. 5000Hz). De kode daarvoor is ook nodig voor Qt trouwens. Terwille van de afregeling van de hardware (de sensor positie instelling bvb. ware het goed ook onvoorwaardelijke kommandos te voorzien. Noteer dat een debounce funktie in software (voor het inlezen van de microswitch posities) hier zeker onontbeerlijk is. Misschien ware het nuttig de midi out poort hier ook aktief te gebruiken... Het all-notes off kommando (ctrl 123) moet zowel de lichten doven als de motoren stoppen.