fiz uma rampa para motor pequeno de multifuncional de 12V a primeira vez vai de boas mas as demais nem sempre funciona.
10 pulsos de 15ms
10 pulsos de 8ms
10 pulsos de 4ms
1000 pulsos de 1ms
Você fez uma "escada" de aceleração e não uma rampa, supondo que Ton=Toff, o primeiro degrau com 10*30=300ms de duração, o segundo com 10*16=160ms, o terceiro com 10*8=80ms o quarto com 1000*2=2s.
Além disso, fez um movimento acelerado e não com aceleração constante. Se a aceleração é constante, o torque é constante e se o torque é constante, um acionamento com corrente constante resolve. Sabendo que T= M x a, num sistema puramente inercial sem atrito (motor sem carga mecânica, apenas o rotor sendo movido), onde T = torque, M = momento de inércia e a=aceleração angular.
Se a aceleração é constante, então a=(V2-V1)/(T2-T1)
T2-T1: duração do degrau
V2: velocidade ao final do degrau (rotações por segundo)
V1: velocidade no início do degrau (rotações por segundo)
Para "a" ser constante, use T2-T1 constante e varie V2-V1 em intervalos regulares, exemplos:
(1) 5, 10, 15, 20, 25, 23, 35, 40, 45, ... um degrau a cada 10 ms
ou então:
(2) 10, 20, 30, 40, 50, ... um degrau a cada 20 ms
Ambos os movimentos acima possuem aceleração de (20-10)/20 = 0,5 rotação/segundo
2 Variando a duração ou o acréscimo dos degraus, varia-se a aceleração, ok?