-
Notifications
You must be signed in to change notification settings - Fork 838
New issue
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
OPAMP OP37 Error when loading the netlist #4185
Comments
Will upload a different bug report first chance I get, regarding same issue with the OP482. |
Thanks for reporting this but, please, do not open a new report for the OP482. They are the same issue. The issue with all this analog device components is that they are missing the SPICE subcircuit that specify how they behave. These parts were added in 2014 by the old development team. I suspect that they had these SPICE subcircuits in a library that we would need to load. The SPICE output of Fritzing was sponsored by analog devices: https://blog.fritzing.org/2014/07/14/new-fritzing-release-0-9 You can download the SPICE model from their website (simulation): https://www.analog.com/en/products/op37.html#tools-header and then add that in the part fpz as a model, but it is quite tricky. @KjellMorgenstern , any chance that you could try to contact the old developers to see if they had an agreement with analog devices or who was their contact there? If not, we may add their models in out parts, see their license terms:
|
Thank you for the quick and detailed reply! |
As a data point, I exported the OP37 from Fritzing0.9.3b and grabbed the spice model from that exported part. It looks basic to me (no added libraries):
although I don't know all that much about spice and perhaps the OP37G is the library reference? No, the current part in 1.0.4 appears identical, so I don't think there were any extra librarys in the older code. this is from a part exported from 1.0.4
although I guess a library referred to by OP37G could be missing from somewhere I am not aware of. |
I think the idea of the developers was to add the models using the standard library folder for ngspice. But they were not added into the code or maybe the users were supposed to do it manually. But the development stopped and this feature was not added. |
The following AD parts within Fritzings have SPICE models available which are not integrated yet: AD8210 There is a huge a number of more recent parts, e.g ADA4807-1 , which are marked "production" or "recommended for new designs" , and which are not integrated to Fritzing. As I understood the license, it is permitted to bundle the models with Fritzing releases, but we shouldn't include them in fritzing-parts (as that would be somewhat 're-licensing'). Independent from that, maybe it could help to make Fritzing "SPICE" property editable by the user. It is quite easy to get this wrong though, and there are few possible verification (-> possibly crashing Fritzing, or silently messing up simulation results). On the other hand, easy manual testing could increase the quality, as opposed to the current way, where you have to modify the part, and re-import it to Fritzing. |
We do not need them in the fpz files, they can be store in a folder in Fritzing and the simulator can add them if they are in use (we need to include the file that defines that model). See the ngspice manual:
|
Yes, editable spice fields will help to minimize these issues or that we lack a model for a part (e.g., a model available online cannot be redistributed) as they could find it and add it. They may break the simulation or get bad results but I think it is unlikely that they crash the program. In case that the simulation stops working, it would be easy to remove the parts slowly until finding the one that causes the problem. However, the risk is that users will modify one part and then adds the same part from the inspector (instead of coping and paste the part with the modified spice). In that case, two identical parts would behave differently. This can be intended or not, but it is difficult to see, except by analyzing the spice fields (which is quite tricky for long models or subcircuits). Maybe we could add a small icon on the parts with modified spice fields while simulating them, or adding a reset mechanism to go back to the default spice field. |
The download I found is a .cir file (pspice format apparently) , not a module or library like xspice. This could be a related thread: https://sourceforge.net/p/ngspice/discussion/133842/thread/286a096d/ |
Wouldn't we directly add the .cir content in the SPICE field of the part? |
We could copy the content of the OP37.cir file in the spice field of the part, but that could trigger issues with the copyright and will make the netlist less readable. We could also add the |
I made a quick test, I can simulate the model downloaded from Analof Devices website, see below. I had to modify a few things:
Thus, no technical limitations to simulate this. It is an issue of sorting out the copyright issue. |
Current Behavior:
I am appending the error report generated from the application when attempting to simulate with the OPAMP OP37.
I just begun studying circuits, so of course my setup may be completely wrong and/or nonsensical, but should this result in the error I'm getting?
Build:
Fritzing Version 1.0.4 (CD-2065-0-a8c6ef7c 2024-10-07) 64 [Qt 6.5.3]
Operating System:
Windows 11
Steps to reproduce:
Expected Behavior
The simulation should work regardless of the setup (e.g. smoking component or nothing happening).
The text was updated successfully, but these errors were encountered: