PT2399 / Arduino tap tempo project

Started by mysteriousj, October 27, 2012, 07:29:02 PM

Previous topic - Next topic

mysteriousj

Hey, so I started this project which I thought I'd show you guys. I haven't finished doing the code/ syncing the tap tempo with the uC but, all the hardware is in place and working. I just need some time and motivation to finish it off  :icon_mrgreen:.

It's pretty basic, it uses a digital pot to sync to a particular tempo. I think I'm doing it a little differently from how it's previously done, I actually send a pulse through the PT2399 and time how long it takes to get a hopefully accurate delay time. This runs for every step of the digital pot, and it only needs to be run once then the results are saved in EEPROM. I think previously it's been done using lookup tables. I'll try that method too and see which way works the best because it could save on a bit of additional circuitry.

At the moment I've been using AVR Studio which is what I'm used to but I was thinking I could easily port it to arduino and do a DIY friendy board at some stage if people are interested? (hopefully I can get it to fit in a 1590BB).


slacker

Nice first post and a nice looking project. Interesting to see a different approach to tap tempoing the PT2399, I think we discussed the possibility of using a pulse to measure the delay time on here a few years back, but I don't think anyone ever tried it. Be interested to see how you implemented it.

Welcome aboard :)

mysteriousj

Thanks Slacker, I built the echo base a few years back it's such a nice sounding delay  :icon_biggrin:.

I've just spent a late night programming and got the tap tempo working!! Still a bit of tidying up and gotta add a subdivision pot but pretty stoked it's actually working!

I'm going to build another soon and see how close the delay times match between different boards/ different PT2399 chips. If it's very close then I may as well use a lookup table in the future and then skip out the extra circuitry. The max delay I get is 595ms for a 50k digital pot + 1k series resistor. I can pull off the data for each step of the digital pot as well, it could be useful for someone?

I'm not sure I've designed the modulation very well though at the moment, the way I've done it is an LDR in parallel with digital pot (it also has a series pot which controls the depth.).  I haven't actually tried it yet but now I think about it the modulation depth will also be a function of the time, it may work okay but I'm not sure I guess I'll just have to try it out..

RonaldB


MoltenVoltage

#4
i designed a self calibrating version of a pt2399 control chip a year or so ago to compensate for the variability of the chips
the calibration worked great but the fly in the ointment is the fact that digipots
have a +/- 30% tolerance which is unacceptable for tap tempo purposes
other forumites disagreed but my testing convinced me it was not worth
the effort

if you can calibrate based on each digipot you might be able to make something more accurate than whats currently available

a fixed lookup table will leave you frustrated

you need to figure out the underlying algorithm which is not linear
and iirc you will need to adjust the algorithm for each digipot



MoltenVoltage.com for PedalSync audio control chips - make programmable and MIDI-controlled analog pedals!

mysteriousj

Quote from: MoltenVoltage on October 31, 2012, 11:58:11 PM
i designed a self calibrating version of a pt2399 control chip a year or so ago to compensate for the variability of the chips
the calibration worked great but the fly in the ointment is the fact that digipots
have a +/- 30% tolerance which is unacceptable for tap tempo purposes
other forumites disagreed but my testing convinced me it was not worth
the effort

if you can calibrate based on each digipot you might be able to make something more accurate than whats currently available

a fixed lookup table will leave you frustrated

you need to figure out the underlying algorithm which is not linear
and iirc you will need to adjust the algorithm for each digipot


Ah thanks for the info. I'm using the standard MCP41050, which just looking quickly has a 1% tolerance on each step, I couldn't find any info on the end to end tolerance but those 256*1% tolerances will definitely add up. The one I have here measured really close within .5% for the end to end though.

Yip, so the way I have my code now is that it auto calibrates. I could put a 100k digi pot or change the series resistance and it'll still sync (so long as you hit the sync button and wait 5min for it complete). So yeah I think I'll stick with this method and hope the better accuracy is worth the trouble. I'll hopefully get another pcb done sometime this weekend and fix the modulation, add an fx loop, add something so you can go into self oscillation by holding the tap tempo switch. If that all can fit anyway.. ;D

nilsonlav

Hey there,
I'm very interested in assemble a delay pedal with taptation option.
Could you send me a copy of the schematic and code of yours  tap tempo delay project ?

Thanks

nilsonlav@hotmail.com

nap_alfa55

Could you send me a copy of the schematic and code of yours  tap tempo delay project ?

Thanks

nap_alfa55@libero.it

earthtonesaudio

Kudos to you for using a novel (and possibly quite robust) method to control the delay time!

If the digipot is limiting you, perhaps consider using a voltage source (such as an opamp) to drive pin 6 directly.  The only caveat is being able to pull decent current near the PT's negative rail, which can be solved either by lifting the PT's supply up above ground, or using a bipolar supply for the opamp.

collingtech

any update on code thing? how the project status ? sharing?