I made this triangular wave generator, the left op-amp is an integrator and the right one a non-inverting comparator with hysteris.
I require a 1khz signal with Vpp=5V and average value 2.5V. My circuit works fine and i get the expected results.
I wanted to decrease the capacitor value and increase the frequency as they are related by this formula
f=(R_1+R_4)/(4R_3 x C_1 x R_2).
But as i went on decreasing the capacitor value the amplitude of the triangular wave kept getting altered even though the frequency was increasing. This did not make sense to me as the amplitude of the triangular wave is given by the difference in threshold voltages of the non inverting comparator which are only a functions of R_2,R_1,R_4 and the output voltage dynamic of the op-amp which i assumed to be symmetrical.
amplitude of the triangular wave(without offset/average)=
Vs1-Vs2=2(R_2/(R_1+R_4))V_oh.
Soon enough the triangular wave started looking like a square wave because it was getting clipped at the top (yellow signal).
I have been thinking about this for a while , i considered the slew rate of the op-amp to be a limiting factor, but i cant explain the amplitude modulation as a result of the limited slew rate of the op-amp.
But it seems clear to me that the saturation voltages of the comparator are getting affected by the capacitor after a limit ~250pF and then they start to grow in magnitude.
I also studied the behavior of the amplitude of the triangular wave and have plotted with respect to capacitors(pF).
This is the graph of the lower threshold voltage of the comparator (lowest value of triangular wave).
This is the graph of the upper threshold voltage of the comparator (highest value of triangular wave).
And here is the ratio of the measured frequency with respect to the calculated frequency.