fisertek_300
 
 
Joypad digitale della mia cnc 
(pagina in costruzione)
 
 
barra rossa2 
 
Sapendo programmare un pochino i pic e non essendo soddisfatto del solito generatore di passi per comandare la mia cnc, ho provato a programmare un pic 16F877 per vedere di tirare fuori un buon joypad digitale che sia utilizzabile per davvero. 
Ci sono riuscito e in questa pagina riporto l'esperienza più che positiva.
 
barra rossa2 
 
 
 
 
 
________________________________________________________________________________________ 
 
Un normale joypad basato sul generatore ne555 non può dare il controllo certo e completo ne sulle misure di taglio (a meno di ricorrere a particolari dispositivi) ne su quello che riguarda le rampe di accelerazione degli assi. (cosa fondamentale in una cnc) 
Lavorare con un joypad digitale è tutto un altro discorso...... 
 
Caratteristiche 
Il joypad digitale che propongo in questa pagina ha le seguenti caratteristiche: 
 
  • gestione di 4 assi 
  • permette spostamenti obbliqui agli assi X e Y 
  • gestisce rampe di accelerazione e limite massimo di velocità 
  • è configurabile in base al passo delle viti di manovra 
  • comanda due relays per i servizzi 
  • visualizza sempre le coordinate della macchina 
  • Le coordinate sono azzerabili in qualunque momento 
  • permette l'uso della cnc sia a velocità costanti che con volantino virtuale (encoder) 
  • L'uscita è compatibile con tutte le elettroniche basate su step e dir in rete 
  • permette spostamenti di tutti gli assi anche di un singolo step di motore. 
  •  
    Come potete vedere dalle caratteristiche non parliamo di un semplice giocattolo ma di un vero e proprio centro di comando che permette di usare la cnc in modalità manuale pur mantenendo la precisione e la risoluzione proprie della cnc. 
    Vediamo cosa appare sullo schermo lcd del joypad: 
     
    schermata principale lcd 
     
     
    Tutte queste voci non hanno senso se non le spiego una ad una..... 
     
  • Control: Keypad - joypad. Premendo l'apposito tasto verrà selezionato il controllo della cnc tramite tastiera o tramite encoder. La tastiera serve per avere velocità costanti nel movimento degli assi mentre l'encoder è come se fosse una manovella virtuale che agisce sugli assi.  
  • Step:. Quì appare il numero di step per millimetro, cioè il numero di step necessari al motore per poter spostare l'asse di 1 mm. Più avanti spiegherò come settare tale parametro.  
  • Jog div: Questa voce segnala la divisione corrente sull'encoder, le divisioni possibili sono da 1 a 32, si regola tramite potenziometro, la divisione 1 corrisponde a circa 5 giri di motore per ogni giro di manopola mentre la divisione 32 corrisponde a circa 16 step di motore ogni giro di manopola.  
  • Mode: Full - Half Quì si seleziona il modo di funzionamento dei motori, un apposito pin provvederà a cambiare stato sui ponti H in remoto.  (cosa del tutto opzionale dal momento che il pin non è riportato sulla parallela per non perdere la compatibilità con tutte le cnc) 
  • Axis Speed. Il potenziometro regola la velocità dei motori quando viene premuto un tasto di comando direzione e viene visualizzata la velocità in percentuale (lo stesso potenziometro che regola la divisione).  
  • Turbo: ON - OFF Questa voce segnala l'abilitazione del turbo, in modo normale vengono visualizzate le coordinate MENTRE i motori sono in movimento. Il difetto è una velocità piuttosto bassa e per ovviare ho introdotto la modalità turbo che fa in modo che le coordinate vengono aggiornate solo alla fine del movimento effettuato dai motori. (per'altro sarebbe impossibile poter osservare i numeri mentre gli assi si muovono ad alta velocità) 
  • Spindle: ON - OFF Oltre ai motori è possibile comandare il motore fresatore della cnc.  
  • Aux: ON - OFF Stessa cosa vale per il servizio della cnc (aspiratore, pompa refrigerante, compressore, etc etc)  
  • Coordinate. Prima delle coordinate appare un asterisco su un solo asse e indica quale asse è attivo con l'encoder. Appositi tasti selezionano l'asse da comandare con l'encoder e l'asterisco apparirà a fianco dell'asse selezionato. Le coordinate sono azzerabili in ogni momento con gli appositi tasti, quindi abbiamo la possibilità di visualizzare sia coordinate assolute che relative (in caso di passaggio al relativo la coordinata assoluta viene persa). A destra delle coordinate viene visualizzata una freccia che indica il verso del'ultimo spostamento effettuato dagli assi. 
  •  
     
    Le rampe di accelerazione le ho programmate in modo che se si rilascia il tasto di moto di un asse "durante l'accelerazione" avverrà la decelerazione partendo dallo stesso punto in qui era arrivata la rampa in salita. 
    Si può settare sia la lunghezza della rampa, sia la pendenza ma non ho potuto introdurre anche il limite inferiore rampstart perchè ormai il pic non mi accetta più neanche una virgola sul programma. 
    Quindi l'accelerazione avviene a tutte le velocità, comprese le velocità minime ma solo in modalità turbo. 
    La modalità normale (a bassa velocità) non viene influenzata dalla rampa. 
     
    ecco come appare la schermata di set up attualmente: 
     
    setupo 
     
    a fianco delle voci c'è l'indicazione dei tasti da premere per variare il singolo valore. 
    alla fine è possibile premere il tasto reset per memorizzare i dati immessi in modo da non doverli più risettare ai successivi utilizzi. 
     
    Il prototipo 
    Nel costruire la scatola ho tenuto conto dell'ergonomia e della disposizione dei tasti in modo che sia tutto intuitivo e comodo da usare. 
    Purtroppo non sono stato bravo su questo fronte ma per un protopipo può andare bene. 
     
    prototipo 
     
    nella foto vedete le scritte che in realtà le ho aggiunte solo sulla foto (non sono reali) e servono a spiegare meglio come ho distribuito i vari tasti. 
     
    Difetti 
    Ovviamente non tutte le ciambelle vengono con il buco e anche a questo joypad sono rimasti un paio di difetti.... ora ve li mostro: 
     
     
    difetto 
     
    Se si manovra l'asse A fino ad ottenere numeri di cordinata che superano le 4 cifre e poi si azzera, succede che rimane visualizzata la parte eccedente la 4 cifra. 
    Cosa poco estetica e che sparisce non appena la coordinata ricresce di cifre.    Non viene compromesso nulla.... è solo un fatto estetico, però 
    mi ha fatto rodere non poco perchè me ne sono accorto solo dopo aver messo in rodaggio il joypad. 
    Ad ogni modo dalla scatola ho lasciato fuoriuscire i fili di programmazione che mi permettono di apportare modifiche al programma senza dover aprire il tutto. 
     
    Il secondo difetto, se così possiamo chiamarlo, è il fatto che i valori di rampa non prevedono il valore di rampstart. 
    Quindi il suo effetto è identico per tutti i range di velocità selezionati in modalità turbo. 
     
    Dalle prove su strada, ho potuto constatare che per un uso normale non c'è possibilità di perdita di passi, mentre se ci cerca di battere i record di velocità con il volantino encoder (e vi assicuro che la tentazione è forte.... ci casco sempre) c'è la possibilità di "sganciare il passo". 
     
    La funzione Half Full alla fine non serve a molto perchè la cnc a me resta sempre settata in half, e il pin in più necessario sulla porta parallela avrebbe reso il joipad incompatibile con le altre cnc. 
    E' comunque utile avere questa funzione per correggere le coordinate se si setta la cnc in half o in full, senza dover risettare il parametro step/mil nel setup del jog e il pin disponibile l'ho lasciato non collegato. 
     
    Al prossimo aggiornamento cercherò di mettere qualche filmato in modo da far vedere la situazione reale di comando della mia cnc. 
    Devo ancora disegnare lo schema elettrico, che è cambiato molte volte in corso d'opera ed ora ha bisogno di qualche ottimizzazione nella parte dello sbroglio. 
    Per ora pubblico questa pagina molto incompleta ed è praticamente una anteprima di quello che sarà il joypad definitivo. 
     
     
    telecamera2_pero 
     
    Pagina in costruzione 
     
    _____________________________ 
     
    barra rossa2 
     
    b_home2_baloon 
     
    © 2002-2006 by Sergio Fiocco -Tutti i diritti riservati- Vietata la riproduzione, anche parziale del presente sito