
Aìna: pantografo 500x500 a ponte basso, due viti Y, KFlop
- Zebrauno
- God
- Messaggi: 9670
- Iscritto il: venerdì 18 settembre 2009, 18:24
- Località: Savigliano/Torino
- Contatta:
Re: Aìna: pantografo 500x500 a ponte basso con due viti su Y

-
- Newbie
- Messaggi: 7
- Iscritto il: giovedì 15 ottobre 2009, 14:30
- Località: Spoleto - Maranello
Re: Aìna: pantografo 500x500 a ponte basso con due viti su Y
Aìna promette bene!
Ti seguo con interesse...
Ti seguo con interesse...
Non ho particolari talenti, sono solo appassionatamente curioso. (A. E.)
- Framoro
- Junior
- Messaggi: 157
- Iscritto il: martedì 18 novembre 2008, 19:42
- Località: Rimini
Re: Aìna: pantografo 500x500 a ponte basso con due viti su Y
Molto bella,ti seguo con molto interesse!
- walgri
- God
- Messaggi: 4735
- Iscritto il: giovedì 13 gennaio 2011, 18:37
- Località: Cagliari
Re: Aìna: pantografo 500x500 a ponte basso con due viti su
Grazie ragazzi !
@Zebrauno: mi hai dato una idea che spero si possa trasformare in qualcosa di più di un preambolo
@Zebrauno: mi hai dato una idea che spero si possa trasformare in qualcosa di più di un preambolo

...stop chasing shadows, just enjoy the ride.
Aìna pantografo ▪ Telemetria per KFlop ▪ BlenderCAM STL + DXF
Aìna pantografo ▪ Telemetria per KFlop ▪ BlenderCAM STL + DXF
-
- Senior
- Messaggi: 1748
- Iscritto il: martedì 16 ottobre 2007, 23:23
- Località: Trezzo sull'Adda
Re: Aìna: pantografo 500x500 a ponte basso con due viti su Y
Ciao walgri,
vedo con piacere che la faccenda sta' diventando moooolto seria (non che non lo fosse!).
Stai passando da "hobby" a "Impresa famigliare"
Ciao
Mauro
P.S. ti rubo la battuta: GO! GO! GO!
vedo con piacere che la faccenda sta' diventando moooolto seria (non che non lo fosse!).
Stai passando da "hobby" a "Impresa famigliare"

Ciao

Mauro
P.S. ti rubo la battuta: GO! GO! GO!
Amat victoria curam
- walgri
- God
- Messaggi: 4735
- Iscritto il: giovedì 13 gennaio 2011, 18:37
- Località: Cagliari
Re: Aìna: pantografo 500x500 a ponte basso con due viti su Y
Grazie Mauro !
...stop chasing shadows, just enjoy the ride.
Aìna pantografo ▪ Telemetria per KFlop ▪ BlenderCAM STL + DXF
Aìna pantografo ▪ Telemetria per KFlop ▪ BlenderCAM STL + DXF
- walgri
- God
- Messaggi: 4735
- Iscritto il: giovedì 13 gennaio 2011, 18:37
- Località: Cagliari
Re: Aìna: pantografo 500x500 a ponte basso con due viti su Y
Quello che segue è lo schetch per Arduino Mega 2560 che monitorerà le due viti di Y finchè non avrò sistemato la KFlop/KAnalog.
Il motivo per cui sono stato costretto ad utilizzare un Arduino anziche la ChipKit è che nella implementazione della Api di ChipKit manca la possibilità di collegare una ISR al cambiamento dello stato di un pin. Posso collegare una ISR al fronte in salita OPPURE al fronte in discesa, quindi è impossibile (allo stato attuale) leggere un encoder in quadratura senza far riferimento a librerie o artifici vari.
Il motivo per cui ho dovuto utilizzare il Mega (che avevo in casa) è che permette di gestire gli interrupt su cinque pin, anzichè su due pin solamente (come accade negli UNO).
Il codice è stato testato con due encoders volanti e pare funzionare a dovere, tempo permettendo domani cerco di sistemare la parte hardware.
Il significato dei pins è inserito nei commenti del codice, peraltro piuttosto banale.
Il motivo per cui sono stato costretto ad utilizzare un Arduino anziche la ChipKit è che nella implementazione della Api di ChipKit manca la possibilità di collegare una ISR al cambiamento dello stato di un pin. Posso collegare una ISR al fronte in salita OPPURE al fronte in discesa, quindi è impossibile (allo stato attuale) leggere un encoder in quadratura senza far riferimento a librerie o artifici vari.
Il motivo per cui ho dovuto utilizzare il Mega (che avevo in casa) è che permette di gestire gli interrupt su cinque pin, anzichè su due pin solamente (come accade negli UNO).
Codice: Seleziona tutto
// Sketch per verificare che le posizioni di due encoder
// non diferiscano più di una certa soglia
// (c) 2013 Walgri - walgri (@) gmail (.) com
// Mappa dei pins
byte encoder1APin = 2;
byte encoder1BPin = 3;
byte encoder2APin = 21;
byte encoder2BPin = 20;
byte clearPin = 8; // Per evenutuale tasto reset del Delta
byte emergencyPin = 11; // Pin che guida un relais in serie alla catena di emergenza
byte ledPin = 13;
int maxDelta = 100; //Soglia di intervento
// Posizione attuale degli encoders
volatile long int encoder1Pos = 0;
volatile long int encoder2Pos = 0;
int lastDelta = 0; // Differenza di posizione tra i due encoders
int delta = 0; // Differenza attuale di posizione tra i due encoders
// Stato dei canali dei due encoders
boolean status_1A = false;
boolean status_1B = false;
boolean status_2A = false;
boolean status_2B = false;
void setup() {
pinMode(encoder1APin, INPUT);
pinMode(encoder1BPin, INPUT);
pinMode(encoder2APin, INPUT);
pinMode(encoder2BPin, INPUT);
pinMode(clearPin, INPUT);
digitalWrite(encoder1APin, HIGH); // attiva pullup
digitalWrite(encoder1BPin, HIGH); // attiva pullup
digitalWrite(encoder2APin, HIGH); // attiva pullup
digitalWrite(encoder2BPin, HIGH); // attiva pullup
digitalWrite(clearPin, HIGH);
// pin di output
pinMode(emergencyPin, OUTPUT);
digitalWrite(emergencyPin, HIGH); // comportamento NC (chiude il relais)
pinMode(ledPin, OUTPUT);
digitalWrite(ledPin, LOW); // led di Emergenza
attachInterrupt(0, leggiEncoder1A, CHANGE);
attachInterrupt(1, leggiEncoder1B, CHANGE);
attachInterrupt(2, leggiEncoder2A, CHANGE);
attachInterrupt(3, leggiEncoder2B, CHANGE);
Serial.begin(115200);
Serial.println("Test sincronia encoder\n");
}
void loop(){
delta = encoder1Pos - encoder2Pos;
if (lastDelta != delta) {
if (abs(delta) > maxDelta){
digitalWrite(emergencyPin, LOW);
digitalWrite(ledPin, HIGH);
Serial.print("Emergenza! ");
} else {
digitalWrite(emergencyPin, HIGH);
digitalWrite(ledPin, LOW);
}
Serial.println(delta, DEC);
lastDelta = delta;
}
if (digitalRead(clearPin) == LOW) {
lastDelta = 0;
delta = 0;
digitalWrite(ledPin, LOW);
}
}
// ISR
// Funzioni di lettura dei segnali dell'encoder 1
void leggiEncoder1A(){
status_1A = digitalRead(encoder1APin) == HIGH;
encoder1Pos += (status_1A != status_1B) ? +1 : -1;
}
void leggiEncoder1B(){
status_1B = digitalRead(encoder1BPin) == HIGH;
encoder1Pos += (status_1A == status_1B) ? +1 : -1;
}
// e per l'encoder 2 -- identiche al caso precedente
void leggiEncoder2A(){
status_2A = digitalRead(encoder2APin) == HIGH;
encoder2Pos += (status_2A != status_2B) ? +1 : -1;
}
void leggiEncoder2B(){
status_2B = digitalRead(encoder2BPin) == HIGH;
encoder2Pos += (status_2A == status_2B) ? +1 : -1;
}
Il significato dei pins è inserito nei commenti del codice, peraltro piuttosto banale.
...stop chasing shadows, just enjoy the ride.
Aìna pantografo ▪ Telemetria per KFlop ▪ BlenderCAM STL + DXF
Aìna pantografo ▪ Telemetria per KFlop ▪ BlenderCAM STL + DXF
- walgri
- God
- Messaggi: 4735
- Iscritto il: giovedì 13 gennaio 2011, 18:37
- Località: Cagliari
Re: Aìna: pantografo 500x500 a ponte basso con due viti su Y
Codice: Seleziona tutto
// Sketch per verificare che le posizioni di due encoder
// non diferiscano più di una certa soglia
// (c) 2013 Walgri - walgri (@) gmail (.) com
// Mappa dei pins
byte encoder1APin = 2;
byte encoder1BPin = 3;
byte encoder2APin = 21;
byte encoder2BPin = 20;
byte emergencyPin = 11; // Pin che guida un relais in serie alla catena di emergenza
byte ledPin = 13;
int maxDelta = 100; //Soglia di intervento
// Posizione attuale degli encoders
volatile long int encoder1Pos = 0;
volatile long int encoder2Pos = 0;
int lastDelta = 0; // Differenza di posizione tra i due encoders
int delta = 0; // Differenza attuale di posizione tra i due encoders
// Stato dei canali dei due encoders
boolean status_1A = false;
boolean status_1B = false;
boolean status_2A = false;
boolean status_2B = false;
void setup() {
pinMode(encoder1APin, INPUT);
pinMode(encoder1BPin, INPUT);
pinMode(encoder2APin, INPUT);
pinMode(encoder2BPin, INPUT);
digitalWrite(encoder1APin, HIGH); // attiva pullup
digitalWrite(encoder1BPin, HIGH); // attiva pullup
digitalWrite(encoder2APin, HIGH); // attiva pullup
digitalWrite(encoder2BPin, HIGH); // attiva pullup
// pin di output
pinMode(emergencyPin, OUTPUT);
digitalWrite(emergencyPin, HIGH); // comportamento NC (chiude il relais)
pinMode(ledPin, OUTPUT);
digitalWrite(ledPin, LOW); // led di Emergenza
attachInterrupt(0, leggiEncoder1A, CHANGE);
attachInterrupt(1, leggiEncoder1B, CHANGE);
attachInterrupt(2, leggiEncoder2A, CHANGE);
attachInterrupt(3, leggiEncoder2B, CHANGE);
Serial.begin(115200);
Serial.println("Test sincronia encoder\n");
}
void loop(){
delta = encoder1Pos - encoder2Pos;
if (lastDelta != delta) {
if (abs(delta) > maxDelta){
digitalWrite(emergencyPin, LOW);
digitalWrite(ledPin, HIGH);
Serial.print("Emergenza! ");
} else {
digitalWrite(emergencyPin, HIGH);
digitalWrite(ledPin, LOW);
}
Serial.println(delta, DEC);
lastDelta = delta;
}
}
// ISR
// Funzioni di lettura dei segnali dell'encoder 1
void leggiEncoder1A(){
status_1A = digitalRead(encoder1APin) == HIGH;
encoder1Pos += (status_1A != status_1B) ? +1 : -1;
}
void leggiEncoder1B(){
status_1B = digitalRead(encoder1BPin) == HIGH;
encoder1Pos += (status_1A == status_1B) ? +1 : -1;
}
// e per l'encoder 2 -- identiche al caso precedente
void leggiEncoder2A(){
status_2A = digitalRead(encoder2APin) == HIGH;
encoder2Pos += (status_2A != status_2B) ? +1 : -1;
}
void leggiEncoder2B(){
status_2B = digitalRead(encoder2BPin) == HIGH;
encoder2Pos += (status_2A == status_2B) ? +1 : -1;
}
_______________________________________
Voglio spendere due parole per esprimere la mia soddisfazione, orgoglio e gratitudine nel poter lavorare a questo progetto con mio padre.
Nel frattempo ho riprovato gli assi separatamente, poi abbiamo proceduto ad un primo assemblaggio e provato il tutto:
Ed infine abbiamo aggiunto anche il gruppo Z (sullo sfondo della foto seguente) e ho accrocchiato un supporto provvisorio degli encoder Y:
Non hai i permessi necessari per visualizzare i file e le foto allegati in questo messaggio. Per visualizzare tali file devi registrarti ed effettuare il Login
...stop chasing shadows, just enjoy the ride.
Aìna pantografo ▪ Telemetria per KFlop ▪ BlenderCAM STL + DXF
Aìna pantografo ▪ Telemetria per KFlop ▪ BlenderCAM STL + DXF
- Zebrauno
- God
- Messaggi: 9670
- Iscritto il: venerdì 18 settembre 2009, 18:24
- Località: Savigliano/Torino
- Contatta:
Re: Aìna: pantografo 500x500 a ponte basso con due viti su Y
Che bella foto quella con tuo padre...grazie per avercelo presentato
Sei molto fortunato ad avere quest'occasione, anche il mio avrebbe condiviso volentieri il montaggio se non ci fossero quei 1000km di mezzo...e fa piacere vedere che ti stai godendo questi momenti con lo spirito che dimostri.
Procedi velocissimo ma ora abbiamo scoperto il segreto

Sei molto fortunato ad avere quest'occasione, anche il mio avrebbe condiviso volentieri il montaggio se non ci fossero quei 1000km di mezzo...e fa piacere vedere che ti stai godendo questi momenti con lo spirito che dimostri.
Procedi velocissimo ma ora abbiamo scoperto il segreto

- walgri
- God
- Messaggi: 4735
- Iscritto il: giovedì 13 gennaio 2011, 18:37
- Località: Cagliari
Re: Aìna: pantografo 500x500 a ponte basso con due viti su Y
In realtà io faccio solo le foto
Alla mia età, e alla sua età, mi pare l'unica cosa sensata da fare, e ho una irripetibile fortuna a poterlo fare.
Certo, nel posto dove facciamo pausa pranzo penseranno che siamo ben strambi a pasticciare di disegni le loro tovaglie di carta, ma si sta anche questo

Alla mia età, e alla sua età, mi pare l'unica cosa sensata da fare, e ho una irripetibile fortuna a poterlo fare.
Certo, nel posto dove facciamo pausa pranzo penseranno che siamo ben strambi a pasticciare di disegni le loro tovaglie di carta, ma si sta anche questo

...stop chasing shadows, just enjoy the ride.
Aìna pantografo ▪ Telemetria per KFlop ▪ BlenderCAM STL + DXF
Aìna pantografo ▪ Telemetria per KFlop ▪ BlenderCAM STL + DXF
- walgri
- God
- Messaggi: 4735
- Iscritto il: giovedì 13 gennaio 2011, 18:37
- Località: Cagliari
Re: Aìna: pantografo 500x500 a ponte basso con due viti su Y
Ho appena misurato la resistenza elettrica tra asse portapinza e corpo dell'elettromandrino. Il mio multimetrino segna 3.7MOhm (mega). Può dare qualche indicazione sul materiale dei cuscinetti ?
Chiedo questo perchè tra corpo e piano (passando quindi per le sfere di carrelli e chiocciole) ottengo 0.5 Ohm.
Chiedo questo perchè tra corpo e piano (passando quindi per le sfere di carrelli e chiocciole) ottengo 0.5 Ohm.
...stop chasing shadows, just enjoy the ride.
Aìna pantografo ▪ Telemetria per KFlop ▪ BlenderCAM STL + DXF
Aìna pantografo ▪ Telemetria per KFlop ▪ BlenderCAM STL + DXF
- Zebrauno
- God
- Messaggi: 9670
- Iscritto il: venerdì 18 settembre 2009, 18:24
- Località: Savigliano/Torino
- Contatta:
Re: Aìna: pantografo 500x500 a ponte basso con due viti su Y
Mhhh....ottieni sempre lo stesso valore anche se misuri tra boccole per i tubi dell'acqua e asse mandrino?
Nei miei la resistenza e' vicina a 0, dici che in China hanno trovato il modo di fare cuscinetti di plastica?
Perche' dubito violentemente che mettano cuscinetti ceramici senza nemmeno vantarsene...e da soli costerebbero come tutto il mandrino.
ciao
Nei miei la resistenza e' vicina a 0, dici che in China hanno trovato il modo di fare cuscinetti di plastica?
Perche' dubito violentemente che mettano cuscinetti ceramici senza nemmeno vantarsene...e da soli costerebbero come tutto il mandrino.
ciao
- walgri
- God
- Messaggi: 4735
- Iscritto il: giovedì 13 gennaio 2011, 18:37
- Località: Cagliari
Re: Aìna: pantografo 500x500 a ponte basso con due viti su Y
Si, la resistenza si attesta sempre su quei valori, tra i 3 e i 4 MOhm. Anche dopo aver fatto girare l'asse a mano per qualche minuto. Nella inserzione Ebay compariva la solita scritta (credo farlocca) German imported etc etc.
Hanno usato qualche mastice per tenere i cuscinetti in sede
Finisce che hanno inventato le sedi interne dei cuscinetti in plastica
Fatto sta che anche se volessi, non potrei azzerare l'utensile con il classico metodo della basetta. Se non inventando un coccodrillo da stringere all'asse - cosa che non mi passa neanche per l'anticamera del cervello.
Hanno usato qualche mastice per tenere i cuscinetti in sede

Finisce che hanno inventato le sedi interne dei cuscinetti in plastica

Fatto sta che anche se volessi, non potrei azzerare l'utensile con il classico metodo della basetta. Se non inventando un coccodrillo da stringere all'asse - cosa che non mi passa neanche per l'anticamera del cervello.
...stop chasing shadows, just enjoy the ride.
Aìna pantografo ▪ Telemetria per KFlop ▪ BlenderCAM STL + DXF
Aìna pantografo ▪ Telemetria per KFlop ▪ BlenderCAM STL + DXF
- Zebrauno
- God
- Messaggi: 9670
- Iscritto il: venerdì 18 settembre 2009, 18:24
- Località: Savigliano/Torino
- Contatta:
Re: Aìna: pantografo 500x500 a ponte basso con due viti su Y
Potresti risolvere costruendo una sorta di spazzola strisciante sull'asse, appena esce dal mandrino, montata su una molla come quella delle mollette per il bucato.
Oppure rendere la spazzola retrattile, per non lasciare segni sul mandrino...
Su 3 mandrini comprati non mi e' mai capitato, forse c'e' veramente una sorta di mastice correttivo per la sede del cuscinetto, ma possibile che non batta da nessuna parte?
Lo avessi tra le mani lo aprirei giusto per capirlo.
Hai anche un'altra via...aprire la calotta posteriore (cosa che forse farai per montare un altro connettore) e arrangiare un contatto con la terra, quindi tra l'esterno e l'asse del mandrino.
In quel punto hai accesso al cuscinetto posteriore e alle molle a tazza, potresti usare queste per creare un ponte con il corpo esterno.
ciao
Oppure rendere la spazzola retrattile, per non lasciare segni sul mandrino...
Su 3 mandrini comprati non mi e' mai capitato, forse c'e' veramente una sorta di mastice correttivo per la sede del cuscinetto, ma possibile che non batta da nessuna parte?
Lo avessi tra le mani lo aprirei giusto per capirlo.
Hai anche un'altra via...aprire la calotta posteriore (cosa che forse farai per montare un altro connettore) e arrangiare un contatto con la terra, quindi tra l'esterno e l'asse del mandrino.
In quel punto hai accesso al cuscinetto posteriore e alle molle a tazza, potresti usare queste per creare un ponte con il corpo esterno.
ciao
- walgri
- God
- Messaggi: 4735
- Iscritto il: giovedì 13 gennaio 2011, 18:37
- Località: Cagliari
Re: Aìna: pantografo 500x500 a ponte basso con due viti su Y
la sostituzione del connettore è sicuramente prevista, non appena trovo il tempo di selezionarlo tra i milioni di connettori IP65 / IP67 disponibli

Quando aprirò la calotta vedrò che cosa si può fare, perchè delle due una: o trovo un modo permanente ed affidabile di ripristinare la continuità, oppure farò uso del solo tastatore da banco isolato dalla macchina. Non credo di aver tanta voglia di trafficare vicino alla fresa a macchina accesa.
Questa cosa del mastice mi lascia piuttosto perplesso: chissà quale sarà la sua tenuta e l'allineamento nel tempo. Vorrà dire che al minimo dubbio prenderà il volo.
Ciao
...stop chasing shadows, just enjoy the ride.
Aìna pantografo ▪ Telemetria per KFlop ▪ BlenderCAM STL + DXF
Aìna pantografo ▪ Telemetria per KFlop ▪ BlenderCAM STL + DXF