How to produce sawtooth waveform from square waveform?
These circuits have been around almost forever. They are used in switching power circuits, old TVs, and pretty much anywhere PWM generated from a comparator might be in the mix.

There's probably a few good answers on this site, as well. For example, here is one.

I'm sure from your writing that you already pretty much know how. But for others (and to any degree it helps), I may as well state the approach in clear terms, first. The details are just a matter of implementing the plan. So here's the behavioral idea:







simulate this circuit &ndash; Schematic created using CircuitLab

You mentioned the idea of a "summing amplifier" and this is handled perhaps better by using two differentiators based upon \$Q\$ and \$\overline{Q}\$, since these are easy to OR-together and then used to operate the reset switch. This way you only have one integrator and one resetting switch and you get the summing behavior at the output (with appropriate integrating capacitor and current source.

You can find many different opamp designs (including the above link I mentioned.) But let me give you something very simple that I used 35 or 40 years ago and still remember (kind of) well:







simulate this circuit

This is a slow integrator, as shown, and assumes you have a low impedance square wave source. But it gets the idea across using concrete parts to make the point clear. I used a NOT gate (which could be implemented in a variety of ways) because I didn't know whether or not you have a \$Q\$ and \$\overline{Q}\$ of your square wave. (If not, that remaining behavioral element would need to be designed, as well.)

It's not difficult to work out these values. I didn't spent a lot of time working them out for the above schematic, but I can discuss my process.


To keep things simple I used the same capacitor value for all the capacitors. I selected \$4.7\:\mu\text{F}\$ for no particular reason.
The sharply rising pulse through \$C_1\$ and \$C_2\$ will have a very fast fall because the BJT base-emitter junction will snip it quickly.
We don't care about the sharply falling pulse through \$C_1\$ and \$C_2\$, but these will decay out via \$R_1\$ and \$R_2\$. Because this circuit is slow (\$5\:\text{Hz}\$), I only cared that \$5\,\tau\$ would be a quarter-period. With \$200\:\text{ms}\$ period, this meant that \$5\,\tau=50\:\text{ms}\$ or that \$\tau=10\:\text{ms}\$. Given the capacitor value, the resistor values for \$R_1\$ and \$R_2\$ were then easily derived.
I just picked a value for \$R_3\$ (not critical) that I felt would quickly remove charge. I didn't think about this much.
Given the use of a \$4.7\:\text{V}\$ zener, the collector shouldn't rise above about \$4\:\text{V}\$. I computed a maximum current source of \$I=C\frac{\text{d}V}{\text{d}t}=4.7\:\mu\text{F}\cdot\frac{4\:\text{V}}{100\:\text{ms}}\approx 190\:\mu\text{A}\$. The current-source is just a standard zener-based emitter follower one, set up to provide about \$\frac{4.7\:\text{V}}{33\:\text{k}\Omega}\approx 140\:\mu\text{A}\$. (You could use a current mirror, which would permit output peak voltages of the sawtooth that are closer to the rail.)


That's it. Have a look around the site and have a look at the other post here that I mentioned at the outset, too.



I decided to put this schematic into LTspice, today. So I'll post up the results of it.

Here's the full schematic as entered into LTspice:



And here's the input and output waveforms:



Simulated, it is very close to my expectations and it does show that the premise is appropriate to the problem. The rest is a matter of improving on the details related to specific circumstances.