Posto questo codice che ho trovato online per la protezione antirimbalzo di qualsiasi interrutore/pulsante meccanico in ingresso sulla parallela. Non so se è già stato postato, ma l'unico che ho trovato su cncitalia è lunghissimo e sembra più complicato anche se non lo è.
Questa è una configurazione con quattro switch, tre di limite/homing: X,Y,Z e per ultimo il pulsante EStop.
Ho lasciato i nomi che genera la configurazione guidata per comodità.
La configurazione guidata di linuxcnc2.5.3 per questa tipologia di configurazione genera:
Codice: Seleziona tutto
net both-home-x <= parport.0.pin-15-in
net both-home-y <= parport.0.pin-10-in
net both-home-z <= parport.0.pin-11-in
net estop-ext <= parport.0.pin-12-in-not
Per implementare la protezione antirimbalzo basta commentare (aggiunta del #) le righe relative e aggiungere il codice seguente. Naturalmente la corrispondenza dei nomi deve essere la medesima, quindi bisogna adattare in base alle necessità.
Codice: Seleziona tutto
#Vecchio codice commentato
#net both-home-x <= parport.0.pin-15-in
#net both-home-y <= parport.0.pin-10-in
#net both-home-z <= parport.0.pin-11-in
#net estop-ext <= parport.0.pin-12-in-not
#INIZIO ANTIRIMBALZO
#numero di pulsanti da proteggere(in questo configurazione 4 ma da variare in base al numero)
loadrt debounce cfg="4"
addf debounce.0 base-thread
# imposta il periodo di attesa dopo il primo impulso ( 20 unità circa 1millisecondo)
# da incrementare in base al risultato ottenuto
setp debounce.0.delay 20
net raw-both-home-x <= parport.0.pin-15-in => debounce.0.0.in
net both-home-x <= debounce.0.0.out
net raw-both-home-y <= parport.0.pin-10-in => debounce.0.1.in
net both-home-y <= debounce.0.1.out
net raw-both-home-z <= parport.0.pin-11-in => debounce.0.2.in
net both-home-z <= debounce.0.2.out
net raw-estop-ext <= parport.0.pin-12-in-not => debounce.0.3.in
net estop-ext <= debounce.0.3.out
#FINE ANTIRIMBALZO
Esempio nuovo controllo:
Codice: Seleziona tutto
net raw-nuovo-controllo <= parport.0.pin-33-in-not => debounce.0.4.in
net estop-ext <= debounce.0.4.out