besoin de votre aide , j'aimerai réaliser un projet ( pour animer des sujets ) de type treuil avec un filain avec l'aide d'un moteur pas à pas et driver DM 542T .
j'ai déja réalisé divers projets avec ce type de moteur ( en utilisant que 3 fils sur le driver : pull step / pull dir / GND et la fonction digital write pour faire avancer le moteur de N pas )
L'idée pour ce projet serait d'avoir à l’allumage le moteur qui va faire sa position Home vers un capteur
puis selon la valeur du potar A se déroulerai dans un sens ou l'autre , valeur du potar 0 = filain à 0 mètre
potar A 1023 = filain à 1 mètres et si je met la valeur du potar à la moitié ( 512 ) le filain reviendrai à 50 cm .......
et un autre potar B , pour agir sur la vitesse de déplacement du filain
pouvez vous me donner des pistes pour la réalisation du principe du programme ( je suis novice quand même dans le secteur )
je vous joint le schéma de principe
merci à tous
cordialement
dans le setup vous faites "monter" jusqu'au déclenchement du contacteur. Vous savez que vous êtes alors à la position 0
vous faites des premières mesures manuelles pour savoir combien de pas vous devez faire pour aller à 1m et vous mettez cela dans une constante (eg NB_STEPS_POUR_1M)
dans la loop vous lisez les potards et utilisez la libraire accelStepper pour demander au stepper (moteur pas à pas) de bouger dans le bon sens du bon nombre de pas jusqu'à max NB_STEPS_POUR_1M, à la bonne vitesse
un grand merci JML , pour tes conseils
cependant j'ai déjà tenter des tests avec ACCelstepper , mais j'ai du mal à comprendre le principe de cette bibliothèque ( je n'ai pas trouvé de tuto expliquant les diff fonctions et principe de commande )
Avec Accelstepper on peu utiliser que 3 fils sur le driver ?
Constructor. You can have multiple simultaneous steppers, all moving at different speeds and accelerations, provided you call their run() functions at frequent enough intervals. Current Position is set to 0, target position is set to 0. MaxSpeed and Acceleration default to 1.0. The motor pins will be initialised to OUTPUT mode during the constructor by a call to enableOutputs().
Parameters
[in] interface Number of pins to interface to. Integer values are supported, but it is preferred to use the MotorInterfaceType symbolic names. AccelStepper::DRIVER (1) means a stepper driver (with Step and Direction pins). If an enable line is also needed, call setEnablePin() after construction. You may also invert the pins using setPinsInverted(). AccelStepper::FULL2WIRE (2) means a 2 wire stepper (2 pins required). AccelStepper::FULL3WIRE (3) means a 3 wire stepper, such as HDD spindle (3 pins required). AccelStepper::FULL4WIRE (4) means a 4 wire stepper (4 pins required). AccelStepper::HALF3WIRE (6) means a 3 wire half stepper, such as HDD spindle (3 pins required) AccelStepper::HALF4WIRE (8) means a 4 wire half stepper (4 pins required) Defaults to AccelStepper::FULL4WIRE (4) pins.
[in] pin1 Arduino digital pin number for motor pin 1. Defaults to pin 2. For a AccelStepper::DRIVER (interface==1), this is the Step input to the driver. Low to high transition means to step)
[in] pin2 Arduino digital pin number for motor pin 2. Defaults to pin 3. For a AccelStepper::DRIVER (interface==1), this is the Direction input the driver. High means forward.
[in] pin3 Arduino digital pin number for motor pin 3. Defaults to pin 4.
[in] pin4 Arduino digital pin number for motor pin 4. Defaults to pin 5.
[in] enable If this is true (the default), enableOutputs() will be called to enable the output pins at construction time.
donc par défaut c'est 4 fils mais sans doute avec FULL3WIRE ou DRIVER ça marchera (jamais essayé)