Guida Script Anti ribalzo limiti/switch/relè

Sezione dedicata a Linuxcnc
Rispondi
criz
Junior
Junior
Messaggi: 68
Iscritto il: domenica 20 marzo 2011, 23:28
Località: Provincia di Cagliari

Guida Script Anti ribalzo limiti/switch/relè

Messaggio da criz » giovedì 23 gennaio 2014, 20:22

Ciao ragazzi
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
Il nome è quello sulla sinistra dopo "net", mentre a destra c'è il pin di input corrispondente della porta parallela.

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
Se si ha bisogno di meno switch basta eliminare le righe corrispondenti, mentre per aggiungere nuove protezioni basta duplicare una voce, cambiare nome e ingresso e incrementare il valore della posione del debounce.
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
Ciao a tutti! :D

Avatar utente
balestrino
Newbie
Newbie
Messaggi: 43
Iscritto il: sabato 23 aprile 2011, 22:10
Località: Livorno
Contatta:

Re: Guida Script Anti ribalzo limiti/switch/relè

Messaggio da balestrino » venerdì 24 gennaio 2014, 13:49

molto interessante! grazie
Tormach PCNC1100 - 3D Printer HackerBot - Wabeco D4000E - Wabeco F1210 LinuxCNC - Nebes TM178 - TIG NX300 PowerMix

Rispondi

Torna a “Linuxcnc”