Stepper e Arduino

Sezione dedicata all'elettronica in generale.
Rispondi
torn24
God
God
Messaggi: 5078
Iscritto il: venerdì 1 febbraio 2008, 11:28
Località: Modena

Re: Stepper e Arduino

Messaggio da torn24 » giovedì 28 marzo 2024, 9:21

Non l'avevo considerata polemica in nessun modo stai tranquillo, ho solo risposto :D Off topic era riferito che non penso a tutti i modi di usarla in modo sbagliato, come inserire un numero estremamente lungo che mi sembra impossibile.
CIAO A TUTTI !

torn24
God
God
Messaggi: 5078
Iscritto il: venerdì 1 febbraio 2008, 11:28
Località: Modena

Re: Stepper e Arduino

Messaggio da torn24 » giovedì 28 marzo 2024, 9:53

Secondo me bisogna restituire la stringa return; non va ben ma return stringa
Secondo me non si pui fare il DEBUG senza provare il codice a mente, sono convinto :D

Codice: Seleziona tutto


float tastierino() {
  //Premere il tato cancelleto una volta terminato insermento dei valori numerici
  char carattere;
  char stringa[20];
  int i = 0;
  do {
    carattere = customKeypad.getKey();
    if (carattere != NO_KEY) {
      stringa[i++] = carattere;
      lcd.print(carattere);
    }


  } while (carattere != '#');
  if(i>20){
     display("cancella");
     display("rin->");
     tastierino(); //Ripete inserimento del valore se superati 19 caratteri.
     return atof(stringa);
  }
  stringa[--i] = '\0';
  return atof(stringa);
}





CIAO A TUTTI !

Avatar utente
hellfire39
God
God
Messaggi: 3416
Iscritto il: domenica 16 dicembre 2012, 9:04
Località: AN

Re: Stepper e Arduino

Messaggio da hellfire39 » giovedì 28 marzo 2024, 11:03

Ragionamento sbagliato.
Alcune cose balisari devono essere previste a mente. Una di queste è il buffer overrun che può causare comportamenti imprevedibili e (ma non in questo caso ovviamente) sono stati il mezzo per attacchi informatici.

La tua funzione ha ancora un problema, la stringa va da indice 0 a indice 19.
Se controlli (i>20) ovvero consenti che i=20, allora stringa[i++] accederà alla posizione stringa[20], che è già fuori del range.
Il controllo andrebbe fatto *prima* di accedere all'indice.


In generale, rimane comunque un programma mal fatto. La gestione del tastierino non dovrebbe essere bloccante, a meno che tu non consenta che venga fatta solo a motori fermi: è inutile utilizzare la libreria AccelStepper (che utilizza l'accelerazione) per poi interrompere bruscamente il movimento se viene premuto un pulsante!

torn24
God
God
Messaggi: 5078
Iscritto il: venerdì 1 febbraio 2008, 11:28
Località: Modena

Re: Stepper e Arduino

Messaggio da torn24 » giovedì 28 marzo 2024, 11:30

OFF TOPIC solo per parlare
Se fossi capace di programmare come un programmatore professionista farei il programmatore, è un hobby con i suoi limiti.
Penso che valutato in un Itis informatico mi darebbero un bel voto, valutando i lavori dei ragazzi, e come hobby sono soddisfatto.
Comunque ti do ragione come do ragione a un professionista, ma se insegnavi a un ITIS come pensi che avresti dovuto valutare?
CIAO A TUTTI !

Avatar utente
hellfire39
God
God
Messaggi: 3416
Iscritto il: domenica 16 dicembre 2012, 9:04
Località: AN

Re: Stepper e Arduino

Messaggio da hellfire39 » giovedì 28 marzo 2024, 11:51

Il tuo programma è pessimo, altro che discreto. Il problema è non riuscire a capirlo.
Non c'è un ambito in cui sia corretto. Punto.

Tanto per dire:
1) gestione bloccante di una interfaccia in un sistema che dovrebbe gestire il motore in real-time
2) mancata gestione del buffer overrun


Che poi possa essere accettabile per chi l'ha fatto è un altro discorso.
Quasi ogni volta che gioco con Arduino, faccio programmi di cui mi vergognerei al lavoro. Ma, di solito, li tengo per me. Non li suggerisco ad altri, soprattutto se non li ho provati prima.

P.S. ho un amico che insegna programmazione in una scuola superiore (ed è pure ingegnere!). Ho sentito affermazioni spaventose da lui. Non penso che insegnare sia un metro di valutazione assoluto. Ci sono professori in gamba ed altri pessimi.

torn24
God
God
Messaggi: 5078
Iscritto il: venerdì 1 febbraio 2008, 11:28
Località: Modena

Re: Stepper e Arduino

Messaggio da torn24 » giovedì 28 marzo 2024, 12:04

Lo fatto valutare e non mi hanno detto che è pessimo in ambito hobbystico, lo hanno giudicato bene.
Penso che il tuo hobby sia elettronica e programmazione, e usi lo stesso criterio del tuo lavoro, se facessi un hobby che non centra niente con il tuo lavoro capiresti cosa intendo, perché se giochi a calcio in seria A,B,C o D essere bravi ha un significato diverso, ma comunque meglio di molte persone. Pero se l'unica pensiero giusto è il tuo "potrebbe essere anche vero", è sempre vero che è sempre inutile discutere.
Ma a me è capitato che tu dicessi delle inesattezze sugli utensili o altre cose meccaniche, non mi sono mai sognato di fartelo notare o farti critiche, nel senso è una cosa normale per chi non è il suo lavoro.
CIAO A TUTTI !

Avatar utente
hellfire39
God
God
Messaggi: 3416
Iscritto il: domenica 16 dicembre 2012, 9:04
Località: AN

Re: Stepper e Arduino

Messaggio da hellfire39 » giovedì 28 marzo 2024, 17:01

Se dico inesattezze in campo meccanico devi farmelo notare. Altrimenti come faccio a correggermi?

Detto questo, quel codice fa schifo oggettivamente. O chi l'ha valutato è incompetente o non è neanche entrato nel merito di quello che dovrebbe fare.
Ripeto: che tu non lo capisca è davvero grave.
Non c'è una valutazione relativa sulla qualità del SW. La qualità è assoluta.

A livello amatoriale può andare accettabile, ma questo non lo rende un codice fatto bene.
Non controllare che si vada fuori dai limiti di un array è un errore grave, sempre.
Utilizzare una libreria che gestisce le rampe di accelerazione ma poi bloccare istantaneamente il movimento perché premi un tasto sul tastierino è un'altra cavolata. Se usi il tuo programmino per te, va bene. Se lo proponi ad altri, no.
Usare funzioni bloccanti è un altro segno di appplicazione amatoriale.

Per altro, in un post in cui si parlava proprio della necessità di accelerare il motore in modo dolce per evitare che stallasse.
Invece proponi un programma che ti fa stallare il motore.

torn24
God
God
Messaggi: 5078
Iscritto il: venerdì 1 febbraio 2008, 11:28
Località: Modena

Re: Stepper e Arduino

Messaggio da torn24 » venerdì 29 marzo 2024, 5:33

Quindi accetto i suggerimenti, ti do pienamente ragione per scrivere meglio un codice e ti ringrazio, poi se ho dei diritti di scelta li uso, quello che voglio fare, quello che voglio postare decido solo io :D
CIAO A TUTTI !

Avatar utente
hellfire39
God
God
Messaggi: 3416
Iscritto il: domenica 16 dicembre 2012, 9:04
Località: AN

Re: Stepper e Arduino

Messaggio da hellfire39 » lunedì 1 aprile 2024, 9:23

Certo, ma se proponi un programma che non funziona o non fa quello che dovrebbe fare, poi non ti offendere se ti viene fatto notare.

Avatar utente
leomonti
Senior
Senior
Messaggi: 2110
Iscritto il: mercoledì 20 dicembre 2006, 19:04

Re: Stepper e Arduino

Messaggio da leomonti » venerdì 12 aprile 2024, 20:31

Siamo in dirittura d'arrivo....
Qualche parola sulla macchina utensile "Frankenstein". Tempo fà, un amico che ha trasformato la BF20 in Cnc, sostituendo anche la testa con un elettromandrino, mi ha regalato quest'ultimo. Su quello che restava di un pantografo Pear, su cui avevo già deciso il downgrade da cnc a manuale, ho innestato la testa e ho montato il visualizzatore Sino.
L'elettronica è divisa in 2 parti e 1/2: scatola di comando che ospita la scheda Arduino Mega, box driver e alimentatori, compreso quello per Arduino (così ho la 220V solo in un box, e scatolina di derivazione per il collegamento dei limit.
Ho scelto motori dual shaft per potere montare una manopola sul terminale dell'albero per i movimenti micrometrici manuali. Farlo sulla vite dell'asse avrebbe comportato, ovviamente, un rapporto inverso e quindi un grosso sforzo per muoverli (soprattutto la Z dove la riduzione è 12/72.
A proposito di movimenti manuali, i driver, a riposo, non ricevono corrente di tenuta. a riposo la scheda Arudino non invia alcun segnale, contrariamente a quanto avverrebbe con un controller cnc.
Ho dovuto accrocchiare uno stop registrabile per la manopola del potenziometro perchè, poco prima del fine corsa, i motori stallano, I microstep sono settati a 1.600, diversamente la velocità minima risulterebbe troppo alta per certe lavorazioni.
Nel prossimo upgrade, sostituirò le etichette autoadesive con incisioni a cnc.
Adesso un po' di foto
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
Il cervello è l'organo più sopravvalutato...(W.Allen)

Avatar utente
leomonti
Senior
Senior
Messaggi: 2110
Iscritto il: mercoledì 20 dicembre 2006, 19:04

Re: Stepper e Arduino

Messaggio da leomonti » venerdì 12 aprile 2024, 20:33

Altre foto. Nei prossimi giorni monterò i motori sugli assi restanti. Il test generale lo avevo fatto coi motori a vuoto
L'alimentatore è un Meanwell 36V 600W. Al momento non ho previsto fungo d'amergenza. Vedrò in seguito.
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
Il cervello è l'organo più sopravvalutato...(W.Allen)

torn24
God
God
Messaggi: 5078
Iscritto il: venerdì 1 febbraio 2008, 11:28
Località: Modena

Re: Stepper e Arduino

Messaggio da torn24 » sabato 13 aprile 2024, 3:45

OFFTOPIC
Sistemi del genere li ho visti su fresatrici fine anni 60 inizio 70, una comodità ma la capacità di lavorazione è quella di una fresatrice tradizionale.
Se uno ha motori stepper su tutti i tre assi e driver, forse conviene mettere una scheda di controllo e per uso manuale un tastierino con volantino,
Mi è capitato "poche volte" di usare un grosso montante mobile manuale con tastierino, ti assicuro che è più comodo dei comandi "a leva".
Solo un mio parere da quello che ho visto in officina, o manuale o cnc con possibilita di volantino, le soluzione intermedie sono abbandonate.
CIAO A TUTTI !

torn24
God
God
Messaggi: 5078
Iscritto il: venerdì 1 febbraio 2008, 11:28
Località: Modena

Re: Stepper e Arduino

Messaggio da torn24 » sabato 13 aprile 2024, 4:16

Aggiungo, pensavo avessi una piccola macchinetta da banco, comprare una fresatrice cnc cinese come la tua costa oltre 8000 euro, per cui è un po un peccato :D
CIAO A TUTTI !

Avatar utente
leomonti
Senior
Senior
Messaggi: 2110
Iscritto il: mercoledì 20 dicembre 2006, 19:04

Re: Stepper e Arduino

Messaggio da leomonti » sabato 13 aprile 2024, 9:16

Ho diverse macchiene-tte, sia tornio che fresatrici, retrofittate cnc con controller diversi. Conosco il sistema.
Su questa, in particolare, ho scelto, come dicevo, il downgrade dal precedente retrofit con Colibri, per la grande difficolta ad adattare le viti a ricircolo ( spazi esigui).
Al contrario, sto montando un sistema closed-loop su una ZX50 Iso30 da 4 q.li. L’elettronica è già montata e collaudata. Sono fermo perché devo acquistare una capretta, diversamente rischio di tirarmi la tavola e la testa sui piedi. In parallelo, sto rivedendo da zero un precedente retrofit su una Cortini. Mi ci vorranno un paio di vite….
La macchina oggetto del post è un ripiego che dovrò usare per costruire i pezzi per le altre 2. E comunque, questa è una semplice motorizzazione assi, alla stregua di quella ottenuta con motori pendolari, ma con ingombri più contenuti. Poi, ove decidessi per la soluzione che indichi tu, mi basterà sostituire il controller, anche con un semplice sistema GRBL. Al momento le mie esigenze si limitano a questo tipo di movimento.
Il cervello è l'organo più sopravvalutato...(W.Allen)

Rispondi

Torna a “Elettronica”