Generating LFO for PT2399 with an Arduino

Started by niektb, October 17, 2020, 02:34:04 AM

Previous topic - Next topic

niektb

I tried the TLC2272 but the issue largely remains :( The range of the pot at which is happens is shifted a bit but it still noisy and distorted :(

anotherjim

Try simplifying. Remove MOSFET and have the 2k2 between the BJT emitter and 0v. As you vary the voltage into the opamp buffer (between 0 and 2.5v), that variation should be followed across the 2k2 resistor. The opamp output pin should follow that +0.7v to compensate for the BJT base-emitter voltage.
It's really a voltage regulator where the opamp +input pin has the required output voltage, the PT2399 pin6 is the unregulated supply voltage, the BJT emitter is the regulated output voltage and the 2k2 is the regulated load. Increasing the voltage on the resistor causes more current flow out from pin6, thru the BJT and 2k2 to 0v,  speeding up the delay VCO clock and reducing delay time.

niektb

Tried it but still distorts on longer delay times... Maybe the maximum allowed delay time has shifted? Not sure though...
Also, can't get the pwm output below 0.3V?

When setting the delay pot at max (so 2.5V measured at the 2k2 resistor), something weird happens and the sound is glitching... (and doesn't sound anything like chorus)

It feels like I have a crosstalk issue as it sounds like the pulsing of the RGB LEDs is audible in pitch shift  :o (and it isnt gone when I remove the connection between the arduino and the led)

anotherjim

I don't think PWM can go to absolute zero, there will be some CPU cycles between the counter reset top to bottom to give the narrowest possible pulse out and also 0.3v is good going as a minimum for logic and linear parts.
There's a limit to how long the delay can be before it gets too noisy & glitchy and the filter caps around it need increasing.
A maximum delay can be enforced by fitting a larger resistance in parallel with the control from pin6 to 0v, maybe 47k or more.
The minimum delay isn't short enough for chorus. That 2k2 value is "safe" to avoid overclocking the PT2399, but it can be made to go lower either...
1: The modulation is arranged so it can add and subtract from the pin6 current around the value flowing in the resistor. This allows the VCO to go faster as well as slower than the resistor value sets. As you have it, the 2k2 is always in series and the controls can only make it slower.
2: The minimum resistor value is less than 2k2 so the VCO can run faster anyway. This can stop the chip if it's too low a resistance, especially during power on but I've found it can safely be 1k.
3: Both 1 & 2 to have the dealy range as short as possible for chorus.
4: As 2, but modulate the chips pin2 voltage instead. See the Little Angel chorus circuits for how this is implemeted with a normal opamp based LFO. This commonly slams a very low value pin6 resistance in after a power on delay but the 47R value is too small in my experience and there are diminishing returns from it being much less than 1k.


Need to add, if the other half of the opamp isn't used, you need to terminate that properly so it can't oscillate and inject noise into everything!