Ciao a tutti!
Mi presento sono Elia e non conosco minimamente l'elettronica, o meglio, sto imparando e su certe cose davvero faccio una fatica boia.
Quindi scusatemi se userò dei termini un po' impropri per questo forum, alla fin fine sono sempre un meccatronico che si intende più di meccanica che di elettronica.
Allora vi presento il problema del quale vorrei discutere.
Io ho un macchinario piccolino, diciamo 300x300x400 come ingombri e questo macchinario in miniatura, che è un trasportatore su binari (un prototipo), ha 3 movimenti:
1 Asse (asse x) consente la traslazione del trasportatore;
2 Asse (asse Z) consente al trasportatore di prelevare il materiale e di trasportarlo tramite gancio;
3 Asse (coperchio). Questo è un accessorio che consente di coprire il fondo del trasportatore per evitare che il carico, perdendo liquido, vada a sporcare in giro.
In linea di massima questa è la macchinina che sto creando. Del dimensionamento dei motori mi sono occupato con grande gioia e alla fine sto usando dei motoriduttori di 2 dimensioni (2 grandi per asse X e Z) e uno piccolo per l'accessorio coperchio.
Le specifiche elettriche dei motori sono più o meno simili:
V = 12V
I = 3 A
Ciò che voglio che faccia è questo.
ASSE X
Parti in posizione A
Accelera fino alla velocità massima
Mantieni la velocità massima per X secondi
Decelera fino a fermarti al punto B
ASSE Z
Fai scendere il gancio subito a velocità massima
Decelera il gancio fino al raggiungimento del punto di prelievo
Attendi X secondi
Accelera il gancio fino a velocità massima
Mantieni la velocità massima per X secondi
Decelera poco prima di arrivare in cima
ACCESSORIO
Accelera l'accessorio fino a velocità massima
Mantieni la velocità per X secondi
Decelera fino allo stop
Poi il ciclo si ripete al contrario e ricomincia all'infinito.
Il tutto comandato da un pulsante di on e off, con ritorno in home per evitare che alla successiva accensione perda il riferimento (quest'ultima è opzionale).
La strada più completa sarebbe quella mettere sensori di finecorsa a tutto e dire al programma:
Quando arrivi in posizione fermati, aspetta e poi riparti fino a che non tocchi l'altra posizione e così via.
Questa soluzione si può valutare.
La cosa però ancora più semplice da fare potrebbe essere usare i tempi per dilazionare i movimenti e quindi dire, muoviti avanti di X secondi, aspetta e poi torna indietro di X secondi.
In questo modo il sistema non sa esattamente dove si trova però risulta più semplice.
Encoder al momento non ne ho valutati ma penso di non metterne (anche perchè richiedono comunque l'uso di finecorsa).
PRIMA DOMANDA:
Secondo voi risulta fattibile una cosa del genere da programmare con arduino (ho una UNO R3 e una MEGA)?
SECONDA DOMANDA:
Per pilotare i motori avevo intenzione di usare dei relè come ponte ad "H" ma essi non consentono accelerazioni e decelerazioni ma solo "ON" e "OFF", quindi ho dovuto scartarli.
La seconda opzione è ricaduta quindi su dei MOSFET che agiscono come interruttori e che permettono di moderare la quantità di corrente in uscita.
Questi disposti come ponte ad "H" e collegati a due a due potrebbero consentirmi di ottenere il mio scopo?
Ci sono per caso modelli di mosfet già organizzati in board (non sfusi) da poter utilizzare?
Se si, qualcuno potrebbe gentilmente darmi il codice commerciale?
Ho disponibile uno schema di funzionamento nel dettaglio di come deve funzionare.
Posso allegarlo come PDF
Se soluzioni non ce ne sono comunque potrei valutare di usare i cari vecchi relè rinunciando però ad una parte importante.
Grazie mille