This thread will show some LTspice techniques I use for simulating circuits.
I started from @LarryDee 's circuit here: https://www.theradioboard.org/forum/main/comment/6fec3991-140b-4f9f-b18f-d437c65622ab?postId=6268d23aea895900167700d1
I modified this a bit as follows.
The main changes I made were:
Removed units suffixes on all component values. For example, you specify an inductor's value as "10u", and LTspice knows this means 10uH, so you don't have to specify the "H" (Henries) unit.
Added the potentiometer component. To use this, copy the attached files "potentiometer.sub" and "potentiometer 2.asy" into the same folder as the main simulation file "larry-regen-with-preamp.asc".
Added some ballpark guesses of resistance to simulate resistive losses in the choke L1 and in the tank inductor L2.
Added a pulse voltage source V2, which provides a small kick of voltage at the start of the simulation to encourage oscillation of the oscillator circuit.
Added a .tran statement to run a "transient" (time-domain) simulation, to examine the oscillator waveforms and if oscillation is possible. You can also run .ac (frequency-domain) simulations, for example to check the bandwidth of tuned circuits -- including checking the bandwidth of a regenerated tank. That might be a topic for a future article.
The next video shows a typical simulation session inside of LTspice. Unfortunately, my video capture software captured only the main LTspice window, and not any popup windows. During the video, I right click on some components, which brings up a popup window (not visible in the video) where you can alter the component value. After closing the popup window (not visible in the video), the changed values are then shown in the main schematic (which is visible in the video).
The goal of this simulation session is to check if the circuit oscillates, and to alter the circuit parameters until it oscillates.
Here's what's happening in the video:
Time 0:00: file is opened.
Time 0:04: "Run" button is clicked to start simulation. The simulation result window opens. Windows are rearranged to be tiled vertically, with schematic on the left and results on the right.
Time 0:11: Mouse is clicked on the "tank" label at the top of the L2 tank inductor, to check the voltage at the top of the tank. The simulation window shows a decaying voltage, indicating the circuit is not oscillating.
Time 0:34: Based on trial and error, I discovered that I had to increase C5 and C6 to 4700 pF for oscillation to occur.
Time 0:38: Simulation is re-run with 4700 pF capacitors. Results window shows an exponentially-increasing waveform until amplitude limiting occurs. In other words, we have oscillation. There is some brief and strange secondary oscillation at a different frequency from 0-80 uS, which must be caused by some other secondary resonance, almost certainly due to the choke L1. Understanding this secondary oscillation requires correctly characterising the choke L1, including its equivalent series resistance (ESR) and self-resonant frequency (SRF). In this simulation, we just use R4 to damp the choke L1, to represent some hopefully plausible value of ESR.
Time 1:12: We zoom in to the waveforms and check that they look reasonable. They are smooth sinusoidal curves, so this is reasonable. To get this result, it is important to turn off waveform compression (by unchecking all three compression options) in LTspice, in the settings window (accessible via the hammer icon).
Time 1:31: We zoom into a subset of the results starting from 690 uS up until 990 uS, therefore omitting the initial part of the data (from 0-80 uS) that contained the unwanted secondary oscillation. We right-click on the results window and select the View > FFT menu (not visible in the video), and generate an FFT based only on the currently-visible subset of the data.
Time 1:51: The FFT window is displayed, showing the oscillation frequency, about 2.625 MHz. Clicking the window and dragging the cursor shows a popup window (not visible in the video) with the measured frequency at the cursor. Greater accuracy can be had by running the simulation with smaller timesteps, and by running the FFT with more points.
Time 2:20: The pot wiper is increased to 1.0, increasing the source resistance. Re-running the simulation shows that the tank energy dies down over time. We are now below the oscillation threshold.
Time 2:42-5:55: The pot wiper is gradually adjusted to find the value just below oscillation, re-running the simulation after each change. A value of 0.22 is found to be below the oscillation threshold, while 0.21 is found to be above the oscillation threshold. Therefore, with the pot wiper at 0.22 (22% of its travel) we are very near, but still below, the oscillation threshold. This adjustment was done in minimum increments of 1%, which for a 270-degree potentiometer assumes that the pot can be physically manipulated in increments of 2.7 degrees, which is physically plausible. If you have a ten-turn pot, or a large knob on the pot, you might want to adjust the simulated wiper value in smaller increments like 0.001, which will allow you to bring the simulation very close to the oscillation threshold, and allow you to achieve very high tank Q values.
Simulation files are attached as text files. To use these files, you should rename them as follows:
The last filename has a space between the word "potentiometer" and the numeral "2".
Put all files in the same directory, and then you should be able to open the file larry-regen-with-preamp.asc in LTspice.
LTspice is pretty easy to figure out. I'd recommend that you start out by using LTspice to verify things you already know, like Ohm's law, then make your circuits more complicated one step at a time. Feel free to post your simulated circuits for discussion. Maybe there are others here too who are interested!
The paper on "hybrid feedback" oscillators, by vladn at the old TheRadioBoard forums, contains some good examples of using LTspice to discover new behavior about old oscillator circuits. I learned a lot about LTspice by studying how vladn used it, and by reproducing vladn's simulation results in my own simulations. Here's the paper: http://www.kearman.com/vladn/hybrid_feedback.pdf .
I have no idea what I am doing. But I will eventually figure it out. Been doing programming for decades, should be able to wrestle this. All the things listed here by you are really cool info to get on a circuit. Thanks
If you liked that, you might also like to have a look at some sample LTspice files here: https://groups.io/g/regenrx-simulations/message/2 . I used to manage a small online group at the old Yahoo Groups where we would simulate various receiver circuits (mostly regenerative). That ZIP file that I linked above contains some various circuits, notes, and images that might give you some ideas.
LTspice has a huge online community, so it's pretty easy to find information online about how to use it. Some people even use it for simulating tube circuits.
Here is a small list of some of the useful kinds of simulations that you can do with LTspice.
Design LC filters, then plot the frequency response (like a "virtual spectrum analyzer") with a frequency-domain AC analysis.
Check the bandwidth of a normal LC tank that has been damped by its own resistive losses.
Check the bandwidth of a regenerated LC tank below the oscillation threshold.
Check the smoothness of the regeneration control by observing the tank amplitudes as you gradually adjust the regeneration (if the oscillator suddenly snaps into hard oscillation with a small change of regeneration, then the regeneration control is not smooth).
Generate basic signals like sine waves or square waves, and feed these signals into transistor amplifiers or into resonant tanks.
Generate AM or FM signals by using the modulator component.
Generate arbitrary signals by using the "behavioral voltage source", which allows you for example to multiply two signals together. This is a great way to understand mixer operation -- just try multiplying a sine wave by a square wave, look at the result, and see how the mixing products automatically emerge when the square wave "chops up" the sine wave.
Check the conversion gain of a mixer.
Check the detection efficiency of a non-linearly biased transistor. Feed in small modulated signals into the input, and observe the amplitude of the resulting AF output. The same thing works for a regenerative detector: adjust the regen below threshold; determine the resonant frequency; feed in an amplitude-modulated RF signal at that resonant frequency; observe the amplitude of the AF coming out of the regenerative detector and/or coming out of the AF amplifier.
Measure input/output impedance of circuits.
Check amplifier distortion or clipping behavior.
As in real life, it is always a good idea to check your results in multiple ways to make sure the results make sense. For example, if you ran an AC analysis (frequency domain) on a tank that is resonant at 2 MHz, and you see that the -3 dB bandwidth is 10 kHz, you can also double-check that result with a transient analysis (time domain). You'd just need to run 3 separate transient simulations and feed in the following signals into the tank; 2 MHz, 2.005 MHz, and 1.995 MHz, then check the final amplitudes of the signals at the tank. The amplitude of the signals at 2.005 MHz and 1.995 MHz should, in the transient analysis, be 3 dB below the amplitude of the signal at 2.000 MHz. By double-checking your answer in this way, you can be more sure that you have understood the simulator's results.
This is awesome. Thanks soooo much for this. I appreciate your skill and the huge educational value you bring. This also shows what great brain food this hobby is. And how cool is it to design something out of thin air? You can do this almost anywhere you want to relax and try out ideas without spending a dime on parts. Can't wait to try it out