[sdiy] DCO with OTA fiddlings (semi-beginner question)
Roman Sowa
modular at go2.pl
Wed Mar 23 12:57:21 CET 2016
OTA charging capacitor is independent of timing determined by MCY, so
they will *never* be the same, whatever you do. It will always drift.
The only way is to create feedback path which is not existing at the moment.
Take DC component out of the triangle wave, by filtering it to very low
frequencies, for example with 100k/10u RC filter, followed by inverting
amplifier, and route that to [+] input of the OTA, that presumably is
now connected to GND. It should keep the triangle within rails.
If you want this DCO to go very low, in sub-hertz frequencies, above
described method will fail, so you can add comparators that check if the
triangle is going to much up and down. Comparators feed your MCU and it
then decides if to add a bit of positive pulse duration or negative,
like one clock cycle here or there from time to time.
Hope all that is clear without schematics
Roman
W dniu 2016-03-23 o 11:09, Steve pisze:
> Hey there.
>
> I, a software guy dabbling in electronics, recently read a bit of how
> OTAs work and started to experiment.
> From an inspiration of some years ago, on Tom Wiltshire's website
> describing how the Juno DCOs worked, I thought myself: Hey, why not do
> that with an OTA, which might even enable to do some more funny stuff...
> Feeding a pulse wave from my microcontroller of choice...
> So I first built the simplest of things, which works fine: a ramp DCO
> using an OTA to constant-current charge a capacitor and abruptly
> discharging it with an NPN for the last percent or so of the waveform
> period.
> The amplitude compensation that's necessary to keep the wave at the same
> peak is done via the current input of the OTA with a signal from the MCU.
>
> I then proceeded to do a triangle wave with pretty much the same setup,
> and a minor change:
> I fed a 50:50 pulse to the OTA, swinging positive and negative. My
> thinking was, I first charge the capacitor with a certain current, then
> discharge it with the same current inverted, for the same time, and
> should thus land at zero voltage again. (no dedicated discharge
> transistor involved)
>
> But this quickly wanders off towards one of the rails - I thought, ok,
> probably imperfections in parts, a slight bias towards one direction, so
> I just put a 10Meg resistor across the capacitor, large enough to not
> deform the wave.
> This seemed to do it at first, but it's very frequency dependent, when
> it looks good at 200 Hz, it will have a large offset at 800 Hz or so.
> (this was actually breadboarded, not just in spice)
>
> This is a bummer, as I thought I could even build something that morphs
> between saw and tri seamlessly by feeding a different duty cycle pulse,
> switching not only the polarity but also magnitude of (dis-)charging
> current for the rising (a) vs. falling (b = (-1) * (1 - a) = a - 1 :
> using the OTA also as subtractor) ramp parts of the period to get the
> same overall time. But given that the simpler scenario of a perfect
> triangle doesn't even work, I'm not so sure anymore :-)
>
> Can someone give me some pointers here?
>
> Regards,
> Steve
>
>
> _______________________________________________
> Synth-diy mailing list
> Synth-diy at dropmix.xs4all.nl
> http://dropmix.xs4all.nl/mailman/listinfo/synth-diy
>
More information about the Synth-diy
mailing list