Je m'explique.
Un ascenseur monte ou descend une rame. Dison que le plateau fait 500 mm de long. Il faut avoir des voies de stockage de 550 mm de longueur.
Avec le Paternoster, pour un empâtement de 1050 mm (500 pour l'ascenseur et 550 pour le stockage) ont a les deux en même temps. C.A.D la possibilité de stocker des rames de 1000 mm et non plus des rames de 500 mm.
Là ça deviens très intéressant.
Alors allons y (en douceur).
1) le matériel nécessaire pour la phase n°1.
Un Arduino Nano
. .
Un pont en H BTS7960
. .
Un moteur 24v avec réducteur (celui-ci est de récupération, nous verrons par la suite quel type de moteur du commerce utiliser).
. .
Une alimentation a découpage 10A
. .
Le programme injecté dans la Nano. Fait tourner le moteur dans un sens puis dans l'autre. Permet d'en tester le bon fonctionnement.
Code : Tout sélectionner
// Définition des broches pour le pont en H IBT-2
const int RPWM = 5;
const int LPWM = 6;
const int R_EN = 7;
const int L_EN = 8;
void setup() {
// 1. Configuration des broches en sorties et arrêt forcé immédiat
pinMode(R_EN, OUTPUT);
pinMode(L_EN, OUTPUT);
pinMode(RPWM, OUTPUT);
pinMode(LPWM, OUTPUT);
digitalWrite(R_EN, LOW);
digitalWrite(L_EN, LOW);
analogWrite(RPWM, 0);
analogWrite(LPWM, 0);
// 2. Pause de sécurité de 4 secondes (Le moment idéal pour allumer votre alimentation 24V)
delay(4000);
// 3. Activation des ponts après stabilisation de la Nano
digitalWrite(R_EN, HIGH);
digitalWrite(L_EN, HIGH);
}
void loop() {
// --- SENS 1 : Accélération progressive ---
for (int vitesse = 0; vitesse <= 255; vitesse++) {
analogWrite(RPWM, vitesse);
analogWrite(LPWM, 0);
delay(20); // Rampe douce (environ 5 secondes pour atteindre la vitesse max)
}
delay(4000); // Reste à fond (200 RPM) pendant 4 secondes
// --- SENS 1 : Décélération progressive ---
for (int vitesse = 255; vitesse >= 0; vitesse--) {
analogWrite(RPWM, vitesse);
analogWrite(LPWM, 0);
delay(20);
}
delay(3000); // Pause complète de 3 secondes à l'arrêt
// --- SENS 2 : Accélération progressive ---
for (int vitesse = 0; vitesse <= 255; vitesse++) {
analogWrite(RPWM, 0);
analogWrite(LPWM, vitesse);
delay(20);
}
delay(4000); // Reste à fond dans l'autre sens pendant 4 secondes
// --- SENS 2 : Décélération progressive ---
for (int vitesse = 255; vitesse >= 0; vitesse--) {
analogWrite(RPWM, 0);
analogWrite(LPWM, vitesse);
delay(20);
}
delay(5000); // Longue pause de 5 secondes avant de recommencer le cycle complet
}. .
Prochaine étape, brancher et utiliser le codeur du moteur.




