Qualsiasi opinione e consiglio è ben accetto. Grazie
Come pilotare doppio motore in un asse
- MauPre75
- Senior
- Messaggi: 2984
- Iscritto il: venerdì 1 dicembre 2017, 14:43
Come pilotare doppio motore in un asse
Qualsiasi opinione e consiglio è ben accetto. Grazie
- hellfire39
- God
- Messaggi: 3789
- Iscritto il: domenica 16 dicembre 2012, 9:04
- Località: AN
Re: Come pilotare doppio motore in un asse
Dai consigli di elettronica, poi ti perdi in un bicchier d'acqua?
Apri il datasheet dell'atmega328 (ti sei scordato di menzionare quale scheda di controllo utilizzi, presumo Arduino) e guardi quanta corrente può tirare l'uscita di arduino.
Nel caso volessi pilotare driver piccini, tipo quelli che si montano sulle "ramps", non avresti problema a pilotare più driver in parallelo perché il loro ingresso è un ingresso logico e la corrente richiesta è irrisoria.
Nel caso in cui vuoi pilotare driver più grossini, tipo i DQ542 allora bisogna fare due calcoli. Questi driver hanno, solitamente, l'ingresso fotoaccoppiato. Questo significa che la tua uscita deve pilotare un led e quindi le correnti in gioco saranno più alte.
Nel caso dei driver in mio possesso, il produttore dichiara di aver messo una resistenza di 200 ohm in serie al led. Questo significa che, grossomodo, ogni driver assorbe (5-1)/200 = 20 mA (assumendo 1 volt di caduta sul led).
In questo caso, per pilotare 2 driver in parallelo, siamo al limite della singola porta, fattibile ma sconsigliato.
A questo punto, la soluzione più semplice è quella di utilizzare un transistor da mettere tra Arduino e i due driver. Vedi foto allegata.

Apri il datasheet dell'atmega328 (ti sei scordato di menzionare quale scheda di controllo utilizzi, presumo Arduino) e guardi quanta corrente può tirare l'uscita di arduino.
Nel caso volessi pilotare driver piccini, tipo quelli che si montano sulle "ramps", non avresti problema a pilotare più driver in parallelo perché il loro ingresso è un ingresso logico e la corrente richiesta è irrisoria.
Nel caso in cui vuoi pilotare driver più grossini, tipo i DQ542 allora bisogna fare due calcoli. Questi driver hanno, solitamente, l'ingresso fotoaccoppiato. Questo significa che la tua uscita deve pilotare un led e quindi le correnti in gioco saranno più alte.
Nel caso dei driver in mio possesso, il produttore dichiara di aver messo una resistenza di 200 ohm in serie al led. Questo significa che, grossomodo, ogni driver assorbe (5-1)/200 = 20 mA (assumendo 1 volt di caduta sul led).
In questo caso, per pilotare 2 driver in parallelo, siamo al limite della singola porta, fattibile ma sconsigliato.
A questo punto, la soluzione più semplice è quella di utilizzare un transistor da mettere tra Arduino e i due driver. Vedi foto allegata.
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
-
- God
- Messaggi: 3614
- Iscritto il: lunedì 14 aprile 2014, 10:36
- Località: Perugia
Re: Come pilotare doppio motore in un asse
Ciao Maupre75
dunque nella versione 1.1h di Grbl ci sono delle novità per il doppio motore ...faccio prima a linkare ....
https://github.com/gnea/grbl/releases
Non l'ho provata ma dovrebbe proprio andare a risolvere queste problematiche....
Saluti
dunque nella versione 1.1h di Grbl ci sono delle novità per il doppio motore ...faccio prima a linkare ....
https://github.com/gnea/grbl/releases
Non l'ho provata ma dovrebbe proprio andare a risolvere queste problematiche....
Saluti
- MauPre75
- Senior
- Messaggi: 2984
- Iscritto il: venerdì 1 dicembre 2017, 14:43
Re: Come pilotare doppio motore in un asse
Ho sempre dato opinioni di ciò che ho già fatto ma non oso sostituirmi ad uno specialista del campo soprattutto in cose non esplorate, ricordo che in un altra discussione avevi fatto ragionamento del caso ma non ricordo quale ed i dettagli.
La scheda è arduino che ricordo possa avere un massimo di 40mA per pin prelevabili, i driver sono tb6560 singolo asse, che hanno il fototransistor in ingresso e non so quanto assorbe, se faccio una misurazione con il tester nel pin dir da cui posso avere una misurazione in continua e non pulsata come nel pin step pensi che sarà attendibile?
Per non rischiare farei direttamente l'aggiunta del transistor, vorrei mettere motori da tre A su tutti gli assi anche se nell'asse lungo sarebbe il doppio che nell'asse sul ponte, lo trovo un po' sprecato ed è un ragionamento che merita discussione a se.
Grazie per il chiarimento, ho un driver di scorta e tempo permettendo posso fare dei test a breve.
Grazie Junior vado a vedere in pausa pranzo.
La scheda è arduino che ricordo possa avere un massimo di 40mA per pin prelevabili, i driver sono tb6560 singolo asse, che hanno il fototransistor in ingresso e non so quanto assorbe, se faccio una misurazione con il tester nel pin dir da cui posso avere una misurazione in continua e non pulsata come nel pin step pensi che sarà attendibile?
Per non rischiare farei direttamente l'aggiunta del transistor, vorrei mettere motori da tre A su tutti gli assi anche se nell'asse lungo sarebbe il doppio che nell'asse sul ponte, lo trovo un po' sprecato ed è un ragionamento che merita discussione a se.
Grazie per il chiarimento, ho un driver di scorta e tempo permettendo posso fare dei test a breve.
Grazie Junior vado a vedere in pausa pranzo.
- hellfire39
- God
- Messaggi: 3789
- Iscritto il: domenica 16 dicembre 2012, 9:04
- Località: AN
Re: Come pilotare doppio motore in un asse
Aver fatto non significa "aver capito", al punto tale da dare consigli. Più volte ho notato affermazioni "dubbie".Ho sempre dato opinioni di ciò che ho già fatto
Si corre sempre il rischio di dare informazioni sbagliate e fuorviare l'utente che ha fatto la richiesta.
Anche da questa frase traspare una certa mancanza di basi.se faccio una misurazione con il tester nel pin dir da cui posso avere una misurazione in continua e non pulsata come nel pin step pensi che sarà attendibile?
La risposta è SI, se vuoi fare una misura in corrente continua, applicando 5V. Non ci sono effetti capacitivi o induttivi apprezzabili. Ovviamente, in continua, otterrai il valore di picco della corrente.
Nel caso del segnale in uscita da Arduino, il valore di picco sarà lo stesso ma il valore medio sarà molto più basso.
Attenzione: questo non vale per il segnale DIR!!! Tale segnale sarà SEMPRE a 1 o a 0 in base alla direzione in cui ti stai muovendo. Quindi, per questo segnale bisogna considerare lo stesso assorbimento che avresti nel caso continuo.
Ed è vero che il singolo pin di arduino tira fino a 40mA. Ma poi bisogna considerare anche l'assorbimento totale dovuto a tutti i piedini. Visto che un transistor costa una frazione di euro, io non correrei rischi.
C'è anche un'altra soluzione esplorabile: mettere una seconda resistenza da 180-220 ohm in serie all'optoisolatore, dimezzandogli la corrente e verificare che non perda passi. Una decina di mA dovrebbero essere più che sufficienti per l'opto.
A pausa pranzo, apro un vecchio driver DQ542 rotto che ho sul tavolo e vedo quali fotoaccoppiatori ci sono dentro.
- MauPre75
- Senior
- Messaggi: 2984
- Iscritto il: venerdì 1 dicembre 2017, 14:43
Re: Come pilotare doppio motore in un asse
Ho scaricato il datasheet del 6n137 del driver, se ho capito bene assorbe 10mA il fotodiodo ma non so se è il parametro giusto, c'è un altro parametro di 50mA ma credo che sia la corrente massima del transistor, non essendo esperto chiedo.
Per i transistor non è un problema ne ho per me e gli amici, un bc237 con i suoi 100mA basta e avanza.
Escludo l'opzione della resistenza che non mi sembra una cosa indicata in un caso simile, il rischio è troppo alto di far danni.
Se la lettura di 10mA è corretta Arduino non dovrebbe avere problemi, i pin utilizzati sono 3x step e dir, 3x limit, 1 pwm, 1 x liquido (utilizzo prossimamente), mi manca solo ricercare la capacità massima di prelievo di Arduino per capire se stiamo dentro oppure no, nel caso no serve necessariamente il transistor, se si e la lettura è corretta posso provare a collegare il driver senza transistor.
Per i transistor non è un problema ne ho per me e gli amici, un bc237 con i suoi 100mA basta e avanza.
Escludo l'opzione della resistenza che non mi sembra una cosa indicata in un caso simile, il rischio è troppo alto di far danni.
Se la lettura di 10mA è corretta Arduino non dovrebbe avere problemi, i pin utilizzati sono 3x step e dir, 3x limit, 1 pwm, 1 x liquido (utilizzo prossimamente), mi manca solo ricercare la capacità massima di prelievo di Arduino per capire se stiamo dentro oppure no, nel caso no serve necessariamente il transistor, se si e la lettura è corretta posso provare a collegare il driver senza transistor.
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
- hellfire39
- God
- Messaggi: 3789
- Iscritto il: domenica 16 dicembre 2012, 9:04
- Località: AN
Re: Come pilotare doppio motore in un asse
Il fotodiodo è un diodo. Come tale assorbe quello che decidi tu in base alla tensione che ha in ingresso. Attenzione, il diodo, da solo, ha una curva che cresce esponenzialmente, quindi una variazione di pochi mV può far aumentare a dismisura la corrente. Ecco perché c'è una resistenza in serie. Ed è questa che stabilisce la corrente che scorrerà sul circuito.
Vf è il forward voltage, la tensione tipica (1.4V) quando scorrono 10mA attraverso di lui (ed è più o meno costante per un ampio range di valori di corrente, per i nostri calcoli possiamo considerarla costante).
Quindi devi mettere una resistenza in serie in modo da avere quei 5V.
Vediamo i calcoli. Ho 5V in ingresso e 1,4 volt di caduta sul diodo. Ne rimangono:
5V - 1,4V = 3,6V
per la legge di Ohm:
3,6 / 0,01A = 360 Ohm.
Se il driver ha questa resistenza in serie, assorbirà 10mA, se la resistenza è più bassa, assorbirà di più, se la resistenza è più alta, assorbirà di meno.
Tutto molto semplice.
Se ti discosti troppo dal valore di corrente tipico, il fotoaccoppiatore non funzionerà bene, o non funzionerà affatto.
Il 50mA sta sotto la voce Absolute maximum ratings. Ovvero i valori massimi da non superare (e magari da non avvicinare...)
Vf è il forward voltage, la tensione tipica (1.4V) quando scorrono 10mA attraverso di lui (ed è più o meno costante per un ampio range di valori di corrente, per i nostri calcoli possiamo considerarla costante).
Quindi devi mettere una resistenza in serie in modo da avere quei 5V.
Vediamo i calcoli. Ho 5V in ingresso e 1,4 volt di caduta sul diodo. Ne rimangono:
5V - 1,4V = 3,6V
per la legge di Ohm:
3,6 / 0,01A = 360 Ohm.
Se il driver ha questa resistenza in serie, assorbirà 10mA, se la resistenza è più bassa, assorbirà di più, se la resistenza è più alta, assorbirà di meno.
Tutto molto semplice.
Se ti discosti troppo dal valore di corrente tipico, il fotoaccoppiatore non funzionerà bene, o non funzionerà affatto.
Il 50mA sta sotto la voce Absolute maximum ratings. Ovvero i valori massimi da non superare (e magari da non avvicinare...)
- MauPre75
- Senior
- Messaggi: 2984
- Iscritto il: venerdì 1 dicembre 2017, 14:43
Re: Come pilotare doppio motore in un asse
Quando dici che c'è una resistenza intendi già montata nel driner? Chiedo perché da quello che ho capito è che se il fotodiodo a 1,4v assorbe 10mA seguendo la curva assorbirebbe con i 5v cosi tanti mA che i pin di Arduino non potrebbero mai sostenere e bruciarsi, nel caso non avesse una resistenza in serie, ho capito bene? Se la resistenza è già nel driver ha senso mettere una resistenza esterna? E se tira 10mA ha senso mettere un transistors? Quale problema potrebbe esserci ad aggiungere un altro driver allo stesso pin senza resistenza e/o transistor?
Guardando il diagramma della curva a 25° con i 1,4v ci sono i 10mA, a 1,6 siamo già a 40mA circa, non oso pensare a 5v.
Forse è meglio passare al tester per fare lettura prima di fare un corso prelaurea per me
Certo che il fattore temperatura non è neanche da sottovalutare, anche se di poco la curva si incrementa di più, dai 25° ai 30° che solo ad agosto il mio locale raggiunge non credo sia tanto ma un po' di differenza ci sarà, per il resto dell'anno è molto fresco o freddo.
Domani non so se potrò trovare tempo libero ma se riesco a rubare 5minuti faccio misurazione, mal che vada ci risentiamo sabato pomeriggio.
Grazie dei chiarimento e se ho frainteso qualcosa scusa l'essere tonto
Guardando il diagramma della curva a 25° con i 1,4v ci sono i 10mA, a 1,6 siamo già a 40mA circa, non oso pensare a 5v.
Forse è meglio passare al tester per fare lettura prima di fare un corso prelaurea per me

Certo che il fattore temperatura non è neanche da sottovalutare, anche se di poco la curva si incrementa di più, dai 25° ai 30° che solo ad agosto il mio locale raggiunge non credo sia tanto ma un po' di differenza ci sarà, per il resto dell'anno è molto fresco o freddo.
Domani non so se potrò trovare tempo libero ma se riesco a rubare 5minuti faccio misurazione, mal che vada ci risentiamo sabato pomeriggio.
Grazie dei chiarimento e se ho frainteso qualcosa scusa l'essere tonto

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
- hellfire39
- God
- Messaggi: 3789
- Iscritto il: domenica 16 dicembre 2012, 9:04
- Località: AN
Re: Come pilotare doppio motore in un asse
Di solito è pensata per i 5V e viene suggerito di aggiungerne una esterna se il pilotaggio è maggiore. Ad es. 24V.
Come hai visto anche te, non si può pilotare un diodo in tensione. Altrimenti basta una piccola variazione di tensione per bruciarlo. La resistenza in serie ha proprio questo scopo stabilizzatore.
Perché ho detto che potrebbe essere necessario aggiungere una resistenza anche a 5V? Dipende dal valore della resistenza interna del driver. Se è molto bassa, tira più corrente (ad es. 20mA) e potrebbe essere sconsigliabile avere due driver in parallelo su una singola uscita di arduino.
Ad esempio i miei driver richiedono 16mA a 5V. Quindi, metterne due in parallelo, signfica richiedere ad Arduino 32mA.
Fattibile, ma sconsigliabile. Lo farei per delle prove, non lo farei su un oggetto che poi deve lavorare a lungo.