Depuis cet été, je passe pas mal de temps à fabriquer ma machine a cocktails, j'essaye, je teste, je change, je crame des arduino, c'est toute une aventure !
Voici quelques photos pour mieux visualiser le projet :
Au début je partais sur un nema14 avec une tige filetée, mais cela ne me convient pas, alors je pars sur un servo moteur assez puissant pour presser le distributeur ( la pièce n'est pas encore faite ).
Il y aura un détecteur de présence de verre ( RP-S40-ST )
J'ai commencé un code, au début un code pour tester les pompes, puis un second pour tester mon axe Y avec un arrêt endstop. Les deux codes se téléversent bien et les actions fonctionnent correctement.
Par contre, quand j'assemble les deux ensemble, ça se téléverse bien, j'ai mes pompes qui s'actionnent, mais pas mon axe Y, le chariot ne se déplace pas.
Comment peux t on faire pour que tout fonctionne ?
Cordialement
Les deux codes pour les 2 actions sont bloquantes car elles utilisent des delay.
Cela veut dire que chacune d'elles nécessite tout le temps machine.
Il faut regarder du côté des deux codes des exemples que l'on voit partout:
blink with delay -> avec des instructions delay, tout le temps dispo est utilisé
blink without delay -> avec des instructions micros: on boucle plus vite que ce qui est utile, du coup les boucles sont rapides et de temps en temps on fait un changement.
Tes deux parties ressemblent au blink with delay. Quand il tourne on fait une fois le premier code, une fois le second. Le premier code dure 1ms, le second dure 9s. Il fait donc 1 cycle du premier type (on avance 1 pas), puis il fait le second code (un cycle de pompe).
Si mais maximum un pas toutes les 9s... C'est très lent.
Pour les mouvements de ton moteur pas à pas, faire ça "à la main" ne donne que rarement des déplacements fluides. Il est préférable d'utiliser une bibliothèque comme StepperDriver.