We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Google Golab Python 3.10 PySpice 1.5
I'm trying to run the operational amplifier example but it returns an error.
Code:
!pip install condacolab import condacolab condacolab.install() !conda create -n pyspice !conda activate pyspice !conda install -c conda-forge pyspice !conda install -c conda-forge ngspice ngspice-lib import numpy as np import matplotlib.pyplot as plt import PySpice.Logging.Logging as Logging logger = Logging.setup_logging() from PySpice.Plot.BodeDiagram import bode_diagram from PySpice.Probe.Plot import plot from PySpice.Spice.Netlist import Circuit from PySpice.Unit import * from OperationalAmplifier import BasicOperationalAmplifier #################################################################################################### from PySpice.Spice.Netlist import SubCircuitFactory from PySpice.Unit import * #################################################################################################### class BasicOperationalAmplifier(SubCircuitFactory): __name__ = 'BasicOperationalAmplifier' __nodes__ = ('non_inverting_input', 'inverting_input', 'output') ############################################## def __init__(self): super().__init__() # Input impedance self.R('input', 'non_inverting_input', 'inverting_input', 10@u_MΩ) # dc gain=100k and pole1=100hz # unity gain = dcgain x pole1 = 10MHZ self.VCVS('gain', 1, self.gnd, 'non_inverting_input', 'inverting_input', voltage_gain=kilo(100)) self.R('P1', 1, 2, 1@u_kΩ) self.C('P1', 2, self.gnd, 1.5915@u_uF) # Output buffer and resistance self.VCVS('buffer', 3, self.gnd, 2, self.gnd, 1) self.R('out', 3, 'output', 10@u_Ω) #################################################################################################### class BasicComparator(SubCircuitFactory): __name__ = 'BasicComparator' __nodes__ = ('non_inverting_input', 'inverting_input', 'voltage_plus', 'voltage_minus', 'output') ############################################## def __init__(self,): super().__init__() # Fixme: ngspice is buggy with such subcircuit # Fixme: how to pass voltage_plus, voltage_minus ? # output_voltage_minus, output_voltage_plus = 0, 15 # to plug the voltage source self.R(1, 'voltage_plus', 'voltage_minus', 1@u_MΩ) self.NonLinearVoltageSource(1, 'output', 'voltage_minus', expression='V(non_inverting_input, inverting_input)', # table=((-micro(1), output_voltage_minus), # (micro(1), output_voltage_plus)) table=(('-1uV', '0V'), ('1uV', '15V')) ) circuit = Circuit('Operational Amplifier') # AC 1 PWL(0US 0V 0.01US 1V) circuit.SinusoidalVoltageSource('input', 'in', circuit.gnd, amplitude=1@u_V) circuit.subcircuit(BasicOperationalAmplifier()) circuit.X('op', 'BasicOperationalAmplifier', 'in', circuit.gnd, 'out') circuit.R('load', 'out', circuit.gnd, 470@u_Ω) simulator = circuit.simulator(temperature=25, nominal_temperature=25) analysis = simulator.ac(start_frequency=1@u_Hz, stop_frequency=100@u_MHz, number_of_points=5, variation='dec') figure, (ax1, ax2) = plt.subplots(2, figsize=(20, 10)) plt.title("Bode Diagram of an Operational Amplifier") bode_diagram(axes=(ax1, ax2), frequency=analysis.frequency, gain=20*np.log10(np.absolute(analysis.out)), phase=np.angle(analysis.out, deg=False), marker='.', color='blue', linestyle='-', ) plt.tight_layout() plt.show()
Error:
/usr/local/lib/python3.10/site-packages/PySpice/Spice/Netlist.py in init(self, **kwargs) 1123 1124 def init(self, **kwargs): -> 1125 super().init(self.NAME, *self.NODES, **kwargs) 1126 1127 ####################################################################################################
TypeError: Value after * must be an iterable, not NoneType
Please help!
The text was updated successfully, but these errors were encountered:
No branches or pull requests
Environment (OS, Python version, PySpice version, simulator)
Google Golab Python 3.10 PySpice 1.5
I'm trying to run the operational amplifier example but it returns an error.
Code:
Error:
/usr/local/lib/python3.10/site-packages/PySpice/Spice/Netlist.py in init(self, **kwargs)
1123
1124 def init(self, **kwargs):
-> 1125 super().init(self.NAME, *self.NODES, **kwargs)
1126
1127 ####################################################################################################
TypeError: Value after * must be an iterable, not NoneType
Please help!
The text was updated successfully, but these errors were encountered: