I am currently building a VCO for an analog synthesizer. The circuit produces a triangle wave by taking a Schmitt trigger output and feeding it into an integrator. The constant output of the Schmitt trigger is integrated to a triangle wave. When the triangle output hits the upper threshold, the Schmitt trigger flips and the output goes negative. However, the lower output is not square. It moves linearly with the triangle input. The entire circuit schematic can be found here,
and the entire article that discusses the circuit in question is linked here.
I have a simulation of the circuit running on falstad.com/circuit/, linked here.
My question is: Why does the upper trigger work so well, i.e. why is the upper threshold behavior of the circuit constant while the lower threshold behavior is variable (and seems to act like an inverting amplifier with slight nonlinearity?