This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
mission:resources:ezvd [2016-04-10 19:43] – created chrono | mission:resources:ezvd [2016-09-21 07:56] (current) – [EZVD - Easy Voltage-Divider Calc-/Simulator] chrono | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== EZVD - Easy Voltage-Divider Calc-/ | ====== EZVD - Easy Voltage-Divider Calc-/ | ||
+ | |||
+ | When you migrate from just learning by copying open-source hardware designs/ | ||
+ | |||
+ | In the past, online-tools like [[http:// | ||
{{: | {{: | ||
+ | EZVD was born out of the necessity to have a paperless math proving ground that should be easily hackable and fun to play with various math models and parameters. Python seemed like a logical choice to rebuild the whole division/ | ||
+ | |||
+ | With EZVD you can simulate and instantly assert your design choices and get warnings for certain constraints you can set: | ||
+ | |||
+ | * Power Efficiency | ||
+ | * How much power will it cost to drive the divider? | ||
+ | * How much power is dissipated in each Resistor? | ||
+ | * Determines package/ | ||
+ | * Determines temperature increase of package which changes its own resistance | ||
+ | * Design Efficiency Indicator Bar (wasted resolution vs. clipping) | ||
+ | * Analog Reference Voltage (ADC) | ||
+ | * VD output impedance (to match ADC input muxer circuit, which lowers the ADC input impedance) | ||
+ | * Simultaneous Overview for most common ADCs (8,10,12 and 16 Bit) | ||
+ | * Have consistent/ | ||
+ | |||
+ | It's still a very hackish and early implementation but it (or the idea of it) serves well as a basic tool we can build upon. So everyone interested is invited to make it better to help us all to reduce design failure risks by mis-aligning a simple voltage divider where a calculator/ | ||
+ | |||
+ | * Review, verify and extend its math model | ||
+ | * Add more functionality | ||
+ | * Make it more robust (Fix uncaught cases where EZVD will crash with large step sizes) | ||
===== Installation ===== | ===== Installation ===== | ||
==== Dependencies ==== | ==== Dependencies ==== | ||
- | * Python 3.x for full UTF support | + | * Python 3.x |
- | + | * with UTF support | |
+ | * with ncurses support | ||
+ | |||
+ | Every reasonably recent GNU system should have this available. | ||
==== Clone repo ==== | ==== Clone repo ==== | ||
Line 15: | Line 43: | ||
$ cd ezvd | $ cd ezvd | ||
</ | </ | ||
- | | + | |
- | ===== Run ===== | + | ===== Usage ===== |
+ | |||
+ | ==== Run ==== | ||
< | < | ||
$ ./ezvd.py | $ ./ezvd.py | ||
- | </ | + | </ |
- | | + | |
+ | ==== Interaction ==== | ||
+ | |||
+ | === Basic Parameters === | ||
+ | |||
+ | ^ Key ^ Function | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | |||
+ | === Simulation Control === | ||
+ | |||
+ | ^ Key ^ Function | ||
+ | | Tab | Cycle between simulation targets (VIN/ | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | P/ | ||
+ | |||
+ | |||
+ | ===== Development / Sources / Issue-Tracking ====== | ||
+ | |||
+ | People are fighting board-wars over the 1024 vs. 1023 multiplier issue and a lot of code out there one could use as an example bears the risk of also just being copy-pasted from some other bad example. So anyone with the skill to provide knowledge, reflection, verification and feature expansion is invited to join development, | ||
+ | |||
+ | https:// | ||
+ | |||
+ | |||
+ | ===== Roadmap ===== | ||
+ | |||
+ | * Reverse Finding of optimal resistor values for given inputs | ||
===== License ===== | ===== License ===== | ||
Line 33: | Line 95: | ||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | ||
GNU General Public License for more details. | GNU General Public License for more details. | ||
+ | |||
+ | |||
+ | ~~DISCUSSION~~ | ||
+ | |||
+ | {{tag> | ||
+ | |||
+ | {{keywords> |