   Author Triangle core symmetry and pitch stability
groove
 I have been playing around with a triangle core oscillator in a circuit simulator. I breadboarded it today and was a bit surprised to see that the pitch is rising when I move the symmetry/shape pot connected to the diodes toward either end of its range (pitch rises toward either extent). I tried changing resistor values around the pot and also tried buffering the output through another op-amp stage, but I was unable to remove this effect. I would like to understand what is causing this to happen, and how to mitigate it so I have a stable frequency across the range of the shape pot, if possible. pete
guest
 the pitch is set by the resistance (R = 5K + pot), the input voltage to that resistance, and the voltage the capacitor is trying to charge to: t = Va*R/Vb*C where Va is the charging voltage (ending voltage minus starting voltage), and Vb is the voltage across the resistance. as you turn the pot, the resistance changes for charging and discharging, giving you variable slope. but, the total charge and discharge time must be kept constant to keep the frequency fixed. t1 + t2 = (Va/C)*(R1/Vb1 + R2/Vb2) since the charge up voltage is the same as the discharge voltage, Va is constant, and C stays constant. R1 + R2 is almost constant, except for the variation in diode "resistance" as the current through them change as the pot is turned. it doesnt matter where the pot is set, the resistance through one side plus the resitance through the other side will always be constant. but, Vb1 and Vb2 might not be constant. if you arent using rail to rail opamps, the saturation voltage of the opamp will be different for positive and negative outputs. this is most likely the biggest culprit. then, after that, it is probably the offset voltages of the opamps and the diodes.
groove
 guest wrote: since the charge up voltage is the same as the discharge voltage, Va is constant, and C stays constant. R1 + R2 is almost constant, except for the variation in diode "resistance" as the current through them change as the pot is turned. it doesnt matter where the pot is set, the resistance through one side plus the resitance through the other side will always be constant. but, Vb1 and Vb2 might not be constant. if you arent using rail to rail opamps, the saturation voltage of the opamp will be different for positive and negative outputs. this is most likely the biggest culprit. then, after that, it is probably the offset voltages of the opamps and the diodes.

Is the topology inherently poor for this purpose, or can I potentially dial it into being pitch stable with better matching and some offset trimming or better opamp selection?
guest
 you can get it pretty good with rail to rail opamps. there are a few other ways of getting a fixed voltage, such as using comparators, digital logic chips, zener diodes, or transistors (if you dont have rail to rail opamps handy).
elektrouwe
 groove wrote: Is the topology inherently poor for this purpose...

yes, the diodes are the problem: for the fast ramp up/down slope = potentiometer full left/right, currents are high which means low diode resistance. Potentiometer in middle position = medium currents = higher diode resistance. That's why frequency goes sharp at both pot. ends. Rail to rail opamps would improve symmetry adjustment but would not cure the diode problem. They need to be replaced by better switches e.g. CMOS switches (4066,4053...) or transistors. Here is a voltage controlled tricore LFO using reverse operated transistors.
[/img] guest
 elektrouwe, thanks for posting the schematic. i have seen transistors used backwards from time to time, and am curious what are the advantages of doing this? also, why the diode protection on Q2, but not Q1?
elektrouwe
 hi guest, CE saturation voltage of a transistor in inverse mode ( C and E swapped) is only about 1/10 (textbook value) compared to normal mode. Because inverse beta is also reduced (~1/30) you must run the inverse switch with high base currents. By tweaking the base resistors, I was able to keep "switch on" voltages between -0.8mV and +0.2mV over full 0..8V CV range. btw - CV range is limited by transistor Veb breakdown) "... why the diode protection on Q2, but not Q1? good point, I was playing with both diodes and resistors. Best solution is to use diodes (keeps BE reverse voltage small thus maximizing CV range) and replace R8 with a diode and adjust R7 to 8k2. pictures show the "switch ON" voltages for Q1, Q2 from 10mV to 8V CV. Q1 shows a very small range (sub mV) because R7 can be optimized without beeing affected by CV. Q2 shows a larger variaten in ON voltage, because Ib depends on CV. But it is still <= 1mV. simulation showing Q1 ON voltage : simulation showing Q2 ON voltage : For comparison I've added a picture showing the higher Q2 ON voltage with Q1,Q2 in normal ( C,E not swapped) configuration: kassu
 Here is my version of this circuit, using opamps to compensate the diode voltage drops. However pitch still varies somewhat with symmetry. Perhaps R2R opamps will help, but it will still depend on the supply rails. Personally I dont mind the pitch variations so I never looked into it further. https://kassu2000.blogspot.com/2015/10/variable-waveshape-lfo.html
guest
 elektrouwe wrote: hi guest, CE saturation voltage of a transistor in inverse mode ( C and E swapped) is only about 1/10 (textbook value) compared to normal mode. Because inverse beta is also reduced (~1/30) you must run the inverse switch with high base currents. By tweaking the base resistors, I was able to keep "switch on" voltages between -0.8mV and +0.2mV over full 0..8V CV range. btw - CV range is limited by transistor Veb breakdown)

thanks for the explanation, i will keep this in mind for future designs.
jorg
 The math is inherently against you here. While R1+R2 is a constant, what you really need for constant frequency is 1/R1 + 1/R2 is constant. Better to start with a simple oscillator and then shape its output waveform, if you need pitch accuracy. See AJH V-Shape.
guest
 the charge time is proportional to R1, and discharge propotional to R2, therefore the total period of oscillation is R1+R2 and the frequency is 1/(R1+R2), so as long as R1+R2 is constant, the frequency and period will be constant.
elektrouwe
 Joerg, isn't freq = f( Integrator current): f= k( Iup + Idown) =k( CV/R1 +CV/R2) = k*CV(1/(R1+R2) with R1+R2= constant => freq~CV right?
jorg
 Oops - was getting over the flu. You guys are right.
 Page 1 of 1
Powered by phpBB © phpBB Group