单片机控制步进电机是通过时钟计数器计算次数产生脉冲
T型加速转换到数学计算
计数器每秒钟计数c=1000000次
脉冲频率从 v0 = 4K 到v = 40K次 v0时每个脉冲需要计数 m0 =1M/4K = 250 v时每个需要计数m1 = 1M/40K/ 25次
加速度 a = 36K 每个计数单位增加 da = a/c 个
加速时间 t = v/a = 0.1秒
求脉冲频率从4K到40K这个过程中需要产生多少个脉冲,每一个脉冲需要计数多少次
假设在加速过程中产生了n个脉冲,设每个脉冲计数m次
0 =< i <=n
v(i + 1) = v(i) + da*m(i) = v(i) + (a/c) *(c/vi)= v(i) + a/v(i)
java验证代码如下
public class test {
public static void main(String[] args) throws InterruptedException{
long v0 = 4000;
long v = 40000;
long a = 36000;
long c = 1000000;
int i = 1;
double mi = (double)c/v0;
double count = 0;
double vi = v0;
while(vi < v){
vi += a/v