Would you like to react to this message? Create an account in a few clicks or log in to continue.

You are not connected. Please login or register

Another Newbie Here

4 posters

Go down  Message [Page 1 of 1]

1Another Newbie Here Empty Another Newbie Here Thu Jun 16, 2022 3:17 pm

eugenet



I'm just here to say Bravo! to the SimulIDE team. I'm an IT professional for over 20 years and now I'm trying to learn electronics just for fun.

I've always had trouble understanding voltage drop. With just one afternoon tinkering with SimulIDE, I drew a simple circuit and poked around it with virtual voltmeters and probes. Now I can visualize voltage drops. Very powerful learning tool.

In the same afternoon, I also managed to control a servo with an ATTiny85, all virtually via SimulIDE of course. The icing on the cake? I could view the PWM signals with a virtual oscilloscope. My first time operating a scope which costs $400 in real life!

Yes SimulIDE crashed quite a few times, but it seems to be due to making changes to the circuit while it was running the simulation. Just need to remember to power off the circuit before making any changes.

You guys have every right to be proud of what you are doing.

Another Newbie Here Untitl10

2Another Newbie Here Empty Re: Another Newbie Here Thu Jun 16, 2022 4:09 pm

n3645



SimulIDE team is one man team, AFAIK. Smile
The rest of us are just spoiled man requiring many features... Wink

3Another Newbie Here Empty Re: Another Newbie Here Thu Jun 16, 2022 8:36 pm

arcachofo

arcachofo

Hi eugenet.
I'm glad that simulide was useful for you.

About those crashes... yes, editing the circuit while running was a nice feature but very problematic.
Indeed it is disabled in last versions.
Also the Windows version is always more problematic, and still trying to find the cause of some of those issues.


n3645 wrote:SimulIDE team is one man team, AFAIK.
The rest of us are just spoiled man requiring many features...
Lol.
The first part is true to some point, but there are many people that have contributed in many ways. including you.
And some people have contributed a lot for many years.
For example Sergey Roenko that contributed almost all of the subcircuits: 7400, CD and other. This is a few hundred components...

Developing any software require large amounts of testing and there are some people testing and reporting regularly.
This way I can focus on coding, but all that testing is part of the development proccess.
And they are doing the tedious part while I get all the fun...

Also translations, help files, etc...

Some people come and go and some stay for longer, but there is no way a project like this is done by a single person.

4Another Newbie Here Empty Re: Another Newbie Here Fri Jun 17, 2022 8:20 am

eugenet



A solo coder can be advantageous.

Recently a really smart guy created a fantastic feature to be fitted it into EdgeTX (an opensource transmitter for RC planes). But his code still needed modifications to comply with the standards set by the lead developer at EdgeTX. The smart guy refused, insisting that it works and that is all that matters.

So with a larger team you might spend more time fighting each other. :-)

5Another Newbie Here Empty Re: Another Newbie Here Fri Jun 17, 2022 10:18 am

arcachofo

arcachofo

You are 100% right.

Ussually people contributing code work in some specific feature of their interest, without thinking in how it fits in the overall framework.
And this is normal: getting a good idea of how the whole thing works, what are the goals, etc, takes a lot of time and effort (not only for the newcomer).

jimbobk27 likes this post

6Another Newbie Here Empty Re: Another Newbie Here Fri Jun 17, 2022 10:52 am

n3645



Of course I'm joking. But, good, healthy basis is the essence to attract people.

As a senior programmer, I have seen a lot of code, free and commercial, which are nothing but wasted time. Some company CEOs as well have no clue what they doing, nor care about anything than saving money. Just remember of Toyota fiasco some years ago regarding unwanted car acceleration because they made software on cheap hardware avoiding all safety regulations...

Often, free/one man code is far, far better/faster/robust than some employee in large company doing. It have a sense, as this code/executable can see/test many people.

7Another Newbie Here Empty Re: Another Newbie Here Fri Jun 17, 2022 5:51 pm

firefox66



arcachofo wrote:Hi eugenet.
I'm glad that simulide was useful for you.

About those crashes... yes, editing the circuit while running was a nice feature but very problematic.
Indeed it is disabled in last versions.
Also the Windows version is always more problematic, and still trying to find the cause of some of those issues.


n3645 wrote:SimulIDE team is one man team, AFAIK.
The rest of us are just spoiled man requiring many features...
Lol.
The first part is true to some point, but there are many people that have contributed in many ways. including you.
And some people have contributed a lot for many years.
For example Sergey Roenko that contributed almost all of the subcircuits: 7400, CD and other. This is a few hundred components...

Developing any software require large amounts of testing and there are some people testing and reporting regularly.
This way I can focus on coding, but all that testing is part of the development proccess.
And they are doing the tedious part while I get all the fun...

Also translations, help files, etc...

Some people come and go and some stay for longer, but there is no way a project like this is done by a single person.

Instead of remove changing circuit while simulating, i think you may add function like some of components or ic... has explode and see how the circuits remain work to find out problem in fixing electrical device.

Thanks.

8Another Newbie Here Empty Re: Another Newbie Here Fri Jun 17, 2022 7:58 pm

arcachofo

arcachofo

Instead of remove changing circuit while simulating, i think you may add function like some of components or ic... has explode and see how the circuits remain work to find out problem in fixing electrical device.
It's a litte bit more complex that that:

First, when the application crashes there is nothing to do, it will stop and that's  all.
It is not that a component is malfunctioning, it is that the application did something wrong: accessing to fordiden memory location, calling an object that does not exists or whatever.

But in adition to that, the simulation was not working correctly in some cases:
When you do a change in the circuit, the "electrical topology" changes, some electrical nodes might dissapear or join toguether or whatever.
Then the representation of the circuit must be rebuilt.

In version 0.4.15 this was done by restarting the simulation.
This works ok in some cases but some parameters should stay in some other cases.
For example previous node voltages or Internal states of some components should remain unchanged.
But restarting the simulation resets everything and rebuilds a new representation of the circuit.

So: doing changes while simulating is possible but it requires an aditional procedure:
- The simulation must be stopped, but it needs to stop in an stable state, which can be tricky if there are non linear components.
- Then a new representation of the circuit must be built but keeping some data from the previous one, which is much more complex than just build a new one.
- Then the simulation must resume without glitches.
- Also a new type of "reset" must be implemented for each component that preserves some data and refresh some other data.

Imagine there is a football match and you need to stop the game and move everything to a new football field, including all the players, the ball in it's current position and everything.
And then restart the game in the same exact spot where it was stopped like nothing happened...

This is complex, it takes lots of work and it is a source of bugs and problems.
This is the kind of "rabbit hole" that you know when you get in, but you don't know when you will get out of it.

9Another Newbie Here Empty Re: Another Newbie Here Fri Jun 17, 2022 9:06 pm

n3645



I will add another point of view...

Some circuit simulators are able to do that, for instance Falstad (https://www.falstad.com/circuit/).

However, many novices bad practice is to add/remove components under live voltage! Then several things may happens: that circuit stop working (while cut out main power line), partially working, partially damaged some components or some can be completely toasted, applying excessive voltage or shorting main voltage and ground.

Some situations may be tricky to simulate, as partially damaging component, as that depend on inside integrated circuit. For instance, VIC chip in C64 can work, but some functionality may be not functional  (color sprite problems). Or some MCU working on 3.3V can be toasted applying 5V, or can survive some time. Etc, especially if that happens on I/O pins. LM 7805 for instance will internally shut down if temp. exceed 125C, but also may broke and conduct input voltage...

Another example is adding/removing live  components, as zener diodes, chokes and capacitors - that can make unpredictable result.

But removing/adding wires or changing component values maybe can be possible to allow. Then all what can be done is to change "silently" electrical circuit and properties while simulator running.

Just my thoughts and some experience as a beginner some 10-15 years ago, when I have often forgot to switch-off main voltage rail on breadboard...

10Another Newbie Here Empty Re: Another Newbie Here Fri Jun 17, 2022 10:40 pm

arcachofo

arcachofo

Some circuit simulators are able to do that, for instance Falstad (https://www.falstad.com/circuit/).
Yes, and there are several reasons for that:

- Falstad does not simulate Microcontrollers, Sensors, Lcds and so on.

- Falstad doesn't need to interface with a debugger that is controlling the simulation.

- Simulide is optimized for speed (real time simulation).
So the simulation engine is completely different and more complicated in simulide.
This is true for 0.4.15, but much more for 1.0.0 as this is an event driven simulation.

- I'm not 100% sure that Falstad does not have glitches when you modify the circuit

Some situations may be tricky to simulate, as partially damaging component
A simulator is a model of some characteristics of a system.
Some simulators model certain characteristics and other simulators model some other characteritics.
But there are no simulators that model the reality 100%.

Some simulator can have a high level of accuracy but at the cost of being very slow, difficult to use and useless in certain cases.
So you need to set what is your goal and how to get it.
Goals of simulide: fast (aiming for real time), simple and easy to use.

But removing/adding wires or changing component values maybe can be possible to allow. Then all what can be done is to change "silently" electrical circuit and properties while simulator running.
Yes it is possible, but the question is:
Is it worth the time and effort?
Or better use this time and effort for something more useful?
arcachofo wrote:So: doing changes while simulating is possible but it requires an aditional procedure:
- The simulation must be stopped, but it needs to stop in an stable state, which can be tricky if there are non linear components.
- Then a new representation of the circuit must be built but keeping some data from the previous one, which is much more complex than just build a new one.
- Then the simulation must resume without glitches.
- Also a new type of "reset" must be implemented for each component that preserves some data and refresh some other data.

Imagine there is a football match and you need to stop the game and move everything to a new football field, including all the players, the ball in it's current position and everything.
And then restart the game in the same exact spot where it was stopped like nothing happened...

This is complex, it takes lots of work and it is a source of bugs and problems.
This is the kind of "rabbit hole" that you know when you get in, but you don't know when you will get out of it.

jimbobk27 likes this post

11Another Newbie Here Empty Re: Another Newbie Here Sat Jun 18, 2022 2:09 am

n3645



The simplest way to do this, perhaps is following:

1. Pausing simulator
2. Recalculate and optimize new circuit
3. Resume simulator - the same as starting new session, but keeping LCD, MCU and other similar ICs status/RAM intact, if not cut down main rail to them, resuming execution where they are paused.

Simple example is pot and resistor - resistor value is not allowed to be changed during running simulator, while for pot is, thus why not allowing changing it live?

Similarly, as I have suggested already for 1-wire protocol devices - they are designed to be inserted/removed in live circuit. For instance, I have made temp. reading device in the home and outside and data where shown on 20x4 LCD all the time, including current time according DS1307, storing values each hour, showing new temp each min. If I remove one sensor, it will detect next minute that it doesn't exist and show it is unavailable. And if remove the second one, it will detect that as well and show that both are unavailable.  Plugging in both back, next minute it will detect both and show values. I'm planning to place one sensor in each room inside the house...

12Another Newbie Here Empty Re: Another Newbie Here Sat Jun 18, 2022 4:23 am

arcachofo

arcachofo

n3645 wrote:The simplest way to do this, perhaps is following:

1. Pausing simulator
2. Recalculate and optimize new circuit
3. Resume simulator - the same as starting new session, but keeping LCD, MCU and other similar ICs status/RAM intact, if not cut down main rail to them, resuming execution where they are paused.
Again:
arcachofo wrote:This is complex, it takes lots of work and it is a source of bugs and problems.
This is the kind of "rabbit hole" that you know when you get in, but you don't know when you will get out of it.
arcachofo wrote:Yes it is possible, but the question is:
Is it worth the time and effort?
Or better use this time and effort for something more useful?

n3645 wrote:Simple example is pot and resistor - resistor value is not allowed to be changed during running simulator, while for pot is, thus why not allowing changing it live?
Changing resistor value during simulation is allowed.
In general only changes that can potentially modify the electric "topology" stops the simulation.

n3645 wrote:Similarly, as I have suggested already for 1-wire protocol devices - they are designed to be inserted/removed in live circuit. For instance, I have made temp. reading device in the home and outside and data where shown on 20x4 LCD all the time, including current time according DS1307, storing values each hour, showing new temp each min. If I remove one sensor, it will detect next minute that it doesn't exist and show it is unavailable. And if remove the second one, it will detect that as well and show that both are unavailable.  Plugging in both back, next minute it will detect both and show values. I'm planning to place one sensor in each room inside the house...
Nice but that is not a simulation, or at least that is not simulide.
You don't have to design, write and test the source code of the real world.

13Another Newbie Here Empty Re: Another Newbie Here Sat Jun 18, 2022 7:25 am

n3645



OK, if not easily possible, it is not...

arcachofo wrote:
Nice but that is not a simulation, or at least that is not simulide.
You don't have to design, write and test the source code of the real world.

Nope, we probably living in one already... Smile

14Another Newbie Here Empty Re: Another Newbie Here Sat Jun 18, 2022 11:54 am

arcachofo

arcachofo

Nope, we probably living in one already
Probably, that's why I said: "or at least that is not simulide".

Sponsored content



Back to top  Message [Page 1 of 1]

Permissions in this forum:
You cannot reply to topics in this forum