Estrarre pulsante fisico da arduino o rasberry?oppure?

salve avrei bisogno di una linea guida ma piu che altro di un consiglio

purtroppo conosco ancora poco arduino e la sua programmazione tranne per quel minimo che uso l ide per i firmware delle mie stampanti 3d e per le cnc imparato qui e l ha su vari tutorial fatti in casa percio niente di serio

allora io vorrei creare un progetto una cnc fresatrice e vorrei creare una sorta di mini pc meno ingombrante della tower mastodontica che ho adesso poiche sono costretto ad usare una scheda con collegamento con porta parallela

percio vi spiego bene le mie due opzioni che ho pensato e se per favore potreste indicarmi quale sia la strada piu facile per me sia da realizzare che da imparare poiche dovrò studiarci sorpa su come fare:)

premetto che vorrei creare logicamente una console che si abbai dentro un pc ed uno schermo col quale comandare la cnc ma vorrei aggiungere dei pulsanti esterni (tipo quelli delle sale giochi per capirci) pero ogni pulsante dovrebbe corrispondere ad un pulsante del programma di comando
es. sull schermata del programma di comando (ancora non ho deciso bene quale usare ) ci stanno i pulsanno classici :
stop
homing macchina
homing pezzo
e su giu destra sinistra per la movimentazioni dei motori

la mia prima domanda è questa : è possibile estrarre (detto in parole povere) un pulsante da un programma il pulsante e crearlo fisico estrano?

per fare questo ho pensato 2 possibilità

1 un raspebrry con un programma istgallato (tipo linuxcnc o mach3 o altro) che comanda una scheda arduino dove verrà installato grbl che comanda i motori e la movimentazione della macchina

2 un minipc box (che gia avrei) dove come sopra installo il programma di gestione che comanda sempre un arduino che movimenta la macchina

i miei dubbi a riguardo di quale configurazione usare sono 2

1 posso comandare dei drvier esterni tb2560 che comandano dei nema23 direttamente da arduino oppure devo accoppiare una shield cnc come scheda comando?

2 le mie due configurazioni riguardano al fatto che tirare fuori o creare dei pulsanti esterni come detto sopra è piu semplice a livello sofware e meccanico di pin da arduino o direttamente da un raspberry?

o molto chiaro il progetto che voglio realizzare ma poco chiaro il modo diciamo ripeto non voglio che mi diate la pappa pronta (anche se mi piacerebbe ) ma piu che altro che mi consiglite il modo piu semplice seconod voi che possa usare per fare ciò cosi poi inizio a studiare da li in poi come realizzarlo

grazie in anticipo

una cosa simile per capirci i pulsanti rispecchiano i pulsanti cliccabili del programma sull lcd

Quindi semplificando ti serve 1 pulsante "reale" che una vola premuto comunichi con l'applicazione, questa si comporterà di conseguenza come se avessi "cliccato" sul pulsante "virtuale" che appare nel display.
PS: Ovviamente ti serve più di un pulsante "reale".

Il problema sta apparentemente nell'applicazione in questione, cioè se questa è predisposta per accettare dei comandi (ad esempio via USB) la cosa è fattibile con facilità, diversamente occorre modificare l'applicazione e la questione si fa più complessa.

Ciao.

esatto hai centrato il punto di quello che devo fare

quindi poiche è un progetto che deve ancora nascere e che per ora ho ancora in mente e per quanto riguarda l ho visto solo in quella foto che ho pubblicato

diciamo che sono aperto a cosigli su che tipo di arduino usare o elettronica da implementare e che tipo di programma sia possibile usare che accetti tale configurazione

il progetto come quello da foto è comandare una cnc con fresa usare arduino uno mega o non so bene quale sia piu opportuno per tale progetto comandato o da un raspberry oppure da un mini pc nel quale far girare un programma di gestione di movimentazione della macchina

ho visto il video di quella foto che ho postato ma un po essendo ostico all elettronica un po essendo ancora piu ostico all inglese (lo so le due cose insieme fanno un disastro) non ho ben capito come abbia fatto

unica cosa che ho capito è la scheda di comando di movimentazione puo essere o un arduino o un arduino piu arduino shieldcnc poi se il programma sta su un raspberry o su un pc poco importa dico bene?

percio tu mi confermi che è possibile tirare (detto brutalmente) fuori dei pulsanti di questo genere sulla pratica pero dipende tutto dal programma se ne me ne da la possiblità?

e cosa devo vedere per accertarmi di questo?

quindi sulla parte hardware potrei trovare un aiuto in voi cortrsemente?
e per la parte software?

ho cercato dei progettti simili in rete ma non ho trovato dei risultati chiari

Mi sembra un poco ambizioso anche per me il tuo progetto, quindi quasi quasi ti consiglierei di rimandare o rinunciare, ma non me la sento di spezzarti così le gambe. Diversamente, andando avanti, con moltiiiissimo impegno dovrai trovare le risposte a tutte quelle domande (e ne verranno altre e altre ancora).

percio tu mi confermi che è possibile tirare (detto brutalmente) fuori dei pulsanti di questo genere sulla pratica pero dipende tutto dal programma se ne me ne da la possiblità?

Si o meglio, se ho scritto un programma sul pc (l'ho fatto) e voglio che riceva dei comandi inviati da arduino la cosa è abbastanza fattibile. Mentre se devo modificare un programma (programma che sarà abbastanza complesso) scritto da altri incontrerò sicuramente delle difficoltà che possono anche farmi desistere.

Mentre se il programma offre già questa possibilità lo farà attraverso una dialog per la configurazione del programma, ma sinceramente non sono esperto di questo tipo di programmi.

il progetto come quello da foto è comandare una cnc con fresa usare arduino uno mega o non so bene quale sia piu opportuno per tale progetto comandato o da un raspberry oppure da un mini pc nel quale far girare un programma di gestione di movimentazione della macchina

Se devo scegliere tra arduino UNO o MEGA beh meglio la MEGA, ma sinceramente andrei a documentarmi su piattaforme già pronte basate su MCU ARM cortex molto più performanti, per intenderci, arduino DUE o arduino ZERO, o ancora stm32.

Per tutte le altre domande non ho una risposta, quindi aspetta che altri utenti rispondano.

Ciao.

guarda ti ringrazio delle risposte sei stato molto esaustivo

credo che rinuncerò a questa modifica del progetto (ma solo per adesso prima di fare qualche corso serio )ma solo per la questione che essendo a zero di programmazione software sarei troppo appoggiato ad altre persone chiedendo di perdere troppo tempo per me a gratis e non è giusto

credevo che esistesse gia un progetto simile pero non demordo e aspetto che qualcuno piu esperto di me ci si avventuri e lo seguirò con interesse :slight_smile:

per quanto riguarda le schede stm32 e cortex ho spulciato anche troppo in giro ma la maggior parte si direzionaneo verso le stampanti 3d e dovrei fare salti mortali per adattare i frimware ad una cnc

oppure altre schede gia pronte si propongono con porta seriale che si è piu affidabile nell uso delle cnc pero è anche piu ingombrante per via che non si trova quasi piu percio devo appoggiarmi come una cnc che gia ho ad una tower mastodontica vecchissima pero funzionante

per le stm32 non che sia impossibile perche progetti simili li hanno fatti pero avevo intenzione di fare qualcosa di mio e molti come te mi hanno indirizxzato verso arduino mega

continuo sulla strada di arduino mega per poter far sparire la porta seriale tramite grbl pero senza pulsantoni tipo mame che era un idea carina in futuro apporterò le modifiche necessarie quando sarò pronto

grazie mille per adesso :slight_smile:

rieccomi scusate se rompo ancora ma come detto sopra è vero che mi devo imparare ancora molte cose e sto cercando di applicarmi ma devo capire bene in che direzione andare e avevo dettto anche che non mollo :slight_smile:

domandona da 1000 euro :slight_smile:

la comunicazione di segnali che vanno da un programma installato in un pc che comanda un qualsiasi macchiario varia in cosa se viene mandato o comunica col macchinario da usb o da porta parallela?

vi spiego perche questa domanda

per cercare di avvicinarmi a questo mio progetto spulciando in giro ho trovato alcuni che hanno adottato delle soluzioni tipo:

io ho una cnc che viene comandata da una schedas tb6560 che comunica con porta parallela ad un pc vecchiotto ma funzionante a pieno col il suo programma di esecuzione comandi

e fin qui ci siamo

ho visto delle soluzioni nelle quali hanno intefacciato o per meglio dire intercettato i comandi che arrivano dalla porta parallela con un modulo arduino

in parole povere il pc (che a sto punto mi farebbe comodo cosi lo metto piu piccolo e moderno) comunica con arduino via usb dov è installato grbl (programma di comando di movimentazione cnc) che a sua volta comunica con la stessa scheda tb6560 utilizzando solo alcuni pin della porta parallela

pensate che questa sia una soluzione piu fattibile rispetto a quella di sopra da me proposta?

non ho approfoindito bene la questione (anche perche il video youtube dove ho visto queta applicazione è in russo) pero il tizio ha estratto dai segnali della porta parallela i famosi pulsanti che volevo inzialente io

direttamente dalla porta parallela

è possibile oppure ho capito male il russo?

praticamente parlo di una cosa del genere (togliamo per un secondo il fattore pulsanti)

Allora, prima di tutto devi avere le idee ben chiare.
Quale software userai? MACH3 (-> implica interfaccia con porta parallela) Software che comunica macchine GRBL? (-> classica schedina con un atmega328p con fw grbl)
In base alla tua scelta di partenza poi possiamo iniziare a parlare di cosa tirare fuori e come...
CONSIGLIO: conviene usare hw basato su grbl poiché molto più facile da realizzare quello che chiedi (non che non sia possibile con hw con porta parallela).
I pulsanti non li tiri fuori... alcuni sono già predisposti dal fw grbl per essere collegati (come gli endstop), altri non bisogna tirarli fuori dal programma, ma bisogna "iniettare" su hw la codifica dei pulsanti con una scheda supplementare... poi ti spiego come.

allora ti spiego

la mia ultima idea che mi era venuta in mente era mantenere la scheda comando tb6560 3 assi che gia mi lavora con parallela e adottare la soluzione di interfacciare la parallela con un arduino mega per 2 motivi

1 almeno mantenevo la scheda tb6560 senza doverla buttare ed eviterei i 3 driver esterni poiche la scheda stessa mi regge 3 nema 23

2 la spesa si ridurrebbe al solo acquisto di un arduino mega con grbl

ma giustamente come consigli tu e da come ho capito rimane una zozzata e a sto punto meglio andare su tutta un elettronica basata su arduino mega 328p il quale dovrfebbe arrivarmi a giorni in kit con una shield cnc che non userò poiche io dovrò pilotare dei nema 23 e la schield non li regge ma dovrò adottare la soluzione di far comandare ad arduino 3 driver esterni tb6560 uno per ogni motore ,sempre tutto su base grbl

la spesa sarebbe piu alta ma poco importa è il fine che conta per ora per me (è anche il bello dell homemade o sbaglio?)

fin qui dico bene?correggimi se mi sfugge qualcosa :slight_smile:

poi una volta messa in funzione vorrei capire quali tipo di comandi esterni si possone "estrarre"/ "iniettare"

percio premettendo che mach3 mai usato ma uso linuxcnc e che ho queste due scelte tra la zozzata e l hw nuovo a livello di impegno cosa mi consigli?

non essendo esperto di arduino e programmazione (tranne che per quel poco che faccio con i firmware delle mie stampanti 3d) ho bisogno anche un vostro consiglio sul quale secondo voi sarebbe meglio buttarmi

fosse per me giusto per curiosità li proverei tutti e due cosi per sfizio ma mi pare troppo ahhaha

Questa è la modifica che ho fatto per pilotare i tb6560 su una scheda Arduino based...
Bisogna procedere per passi. Stila un elenco piuttosto dettagliato di cosa vorresti comandare con i pulsanti esterni.
EDIT: ottimo, meglio evitare i cross post. ho letto adesso la tua domanda nell'altro post in merito al dilemma usb o parallela?
Ma, gli ultimi fw grbl (mi sembra dallo 0.8 in poi) hanno cambiato il baud rate della seriale a 115k da 9,6. Quindi... Mi trovo bene via usb e non ho mai avuto bisogno necessità di passare a parallela, anche se la scheda che ti ho postato di la l'ho comprata e prima o poi ci prendo pure altri 3 Nena e 3 TB6600 e me la costruisco un'altra. Ma lo faccio solo per curiosità del Mach3, non per necessità. Con mach3 puoi gestire anche l'asse rotativo quindi una 4 assi, cosa che non mi risulta sia possibile in grbl. Pregi e difetti come in ogni cosa.

poi non ho capito se hai una scheda con porta parallela e driver tb6560 inclusi (saldati) su tale scheda o se i driver tb6560 sono separati dall'interfaccia parallela.

adesso ho una cnc con questa scheda tb6560 con driver intergati che comanda 3 nema 23 tramite porta parallela e linuxcnc

sono quasi 8 anni che va senza problemi ma come ogni buon maker uno prova a volere sempre di piu

percio adesso vorrei provare a passare all USB dalla porta parallela perche ho un pc ingombrante e anche per provare nuove cose

percio ho pensato a due soluzioni una è tenere la scheda con driver integrati e interfacciarla con arduino mega e grbl come da questo esempio:

due continuare il progetto senza scheda detta sopra ma con arduino e driver stepper esterni

sempre con firmware grbl

in tutti e due i casi il mio progetto finale sarebbe quello di creare un pannello con dei bottoni enormi (tipo quelli delle vecchie sala giochi per capirci) dove se voglio possa (senza toccare il mouse e il programma sullo schermo)muovere gli assi

percio

pulsanti avanti e dietro asse X

pulsanti avanti e dietro asse Y

pulsanti su e giu Z

poi se possibile un pulsante di 0 macchina (dopo aver posizionato la fresa in un punto del piano di fresatura)oppure homing come dir si voglia

ed un pulsante di 0 pezzo (dopo aver posizionato la fresa sul pezzo prima di iniziare la fresatura )

tutto questo perche dirai?

1 perche per esigenze di spazi di lavoro dovrei mettere il pc lontano dalla macchina percio muovere gli assi e vedere quando sono in posizione mi sarebbe difficile
percio movimentando la macchina con quei pulsanti bordo macchina dopo dovrei andare la pc solo per il via alla fresatura o avvio del lavoro

2 perche dopo tuto questo in un futuro lontano ho la mezza idea addirittura di inserirci uno lcd con lettore scheda dove carico il gcode gli do il via direttamente da bordo macchina

(ma il secondo punto è piu un sogno, per ora inziamo piano piano)

p.s.

adesso avrei da sfruttare al posto del mattone con porta parallela come pc questo qui

https://www.ebay.it/i/153937720825?chn=ps&norover=1&mkevt=1&mkrid=724-128315-5854-1&mkcid=2&itemid=153937720825&targetid=884019799413&device=c&mktype=pla&googleloc=1008380&poi=&campaignid=9556814099&mkgroupid=103517462372&rlsatarget=pla-884019799413&abcId=1145978&merchantid=116979152&gclid=Cj0KCQjwrIf3BRD1ARIsAMuugNska9BcE1FTKiPh9onlmN-6tnyM5lybLNAS3fQwPlTztKYK2_4j1TkaApKBEALw_wcB

molto meno ingombrante di una tower di un vecchio pentium 4 in ferro battuto quasi per quanti anni possiede,dovrebbe andare bene credo

tutto il mio hardware a mia disposizione è questo che ti ho elencato sopra
scheda tb6560 driver integrati
mini pc
arduino mega 328p
scheda schield cnc

e da comperare semmai i 3 driver esterni tb6560 per pilotare i 3 nema 23 sa 2,8 A cadauno

tutto cio passando a grbl come gestione

ultimo p.s.

quella modifica di togliere gli zoccoli e saldare i fili dulla scheda potrei adottarla anche io sulla scheda shield cnc cosi da poterla usare interfacciata con i driver esterni ?

giusto per non mandare sprecata tale scheda e cosi da lasciare liberi piu pin possibili sulla scheda arduino e per creare degli spinotti da staccare in caso scollegamento dei motori dalla scheda

oppure ho detto una caxxata?

quella modifica di togliere gli zoccoli e saldare i fili dulla scheda potrei adottarla anche io sulla scheda shield cnc cosi da poterla usare interfacciata con i driver esterni ?

Certo che la puoi fare sulla shield. Alla fine la scheda nella foto postata da me non è altro che una UNO con una shield tutto sullo stesso pcb.

Quindi a te serve, in altre parole, qualcosa del genere, ma personalizzata, ovvero da apportare la modifica come ho fatto io sui pololu per montare i tb6560 e la pulsantiera più grande anche se il circuito del controller offline (pulsantiera) non l'ho trovato da nessuna parte, ne tanto meno il suo fw. Infatti, nella pulsantiera, per come la vedo io, ci sarà un altro atmega328 che gestisce LCD e microsd, oltre che la macchina stessa via seriale.

Tempo fa volevo realizzare anche io una cosa del genere e mi misi a studiare un po.
Funziona così: per quanto riguarda i limit-switch sono già predisposti per essere collegati sulla scheda stessa anche se io avevo progettato un pcb Arduino based con alcune migliorie (ad esempio tutti i contatti collegabili avevano segnale fotoaccoppiato al posto del semplice filtro RC per l'antidebounce; avevo predisposto le morsettiera sui bordi per il collegamento dei driver come appunto i tb6560 (o qualsiasi altro).
Invece, parlando della pulsantiera, mi munii di pazienza e andai a vedere come la porta di collegamento sulla scheda fosse collegato al circuito e scoprii semplicemente che è collegata sulla seriale. Questo significa che quando è collegata, sia l'atmega328p che sta sulla scheda che quello sulla pulsantiera ricevono le risposte dal programma che stai usando per pilotare la cnc.

be si alla fine la soluizione finale alla vorrei arrivate è proprio quella pero con delle migliorie come hai detto bene tu

mi interessa il fatto che su quella scheda (che avevo gia visto) ho la possibilità di usarla stande alone o offline

non mi interessa la parte laser

mi interessa che a questa scheda io debba collegare 3 driver con 3 nema 23 invece questa scheda regge solo i nema 17 e fino ad 1.6 A credo ma posso sbagliarmi

anche io credo che quell lcd abbia un suo firmware interno con processore o controllore interno tipo i tft touch per capirci

e mi interessano i comandi di quell lcd e sempre se possibile l aggiuta dei due punti zero o almeno dell homing

il problema di quella scheda è che non è possibile fare la modificha sui driver intergati e che vorrei (visto che ormai l ho comprato) creare una cosa simile con arduino e grbl proprio come hai fatto tu

pero ripeto visto che dovro studiarci un bel po poiche inizio da quasi 0 con arduino vorrei iniziare per gradi

intando sapere se sto usando l elettronica giusta per fare tutto ciò alla fine

poi metto tutto in moto via grbl e pc

poi vedere se si aggiunge un lcd come in quel caso(questa l ho aggiunta adesso che me l hai fatta venire in mente ahahah)

poi passare hai pulsanti
che ne pensi?

tornando hai pulsanti come dici tu è proprio quello il problema tu hai capito in che modo comunicano i due atmega e la scheda il problema è intercettare quel comando e trasformalo in meccanico oppure come dicevi tu iniettare un segnale simile attraverso cosa pero?

dovrebbe essere lo stesso seganle sia come frequenza sia come tipo di segnale o una cosa simile non credo che stiamo parlando di una sempice chiusura di un contatto tra 5V e gnd o 3.3V gnd in high o low come di solito o sbaglio?

sto iniziando ora a studiare un po i pin di arduino e da come ho capito funzionano cosi nella maggior parte dei casi o no?

è qui che viene fuori la mia ignoranza da elettronico proprio su questo punto

mesa che ho sparato 2 o 3 minchiate pero come neofita lo posso fare dai :slight_smile:

anche io credo che quell lcd abbia un suo firmware interno con processore o controllore interno tipo i tft touch per capirci

Si, ma a mio parere li c'è un altro atmega328 sotto che fa tutto quel lavoro.... tramite i pulsanti che ci sono sopra il micro invia i segnali alla scheda principale che li inoltra alla macchina (anche se non è proprio così perché in realtà sia la scheda principale che il controller offline comunicano sulla stessa seriale quindi sono direttamente collegati al CH340G, o FTDI a seconda della scheda, deputati ad interfacciarsi con il pc tramite cavo usb)
Quindi se tu vuoi il pulsante homing e 0 pezzo l'unico modo hai è aggiungere un microC ed istruirlo per fare questo.
Domanda: si può fare?
Risposta: si.
Domanda: è difficile?
Risposta: si e no... dipende dalle competenze che hai (non che ne servano di particolarmente complesse). tecnicamente al posto di quel lcd bruttissimo ci si può mettere anche un NEXTION da 7" touchscreen. Tutto dipende dal tuo start point.
I pezzi che hai vanno bene?
Si, per cominciare con fw GRBL.

ok perfetto allora intanto fammi iniziare a collgare il tutto installare grbl e smanettarci un po poi mi chiarirò qualche dubbio e poi
vedremo a che livello sono arrivato per ora grazie delle delucidazioni

cmq oggi stavo prorpio vdendo il nextion che trallaltro ha un firmware proprietario per cnc solo che 120 euri per averne uno decentemente grande non è una bazzecola per un esperimento ahahhaha

in alternativa un tft cinesissimo della bigtreetech al quale gia stavo cercando di modificare il firmware per la cnc solo che ad un firmware che è fatto per stampanti non è facile fargli capire che esiste uno 0 pezzo che nella stampa 3d non è contemplato percio non mi scende mai sotto il livello z del piatto ...ma poi vediamo questa è un altra storia

intanto fammi fare il base e capirlo almeno nelle funzioni base poi ti aggiorno appena possible se ho qualche dubbio :wink:

a presto buon fine settimana :slight_smile:

Bene, quando hai dubbi torna a scrivere. buon fine anche a te.