Pedal switching matrix with the AD75019

Started by R.G., November 26, 2015, 12:39:26 AM

Previous topic - Next topic

G. Hoffman

Anyone have a Mnemonic for Vss and Vdd?

A flippen QFP, too, so it is SOOOOOO easy to fix!


Gabriel

G. Hoffman

So, just a quick update - I've got the software pretty well squared away.  There is something funny happening between the data registers and the serial data to the AD75019 - it works, but every now and then, some of the data doesn't seem right.  I may just be reading the data sheet wrong, but I don't think so - switches are being turned on in a funny order in just a few situations. 

Also, the MIDI routine misfired once when I "abused" it.  I'm only going to use it with MIDI clock, and not MTC, and certainly never both, but I thought, "why not see what happens," and when I was throwing BOTH MTC and MIDI clock at it, and scrolling through CC#s at the same time, it misfired.  I'm pretty sure the problem was to do with MTC coming in while it was in the middle of processing a CC#, and the MTC data byte getting confused with one of the CC# data bytes.  I haven't been able to recreate it, and even if I could I'm not sure how I'd trace the problem.  Given I don't ever intend to use this thing with MTC, I'm not going to worry about it for the moment.


Gabriel

ElectricDruid

MIDI time code bytes aren't too bad to deal with. They're one of the things that definitely *can* interrupt anything. Even in the middle of a another typical MIDI message like a three-byte Note On. I can't remember whether Sysex can appear in the middle of other things or not. I always throw away the MIDI "active sense" byte, which can also turn up anywhere.

Anyway, since MTC can appear anywhere, *and*, significantly, only consists of single byte messages, it's best dealt with separately. I've usually had a buffer for "standard" MIDI messages, but dealt with MTC bytes in the interrupt routine and never put them into the buffer. That way, they get dealt with as quickly as possible, and they get removed from the MIDI stream which makes it easier to parse the remaining messages.

HTH,
Tom


G. Hoffman

MIDI clock has only one byte, so that's easy to throw away.  I was thinking the problem was with MIDI Time Code, which is two bytes, but according to the official spec it is not a real time message, and should be used on a dedicated MIDI port to get rid of jitter, so I'm pretty sure I'll never run into any problems with it. 

Thewoodguy

How is it going hoffman? Still working on this?

Harold

Crap. I've just read up on the AD75019 chip. There goes my spare time for the next year.  :icon_evil:
DIY-Layout.com: Online stripboard layouts

Harold

Quote from: Harold on April 01, 2016, 04:32:57 PM
Crap. I've just read up on the AD75019 chip. There goes my spare time for the next year.  :icon_evil:

And the race is on! ;)

The AD75019 chip and a PLCC44 to DIP44 socket is on it's way from China, and I've already created an outline of the code for my Arduino. I've decided to only store the engaged loops in order in two unsigned longs, so that will take 8 bytes per patch instead of 32. I may have to rethink that, as it's a bit hacky: I can only use the 1-9 digits (not 0, because '0123' will be truncated to '123'), and it's divided into a block of 9, and a block of 6 loops to store the full 15 loops.

With 1024 bytes available, I have more than enough space to store a few patches; but if I decide to be able to name the loops, that might prove too small. I could always get myself a Teensy; which I believe sports 2KiB flash ...

Anyway: I'm still thinking about the possibilities of this chip, whether or not I should add buffers to each in/output, or DC-protection caps, etc. But I like it already!  8)
DIY-Layout.com: Online stripboard layouts

G. Hoffman

#147
Quote from: Thewoodguy on March 30, 2016, 10:39:46 PM
How is it going hoffman? Still working on this?

I've got code that is stable and only needs a few small tweaks (PIC16F887, which feels like overkill, but I'm using all the pins!), but haven't had time to bread board any of the analog circuitry.  I'm trying to get my AC30 finished - right now I just need to double check all the nodes, but an AC30 has a lot of nodes.  Then I've got this banjo neck I've got to set and finish, and a bunch of guitars to finish finishing.  Then there are all the little projects around the shop.  And new CAD/CAM to learn, and a CNC to rebuild (AGAIN!).

But I hope to find some more time once the AC30 is off the bench.



Gabriel

sbm

Oh so close, like this other thread:

http://www.diystompboxes.com/smfforum/index.php?topic=43104.0

Still this is a cool project too.  Like the one I did 20 years ago for the Ciarcia project, though I just re-purposed the switching end for something similar for a set of amps.

Harold

My software is "ready" too, and I've already started on the buffers and wiring ;)

But I am moving next week; and I have to repair my Sovtek MIG50. And build a garden shack. And paint some walls. Etc.
DIY-Layout.com: Online stripboard layouts

G. Hoffman

Oddly, I've actually been doing some layout work on this one this week.  Just some initial work on some of the basic bits - voltage regulators, relays, and the MIDI input stuff, none of the really important stuff - but I've been working on it while watching the Olympic athletics (go and watch the women's 10,000m race; I'm pretty sure it is the greatest race ever run!  8 women set nation records, and 18 set personal bests!!!!  It's amazing.)


Gabriel

craigmillard

Hey guys thinking of diving into this! Using an arduino as a controller, harold how far you got now?

Sent from my A0001 using Tapatalk


Harold

Quote from: craigmillard on October 29, 2016, 01:12:53 PM
Hey guys thinking of diving into this! Using an arduino as a controller, harold how far you got now?

It's nearing it's first 2-loop test!  8)

I might just do that tomorrow night ...
DIY-Layout.com: Online stripboard layouts

Harold

Quote from: Harold on October 29, 2016, 05:12:47 PM
Quote from: craigmillard on October 29, 2016, 01:12:53 PM
Hey guys thinking of diving into this! Using an arduino as a controller, harold how far you got now?

It's nearing it's first 2-loop test!  8)

I might just do that tomorrow night ...

This was a little too ambitious ;) I got as far as wiring two loops on my board. My power supply isn't ready, so I have to breadboard a voltage inverter to get the -12V needed for the buffers and AD-chip. I'll try to complete this test setup next week as I'm really anxious of the results too!

DIY-Layout.com: Online stripboard layouts

craigmillard

Looking good! Its the buffers im struggling to get my head around..

How are you setting up the buffers? You going to buffer in and out? What about summing effects if paralleled?


Harold

Quote from: craigmillard on October 31, 2016, 05:56:50 AM
Looking good! Its the buffers im struggling to get my head around..

How are you setting up the buffers? You going to buffer in and out? What about summing effects if paralleled?

I haven't worked out parallel returns yet, let's get the serial looping working first!

Guitar > buffer > (AD75019 > FX send jack > [external effect] > FX return jack > buffer > AD75019) * number of loops.

So I'm buffering all return signals, not the sends. Since the AD-chip is sending buffered returns, parallel sends should be no problem. Parallel returns could be sufficient to join in the switch matrix after buffering, but it's probably best to buffer the joined signal before sending that out again. The latter probably requires too much pins on the AD-chip and will limit the number of loops drastically, so I have to think that one through.
DIY-Layout.com: Online stripboard layouts

craigmillard

Yer thats similar to what i have in my head. Im also thinking about a second guitar input that is unbuffered fir first in chain, fuzz etc woudl take up an extra input but would be usefull..

Also thinking stereo outs so 2 pins used as dedicated outputs which are buffered maybe? That still leaves 14 loops!

As for parallel a join at the buffer should be acceptable id say. maybe each return has a cap and resistor in series which connects to the buffer on the output? something like: http://www.robertkeeley.com/manuals/Keeley_Parallel_Mixer.pdf

Not sure what could be done about the phasing of effects though...

Harold

Quote from: craigmillard on October 31, 2016, 10:42:20 AMNot sure what could be done about the phasing of effects though...

I've thought about that too. You could lead parallel signals through multiple loops before joining the other signal. That way you could send it through a phase inverter, HPF, etc.

I plan to build two units: one to experiment with, and one to use asap (which won't be any time soon! ;)).
DIY-Layout.com: Online stripboard layouts

Harold

Slight change of plans as my Orange/Matamp got delivered today! 8)

So much to do, so little time ...
DIY-Layout.com: Online stripboard layouts

G. Hoffman

I figured out a while back, I really had pretty much all the sub assembles for this already, except for the exact input and output buffers I want to use - but even there, I have something pretty close.  And of course, I have the development board I've shown here before (at least, I believe I have), so really it's just finding the time to sit down and build up the boards, and wiring all the bits together to test it.  I'm hoping to get to it as soon as possible.


Gabriel