Ciao a tutti e buon 2021, sto cercando di controllare un motore estratto da una stampante, un m49sp-2nk con un arduino uno attraverso una schedina A4988.
Lo schema di collegamento che ho adottato e il software caricato li ho presi da qui, questo è il collegamento:
Questo è il sw, ho modificato solo il valore di SPR perchè era scritto per uno stepper da 1,8° ma il mio è da 7,5°
// Drive Stepper motor using A4988 stepper motor driver
// for more info visit iknowvations.in
// first define the pins
const int DirPin = 4; // this pin defines direction CW or CCW
const int StepPin = 5; // pulse this pin to move one step
const int SPR = 48; // Steps per revolution era 200 supponendo 1,8° ma è da 7,5°
void setup()
{
// Make pins as Outputs
pinMode(StepPin, OUTPUT);
pinMode(DirPin, OUTPUT);
}
void loop()
{
// First let us rotate shaft clockwise
digitalWrite(DirPin, HIGH); // defines the direction to clockwise
// Pulse the step pin
for(int x = 0; x < SPR; x++)
{
digitalWrite(StepPin, HIGH);
delayMicroseconds(1000);
digitalWrite(StepPin, LOW);
delayMicroseconds(1000);
}
delay(1000); // Short delay of one second
// Now rotate shaft counterclockwise
digitalWrite(DirPin, LOW);
// Again pulse the step pin
for(int x = 0; x < SPR; x++)
{
digitalWrite(StepPin, HIGH);
delayMicroseconds(1000);
digitalWrite(StepPin, LOW);
delayMicroseconds(1000);
}
delay(1000); // Short delay of one second
}
Arduino è alimentato dalla usb collegata al pc attraverso un hub alimentato, il motore invece è alimentato a 12 v tramite un alimentatore da 1,2 A.
Quando alimento il motore non ottengo il movimento che mi aspetto, si comporta come se "perdesse" dei passi, ignora l'inversione di direzione, a volte inverte per un paio di passi e poi torna a ruotare nel verso precedente, e sinceramente non mi spiego quale possa essere il problema.
Ho un po' di dubbi, il primo riguarda il collegamento delle fasi (si chiamano così?) del motore alla schedina, ho identificato i due avvolgimenti con il tester, i fili sono 4, 3 rossi e uno verde, e li ho collegati alla schedina come da schema, quindi i pin 1A e 1B a un avvolgimento e i 2A e 2B all'altro, ma il motore non si muoveva, vibrava e basta, quindi l'ho collegato A1-A2 e B1-B2, e ha cominciato a muoversi, ma non ho idea della polarità degli avvolgimenti, e in rete non ho trovato schemi esplicativi, ma anche invertendo non ho ottenuto cambiamenti.
Il secondo dubbio riguarda la regolazione dell'assorbimento, quel trimmer presente sulla schedina. La regolazione prevede la misura della tensione fra il centro del trimmer e la massa a schedina alimentata, poi c'è un calcolo da fare che non mi è ben chiaro, ma prima ancora del calcolo, ho il problema di non conoscere nè le caratteristiche del motore (in rete non ho trovato nulla più che un pdf con info molto basiche), nè la resistenza interna del mio multimetro (che è un winapex ET8104). Ho fatto delle prove con il trimmer in posizioni diverse e mi è sembrato che alzando il valore le cose vadano meglio, ma anche al massimo non ho risolto.
Pensando a problemi di "potenza" ho provato ad alimentare il motore con un alimentatore da 2A ma non è cambiato nulla, e fondamentalmente non so se mi trovo davanti a un problema elettrico, di collegamento o di sw.
Cosa sto facendo di sbagliato?
Grazie in anticipo per avermi dedicato il vostro tempo.
gp

