- versie 2006/7 *************************** last updated: 12.01.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 geprogrammeerd (19.12.2006) 2.- 16-output small pulse only board: PIC 18F2525 ------------------------------------------------- in de huidige implementatie (op de laptop in GMT) hebben we pulsduren tussen 1ms en 127ms voor de beaters. In de PIC implementatie zouden we beter een bereik hebben van 5 tot 40 ms of zelfs de helft daarvan, aangezien we de werkspanning aanzienlijk zullen verhogen (tot 70V, zoals op Vacca en Vitello). 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] - note off: roffel off [optioneel] (MIDI IMPLEMENTATIE: ZIE WEBPAGE) 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 kan geprogrammeerd worden (20.09.2006) Code version 1.0: Voorlopig geprogrammeerd voor een 18F252 PIC met pulse only kode. [gwr] TO DO: upgrade PIC to 18F2525 and reprogram. 3.- Motor control boards: PIC 18F2525 ------------------------------------ Er zijn 5 pic-mikro boards , eentje voor elke rototom stappenmotor en rototom De stappenmotor controller (IB106) heeft 3 output bits nodig van de PIC. X5-3 Pic pin 7 - RA5: stepping clock X5-2 Pic pin 11 - RC0: CW/CWW bit X5-6 Pic pin 6 - RA4: Enable bit De microswitches vergen vier komplementaire input bits. X4-5 Pic Pin 2 - AN0: Low limit microswitch - closed on end reached (logic 1 at rest) X4-4 Pic Pin 3 - AN1: High limit microswitch - closed on end reached (logic 1 at rest) X4-3 Pic Pin 4 - AN2: Low limit microswitch - opens on end reached (logic 0 at rest) X4-2 Pic Pin 5 - AN3: High limit microswitch - opens on end reached (logic 0 at rest) kleurLEDs voor melding van sensorfouten naar de gebruiker: LED-mapping: LED1: GREEN: 5V power on (hardwired) LED2: RED :low limit reached/error pic pin 16 LED3: BLUE : high limit reached/error pic pin 15 LED4: YELLOW: motor functions ok pic pin 26 Midi kommando's: - reset to lowest pitch position: ctrl 81-85 (run ccw until pin 2=0, on time out, LED 2 on) = reset to highest pitch position: ctrl 91-95 (run cw until pin 3=0, on time out, LED 3 on) - calibrate (reset and recalculate pitch range): ctrl 111-115 (Optionaly we can add a speed parameter) at the end of the command, the motor should be in mid position. - Pitch position: controller 101, 102, 103, 104, 105 - value 0-127 (value= requested position) (Zie website voor gewenste volledige implementatie) 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 en Flex 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. belangrijk: in rust moeten de motoren gedisabled zijn. Er is geen enkele houdkracht vereist en alleen zo kunnen we oververhitting van de motorwikkelingen vermijden. ( we werken met stromen veel groter dan wat nominaal is toegelaten voor de motoren). Het all-notes off kommando (ctrl 123) moet zowel de lichten doven als de motoren stoppen en spanningsvrij maken.