Proto-App / Proto-Android

Realtime circuit simulator for Android platform.
101 stars 2 forks source link

Enhancements #176

Open LucasBS1 opened 1 year ago

LucasBS1 commented 1 year ago

Although this app is rarely updated, and when it does, the important issues don't get fixed, I'll keep updating this thread regardless

Updated at 05Oct23 Some comments and responses became obsolete

The app deserves a LOT of enhancements:

1 - Lines and components are VERY hard to connect (unlike EveryCircuit); 2 - Component properties (like resistance) are hard to change (unlike EveryCircuit); 3 - The graph doesn't show the right unit (voltage or current) when more than one source is selected; 4 - Capacitors in parallel to sources are considered a short (as if there was no impedance); 5 - Can't see the power dissipated off potentiometers (resistors do show this. Very clever feature, by the way); 6 - AC source doesn't differentiate between peak and RMS; 7 - Can't disconnect a component (cut the lines): I have to either delete the component, or (sometimes works) rotate it (EveryCircuit does that); 8 - The gaming between the simulation speed and time step is really confusing for beginners (unlike EveryCircuit); 9 - There are WAY TOO FEW undos ! And they are completely messed up, as it undoes some things and some not. 10 - Can't move a group of components; 11 - The coils of your relays have no voltage/current limit; 12 - Can't rotate transformer. WHY !? 13 - There is no option for a tertiary on the transformer; 14 - There is no option to display/Hide the pinout number on important ICs, like the 555; 16 - The square source can't go below 1Hz; 17 - Circuits like this simply don't work; 18 - There could be small current values above wires, with arrows pointing their direction, when convenient. EveryCircuit has this; 19 - OPAMPS could have Vcc and GDN pins; 20 - Can't have a 2.2uF capacitor! Unbelievable! 22 - The battery is awful ! Can't change the capacity OR the nominal voltage (Really important)... 22 - The Current Speed slider is too sensitive 23 - BUG: I get some exceeded reverse voltage on capacitors while changing the time step or the simulation speed. 24 - Sometimes the graph fails to scale down after the measured peak voltage gets reduced. 25 - There is the LM78XX. This app is way ahead of the competitors. But there's no 3V3 option; 26 - The list of standard values for resistor/capacitors is way messed up; 27 - A destroyed component stops the simulation.

Suggestions:

1A - Enlarge the touch-sensitive area that represents the pins of the components. 1B - The app deserves an auto route for the wires 1C - Add a snap to connect to existing lines, not to the middle of the nowhere. 1D - Bring the ability to intercept a wire anywhere instead of only a component terminal 1E - Implement an autoclean of dangling/unused wires 1F - BUG: If I manage to make two wires overlap (don't ask me how I did it), being one of them isolated (not connected to anything), then SNAFU. 1G - BUG: Components simply placed on wires, and not actually plugged, caused shenanigans in a few cases. Maybe a coincidence, but fixing this placement corrected a bug where a capacitor complained about reverse voltage just before the simulation. By the way, this "consider connected" feature when I overlap two component pins is great. Maybe it could automatically create a wire if I move away one of the components.

2A - When I tap the center of a component (not the pins), the dial should pop up, displaying the last used variable (resistance, voltage). And somewhere, a button to select another variable. Plus, a button to shrink or put aside the dial 2B - Plus, I get the stupid value input box every time I attempt to drag the slider. Make it come up only when tapping the center. And make this input box nearer the finger, with the value already highlighted for easier replacement. 2C - Lastly, this slider could snap on more relevant values (even standard values). "571 Ohms" make no sense. No one will select it. And if someone will, they can input it by typing.

3A - There could be three plots: one for current, one for RMS voltage, one for peak voltage, one for power... The user decides. If the user sticks to a single plot, then one unit on the left, and another on the right. Both colored. 3B - The graph could have grids to help with my problem number 8.

4 - Even ideal capacitors have impedance on AC, or while charging in DC.

8A - The simulation speed needs some better scaling system. One that is more visible and fully controllable to the user. In a numeric form, I mean. Just recently I saw the connection between the simulation speed and time step. But I see no connection between these and real life time (seconds). 8B - Make the simulation speed change by pinching the plot. Plus, there are many other variables around the app that could be controlled by gesture. 8C - I don't see a tool to count the duration of an event (as seen on an oscilloscope). There is a time mark below the graph, but since it has no scales, it doesn't help. 8D - Allow type-input of the time-step, if a better system doesn't take it's place 8E - BUG: On a slow simulation, where a repetitive signal lasts longer than a second, the plot doesn't see the full wave and keeps scaling itself up and down to follow the highs and lows of the wave

25 - If the LM78XX model is faithful to the real (which has no 3V3 option), then there could be an AMS1117 instead.

26 - There should be an "incremental" method, where I choose the first value (1.0, 2.2, 4.7, 8.2), then the magnitude (kohm, nF, uF...).

27 - Instead of interrupting the simulation, a burnt LED should be treated as Open, with a fire symbol next to it (like on EveryCircuit), and a button to "Fix it".

Other suggestions:

I will raise my three stars on the play store when these are fixed. Imagine the potential of this app !

Proto-App commented 1 year ago

Hello @LucasBS1

  1. We know that this might be improved, we have autorouter on our TODO list
  2. It is quite easy, you need to tap on settings button and you will get circular dial with values.
  3. It shows right unit because you can decide which unit is selected. We had discussion about multiple plots at one time and it can introduce additional complexity for beginners.
  4. Our model has no resistance and from AC perspective start of the simulation is a shorted circuit. You can add small resistor or turn on wires resistance.
  5. Agree, we will fix it :)
  6. Could you provide more details?
  7. Do you mean cut wires between components?
  8. You can change simulation speed from settings panel, we will introduce gesture from https://github.com/Proto-App/Proto-Android/issues/173
  9. Yes, currently 3 are available
  10. This feature is on our TODO list
  11. It is ideal component
  12. Agree, no flip or rotation. We will add flipp option because rotation is useless in this case.
  13. We don't have any mathematical model of tertiary transformer
LucasBS1 commented 1 year ago

Response Updated Some items were added an others became obsolete

  1. We know that this might be improved, we have autorouter on our TODO list

Cool. Please don't forget about my points 1A, 1C, 1D, 1F and 1G (some added latter)

  1. It is quite easy, you need to tap on settings button and you will get circular dial with values.

There is a step you forgot to mention between the circular dial and the settings button: I have to select the variable to be changed (name, resistance, voltage...) That is NOT "quite easy". I'll attach a picture that shows how it could become so.

Easy

Plus, not to forget my points 2A and 2B

  1. It shows right unit because you can decide which unit is selected. We had discussion about multiple plots at one time and it can introduce additional complexity for beginners.

1 - I do not see an option to change the unit to be displayed: All I see is the last unit I decided to plot. If I plot the voltage of R1, and then the current of R2, only Amps will be shown on the plot, not volts, from R1.

If the option IS there, and it's just ME that can't see it, then the interface is probably counterintuitive (since I consider myself an advanced user).

2 - The users should decide what is complex or simple. People find insulting when decisions are made for them. Your competitor, EveryCircuit, makes it very simple: all you have to do is drag the plot down.

  1. Our model has no resistance and from AC perspective start of the simulation is a shorted circuit. You can add small resistor or turn on wires resistance.

Suggestion: Add an option for an internal resistance (via, as you called on item 1, the settings button). This, as default, is probably the best for everyone, since few people are looking for a purely theoretical result.

  1. Could you provide more details?

I really could have been more clear before... And looking back, this "feature" would be quite redundant. But here we go anyways: A sine wave has an RMS value and a peak value. Maybe an option to choose one of these when adjusting the AC source. I now judge this as redundant because I can see the peak value if I make a plot of this AC source.

  1. Do you mean cut wires between components?

"Cut", I realized only now, is the term used by your competitor, EveryCircuit, to disconnect a component without deleting it. All it does is delete the wires connecting the terminals. Then I can move the components without dragging the wires along.

  1. You can change simulation speed from settings panel, we will introduce gesture from [Swipe left and right for reducing and increasing simuilation speed #173]

Suggestion: swipe the graph to control the speed, pinch to control the Time Step. Although both these variables, speed and time step, should be a single one, or, at least, move together.

  1. Yes, currently 3 are available

Well... 3 is nothing summed with nothing. In many apps there are at least 100 undo levels (and they are not messy as this one)

  1. It is ideal component

Well... Should be not. Especially if the current keeps raising and raising indefinitely. A typical relay coil has a reluctance, and after closed, uses some 20mA when 12V, for instance. And it has a current kickback when switched off. This doesn't have to be precise, but not having a limit does affect the simulation.

  1. We don't have any mathematical model of tertiary transformer

Well... You already have a center-tap transformer. Not very different. This doesn't have to be precise either. All we need is a ratio and a polarity, and effects like magnetic inertia. But the tertiary SHOULD be dettachable, movable, mirrorable, and rotatable