MIDIO128 V3

hi Tim,

So you are ahead of the game. Thats great! no offense intended. Please forgive if i offended you.

So the box connectors can fit with the off the shelf pcb’s, with as you say some shaving. We did that with fitting the ULN2803 chips on the DOUT card as you remember. I am still using those modified DOUT4X pcbs. not the most attractive, but they work. I well understand your point about costs, etc., but I also remember the revisied pcbs to add the ULN chips to the DOUT cards. The adjustment doesn’t technically change the card, but lowers the probability that the connectors go on backwards. Not all constructors of your kits have technical backgrounds. most follow the assembly pictures and the words. I’m not offering criticism, just a suggestion. Most assuredly, we don’t want to increase the costs of the kits.

Johnc

hi Tim,

So you are ahead of the game. Thats great! no offense intended. Please forgive if i offended you.

No offense taken, sorry if my reply had the wrong tone… Just trying to explain why I did what I did. :slight_smile:

So the box connectors can fit with the off the shelf pcb’s, with as you say some shaving. We did that with fitting the ULN2803 chips on the DOUT card as you remember. I am still using those modified DOUT4X pcbs. not the most attractive, but they work.

I really like keyed connectors on everything and while they might fit the current boards, it is nowhere near optimal with some box headers covering mounting holes and other issues.

I well understand your point about costs, etc., but I also remember the revisied pcbs to add the ULN chips to the DOUT cards.

Absolutely… I just need to be careful with the timing of revisions due to cumulative NRE costs.

Most assuredly, we don’t want to increase the costs of the kits.

I will attempt to minimize the pinheader vs. box header cost difference (by shopping the world for the right supplier/manufacturer). :wink:

Best regards

Tim

Tim,

no Sweat. you do a great job.

I particularly like the LPC board. it is a super board, and works great for me.

I am involved with several pipe organ situations involving electronic components by Syndyne, Artisan and others, and don’t find any of them superior to the midibox modules. The LPC has the capability of toping any of them with a bit more custom programming especially in the Combination action area. With that code added to the midio128 ver 3., you could compete with any of the commercial products.

Keep up the good work.

Johnc

http://discourse.midibox.org/t/topic/17069

MIDIO128 V3.011
~~~~~~~~~~~~~~~

o USB device settings have been changed.
IMPORTANT: please install MIOS32 Bootloader V1.010 before uploading
the application! Otherwise code upload via USB won't work anymore!
(Backup: upload via MIDI IN1/OUT1)

o 4 USB ports are enabled now.
Note: if your operating system still displays only a single MIDI port for USB,
then unplug the USB cable and remove the USB MIDI driver in your system setup,
so that the driver be installed again once the core module has been re-connected.
E.g. under MacOS this can be done with the Audio-MIDI Setup application
(search for "Audio" in Spotlight)

o support for GM5 driver under Windows.
- upload the application with MIOS Studio
- close MIOS Studio
- install the GM5 driver which can be downloaded from http://www.ucapps.de/mios32_download.html
- start MIOS Studio -> 4 "GM5" USB ports should be visible

o 4 MIDI IN/OUT ports are enabled now.
Pin mapping for LPC17 (see also http://www.ucapps.de/mbhp/mbhp_core_lpc17_midi3_midi4_extension.pdf):
- MIDI OUT3 is available at J5B.A7
- MIDI IN3 is available at J5B.A6
- MIDI OUT4 is available at J4B.SD
- MIDI IN4 is available at J4B.SC

since MIDI IN3/OUT3 allocate analog input pins, AIN Pin #6 and #7 is
not available anymore!

o Matrix DINs are now also inverted with the InverseDIN flag in the
.MIO configuration file

o support for MIOS Filebrowser, which will be part of MIOS Studio 2.4

o It's now possible to record MIDI files!
Press EXIT + first softbutton (under REC)

o Fast Forward and Fast Rewind are now available by pressing EXIT

o rotary encoder now selects the tempo (BPM) in main page

o BPM mode can be switched between Auto/Master/Slave/Lock by pressing
shift button + soft button 2
"Lock" prevents tempo changes from the MIDI file. The BPM generator
is always in master mode.

o play modes: aside from All and Single, we've now also a "Loop" mode
which repeats the selected song

o first MIDI song already selected after boot

o if you scroll the .MID page to the right side, you will find configuration
options for MIDI ports assigned to the Rec/Play/Clock IN and Clock OUT functions

o a couple of minor bugfixes
[/code]









Please note that the documentation at my website hasn't been updated yet!







Best Regards, Thorsten.

MIDIO V3.012 is available now:

 

MIDIO128 V3.012
~~~~~~~~~~~~~~~

   o USB MSD driver: changed endpoint to avoid conflict with MIDI driver.
     Note that it's still not possible to use MSD and MIDI in parallel,
     but Windows and MacOS should accept the connection (again).

   o the .MID menu got a subhierarchy to improve the oversight: Play and Ports

   o with the new ConvertNoteOffToOn0 setting in the .MIO file incoming
     Note Off events will now be converted to Note On with velocity 0.
     This change is active by default - means: it can be optionally
     displayed in the .MIO file

 

(documentation still not up-to-date)

 

Best Regards, Thorsten.

Some minor improvements:

 

 

 

MIDIO128 V3.013


 

   o LPC17: robustness of LCD driver has been improved

 

   o The application boots a little bit faster now

 

   o optional support for up to 32 DIN and DOUT shift registers

     (=256 inputs and 256 outputs)

     Currently only provided as compile option; increase

     MIOS32\_SRIO\_NUM\_SR to 32 in mios32\_config.h

 

   o the "sdcard\_format" command allows to format the connected SD Card with FAT32

     from the MIOS Terminal

 

 

Best Regards, Thorsten.

Thorsten, Forum,

Currently,  I have active,  an LPC-17 running 4 (8x8) matricies, 3 scaning keyboards, one scanning pistons, and  10 additional dout stages in 3 DOUT4x pcbs.  The 10 stages of DOUT drive various SAMS on the console which operate at 12vdc from a stand alone 12 volt powersupply.  The LPC is USB powered from a PC running jorgan.  in additiion, there is an 8bit core, fully loaded, 4 DIN4X and 4 DOUT4x connected to the LPC router, and powered by a 9vdc wall wart.  I am running midio128 Ver. 3

my concern revolves around the power supply interconnection on the ground side.

All of the DOUTS in the LPC stream have UULN2803 drivers using the common pcb ground from card to card back to the LPC. which has no ground point for tie in to the 12vdc powersupply tor the SAMS.  Each SAM coil can draw just under 0.5 amps, so it doesn’t take too many SAMS to be set or cleared to generate a sizable amp load through the ground path back to the LPC and its USB power source. 

For the 8bit core, the same thing is true, however, the negative leg of the 9vdc wall wart is tied to the 12vdc negative of the 12 vdc Sams power supply.

Question #1 - is the high amp draw of the SAMS thru the pcb grounds to the LPC a problem?  How much load is safe?

Question #2 - How do I develop one common ground point for the 3 power sources, especially the LPC?

Thanks,

johnc

Hi,

 

 

Question #1 - is the high amp draw of the SAMS thru the pcb grounds to the LPC a problem?  How much load is safe?

 

yes, this can seriously overload the interconnection cables between LPC17 and DOUT modules + the ground plane of the LPC17 module. It shouldn’t be loaded by more than 1A

 

 

 

Question #2 - How do I develop one common ground point for the 3 power sources, especially the LPC?

 

I would add additional wires “star-like” between the ground terminals of the DOUT modules (J1:Vs) and the ground of the 12 VDC PSU.

Let the ribbon cables between DOUT modules and LPC17 connected as they are. This ensures that there is also a ground connection between LPC17 and DOUT modules (which is required).

But the main current will flow from the SAMS through the ULN2803s and the additional cables directly to the PSU (and not through the LPC17 module).

 

Best Regards, Thorsten.

Thorsten,

Questiion:  The order of MIO and DOUT PCBs cards and jumpers is LPC  to matrix pcbs first in line then the 3 DOUT4X PCBs, Using ribbon cable and connectors makes the Vs terminals inaccessible. Can I just drill a hole in the ground plane on the DOUTS, install a pin connector with soldered ground lead?

 

Question: with the core 8 Dout Chain, Is only one connectiion from Vs on J1 of the first DOUT to the system ground sufficient. The  existing interconnecting jumpers are 24Ga copper, 0.5 inch long, soldered, J2 to J1 inbetween each card.  Would it harm to  install a larger ga ground from each Vs jumper between PCBs to the common system ground?  Each Uln2803 serves 4 Sams, two 40 ohm magnets each on adjacent DOUT pins, but the on and off coils are not energized at the same time, so max load per PCB is  4.8 amps.  On the core 8 chain with 4 DOUT4X PCBs at  4.8 amps thats 19.2 amps. Realistically,  one  magnet on every SAM either going on or off is not  probable, so applying a diversity factor of  70%, there could be a 13 amp load which could explain why some of the SAMS are not moving as fast as others.  In any event voltage drop in the 24-26ga wire sizes whether ribbon or solid conductor becomes an issue.  Granted 90 or higher ohm magnets would be good, but we use what we have.

perhaps, Smash would consider  higher capacity ground traces on the DOUT4X Pcbs with a higher capacity ground lug apart from J1 and J2.

 

Question:  Would it be better to use one multi-voltage PS providing DC for the LPC at 3 or 5vdc regulatrd,  5vdc, regulated for Core 8 and each I/O PCB and  a stiff 12vdc at 20-30 amps for SAMS, eliminating the Vs cable link in the card to card jumpers, and powering every card through a fuse directly from the PS, or possibly a fuseholder on the PCB.

 

 

Question:  Is it possible to insert a low power LED on  both DIN4X and DOUT4X as well as MIO PCBS to monitor either shift register action, or clock pulses to be able to flush out SR chip issues.

 

The LPC  core is super.  Thanks Thorsten -  I  can see several great applications utilizing the horsepower of the unit with regard to pipe organs and virtual organs.  Unfortunately, i am a bit too old to start a new carrer in programming.  If anyone out there is interested in a discussiion on the subject, please send me a personal email. 

At this point, IMHO, there is only one organ  function that a midibox based organ relay can’t do, and thats provide the software to implement a combination action system.  The hardware can do it, and MIOS and  midio128 Ver3. already provides for the I/O functions, but not the capture action, storage and  combination retrieval.  Why have to use a PC or a Mac to run jOrgan, miditzer, hauptwerk when the LPC hac the smarts to do it all?

Thanks,

Johnc

Hi John,

 

I don’t want to throw another wrench into your project but there is another problem that I don’t think you have seen yet. When power is applied to the Dout cards, the state of the output registers are not guaranteed to be set in the off state. I also wish that SmashTV would at least place a very large solder pad on the ground side connection of the board for high current applications. It would also be nice if another pad could be added for the output enable pins for the 74hc595 pin 13. Being able to cut 1 trace on the PCB and adding a single wire to control the enable pins from an external source would give more options for projects like this. Right now your only option is don’t apply the 12 SAM power until the Dout chain has been initialized. On my project this looks to be about 1 second.

 

As far as grounds to the Dout cards, I would do as TK suggests. I would connect at least an 18awg wire to each Dout card and connect them to 1 common point with wires as short as possible. I don’t like connecting another ground to the LPC17 card since it introduces a ground loop between the SAM’s and the ground wire in the ribbon cable BUT I would go ahead and add this LPC17 ground wire anyway and see if all works without problems. If it does create problems, remove it and see if the problems go away.

 

P.S. If at all possible, make sure that the 12v 20amp power supply is isolated from protective ground. The minus (-) wire of this supply should go directly to your Dout common ground and nowhere else.

 

Pete

I can’t really give you detailed answers to your questions - I’m not an expert in this area

 

Thanks Pete for helping out!

 

Best Regards, Thorsten.

Pete,

Currently,  the LPC is USB powered from the Artisan sound engine computer which is running jorgan.  The SE computer boots up in linux ubuntu which takes a 10-15 seconds after powwer is applied,  After Ubuntu is loaded jorgan auto boots up in to the disposition.   since the Soundengine, 12vdc supply, 5vdc supply for the core 8 all come on at the same time as the computer, I would have to say that the 12vdc is applied long before the shift register chain is innitialized.  this is definitely something that is new to me.  since I have a core 8 with DOUTS driving SAMS also  i suspect the same problem exists. 

Question;  So what happens if the 12vdc comes on before the DOUT shift register is initialized. I suspect that i could switch the 12vdc and 5vdc power separately, or time delay with a relay which would be preferred, on switch turns everything on!

 

The LPC has only 6 DOUTs connected, which can be in excess of one ampere.    The 5 conductor ribbon diasy chain from the LPC on down through the MIO pcbs and DOUT cards is in place.  I understand about the 18awg ground from each card, and i assume you mean from the ground plane of the PCB to the common ground point, leaving the ribbon cable interconnect in place?

With that done, is it necessary to put another ground on the LPC?

 

To be sure that i have this right, i will post a block diagram of how it exists now, i how i understand your suggestions.

 

Question:  There are 2 dout4x pcbs connected to the LPC as described above, but only two ULN2803 are installed on the last DOUT4x(last 2 sockets are empty), however there are 4, 74HC595 installed.  i don’t need the last two ULNs.  is not having pull down/up resistors on the last two 595’s a problem?

Thanks for the help,

johnc

Question; So what happens if the 12vdc comes on before the DOUT shift register is initialized.

One indication is the SAM’s might change state when power comes on. With the 74HC595’s reset line tied high, there is no guarantee what the outputs will look like. On my LPC17 I have LED’s on the Dout board and see the lights come on for about 1 second if I pull the USB cable then plug it back in after waiting about 5 seconds. If the LPC hasn’t been plugged in for some time, I see the LED’s are generally off, but not every time.

 

With that done, is it necessary to put another ground on the LPC?

This is where I said BUT in my previous message. I would add this extra wire to the LPC17 and if it works, leave it in. I do understand there is potential for ground loops with this due to the ground in the ribbon cable going to the Dout chain. At least this will keep any noise introduced by connecting the PC ground to your LPC17 from going thru the LPC17 to the Dout chain. With it grounded the noise from the PC will be directed to your common ground (star) connection. In a perfect world I would say leave the whole ground signals floating with reference to each other, but with a PC on one side of the LPC17 and a high current 12v power supply on the other, it ain’t going to be perfect no mater what you do.

 

As far as the resistors on the output of the 595’s, just don’t connect anything to them. These are outputs and not sensitive to being unloaded.

 

PS-I think it would have been better to have this thread placed in a separate topic rather than the generic Midio128-V3 area.

 

Pete

Pete,

Thanks for the explanations.

Finding a place on the LPC to connect a ground pad is difficult - any suggestions?  Bare in mind that all the pcb’s are  firmly attached to a back plane.

An underlying problem that may be connected is that when the  J1/j2 jumper is plugged in to the last DOUT4x,  multiple SAMS begin turning on and off randomly.

Johnc

Most of the front and back of the LPC17 PCB is ground which should be a good ground almost anywhere. But I would put it on the minus side of big capacitor C8. With it laying down, the extra ground wire can be soldered to the cap wire going to the PCB.

 

As far as random Dout’s turning on and off, this is why you need all these extra ground wires going to all of the Dout boards. They must not be daisy chained like they are normally hooked up. Something else that worries me is that you have a DIO-Matrix board between the LPC17 and your Dout chain. It so happens that just before reading the Din chain, the shift registers are loaded with the RC strobe signal. This same signal also strobes the Dout shift registers into the output holding registers. So when the outputs are changed to the SAM’s, the input shift registers are being loaded at the same time. Could there be noise getting into the Din chain of the matrix board?

 

I would also try to put a 10uf (or larger) across the 5v of the problem Dout chain and see if it improves things.

 

One thing that I would check is that pin 10 of all the uln2803’s are connected to your +12 power supply. I am sure you did this since you are not blowing up any of the 2803 chips. Just so you know, there are current spikes of 2 amps on pin 10 of the uln2803 when 4 of the SAM magnets on the same chip are turned off at the same time.

 

Pete

Pete,

You are just full of good news!  but tell me more, Please

 

 

you said:

“Something else that worries me is that you have a DIO-Matrix board between the LPC17 and your Dout chain. It so happens that just before reading the Din chain, the shift registers are loaded with the RC strobe signal. This same signal also strobes the Dout shift registers into the output holding registers. So when the outputs are changed to the SAM’s, the input shift registers are being loaded at the same time. Could there be noise getting into the Din chain of the matrix board?”

Ok -  So what is the solutiion?   The mio pcb uses Din and Dout, and the SAMS Dout boards start with D5, D1 thru D4 being used by the mio. Would reversing the do order do any good.  Can I connect the DOUTs for the SAMS to a different connector on the LPC?

 

Wow, 2 amperes on pin 10 of the 2803.  Didn’t know that either, nor have i ever read any warning.  i suspect  the  connections from the pin 10 back to the +12v should be #18awg also.

 

Would have helped to know all thie good stuff before screwing all the pcbs to the backplane.

 

Thanks for the input, and please pass anything else along.

johnc

Pete, TK,

Please feel free to move this thread to Design concepts or someother topic.

I will install the revised grounding including the LPC and the core 8,  test it then report back.

if you have more thoughts in the meantime, please post them.  i am in the late stages of construction on the console, and i hate to remove working systems, with the allways preasent possibility of inserting new issues.

In general though,  IMHO, I have implemented the DIN, DOUT. and matrix IO  cards within the posted guidelines.  How should I have done it to avoid this problem, including the grounding issue?

Thanks,

johnc

Hi johnc,

 

As far as the pin 10 current, I just wanted to make yourself aware of this. Its not continuous, just a spike due to the SAM coils being turned off. Using the ribbon cable with #28 wire doesn’t seem large enough but because of the short duration, it should be OK. Problem is that the currents can couple into other wires that parallel the wires going to the SAM’s.

 

As far as the MIO-Matrix issue, I don’t know if switching them around would help. And do we know that we have a problem here. It could be an issue like bundling the SAM switches and magnet wires together in one bundle. I don’t know what software is driving the SAM chain but I would try to disable anything that reads the SAM switches and outputs Midi messages. This way you can use the J-organ panels on the PC to send Midi messages to your SAM processor to physically change the SAM state. With the SAM switches disabled, there wouldn’t be an issue of the SAM processor echoing back unrelated switch states that were triggered by any noise. I suspect this is your DIO-Matrix but don’t know for sure.

 

Pete

Pete,

As for the pin10 spike, it could be a problem as  i assumed wrongly that there was minimum current flow, and the connectiion from the pin to 12vdc is no more then 26-28ga.

 

As for the SAMS,  i am using the sAMS extension in jorgan which utilizes the reed switch on the SAM in the time delay process where by the pulse to the magnet lasts for only 500 ms (adjustable).  I have not noticed any problem therein.

Srr the attached block diagram

[Organ block Diagram - Ground.bmp](< base_url >/applications/core/interface/file/attachment.php?id=10457)

Hi John,

You have gone thru a lot of work getting to where you are now. The block diagram speaks for itself. What you might do is totally isolate the SAM contacts from going to J-organ/Artisan sound engine by pulling the Midi1 cable from the LPC17 board. Then start punching stops on the J-organ panel and see if all of the stops work with your setup. Even try pushing pistons on the screen to see if the proper stops get set. What I want to eliminate is issues with the input switches sending spurious or wrong values.

 

And I notice there is a cable on the LPC Midi2 out connector. What is this for? Maybe just disconnect it since all I want to check is the output functions from J-organ to the SAM’s. Don’t want to cloud any issues with inputs going into J-organ at this time.

 

Something else that you should also be aware of is that there are 2 different types of SAM’s. +common and – common types. The coils between the 2 types are wired in reverse as far as polarity. You have the SAM wired in a “+common†mode. If you use the wrong SAM type for your system, the SAM’s will not snap from 1 state to the other efficiently. They may work but not with as much power due to the magnet orientations. Another issue is that the SAM’s are more prone to having cross-talk issues between a neighboring SAM. This means that when you active the coil on SAM-1 that the switch contact on SAM-2 might open or close for just an instant and give bad signals to the input board.

 

Pete