Ciao a tutti Pronterface è un software open-source che consente di controllare e gestire una stampante 3D attraverso un’interfaccia grafica. Tuttavia, Pronterface può anche essere utilizzato per controllare motori passo-passo collegati a una scheda Arduino, ad esempio per realizzare un robot o un dispositivo di controllo del movimento.
In questo articolo, spiegheremo come utilizzare Pronterface con Arduino per controllare dei motori passo-passo.
Per utilizzare Pronterface con Arduino, avremo bisogno di alcuni componenti elettronici:
- una scheda Arduino Uno (o simile);
- un modulo driver per motori passo-passo (ad esempio, il modulo A4988 o il modulo DRV8825);
- uno o più motori passo-passo;
- una fonte di alimentazione per la scheda Arduino e il modulo driver.
Una volta raccolti i componenti, seguiamo i seguenti passaggi:
- Colleghiamo il modulo driver al motore passo-passo seguendo il diagramma di collegamento del modulo (disponibile sul web).
- Colleghiamo il modulo driver alla scheda Arduino come segue:
- Il pin IN1 del modulo driver al pin 8 della scheda Arduino;
- Il pin IN2 del modulo driver al pin 9 della scheda Arduino;
- Il pin IN3 del modulo driver al pin 10 della scheda Arduino;
- Il pin IN4 del modulo driver al pin 11 della scheda Arduino;
- Il pin EN del modulo driver al pin 7 della scheda Arduino;
- Il pin VCC del modulo driver alla fonte di alimentazione;
- Il pin GND del modulo driver alla GND della scheda Arduino e alla fonte di alimentazione.
- Collegare la fonte di alimentazione alla scheda Arduino e al modulo driver.
- Caricare lo sketch (codice) sul software Arduino IDE. Uno sketch semplice che consente di far muovere il motore passo-passo avanti e indietro è il seguente:
const int stepPin = 8; const int dirPin = 9; const int stepsPerRevolution = 200; // Numero di passi per una rivoluzione completa del motore void setup() { pinMode(stepPin, OUTPUT); pinMode(dirPin, OUTPUT); } void loop() { digitalWrite(dirPin, HIGH); // Impostare la direzione del motore (in avanti o indietro) for(int i = 0; i < stepsPerRevolution; i++) { digitalWrite(stepPin, HIGH); delayMicroseconds(500); digitalWrite(stepPin, LOW); delayMicroseconds(500); } delay(1000); // Attendi un secondo digitalWrite(dirPin, LOW); // Inverti la direzione del motore for(int i = 0; i < stepsPerRevolution; i++) { digitalWrite(stepPin, HIGH); delayMicroseconds(500); digitalWrite(stepPin, LOW); delayMicroseconds(500); } delay(1000); // Attendi un secondo }
- Carichiamo lo sketch sulla scheda Arduino utilizzando il software Arduino IDE.
- Apriamo Pronterface sul nostro computer e collegare la scheda Arduino tramite la porta seriale corretta.
- Una volta connesso, il prompt di Pronterface ci chiederà di inserire alcuni comandi. Nel nostro caso, vogliamo far muovere il motore passo-passo. Quindi, inseriamo i seguenti comandi:
M17
: abilita i motoriM106 S255
: attiva il motore al massimo della velocitàM106 S0
: disattiva il motore
- Pronterface ci fornirà un prompt dove possiamo inserire questi comandi. Inseriamo il primo comando (
M17
) per abilitare i motori, quindi inseriamo i comandi per far muovere il motore in avanti e indietro, come nel seguente esempio: - Il motore passo-passo dovrebbe muoversi avanti e indietro come previsto. È possibile modificare la velocità e la direzione del motore modificando i parametri dei comandi.
In conclusione, utilizzare Pronterface con Arduino per controllare dei motori passo-passo può sembrare complesso, ma con la giusta attenzione ai dettagli, è abbastanza semplice. Seguendo i passaggi sopra descritti e utilizzando lo sketch adatto, sarete in grado di far muovere il vostro motore passo-passo in pochi minuti.