Je viens d'acquérir le moteur pas-à-pas proposé par snootlab (au passage merci pour la disponibilité de l'équipe).
Ayant déjà le starter kit, je l'ai câblé par l'intermédiaire des Darlington de l'ULN2803A (du starter kit).
En suite j'ai utilisé l'exemple fourni dans les exemples de l'IDE Arduino (à peine modifié, voir ci-dessous, sans les commentaires):
- Code: Tout sélectionner
/* Moteur: digital pins 8 - 11 de l'Arduino. */
#include <Stepper.h>
const int stepsPerRevolution = 48; // PF35t-48L4
Stepper myStepper(stepsPerRevolution, 8,9,10,11);
void setup() {
// Vitesse: 30 rpm:
myStepper.setSpeed(30);
}
void loop() {
// 1 tour complet dans un sens:
myStepper.step(stepsPerRevolution);
delay(1000);
// 1 tour complet dans l'autre sens:
myStepper.step(-stepsPerRevolution);
delay(1000);
}
Avec le schéma / câblage suivant
Avec: COMMUN 5 + 6 = VERT + ROUGE
et 1 = JAUNE, 2 = ORANGE, 3 = NOIR et 4 = MARRON
Et ça marche très exactement comme on s'y attend (un tour complet, une seconde, un tour complet dans l'autre sens, à l'arrêt il y a un couple important). Le problème arrive au bout de quelques allers-retours. Le moteur se met à chauffer, chauffer, chauffer.
Quelques recherches sur internet et je découvre qu'il faudrait limiter l'intensité délivrée (j'utilise le transfo de la freebox: 12V / 1.2A) pour alimenter mon arduino Uno, et utilise 'Vin' pour alimenter le moteur).
Sachant que la carte est limitée, j'alimente donc le moteur avec '5V'. Super, ça vibre moins et le moteur ne chauffe plus.
Sauf que cette fois c'est le régulateur de tension de la carte qui brûle franchement.
Je dois donc construire un limiteur d'intensité. Quelles seraient les valeurs d'intensité à viser (ou de voltage/intensité)? Je n'arrive pas à les trouver/comprendre sur la fiche technique.
Question subsidiaire:
Quel est le moyen le plus simple pour y arriver (résistance? zéner? transistor de délestage?)? Et le moyen le moins gaspilleur d'énergie?
D'avance merci pour vos éclairages.