- versie 2006/7 last updated: 03.09.2007 Midi kanaal voor Rotomoton: 8 (tellend vanaf 0) 1.- MIDIHUB BOARD : PIC 18F2525 ------------------------------- X17 2: Note 114 - PWM (light) - werkt, maar PWM frekwentie moet veel lager X17 3: Note 115 - PWM (light) - werkt, idem. X11 2: Controller 66: Beater power on/off - werkt, ok X11 3: Controller 65: Motor power on/off - werkt, o.k X12 2: Note 116 on/off (blue front light forward) - werkt niet X12 3: Note 117 on/off (blue front light upward) - werkt niet X15 2: Note 118 on/off (light) - te doen X15 3: Note 119 on/off (light) - te doen Dit board is al helemaal klaar en kan geprogrammeerd worden (19.09.2006) done 2006 (gwr) bugs to be solved: pwm frequency must be much lower for the lites at start up the lites (114, 115) should be dimmed. All notes off (controller 123) should switch off all lights. 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: de pulse range moet heel wat groter zijn. Nu begint het kloppen maar vanaf midi 70. sysex voor velo scalings, oproepbaar met program change 122- 127. roffels 3.- Motor control boards: 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: blauwe LED: hoogste positie rode LED : laagste positie 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] [03.09.2007: speed parameter is not required]. TO DO: Controller 67 (on/off) voor autorescale on or off. (default moet ON zijn) Switch hysteresisch inrekenen bij de trajektberekening. 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. [OK 01.09.2007] Terwille van de afregeling van de hardware (de sensor positie instelling bvb. ware het goed ook onvoorwaardelijke kommandos te voorzien. [OK 01.09.2007] 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... [gedaan voor kode ontwikkeling 01.09.2007] Het all-notes off kommando (ctrl 123) moet zowel de lichten doven als de motoren stoppen. De motorposities moeten wel in het geheugen bewaard blijven. Nota: het is geen goed idee om alle motoren tegelijkertijd te calibreren. De voedingsspanning zakt dan een beetje en dat in van invloed op het koppel van de motoren. [03.09.2007 - gwr]