In RosettaCNC per programmare quanti impulsi generare per fare ottenere il movimento richiesto vi sono due parametri:
- Impulsi (valore intero).
- Misura (valore con 3 cifre decimali fissi).
Questi due valori vengono usati in tutti i calcoli interni, anziché un dato con virgola fisso, per questione di precisione di calcolo.
Quindi ogni equazione interna si basa sempre su la moltiplicazione per Impulsi e divisione per Misura o il suo contrario, tenendo sempre
la massima precisione possibile.
f(x) = x * Misura / Impulsi, o f(x) = x * Impulsi / Misura ci fa capire che in realtà Misura|Impulsi da solo un fattore di conversione.
Per semplicità nel manuale vengono definiti come:
- Pulse
Define the impulses necessary to obtain a complete revolution of the motor.
For steppers motors, this parameter must include the micro-steps so if you have a 200 pulse motor with 8 micro-steps in the driver, you need to set it to 1600.
For brushless motors, you have to set it to the same pulses set in the driver for a complete revolution.
- Measure
It is the movement made by the axis with a complete revolution of the motor.
Quindi, per chi è alle prime armi, sa che in Pulse/Impulsi si mette il valore di impulsi necessari a far fare un giro al motore.
In Measure/Misura si mette quel valore che descrive quanti mm o gradi vengono fatti facendo un giro del motore.
In gran parte dei casi la risoluzione di 3 cifre dopo la virgola sono più che sufficienti.
Cosa fare nel caso in cui tre cifre non siano sufficienti ?
Semplice basta aggiungere un fattore K ad ogni valore per aumentarne la risoluzione.
Esempio:
Se con 1600 impulsi (un giro asse) faccio 10.345mm viene semplice scrivere:
Pulse|Impulsi = 1600
Measure|Misura = 10.345
Ma se con un giro facessi 10.3457 ?
Pulse|Impulsi = 1600*10 = 16000
Measure|Misura = 10.3457 * 10 = 103.457
In pratica non descrivo quanti impulsi/misura per giro ma per 10 giri, ottenendo un decimale in più nella descrizione del rapporto.
Posso usare un qualsiasi K fino al raggiungimento del limite introducibile.