Ci-dessous, les différences entre deux révisions de la page.
Dernière révision Les deux révisions suivantes | |||
materiel:a4988:accueil [2018/04/19 14:41] resonance créée |
materiel:a4988:accueil [2018/04/19 14:43] resonance |
||
---|---|---|---|
Ligne 2: | Ligne 2: | ||
{{: | {{: | ||
+ | |||
+ | |||
+ | Voir projet [[projets: | ||
+ | |||
Ligne 12: | Ligne 16: | ||
* nema 1.7 A | * nema 1.7 A | ||
* Vref = 1.7/ 1.4 = 1.2V | * Vref = 1.7/ 1.4 = 1.2V | ||
- | * Test avec 9v . 06.01.2018 | + | * Test avec 9v . 06.01.2018 |
+ | |||
+ | // pins | ||
+ | #define X_DIR 5 | ||
+ | #define Y_DIR 6 | ||
+ | #define Z_DIR 7 | ||
+ | #define X 2 | ||
+ | #define Y 3 | ||
+ | #define Z 4 | ||
+ | #define EN 8 | ||
+ | |||
+ | // Variables | ||
+ | int count=0; | ||
+ | int vitesse = 500; // vitesse 500 OK | ||
+ | int count_hour = 60; // normalement ~3200 pas pour changer d' | ||
+ | |||
+ | void setup(){ | ||
+ | // Pins | ||
+ | pinMode(X, OUTPUT); | ||
+ | pinMode(Y, OUTPUT); | ||
+ | pinMode(Z, OUTPUT); | ||
+ | pinMode(X_DIR, | ||
+ | pinMode(Y_DIR, | ||
+ | pinMode(Z_DIR, | ||
+ | |||
+ | // Directions | ||
+ | digitalWrite(X_DIR, | ||
+ | digitalWrite(Y_DIR, | ||
+ | digitalWrite(Z_DIR, | ||
+ | |||
+ | // Enable | ||
+ | pinMode(EN, OUTPUT); | ||
+ | digitalWrite(EN, | ||
+ | } | ||
+ | |||
+ | void loop(){ | ||
+ | count++; | ||
+ | moveMotor(X, | ||
+ | moveMotor(Y, | ||
+ | if ((count % count_hour) == 0) { | ||
+ | moveMotor(Z, | ||
+ | } | ||
+ | } | ||
+ | |||
+ | void moveMotor(int _pin, int _nb, int _delay){ | ||
+ | for (int i = 0; i < _nb; i++) { | ||
+ | digitalWrite(_pin, | ||
+ | delayMicroseconds(_delay); | ||
+ | digitalWrite(_pin, | ||
+ | delayMicroseconds(_delay); | ||
+ | } | ||
+ | } | ||
+ | |||
*/ | */ | ||
#define EN 8 | #define EN 8 | ||
Ligne 59: | Ligne 116: | ||
step(X_STP, 53); //X, Clockwise | step(X_STP, 53); //X, Clockwise | ||
delay(1000); | delay(1000); | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | |||
+ | Test vitesse | ||
+ | |||
+ | <code cpp> | ||
+ | // Arduino UNO / CNC shield / 3 * A4988 drivers (microstep (1/16)) / 3 Steppers nema 17 HS??? | ||
+ | |||
+ | // pins | ||
+ | #define X_DIR 5 | ||
+ | #define Y_DIR 6 | ||
+ | #define Z_DIR 7 | ||
+ | #define X 2 | ||
+ | #define Y | ||
+ | #define Z | ||
+ | #define EN 8 | ||
+ | |||
+ | // Variables | ||
+ | int count=0; | ||
+ | int vitesse = 500; // vitesse 500 OK | ||
+ | int count_hour = 60; // normalement ~3200 pas pour changer d' | ||
+ | |||
+ | void setup(){ | ||
+ | // Pins | ||
+ | pinMode(X, OUTPUT); | ||
+ | pinMode(Y, OUTPUT); | ||
+ | pinMode(Z, OUTPUT); | ||
+ | pinMode(X_DIR, | ||
+ | pinMode(Y_DIR, | ||
+ | pinMode(Z_DIR, | ||
+ | |||
+ | // Directions | ||
+ | digitalWrite(X_DIR, | ||
+ | digitalWrite(Y_DIR, | ||
+ | digitalWrite(Z_DIR, | ||
+ | |||
+ | // Enable | ||
+ | pinMode(EN, OUTPUT); | ||
+ | digitalWrite(EN, | ||
+ | } | ||
+ | |||
+ | void loop(){ | ||
+ | count++; | ||
+ | moveMotor(X, | ||
+ | moveMotor(Y, | ||
+ | if ((count % count_hour) == 0) { | ||
+ | moveMotor(Z, | ||
+ | } | ||
+ | } | ||
+ | |||
+ | void moveMotor(int _pin, int _nb, int _delay){ | ||
+ | for (int i = 0; i < _nb; i++) { | ||
+ | digitalWrite(_pin, | ||
+ | delayMicroseconds(_delay); | ||
+ | digitalWrite(_pin, | ||
+ | delayMicroseconds(_delay); | ||
+ | } | ||
} | } | ||
</ | </ |