MECCANICA e DINTORNI

COSTRUIAMO LE NOSTRE CNC DIVERTENDOCI CON L'AIUTO DI TANTI PROFESSIONISTI ESPERTI
Oggi è gio mag 23, 2024 07:25

Tutti gli orari sono UTC +1 ora




Apri un nuovo argomento Rispondi all’argomento  [ 108 messaggi ]  Vai alla pagina Precedente  1 ... 3, 4, 5, 6, 7, 8  Prossimo
Autore Messaggio
 Oggetto del messaggio: Re: motorizzazione asse X con arduino per fresa
MessaggioInviato: ven nov 19, 2021 21:48 
Non connesso
TORNITORE E FRESATORE

Iscritto il: ven nov 21, 2008 14:34
Messaggi: 1343
Località: Roma
Sul remote ci metto Hold, Dir e switch xy/z (devo aggiungere un tasto) il resto sull'altro quadruccio.

Intanto ti metto il codice che ho aggiornato finora.

Devo aggiungere altri tre tasti per Enable/lock

Libreria display usata:
Allegato:
libreria_usata.GIF


Non hai i permessi necessari per visualizzare i file allegati in questo messaggio.

_________________
-->I MIEI VIDEO<--


Ultima modifica di sbinf74 il mer nov 24, 2021 09:41, modificato 3 volte in totale.

Top
 Profilo  
 
 Oggetto del messaggio: Re: motorizzazione asse X con arduino per fresa
MessaggioInviato: sab nov 20, 2021 14:34 
Non connesso
SON PASSATO AI TRAPANINI

Iscritto il: lun nov 04, 2019 12:49
Messaggi: 102
Località: tra i laghi zona Varese
quindi se uso un cavo ethernet per il collegamento ci sto giusto giusto a meno di usare anche la calza come massa e guadagno un filo in più.

sono 5 per i controlli più i pulsanti che sono 3 riferiti a massa o al +, devo vedere ancora bene il tuo sketch.

vado di connettore rj45 femmina alla scatola ed alla parte del display cos' posso staccare i cavi quando voglio.

appena ho tempo provo a caricare il tuo prog e vediamo.


Top
 Profilo  
 
 Oggetto del messaggio: Re: motorizzazione asse X con arduino per fresa
MessaggioInviato: lun nov 22, 2021 11:17 
Non connesso
SON PASSATO AI TRAPANINI

Iscritto il: lun nov 04, 2019 12:49
Messaggi: 102
Località: tra i laghi zona Varese
sbinf74 ha scritto:
Se trovo un commutatore rotativo per il lock X-Y-XY-Z potrei inserire l'enable nei tasti delle coordinate.


https://www.aliexpress.com/item/32974104519.html?spm=a2g0o.detail.1000014.11.a6473a85VLz5zV&gps-id=pcDetailBottomMoreOtherSeller&scm=1007.33416.213724.0&scm_id=1007.33416.213724.0&scm-url=1007.33416.213724.0&pvid=9e1f884f-115a-48a1-9db6-70dd84aa59a7&_t=gps-id:pcDetailBottomMoreOtherSeller,scm-url:1007.33416.213724.0,pvid:9e1f884f-115a-48a1-9db6-70dd84aa59a7,tpp_buckets:668%232846%238108%231977&&pdp_ext_f=%7B%22sku_id%22:%2266661695653%22,%22sceneId%22:%2223416%22%7D


con questo puoi fare tranquillamente una matrice di commutazione

così puoi scegliere quali pin mettere a massa per abilitare gli assi:
_______ X _|_ Y _|_ Z _|_ X-Y
Asse X | on | off | off | on
Asse Y | off | on | off | on
Asse Z | off | off | on | off


Top
 Profilo  
 
 Oggetto del messaggio: Re: motorizzazione asse X con arduino per fresa
MessaggioInviato: lun nov 22, 2021 12:49 
Non connesso
SON PASSATO AI TRAPANINI

Iscritto il: lun nov 04, 2019 12:49
Messaggi: 102
Località: tra i laghi zona Varese
in merito a quanto ho scritto 2 messaggi fa ho sbagliato se metti 3 fili per abilitare gli assi servono più fili per il controllo remoto, invece se fai con pressione pulsante allora basta il cavo ethernet.

poi se aggiungi led per identificazioni di selezioni a questo punto passo a doppio cavo di rete oppure ad un cavo telefonico da 10cp o 20cp.


Top
 Profilo  
 
 Oggetto del messaggio: Re: motorizzazione asse X con arduino per fresa
MessaggioInviato: lun nov 22, 2021 13:26 
Non connesso
SON PASSATO AI TRAPANINI

Iscritto il: lun nov 04, 2019 12:49
Messaggi: 102
Località: tra i laghi zona Varese
https://www.aliexpress.com/item/1005003212787515.html?spm=a2g0o.productlist.0.0.34511501xcAWEa&algo_pvid=d756e273-c015-4769-9593-9507f36cd468&algo_exp_id=d756e273-c015-4769-9593-9507f36cd468-0&pdp_ext_f=%7B%22sku_id%22%3A%2212000024687220782%22%7Dcome display è bello anche questo, non lo conoscevo, ma porta via un po' di pin, ma sul mega ce ne sono a sufficienza

è un display che usano sulle stampanti 3d da 128x64 pixel. come dimensioni sono 72mm come un 2004 e di altezza 39.

Ho scoperto ora che esistono anche i display 4004... sto scoprendo un mondo nuovo, resta il problema di imparare a programmare arduino meglio in C++


Non hai i permessi necessari per visualizzare i file allegati in questo messaggio.


Top
 Profilo  
 
 Oggetto del messaggio: Re: motorizzazione asse X con arduino per fresa
MessaggioInviato: mer nov 24, 2021 09:12 
Non connesso
SON PASSATO AI TRAPANINI

Iscritto il: lun nov 04, 2019 12:49
Messaggi: 102
Località: tra i laghi zona Varese
Sbinf, dopo aver studiato per bene il tuo prog ed avendo oggi un po' di tempo libero stavo provando a caricare su arduino mega il tuo prog.
non mi trovo con le librerie di liquidcristal_i2c che hai usato. ho provato con quella che utilizzavi per l'ELS ma non va. Utilizzando quella di Arduino mi genera sempre lo stesso errore nella riga : LiquidCrystal_I2C lcd(0x27,2,1,0,4,5,6,7); // Set the LCD I2C address
se la modifico come hai fatto sull ELS con LiquidCrystal_I2C lcd(0x27,20,4); // Set the LCD I2C address questo lo accetta ma si ferma nel Void Setup alla riga lcd.setbacklightPin(3,POSITIVE); se rimuovo i campi tra parentesi lasciandogli () la riga successiva genera errore lcd.setBacklight(HIGH);
A questo punto credo ci sia di base un errore nelle librerie che ho caricato e non so quale tu stia usando.

puoi darmi info aggiuntive?


Top
 Profilo  
 
 Oggetto del messaggio: Re: motorizzazione asse X con arduino per fresa
MessaggioInviato: mer nov 24, 2021 09:42 
Non connesso
TORNITORE E FRESATORE

Iscritto il: ven nov 21, 2008 14:34
Messaggi: 1343
Località: Roma
Ho aggiornato lo sketch riscarica il file dal post precedente.

_________________
-->I MIEI VIDEO<--


Top
 Profilo  
 
 Oggetto del messaggio: Re: motorizzazione asse X con arduino per fresa
MessaggioInviato: mer nov 24, 2021 10:48 
Non connesso
TORNITORE E FRESATORE

Iscritto il: ven nov 21, 2008 14:34
Messaggi: 1343
Località: Roma
Ho preso il COMMUTATORE ROTATIVO a 4 posizioni 3 vie cosi posso fare la matrice XYZ.

_________________
-->I MIEI VIDEO<--


Top
 Profilo  
 
 Oggetto del messaggio: Re: motorizzazione asse X con arduino per fresa
MessaggioInviato: gio nov 25, 2021 11:25 
Non connesso
TORNITORE E FRESATORE

Iscritto il: ven nov 21, 2008 14:34
Messaggi: 1343
Località: Roma
E' arrivato il commutatore rotativo, ho intenzione di metterlo direttamente sulla scatola del joy.
A questo punto elimino il tasto che faceva lo switch xy/z e uso due ingressi su arduino (gli ultimi due fili del cavo :mrgreen: ) per fare una matrice binaria 2x4

X=00
Y=01
XY=10
Z=11

_________________
-->I MIEI VIDEO<--


Top
 Profilo  
 
 Oggetto del messaggio: Re: motorizzazione asse X con arduino per fresa
MessaggioInviato: gio nov 25, 2021 15:19 
Non connesso
SON PASSATO AI TRAPANINI

Iscritto il: lun nov 04, 2019 12:49
Messaggi: 102
Località: tra i laghi zona Varese
ah bè si è vero con lo stato dei pin scegli cosa far fare.

bravo ragazzo!


Top
 Profilo  
 
 Oggetto del messaggio: Re: motorizzazione asse X con arduino per fresa
MessaggioInviato: lun nov 29, 2021 20:19 
Non connesso
SON PASSATO AI TRAPANINI

Iscritto il: lun nov 04, 2019 12:49
Messaggi: 102
Località: tra i laghi zona Varese
Sbinf, stavo riguardando il tuo sketch, mancano i finecorsa. li devi ancora implementare o scelta tua di non metterli?

comunque complimenti bel giocattolino hai fatto.


Top
 Profilo  
 
 Oggetto del messaggio: Re: motorizzazione asse X con arduino per fresa
MessaggioInviato: lun nov 29, 2021 22:20 
Non connesso
TORNITORE E FRESATORE

Iscritto il: ven nov 21, 2008 14:34
Messaggi: 1343
Località: Roma
No non intengo implementare i finecorsa.

Visto che anche l'occhio vuole la sua parte ecco il maquillage che ho fatto ai box dell'elettronica.

Allegato:
1638219518437.jpg

Allegato:
1638219518458.jpg

Allegato:
1638219518476.jpg


E ho quasi terminato il cablaggio interno .....lo so non è il massimo ma è quello che sono riuscito a fare. Utilizzo un cavo elettrico rigido che si inserisce in maniera salda nei pin di arduino e ho riportato i contatti sui morsetti a vite.

Il programma l'ho ulteriormente modificato implementando l'enable dei vari drive.
Allegato:
joy_pwm_2004.zip


Non hai i permessi necessari per visualizzare i file allegati in questo messaggio.

_________________
-->I MIEI VIDEO<--


Top
 Profilo  
 
 Oggetto del messaggio: Re: motorizzazione asse X con arduino per fresa
MessaggioInviato: mar nov 30, 2021 01:58 
Non connesso
SON PASSATO AI TRAPANINI

Iscritto il: lun nov 04, 2019 12:49
Messaggi: 102
Località: tra i laghi zona Varese
bel lavoro!!! Bravo , pulito ed ordinato.


Top
 Profilo  
 
 Oggetto del messaggio: Re: motorizzazione asse X con arduino per fresa
MessaggioInviato: mar nov 30, 2021 03:11 
Non connesso
SON PASSATO AI TRAPANINI

Iscritto il: lun nov 04, 2019 12:49
Messaggi: 102
Località: tra i laghi zona Varese
ti segnalo un errore di digitazione poi ripetutto con ctrl+C e ctrl+v
riga 207 ISR (TIMER1_COMPA_vect) // rountine di interrupt del Timer1 - usata per incrementare i passi stepper e tenere traccia della posizone

leggendo da neofita il tuo codice non vedo dove hai inserito l'avanzamento in mm per ogni giro di vite in pratica il passo vite che sicuramente il tuo con viti a ricircolo saranno diversi dal mio con viti trapezoidali standard.


dalla riga 724 come mai tutti i case hanno sempre lo stesso valore? (maxSpeed/6)*mapAxis*(speedscale/100.00) non dovrebbe essere differenti per ogni case? e come mai il case 6 è vuoto?

switch (mapAxis) {
case 1:
speedAxis=minSpeed;
break;
case 2:
speedAxis=(maxSpeed/6)*mapAxis*(speedscale/100.00);
break;
case 3:
speedAxis=(maxSpeed/6)*mapAxis*(speedscale/100.00);
break;
case 4:
speedAxis=(maxSpeed/6)*mapAxis*(speedscale/100.00);
break;
case 5:
speedAxis=(maxSpeed/6)*mapAxis*(speedscale/100.00);
break;
case 6:
case 7:
speedAxis=(maxSpeed/6)*mapAxis*(speedscale/100.00);
break;
default:
speedAxis=minSpeed;
break;
}


diciamo che ragionandoci sopra vedo che il parametro "speedscale" ti cambia ad ogni "case" nel "void Multi", solo che hai una cosa che non capisco: case 1 dove poi hai un ulteriore switch ma il valore ai case 100,80,60 ed ai successivi case chi glieli da?

scusami se ti tartasso ma è per capire. quindi se tu premi il tasto multi, prima hai un opzione case 1 dove posso scegliere la velocità da 100 a step di 20 per ridurla, se premo un'altra volta passo alla velocità con step di riduzione 10 poi altra pressione step di 5 e poi di 1 o è un decremento logaritmico?
poi però hai ancora altri case sul primo switch dove in uno hai la max velocità e nell'altro una molto bassa (5) giusto?

Grazie e scusami ancora per la rottura di scatole


Top
 Profilo  
 
 Oggetto del messaggio: Re: motorizzazione asse X con arduino per fresa
MessaggioInviato: mar nov 30, 2021 13:54 
Non connesso
TORNITORE E FRESATORE

Iscritto il: ven nov 21, 2008 14:34
Messaggi: 1343
Località: Roma
Effettivamente quel pezzo di codice non ha più ragione di esistere.

Inizialmente facevo il mapAxis sul range totale dei valori dell'asse del joy da 0 a 1023 quindi avevo bisogno del case perchè la situazione di riposo era nel centro e le velocità dipendevano dal suo scostamento.
Poi ho deciso di "normalizzare la lettura" quindi a prescindere dal lato faccio in modo che il mapping ritorni sempre un numero da 0 a 7 numero che ho utilizzato per parzializzare la velocità.

Ho dovuto gestire il comportamento del potenziometro che su un lato mi arrivava a 7 e sull'altro si fermava a 6 pertanto trovavi quello che definivi Case "vuoto" che è semplicemente una OR con il successivo.

Comunque il codice l'ho modificato così

Codice:
int Joy(long val, int Axis)
{
long mapAxis;
int speedAxis;

//PER DARE STABILITA' AL JOY QUANDO E' PROSSIMO AL CENTRO
if (val <500 || val >524)
{

  if (val <=512)
   {
    mapAxis = map(val, 0, 512, 7, 0);
    Direction[Axis] = CW;
   }
  else
  {
    mapAxis = map(val+4, 513, 1023, 0, 7);
    Direction[Axis] = CCW;
  }

if (mapAxis==7) mapAxis=6;

speedAxis=(maxSpeed/6)*mapAxis*(speedscale/100.00);

}
else
{
  speedAxis = minSpeed;
}
 
return speedAxis;
}



La riduzione della velocità rispetto a quanto indicato dal joy la fa questa funzione che è richiemata dal rispettivo tasto e che prevede delle "scorciatoie" a seconda di come premi il tasto
btnX.attachClick(Multi, 1);
btnX.attachDoubleClick(Multi, 2);
btnX.attachLongPressStop(Multi, 3);

La riduzione della velocità diventa sempre più fine al raggiungimento delle percentuale minima



Codice:
void Multi(int Option)
{
beepON(1);
old_speedscale=speedscale;
switch (Option) {
case 1:
    switch (speedscale) {
    case 100:
    case 80:
    case 60:
      speedscale=speedscale - 20;
    break;
    case 40:
    case 30:
    case 20:
      speedscale=speedscale - 10;
    break;
    case 10:
      speedscale=speedscale - 5;
    break;
    case 5:
    case 4:
    case 3:
    case 2:
      speedscale=speedscale - 1;
    break;
    default:
      speedscale=100;
    break;
    }
    delay(100);
break;
case 2:
    speedscale=100;
    delay(300);
break;
case 3:
   speedscale=5;
    delay(300);
break;
}
}

_________________
-->I MIEI VIDEO<--


Top
 Profilo  
 
Visualizza ultimi messaggi:  Ordina per  
Apri un nuovo argomento Rispondi all’argomento  [ 108 messaggi ]  Vai alla pagina Precedente  1 ... 3, 4, 5, 6, 7, 8  Prossimo

Tutti gli orari sono UTC +1 ora


Chi c’è in linea

Visitano il forum: Nessuno e 5 ospiti


Non puoi aprire nuovi argomenti
Non puoi rispondere negli argomenti
Non puoi modificare i tuoi messaggi
Non puoi cancellare i tuoi messaggi
Non puoi inviare allegati

Cerca per:
Vai a:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Traduzione Italiana phpBB.it