(21-02-2020, 23:28)zojsan napisał(a): W pełnym kroku 200 kroków na obrót
Rozkręcam to do 5000Hz przy 1/4 kroku=375 obr/min
i przy tych obrotach pompa ma wydatek 90ml/min
O ile dobrze rozumiem oznacza to, że 375 obr/min = 90 ml/min, czyli 375/90 obr/ml, co przy 800 krokach na obrót daje 300000/90 k/ml (jako k oznaczam 1/4 kroki)
Celowo nie skracam 300000/90 do 3333.333333, bo wtedy byłyby błędy zaokrąleń, mamy więc 300000/90 prawie jak w szkole ;-)
Od razu widać że wychodzą duże liczby, więc można zamiast ml używać mikrolitrów (ul), dokładność będzie większa, a liczby mniejsze, mamy więc 300/90 k/ul. Teraz można pozbyć się zer i jest piękne:
30/9 k/ul
Same kroki wykonujesz niepodzielnie, więc możesz mieć zmienną z liczbą wykonanych kroków. Przeliczenie kroków na dawkę:
ul = kroki * 9 / 30;
A dawki na kroki:
k = ul * 30 / 9;
Prezentując wyniki możesz oczywiście używać liczb zmiennopozycyjnych, więc wystarczy np.
ml = ul / 1000.0f;
I takie wyniki możesz wyświetlać (o ile dokładność do mikrolitrów wystarczy).
Podobnie jest z wydatkiem - działasz używając kroków na sekundę/minutę/godzinę, a na ml/min lub ul/min tylko przeliczasz.