<html><head></head><body><div style="font-family: Verdana;font-size: 12.0px;"><div>Yeah, generating the tri wave from a saw is my backup plan in case the other way becomes too much of a pain in the neck. I actually already tacked the triangle shaper from the Arp2600 service manual behind my saw generator in LTspice, works well enough ;-)<br/>
<br/>
I'd be really interested in the other route, though, I'll think about & try some of the suggestions made here on the weekend :-)<br/>
I guess for me it's more of an exercise than the practical thing being the most important - although if a solution wasn't more complicated (esp. parts count wise) than with the wave shaper, I'd not be sad.
<div>
<div> </div>
<div>Steve<br/>
</div>
<div name="quote" style="margin:10px 5px 5px 10px; padding: 10px 0 10px 10px; border-left:2px solid #C3D9E5; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;">
<div style="margin:0 0 10px 0;"><b>Von:</b> "Richie Burnett" <rburnett@richieburnett.co.uk><br/>
<b>An:</b> synth-diy@dropmix.xs4all.nl, "Steve Taylor" <synth-diy@toot.org.uk><br/>
<b>Betreff:</b> Re: [sdiy] DCO with OTA fiddlings (semi-beginner question)</div>
<div name="quoted-content">As Steve Taylor said, an integrator will ultimately integrate up any tiny<br/>
error and head off to infinity given long enough, if there isn't some<br/>
negative feedback around it to bring it's DC gain down to something finite.<br/>
<br/>
You can get away with using an integrator for the ramp (sawtooth) waveform<br/>
because you are periodically resetting it back to a known hard value.<br/>
(Although at very low frequencies you might still see some variation in<br/>
amplitude of the sawtooth because the long period of integration might be<br/>
sufficient for the error component to integrate up to something significant<br/>
again.)<br/>
<br/>
I would recommend generating your triangle wave from the sawtooth output by<br/>
waveshaping. Ultimately if you have gone to the trouble of making a<br/>
constant amplitude DCO that makes a highly linear sawtooth ramp, then you<br/>
can get a decent triangle waveform from that just be full-wave rectifying<br/>
the sawtooth waveform. That's how may of the old analogue synths did it.<br/>
Making a triangle waveform up from an integrator is asking for trouble if<br/>
you base the switching instants on time, but if you make it switch direction<br/>
at accurately controlled voltage thresholds then this will keep the<br/>
amplitude bounded, as others have done in their tri-core VCOs.<br/>
<br/>
-Richie,<br/>
<br/>
<br/>
-----Original Message-----<br/>
From: Steve Taylor<br/>
Sent: Wednesday, March 23, 2016 10:49 AM<br/>
To: synth-diy@dropmix.xs4all.nl<br/>
Subject: Re: [sdiy] DCO with OTA fiddlings (semi-beginner question)<br/>
<br/>
Hi Steve,<br/>
<br/>
the integrator gradually drifts off without the reset to zero used by the<br/>
saw. Think about the maths of integration. Any tiny error will eventually<br/>
integrate to infinity. I wonder whether a DC servo loop might be able to<br/>
control that but I haven't tried it yet.<br/>
<br/>
Steve.<br/>
<br/>
<br/>
On Wed, 23 Mar 2016 10:09:59 -0000, Steve <sleepy_dog@gmx.de> wrote:<br/>
<br/>
> Hey there.<br/>
><br/>
> I, a software guy dabbling in electronics, recently read a bit of how<br/>
> OTAs work<br/>
> and started to experiment.<br/>
><br/>
> From an inspiration of some years ago, on Tom Wiltshire's website<br/>
> describing how<br/>
> the Juno DCOs worked, I thought myself: Hey, why not do that with an OTA,<br/>
> which<br/>
> might even enable to do some more funny stuff...<br/>
><br/>
> Feeding a pulse wave from my microcontroller of choice...<br/>
> So I first built the simplest of things, which works fine: a ramp DCO<br/>
> using an<br/>
> OTA to constant-current charge a capacitor and abruptly discharging it<br/>
> with an<br/>
> NPN for the last percent or so of the waveform period.<br/>
> The amplitude compensation that's necessary to keep the wave at the same<br/>
> peak is<br/>
> done via the current input of the OTA with a signal from the MCU.<br/>
><br/>
><br/>
> I then proceeded to do a triangle wave with pretty much the same setup,<br/>
> and a<br/>
> minor change:<br/>
> I fed a 50:50 pulse to the OTA, swinging positive and negative. My<br/>
> thinking was,<br/>
> I first charge the capacitor with a certain current, then discharge it<br/>
> with the<br/>
> same current inverted, for the same time, and should thus land at zero<br/>
> voltage<br/>
> again. (no dedicated discharge transistor involved)<br/>
><br/>
><br/>
> But this quickly wanders off towards one of the rails - I thought, ok,<br/>
> probably<br/>
> imperfections in parts, a slight bias towards one direction, so I just<br/>
> put a 10Meg<br/>
> resistor across the capacitor, large enough to not deform the wave.<br/>
> This seemed to do it at first, but it's very frequency dependent, when it<br/>
> looks<br/>
> good at 200 Hz, it will have a large offset at 800 Hz or so. (this was<br/>
> actually<br/>
> breadboarded, not just in spice)<br/>
><br/>
><br/>
> This is a bummer, as I thought I could even build something that morphs<br/>
> between<br/>
> saw and tri seamlessly by feeding a different duty cycle pulse, switching<br/>
> not<br/>
> only the polarity but also magnitude of (dis-)charging current for the<br/>
> rising (a)<br/>
> vs. falling (b = (-1) * (1 - a) = a - 1 : using the OTA also as<br/>
> subtractor) ramp<br/>
> parts of the period to get the same overall time. But given that the<br/>
> simpler<br/>
> scenario of a perfect triangle doesn't even work, I'm not so sure anymore<br/>
> :-)<br/>
><br/>
><br/>
> Can someone give me some pointers here?<br/>
><br/>
><br/>
> Regards,<br/>
> Steve<br/>
_______________________________________________<br/>
Synth-diy mailing list<br/>
Synth-diy@dropmix.xs4all.nl<br/>
<a href="http://dropmix.xs4all.nl/mailman/listinfo/synth-diy" target="_blank">http://dropmix.xs4all.nl/mailman/listinfo/synth-diy</a><br/>
<br/>
<br/>
-----<br/>
No virus found in this message.<br/>
Checked by AVG - <a href="http://www.avg.com" target="_blank">www.avg.com</a><br/>
Version: 2016.0.7497 / Virus Database: 4545/11867 - Release Date: 03/23/16<br/>
<br/>
_______________________________________________<br/>
Synth-diy mailing list<br/>
Synth-diy@dropmix.xs4all.nl<br/>
<a href="http://dropmix.xs4all.nl/mailman/listinfo/synth-diy" target="_blank">http://dropmix.xs4all.nl/mailman/listinfo/synth-diy</a></div>
</div>
</div>
</div></div></body></html>