ELS (Electronic Lead Screw) - progetto con ARDUINO
Moderatore: Junior Admin
Re: ELS (Electronic Lead Screw) - progetto con ARDUINO
non sarebbe complicato avendo un segnale di index che genera 1 impulso a giro.
Nel mio caso, non avendo il segnale di index sull'encoder, devo leggere tutti i passi (nel mio caso 250/giro, ovviamente evito di moltiplicarlo come faccio durante la filettatura) e quindi all'aumentare della velocità è più probabile che alcuni passi vengano persi, con conseguente imprecisione sul calcolo della velocità.
Nel mio caso, non avendo il segnale di index sull'encoder, devo leggere tutti i passi (nel mio caso 250/giro, ovviamente evito di moltiplicarlo come faccio durante la filettatura) e quindi all'aumentare della velocità è più probabile che alcuni passi vengano persi, con conseguente imprecisione sul calcolo della velocità.
McMax
“None of us can change the things we’ve done. But we can all change what we do next.” – Fred Johnson
fulminato in tenera età
“None of us can change the things we’ve done. But we can all change what we do next.” – Fred Johnson
fulminato in tenera età
Re: ELS (Electronic Lead Screw) - progetto con ARDUINO
Max ma avere l'index sull'encoder è una caratteristica che deve avere l'encoder?
In tal caso, avendo un encoder con il segnale di index, implementare questa funzione è un operazione facile da fare?
...cosi facendo si avrebbe lo stesso risultato dell'avanzamento meccanico, con pero il vantaggio di variare gli avanzamenti a piacimento.
In tal caso, avendo un encoder con il segnale di index, implementare questa funzione è un operazione facile da fare?
...cosi facendo si avrebbe lo stesso risultato dell'avanzamento meccanico, con pero il vantaggio di variare gli avanzamenti a piacimento.
Re: ELS (Electronic Lead Screw) - progetto con ARDUINO
Non conosco arduino, pero realizzare questo progetto sarebbe l’occasione per conoscerlo un po!
A suo tempo ho copiato da un tedesco un programma che si interfaccia con la caldaia a legna froling di mio papa dandogli la possibilita di controllarla e vedere le relative statistiche.
Gira su un raspberry pi che penso sia simile ad arduino.
Ecco il link aggiornato ogni 60 sec:
http://froling.byethost4.com/status.html?i=1
Essendo che i giri del tornio li posso variare tramite inverter, avere il programma che mi vari l’avanzamento al variare dei giri per me sarebbe cosa fondamentale.
Nel mio tornio questo sistema oltre ad usarlo su vite madre (passo 3mm) posso usarlo anche tramite barra scanalata (passo 2mm) ?
Grazie
A suo tempo ho copiato da un tedesco un programma che si interfaccia con la caldaia a legna froling di mio papa dandogli la possibilita di controllarla e vedere le relative statistiche.
Gira su un raspberry pi che penso sia simile ad arduino.
Ecco il link aggiornato ogni 60 sec:
http://froling.byethost4.com/status.html?i=1
Essendo che i giri del tornio li posso variare tramite inverter, avere il programma che mi vari l’avanzamento al variare dei giri per me sarebbe cosa fondamentale.
Nel mio tornio questo sistema oltre ad usarlo su vite madre (passo 3mm) posso usarlo anche tramite barra scanalata (passo 2mm) ?
Grazie
Re: ELS (Electronic Lead Screw) - progetto con ARDUINO
Raspberry Pi è di gran lunga più potente di Arduino, ma proprio lunga....il processore di Arduino è un microcontrollore a 8 bit da 16Mhz, quello di Raspberry Pi (versione 3B+, l'ultima) è un microprocessore a 32 bit da 1,4Ghz.
Su Raspberry ci fai girare un sistema operativo (Linux) mentre su arduino gira un codice a stati che, per quanto complesso, non potrà mai nemmeno lontanamente avvicinarsi alla complessità di un sistema operativo.
Detto ciò, il problema dell'index è il seguente: puoi prendere un encoder con l'index ma purtroppo su Arduino ci sono solo 2 ingressi di interrupt e sono già utilizzati per l'encoder, quindi a meno di non cambiare architettura o di trovare soluzioni fantasiose il segnale di index non glielo fai gestire, o almeno non come andrebbe gestito. La modifica al codice in se è semplice, ma mancano le risorse hardware.....
Su Raspberry ci fai girare un sistema operativo (Linux) mentre su arduino gira un codice a stati che, per quanto complesso, non potrà mai nemmeno lontanamente avvicinarsi alla complessità di un sistema operativo.
Detto ciò, il problema dell'index è il seguente: puoi prendere un encoder con l'index ma purtroppo su Arduino ci sono solo 2 ingressi di interrupt e sono già utilizzati per l'encoder, quindi a meno di non cambiare architettura o di trovare soluzioni fantasiose il segnale di index non glielo fai gestire, o almeno non come andrebbe gestito. La modifica al codice in se è semplice, ma mancano le risorse hardware.....
McMax
“None of us can change the things we’ve done. But we can all change what we do next.” – Fred Johnson
fulminato in tenera età
“None of us can change the things we’ve done. But we can all change what we do next.” – Fred Johnson
fulminato in tenera età
Re: ELS (Electronic Lead Screw) - progetto con ARDUINO
Ah ho capito.....che peccato!
Ma perche hai scelto arduino? Se sceglievamo il raspberry (costa pochissimo di piu) avevamo un po di hardware di riserva per future implementazioni....no?
Ma comunque se vuoi ho un raspberry in piu che non uso piu da inviarti...
Ma perche hai scelto arduino? Se sceglievamo il raspberry (costa pochissimo di piu) avevamo un po di hardware di riserva per future implementazioni....no?
Ma comunque se vuoi ho un raspberry in piu che non uso piu da inviarti...
- AlBi
- TORNITORE E FRESATORE
- Messaggi: 1726
- Iscritto il: mer ott 07, 2015 09:11
- Località: Lastra a Signa (Firenze)
Re: ELS (Electronic Lead Screw) - progetto con ARDUINO
Max all' embedded il prossimo febbraio, ST presenterà il nuovo STM32G4 tagliato per applicazioni di controllo servo motori e controllo numerico
potrebbe essere l'occasione per pensare seriamente ad un ELS 2. dovrebbe esserci immediatamente anche la nucleo.
potrebbe essere l'occasione per pensare seriamente ad un ELS 2. dovrebbe esserci immediatamente anche la nucleo.
Alberto Bianchi
Le mie 'rumente', Tornio: Mi-Bo; Fresatrici: Fervi T044, Rumag REV1S, CST L1; Tavola rotante: Vertex HV8; Divisori: BS-0 & Yantai FNL100B; Trapano: Caber BO6; Forno a muffola; Segatrice Axel 4"x6"; Affila-bulini Parpas AU.
Le mie 'rumente', Tornio: Mi-Bo; Fresatrici: Fervi T044, Rumag REV1S, CST L1; Tavola rotante: Vertex HV8; Divisori: BS-0 & Yantai FNL100B; Trapano: Caber BO6; Forno a muffola; Segatrice Axel 4"x6"; Affila-bulini Parpas AU.
Re: ELS (Electronic Lead Screw) - progetto con ARDUINO
....Allora facciamo una colletta e prendiamo a max cio di cui necessita per l’els 2, e lui scrive il codice se ne ha voglia!
-
mimoletti
- TORNITORE E FRESATORE
- Messaggi: 1140
- Iscritto il: dom dic 27, 2009 11:31
- Località: Torre del Greco (NA)
Re: ELS (Electronic Lead Screw) - progetto con ARDUINO
Non credo che serva niente di cosi performante, un micro a 8 bit è più che sufficiente, a meno di non voler implementare funzioni più complesse e aggiungere un secondo asse.
Solo gli stupidi non cambiano mai idea!
Tornio Wabeco D6000 con ELS; Fresa Wabeco F1210; Segatrice Nebes TM125 Inverter; Tavola a dividere Vertex HV-6,Morsa meccnica Allen MAP/78-N
https://www.youtube.com/watch?v=cobEZI8KvOk
Tornio Wabeco D6000 con ELS; Fresa Wabeco F1210; Segatrice Nebes TM125 Inverter; Tavola a dividere Vertex HV-6,Morsa meccnica Allen MAP/78-N
https://www.youtube.com/watch?v=cobEZI8KvOk
Re: ELS (Electronic Lead Screw) - progetto con ARDUINO
grazie mimmoletti ....io non ci metto becco perche ci capisco molto poco....
Oltre alla possibilita di replicare i vari passi per filettature, vorrei un ELS che al variare dei giri vari in maniera precisa anche l'avanzamento impostato....
Ho provato a guardare anche progetti di ELS in internet ma non ho visto granchè.....
Oltre alla possibilita di replicare i vari passi per filettature, vorrei un ELS che al variare dei giri vari in maniera precisa anche l'avanzamento impostato....
Ho provato a guardare anche progetti di ELS in internet ma non ho visto granchè.....
Re: ELS (Electronic Lead Screw) - progetto con ARDUINO
Ma quando parlate dell’els del russo parlate di questo qui ?
http://muck-solutions.com/?page_id=186
Mi sembra ben fatto....mi sembra usi arduino mega... ha messo un bel display, ma la scheda principale cos’è?
Max ma se il tuo programma lo si fa girare su arduino mega, funziona?
L’arduino mega avrebbe 4 ingressi di interrupt se non sbaglio! ...e si potrebbe implementare il discorso dell’index.
http://muck-solutions.com/?page_id=186
Mi sembra ben fatto....mi sembra usi arduino mega... ha messo un bel display, ma la scheda principale cos’è?
Max ma se il tuo programma lo si fa girare su arduino mega, funziona?
L’arduino mega avrebbe 4 ingressi di interrupt se non sbaglio! ...e si potrebbe implementare il discorso dell’index.
Re: ELS (Electronic Lead Screw) - progetto con ARDUINO
a me questo più che russo mi pare tedesco... fosse anche solo per l'assenza di cirillico 
Il codice è scritto in C quindi potenzialmente gira su qualsiasi microcontrollore a patto di "ri-mappare" completamente i pins.
So che sembra paradossale ma un software come questo per l'ELS , così come anche un qualsiasi altro software per controllo industriale real-time, gira molto meglio su un microcontrollore di piccola/media potenza piuttosto che su una macchina come Raspberry. Il motivo è semplice, il microcontrollore esegue direttamente il codice senza che ci sia un altro codice (come ad esempio un sistema operativo) che controlla le interfacce di baso livello.... in pratica, e ripeto può sembrare paradossale, il codice che gira su arduino a differenza dia bello che girerebbe su Raspberry, agisce direttamente sulle uscite e gli ingressi e questo permette di controllare in modo preciso i tempi e i modi di esecuzione. Su una macchina come Raspberry, vista la complessità, l'eventuale codice dovrebbe girare con l'ausilio di un sistema operativo che introduce una sorta di imprevedibilità circa le tempistiche di esecuzione di certi comandi. Dovendo controllare con precisione i tempi di esecuzione l'utilizzo di un microcontrollore risulta più efficace pur considerando la ridotta velocità di calcolo..... alla fine, se proprio andiamo a vedere, fino agli anni 80 usavamo processori da 2 o massimo 4 Mhz sui quali si facevano girare videogiochi anche di un certo livello.
L'index per l'avanzamento può essere gestito anche in "polling" senza bisogno di un ingresso di interrupt, la modifica del codice non è molto complessa.
Il codice è scritto in C quindi potenzialmente gira su qualsiasi microcontrollore a patto di "ri-mappare" completamente i pins.
So che sembra paradossale ma un software come questo per l'ELS , così come anche un qualsiasi altro software per controllo industriale real-time, gira molto meglio su un microcontrollore di piccola/media potenza piuttosto che su una macchina come Raspberry. Il motivo è semplice, il microcontrollore esegue direttamente il codice senza che ci sia un altro codice (come ad esempio un sistema operativo) che controlla le interfacce di baso livello.... in pratica, e ripeto può sembrare paradossale, il codice che gira su arduino a differenza dia bello che girerebbe su Raspberry, agisce direttamente sulle uscite e gli ingressi e questo permette di controllare in modo preciso i tempi e i modi di esecuzione. Su una macchina come Raspberry, vista la complessità, l'eventuale codice dovrebbe girare con l'ausilio di un sistema operativo che introduce una sorta di imprevedibilità circa le tempistiche di esecuzione di certi comandi. Dovendo controllare con precisione i tempi di esecuzione l'utilizzo di un microcontrollore risulta più efficace pur considerando la ridotta velocità di calcolo..... alla fine, se proprio andiamo a vedere, fino agli anni 80 usavamo processori da 2 o massimo 4 Mhz sui quali si facevano girare videogiochi anche di un certo livello.
L'index per l'avanzamento può essere gestito anche in "polling" senza bisogno di un ingresso di interrupt, la modifica del codice non è molto complessa.
McMax
“None of us can change the things we’ve done. But we can all change what we do next.” – Fred Johnson
fulminato in tenera età
“None of us can change the things we’ve done. But we can all change what we do next.” – Fred Johnson
fulminato in tenera età
Re: ELS (Electronic Lead Screw) - progetto con ARDUINO
....si è vero, mi avevano spiegato che con il OS spesso si alzano i timing rendendo meno preciso il controllo sulle uscite!
Max mi piacerebbe riuscir a far girare il tuo codice su un arduino mega usando l’interrupt aggiuntivo per l’index dell’ecoder.
Gestendo l’index in polling si aggiungono calcoli continui che deve fare il procio, mi sentirei molto piu tranquillo se ci fosse l’interrupt...
Max mi piacerebbe riuscir a far girare il tuo codice su un arduino mega usando l’interrupt aggiuntivo per l’index dell’ecoder.
Gestendo l’index in polling si aggiungono calcoli continui che deve fare il procio, mi sentirei molto piu tranquillo se ci fosse l’interrupt...
-
umbez
- TORNITORE E FRESATORE
- Messaggi: 1895
- Iscritto il: lun set 29, 2008 23:19
- Località: Cologno Monzese
Re: ELS (Electronic Lead Screw) - progetto con ARDUINO
Max sicuramente lo sai, a beneficio degli altri.per linux ci sono i kernel rtos adatti a queste applicazioni, in pratica sostituiscono lo schedulatore standard che gestisce i processi multitasking e implementano uno schedulatore che carica un solo processo alla volta,linuxcnc lo installai su un kernel modificato cosi.il vecchio dos era così.
A quel punto hai raspberry tutto per te.
Il polling comunque è uno spinlock, è una soluzione che non adotterei, ma il progetto lo conosci tu quindi se dici che va bene è sicuramente così.
Per l'index non basterebbe un disco forato con un fotodiodo o sonda hall con calamita?
A quel punto hai raspberry tutto per te.
Il polling comunque è uno spinlock, è una soluzione che non adotterei, ma il progetto lo conosci tu quindi se dici che va bene è sicuramente così.
Per l'index non basterebbe un disco forato con un fotodiodo o sonda hall con calamita?
Ù.
-
umbez
- TORNITORE E FRESATORE
- Messaggi: 1895
- Iscritto il: lun set 29, 2008 23:19
- Località: Cologno Monzese
Re: ELS (Electronic Lead Screw) - progetto con ARDUINO
Boss il polling non fa calcoli verifica solo il valore di un pi , il rischio è che se lo perde.
Per il codice puoi convertire quello di Max, devi rimappare i pin da uno a 2560, ma max già ti aveva risposto.volevi imparare arduino quale migliore occasione ...
Per il codice puoi convertire quello di Max, devi rimappare i pin da uno a 2560, ma max già ti aveva risposto.volevi imparare arduino quale migliore occasione ...
Ù.
Re: ELS (Electronic Lead Screw) - progetto con ARDUINO
In che senso rimappare i pin da 1 a 2560 ? 
Questi dovrebbero essere i pin del mega:
https://www.arduino.cc/en/Hacking/PinMapping2560
Questi dovrebbero essere i pin del mega:
https://www.arduino.cc/en/Hacking/PinMapping2560