PIC Mapping for : This is the base for the assembler coding of PIC1 and PIC2. PIC1: data-port: RB0-RB7 Port B van de PIC, alle bits geflipt: RB7 ==> D0 pic pin 28 RB6 ==> D1 pic pin 27 RB5 ==> D2 pic pin 26 RB4 ==> D3 pic pin 25 RB3 ==> D4 pic pin 24 RB2 ==> D5 pic pin 23 RB1 ==> D6 pic pin 22 RB0 ==> D7 pic pin 21 adressing strobe signals for the latches: Port C van de PIC: RC0 = Timer 1 output. Test LED op PIC board (zoals op het board) LED via 1k2 naar GND. pic pin 11 RC1 = A0 latch 0 notes 19-26 pic pin 12 RC2 = A1 latch 1 notes 27-34 pic pin 13 RC3 = A2 latch 2 notes 35-42 pic pin 14 All above notes use 24V solenoids on the bass side of the accordion. RC4 = A3 nc RC5 = A4 nc RC6 = nc RC7 = serial input for MIDI data pic pin 18 (zoals op het & board) Port A van de PIC: RA0 = A10, latch 8 notes 89-96 pic pin 2 RA1 = A9, latch 7 notes 81-88 pic pin 3 RA2 = A8, latch 6 notes 73-80 pic pin 4 RA3 = A7,latch 5 notes 65-72 pic pin 5 RA4 = A6 latch 4 notes 57-64 pull up 4k7 pic pin 6 RA5 = A5 latch 3 notes 49-56 pic pin 7 All above portA notes use Lucas-Ledex solenoids with limited duty cycle on the melody side of the accordion. (15V supply). GROUND: pic pin 19 pic pin 8 POSITIVE SUPPLY: pic pin 20 Note: notes 49 to 94 have limited duty cycle. Maximum ON-time <= 30". Required cool-off time >= 30". In general the off time has to be larger than the ON-time. Notes 95-96 steer lights and have no duty cycle limitation. Question: is there a way to monitor this on the PIC level? Is there a way of using some kind of slow PWM on these notes? In that case we could increase the working voltage to 24V and have the holding torque guaranteed with a 50% duty cycle (12 V effective). Channel = 8 (&H08) Note range: (note-on & note-off implemented): notes out of the range should be rejected in the PIC software. On init, all strobe bits should be high (A0-A10) and all notes switched to OFF. The note latches should be cleared. This should also happen on reception of an all-notes off command. PIC2: Volume controller: controller nr. 7 channel 8 Using bipolar date (value - 64): 0 - 63 = suction wind, 0 = maximum underpressure 64 = no wind 65-127 = blowing wind, 127 = maximum overpressure RC1 - pin 12 steers with PWM the 4-way mixing valve solenoidside 1 RC2 - pin 13 complementary PWM, steers 4-way mixing valve solenoidside 2 PWM frequency: >= 16kHz Special cases: volume value 0 = RC1 logic 1, RC2 logic 0 NO PWM volume value 127 = RC1 logic 0, RC2 logic 1, NO PWM Wind controller: controller nr. 1 channel 8 RC3 - pin 14: steers motor relais on reception of wind controller command (1) + value. This should be slow PWM (50Hz) Wind controller 1 value 0 = RC3 = logic 0 Wind controller 1 value 127 = RC3 = Logic 1 Program change: Prg 0: RA2 ON - RA3 OFF (slow pulse (2") would be ok. Prg 1: RA2 OFF - RA3 ON Continuous controller switches: Ctrl 64 : RA0 - ON/OFF Ctrl 65 : RA1 - ON/OFF