[Project] Taglia Nastri a Caldo

Salve a tutti :slight_smile: !

Sono qui a presentarvi , o meglio a chiedere aiuto, riguardo un progetto che mi ronza da parecchio in testa.
Premetto anche che questo è il mio primo lavoro per quanto riguarda programmazione & Arduino, quindi mi scuso in anticipo per il linguaggio poco " tecnico " o per le cialtronerie che scriverò.
Ma veniamo a noi:
La macchina è essenzialmente una Taglia nastri a caldo, molto utilizzata in ambito industriale.
La meccanica è abbastanza semplice: Avremo un motorino passo passo che trasporterà un nastro . Appena dopo, una lama surriscaldata, collegata ad un servo motore a mo' di ghigliottina. Quando il motore avrà trasportato i mm. di nastro desiderati, si attiverà il servo che scendendo taglierà il nastro.

Lascio un piccolo disgnino esplicativo

In realtà fra il motore nema 17 e la lama ci sarà uno spazio molto ridotto ( circa 1 cm ), nel disegno è stato fatto così per una maggiore chiarezza.

Il tutto è stato pensato per essere indipendente dal PC, verrà controllato da 2 pulsanti ( BACK & NEXT ) + tastierino 4x3.
I 3 interruttori sottostanti accenderanno : Alimentazione Arduino+motore, Ventole ricircolo aria, Schermo LCD.

Un piccolo disegno in fine di come dovrebbe venire ultimata

Per maggiore chiarezza elenco la componentistica Hardware in mio possesso. ( sono stati già effettuati tutti i collegamenti. Ho provato a fare sia test singoli sia “combo” e tutto sembra funzionare correttamente. Inoltre ne ho approfittato per iniziare a comprendere il linguaggio di programmazione e le varie librerie da utilizzare).

  • Arduino UNO Rev.3 ( Credo di doverlo sostituire con un Mega in quanto non mi bastano i pin )
  • Schermo LCD 20x4 Hitachi Based + potenziometro 10k
  • Tastierino Keypad 4x3
  • Motore Stepper Nema17 + Driver Pololu A4988+Alimentatore 12V 2A
  • Motore Servo HiTech HS-325HB
  • Interruttori e Pulsanti vari + relative resistenze
  • 2 Ventole rimediate da un vecchio case
  • Componentistica interna di un saldatore istantaneo per far arroventare la lama
  • 1 Relè per l’accensione/spegnimento lama
    Tutta la struttura e i rivestimenti esterni saranno in alluminio tagliati al laser da un amico..
    Un piccolo schema per spiegare i passaggi dall’accensione fino alla fine del lavoro

Nella voce “ Inserire mm “ specificherò la lunghezza a cui la macchina mi taglierà i nastri ( es.150mm)
Nella voce “ Inserire pz.” Specificherò il numero di nastri da 150mm ( esempio 8pz)
Una volta che premo il pulsante next la macchina partirà e dovrà tagliarmi 8 nastri da 150mm cadauno.
Per la gestione dei pulsanti NEXT & BACK avevo pensato di utilizzare delle funzioni "if & else".

Ora vengo alle domande vere e proprie:

1-DOMANDA: a parer mio la più ostica: Ho cercato sia su google che sul playground d arduino ma non sono riuscito a capire se:

  • Devo lavorare sullo schermo LCD e una volta compilati i campi inviare l’informazione sotto forma di seriale ad arduino tramite il pin 1 TX ?
  • Oppure devo lavorare direttamente sul seriale quindi l’ LCD avrà la sola funzione di farmi visualizzare i dati che sto digitando dal keypad?

2-DOMANDA: Come devo procedere per la compilazione dei due campi vuoti?
Avevo pensato di creare 2 variabili ( “m” & “p” ) dove “m” = al primo dato che andrò ad inserire quindi alla lunghezza del nastro. “p”= al secondo dato che inserirò quindi al numero dei pezzi. Esiste una funzione che assegna alla “m” il primo valore che inserisco e alla “p” il secondo valore? ( non me ne vogliate…sono molto ignorante in materia).

Variabile “M”: avevo pensato di calcolarmi quanti step il motore deve compiere per portarmi avanti 1mm di nastro. Una volta che so questa costante “k” credo basti moltiplicare “K * M “ e il motore dovrebbe compiermi gli step necessari per arrivare alla lunghezza inserita, giusto?

Variabile “P”: per quanto riguarda il numero di pezzi avevo pensato di utilizzare la funzione "for" visto che si adatta bene alla mia necessità di ripetere un ciclo. Avevo pensato a qualcosa del genere, può andar bene?

for(int i = 0;  i <P;  i++)

Sono completamente aperto a consigli o miglioramenti riguardo la stesura del codice. Come anticipato sono una schiappa quindi qualsiasi suggerimento è oro colato.

Chiedo inoltre scusa a tutti se sono stato troppo prolisso ma ho cercato di essere il più esaustivo possibile onde evitare incomprensioni.
Ringrazio anticipatamente tutti per la collaborazione e volevo, se possibile, condividere con tutti voi il progetto completo una volta terminato.

Salutoni
Andrea

I disegni sono bellissimi.
Complimenti. :wink:

Per i menù puoi usare la libreria MENWIZ --> MENWIZ: una libreria per creare menu su LCD - Megatopic - Arduino Forum
Se hai difficoltà chiedi direttamente all'autore nello stesso topic.

Guarda quest'altro progetto per la gestione dei menù e dell'LCD --> Ardu-Aquarium Controller v. 3.3.1 - Megatopic - Arduino Forum

La UNO, con i dovuti accorgimenti, dovrebbe bastare.
Hai fatto la conta dei PIN?

wow.... finalmente qualcuno che sa' disegnare... meglio di una foto

leggevo questo

Motore Stepper Nema17 + Driver Pololu A4988+Alimentatore 12V 2A

Dato che il Pololu lavora in corrente, sarebbe forse piu' indicato un alimentatore da 24V. Si sfrutta al meglio lo stepper

Se vuoi risparmiare pin puoi usare il bus I2C per il tastierino e il display, ma comunque ti dovrebbero bastare.
Se aggiungi un sensore di temperatura puoi azionare la ventola automaticamente.

Il punto di domanda 1 ha una risposta obbligata, cioè non puoi scrivere codice nel display e poi inviare dati alla scheda che esegue, potresti fare una cosa simile se la scheda display fosse "intelligente", ma in questo caso avresti necessità di crearti un protocollo per il dialogo scheda intelligente e scheda esecutrice.
Quindi il display lo usi come uno schermo pc, esso visualizza solo i dati, per acquisire dei dati dall'operatore c'è la libreria che ti hanno consigliato che dovrebbe permetterti la gestione dei menu e dei parametri utente.

PS: ottimi disegni

Ciao.

Bel progetto!! Mi piace!
Appena finisco la scuola vorrei costruirne uno anche io perché ne ho bisogno, quindi mi piacerebbe darti subito qualche consiglio.
La lama lavorerà principalmente per il calore, quindi potresti valutare un filo di ferro cromo (mi pare sia quello il materiale, non mi ricordo bene :roll_eyes:), che è molto più semplice [altrimenti: avevi già pensato a come riscaldare la lama?]. Come guida non userei quella ma piuttosto un braccio infulcrato da qualche parte, di media lunghezza in modo che abbia una corsa quasi lineare. Stessa cosa per il cilindro superiore che va in battuta su quello dello stepper, però con un braccio di leva corto e una o più molle a trazione.
Altra considerazione da fare è: userai sempre lo stesso materiale? Conosci la sua temperatura di fusione? Mi chiedevo se avevi considerato un feedback sulla temperatura e un suo regolatore.
Per i pulsanti "Back" e "Next" volevi usare Asterisco (*) e Cancelletto (#) che sono in basso nel tastierino?
Poi, per i pin non ne sono sicurissimo ma dovrebbero bastare, tutto dipende da come funziona il tuo tastierino 3x4.
Credo che per "risparmiare" pin potresti (se non è già così) procurarti o costruirti un tastierino numerico a resistenze: puoi optare per diversi schemi, in ogni caso ad ogni pulsante premuto corrisponde una resistenza diversa, quindi puoi usare un solo pin analogico per leggere tutto [con 12 tasti forse stai un po' stretto, quindi ti converrebbe smistarli su due pin analogici]. In questo modo basterebbe abbinare ogni tasto al suo valore.

Hai pensato all'inserimento del nastro nella macchina e al suo azzeramento?

Poi magari rispondo alle tue domande :slight_smile:

  • Come ti hanno già detto l'LCD è solo un Output dati, quindi tutta la computazione avviene su Arduino.

  • Per la compilazione dei campi credo ti convenga creare un array di numeri, decidendo prima il massimo delle cifre da inserire, tipo 4 (che sono già migliaia di pezzi o metri), poi fai un for con 4 ripetizioni (una per cella) e dentro un while che continua a controllare i tasti finchè uno non è premuto. Non so come funzioni la tua tastiera quindi non ti scrivo il codice (se vuoi possiamo sentirci in privato per questo)

  • Riguardo al movimento: yess, azzeccato, quello è l'algoritmo per proseguire.

PaoloP:
I disegni sono bellissimi.
Complimenti. :wink:

Per i menù puoi usare la libreria MENWIZ --> MENWIZ: una libreria per creare menu su LCD - Megatopic - Arduino Forum
Se hai difficoltà chiedi direttamente all'autore nello stesso topic.

Guarda quest'altro progetto per la gestione dei menù e dell'LCD --> Ardu-Aquarium Controller v. 3.3.1 - Megatopic - Arduino Forum

La UNO, con i dovuti accorgimenti, dovrebbe bastare.
Hai fatto la conta dei PIN?

Ciao Paolo, grazie mille per il materiale !
Davvero interessante come libreria... forse anche troppo rispetto a quello che dovevo fare io :).
Notavo che in questo caso l'LCD è comandato solo da pulsanti , sarebbe scomodo quando ad esempio devo raggiungere una misura come 1000mm.
Secondo voi conviene quindi partire dalla MENWIZ per poi integrarla al keypad e al mio lavoro? Oppure essendo i sottomenù inesistenti converrebbe creare delle variabili "if / else" da associare ai pulsanti BACK & NEXT?

Per quanto riguarda il sensore di temp. che mi accende le ventole è una bella chicca a cui avevo pensato anch'io, ma nel mio caso le ventole hanno il solo scopo di espellere i fumi che si generano dal taglio a caldo del nastro sintetico, quindi nada :slight_smile:

Per quanto riguarda i PIN ho controllato...avete ragione, con una I2C per l'LCD ci sto alla grande perchè la maggior parte dei pin me li occupava proprio l'LCD.
Provvederò ad acquistarne una.
Grazie

Brunello:
wow.... finalmente qualcuno che sa' disegnare... meglio di una foto

leggevo questo

Motore Stepper Nema17 + Driver Pololu A4988+Alimentatore 12V 2A

Dato che il Pololu lavora in corrente, sarebbe forse piu' indicato un alimentatore da 24V. Si sfrutta al meglio lo stepper

Grazie mille Brunello, si ho provato a casa ad alimentarlo con un 12V. Se mi dici che lavora meglio con un 24v provvederò a sostituirlo :slight_smile:

MauroTec:
Il punto di domanda 1 ha una risposta obbligata, cioè non puoi scrivere codice nel display e poi inviare dati alla scheda che esegue, potresti fare una cosa simile se la scheda display fosse "intelligente", ma in questo caso avresti necessità di crearti un protocollo per il dialogo scheda intelligente e scheda esecutrice.
Quindi il display lo usi come uno schermo pc, esso visualizza solo i dati, per acquisire dei dati dall'operatore c'è la libreria che ti hanno consigliato che dovrebbe permetterti la gestione dei menu e dei parametri utente.

PS: ottimi disegni

Ciao.

Ciao Mauro,
Grazie davvero infinite, mi hai chiarito parecchi dubbi :slight_smile:
Chiedo anche a te... conviene integrare la MENWIZ al mio progetto o partire da 0 perchè differente sotto molti punti di vista?

BaronRED:
Bel progetto!! Mi piace!
Appena finisco la scuola vorrei costruirne uno anche io perché ne ho bisogno, quindi mi piacerebbe darti subito qualche consiglio.
La lama lavorerà principalmente per il calore, quindi potresti valutare un filo di ferro cromo (mi pare sia quello il materiale, non mi ricordo bene :roll_eyes:), che è molto più semplice [altrimenti: avevi già pensato a come riscaldare la lama?]. Come guida non userei quella ma piuttosto un braccio infulcrato da qualche parte, di media lunghezza in modo che abbia una corsa quasi lineare. Stessa cosa per il cilindro superiore che va in battuta su quello dello stepper, però con un braccio di leva corto e una o più molle a trazione.
Altra considerazione da fare è: userai sempre lo stesso materiale? Conosci la sua temperatura di fusione? Mi chiedevo se avevi considerato un feedback sulla temperatura e un suo regolatore.
Per i pulsanti "Back" e "Next" volevi usare Asterisco (*) e Cancelletto (#) che sono in basso nel tastierino?
Poi, per i pin non ne sono sicurissimo ma dovrebbero bastare, tutto dipende da come funziona il tuo tastierino 3x4.
Credo che per "risparmiare" pin potresti (se non è già così) procurarti o costruirti un tastierino numerico a resistenze: puoi optare per diversi schemi, in ogni caso ad ogni pulsante premuto corrisponde una resistenza diversa, quindi puoi usare un solo pin analogico per leggere tutto [con 12 tasti forse stai un po' stretto, quindi ti converrebbe smistarli su due pin analogici]. In questo modo basterebbe abbinare ogni tasto al suo valore.

Hai pensato all'inserimento del nastro nella macchina e al suo azzeramento?

Poi magari rispondo alle tue domande :slight_smile:

  • Come ti hanno già detto l'LCD è solo un Output dati, quindi tutta la computazione avviene su Arduino.

  • Per la compilazione dei campi credo ti convenga creare un array di numeri, decidendo prima il massimo delle cifre da inserire, tipo 4 (che sono già migliaia di pezzi o metri), poi fai un for con 4 ripetizioni (una per cella) e dentro un while che continua a controllare i tasti finchè uno non è premuto. Non so come funzioni la tua tastiera quindi non ti scrivo il codice (se vuoi possiamo sentirci in privato per questo)

  • Riguardo al movimento: yess, azzeccato, quello è l'algoritmo per proseguire.

Ciao Baron ... che fantastica notizia :slight_smile:
Credevo che a costruire una taglia nastri a caldo ero l'unico cretino , invece siamo in 2 $).
Apparte gli scherzi, grazie mille per le dritte!
Rispondo alle tue domande:

  • LAMA: esattamente, avevo pensato o di utilizzare il solo filo teso, oppure fare delle prove su delle piccole lame di cutter. ( per il riscaldamento utilizzarei la componentstica interna di un saldatore istantaneo)
  • GUIDE: Sorry ma quella del braccio infulcrato non mi è troppo chiara sia per la lama che per la battuta del passo passo :S
    -TEMP.: Si , uso sempre lo stesso materiale ; sarebbe inutile nel mio caso regolarne la temperatura. Fino ad oggi ho tagliato i nastri a mano con un saldatore istantaneo a becco modificato ( ho creato una specie di affilatura sul filo ) e li taglia in maniera perfetta, proprio per questo ho deciso di riutilizzare la componentistica del saldatore...oramai è una garanzia!
    -PULSANTI: no, utilizzerò due semplici pulsanti a parte, uno per BACK e uno per NEXT (vedi 2foto ). Effettivamente si possono utilizzare " , # " ... ma mi piaceva fare una cosa un pò più "carina" .
    -INSERIMENTO: per l'inserimento avevo pensato a qualcosa di davvero semplice. Visto che i rullo di battuta è mobile, basterà alzare il suddetto tramite un'apposita leva e inserire il nastro fra i due rulli, e molle riporteranno in posizione il rullo . La lama a riposo la lascerò abbassata , appena il nastro tocca la lama è praticamente a 0 ( posso concedermi margini di errore davvero elevati , +/- 1mm )
    -KEYPAD: è il classico 4x3 con sfondo nero e bottoni bianchi . 7 pin di uscita
    -CODICE: m sembra di aver capito abbastanza...sembra niente male ! ( ti rispondo anche al PM)

Grazie davvero a tutti ragazzi, aspetto vostre risposte e dritte per far avanzare il progetto :stuck_out_tongue:

Ciao Mauro,
Grazie davvero infinite, mi hai chiarito parecchi dubbi smiley
Chiedo anche a te... conviene integrare la MENWIZ al mio progetto o partire da 0 perchè differente sotto molti punti di vista?

Purtroppo non conosco nel dettaglio la libreria MENWIZ, so che la usano in tanti per i menu e per impostare valori di configurazione utente. In mancanza di info più dettagliate puoi provare la MENWIZ separata dal tuo codice esistente, per testare se conviene o meno integrarla. Io penso che un tentativo lo devi fare, potrebbe essere risolutivo e ti eviterebbe di scrivere codice dedicato che per uno alle "prime armi" rappresenta un impiccio e poi si usa dire; ciò che funziona non si butta.

Ho dei ricordi di una macchina taglia carta, queste offrono all'operatore la possibilità di creare un programma, cioè tutti i dati utente sono salvati e richiamabili sotto un codice numerico o anche una stringa di 4-5 caratteri.

No ho idea di quanti parametri utente serva configurare. Penso siano meno di 10 parametri numerici.
In ogni caso il codice deve controllare la coerenza dei parametri introdotti e se sono incoerenti non deve permettere l'avvio. Quando sei pronto per lo sviluppo software se vuoi puoi iniziare a postare l'analisi qui, in ogni caso parti con qualcosa di semplice ed essenziale.

Ciao.

Salve a tutti

Complimenti per il progetto e soprattutto mi associo a quelli gia' fatti per i disegni molto belli davvero

Per quanto riguarda il gruppo trascinemento e taglio del nastro avei un idea, si potrebbe utilizzare il gruppo stampante taglierina di un registratore di cassa usato e magari gia' esaurito come memoria fiscale .
Avresti gia' lo stepper per il trascinemento la controparte in gomma e il meccanismo dela taglierina
ad esempio di un olivetti nettuna 600
Ci sono anche i sensori di presenza nastro ed ha una larghezza di 10cm.
Certo sarebbe poi una taglia nastro a freddo ma come idea non e' malvagia

Ciao Francesco

ciao!
complimenti per il progetto!!
anche io avevo la stessa idea.. anche perche produco nastri e ho delle macchine taglianastri....
sei riuscito a realizzarla?