Animation sur crevettier Calappa
Cette page est en cours d'évolution. Je poste ici l'avancement de mon travail, j'espère qu'il vous sera utile. Je souhaite animer les tangons de mon crevettier, ainsi que la mise à l'eau des filets (les funes) avec allumage/extinction des feux de pêche et des projo de pont. Le crevettier ne mesure que 31 cm de long et par manque de place j'utilise un mini moteur pas à pas de 8mm (celui qui règle l'autofocus d'un objectif), on le trouve ici.
Il s'utilise soit seul avec Arduino (UNO, NANO ou autre microcontrolleur), soit avec un driver, celui que j'utilise est le A4988 Polulu. Les funes seront mises à l'eau par 1 seul servo pour cette animation. Le tout sera commandé par une Attiny84 qui possède 14 pins car il ny a pas assez de connections sur l'At85 pour ce qu'il me faut : 3 broches pour le stepper, 1 servo et 2 Led une entrée pour le signal RC.
Je n'ai pas trouvé de sketch pour At84 et driver, je vais donc tatonner un peu...
Par contre je poste le schéma et les sketchs pour ceux qui seraient interressés par le pilotage d'un stepper par l'AT85 et le driver ULN 2003
Animation des funes
Pour cela, et par manque de place, j'utilise un micro moteur pas à pas. C'est le moteur de la mise au point d'un objectif photo, on en trouve sur AliExpress.
.
Je vais maintenant testé les 4 branchements du moteur directement sur les pins 4,5,6,7 d'une carte Arduino Uno Ver3 . J'utilise pour cela le sketch "Stepper_OneStepAtATime.ino" de Tom Igoe fourni dans les exemples Stepper de l'Ide Arduino. Si vous ne trouvez pas ce sketch, je le poste ici.
-> vidéo :
Et pourtant il tourne !! Moteur branché sur pin digitale 4,5,6,7
Les éléments sont :
- 1 ATtiny84
- 1 driver stepper Polulu A4988
- 1 Module d'alimentation abaisseur DC-DC 3.3V/3A
- 1 Condensateur électrolytique de min 47µF/16v (100µF c'est mieux)
Le tout sera sur une plaque prototype dans la cabine du Calappa. Quand au micromoteur pas à pas il sera sous le pont, dans la cale à crevettes...
Il existe dans l'Ide des sketchs de stepper utilisant la carte UNO. Je fais donc la correspondance avec AT84 :
Voici donc le montage :
Et voici le circuit sur la plaque de prototypage de 65 x 35mm au pas de 2,54.
Téléversement
Voila il ne me reste plus qu'à téléverser le sketch dans At84. J'ai trouvé un projet qui me semble interessant sur www.mchobby.be de M.Meurisse, Il s'agit de Stepper.ino (conçu pour Arduino UNO mais modifié pour AT84)
Pour téléverser le sketch dans l'AT84 (voir la procédure ici) j'installe un DIP16 et un condo sur une platine d'essai. Ainsi je pourrais mettre l'AT84 de ce DIP à celui du montage final et recommencer l'opération autant de fois que mon sketch n'est pas satisfaisant.
Sketch pour piloter un moteur pas à pas avec ATtiny84 et driver A4988Polulu - Les maquettes du Moujo
Ce sketch est inspiré de celui de Mr Meurisse qui l'a conçu pou Arduino UNO. (sur MC hobby) Je l'ai adapté pour l'At84 // A4988_Test.ino --- Commande du Driver A4988 avec At84 -- /* Le croquis ...
Ce sketch fonctionne mais mon ordinateur ne reconnait plus le port Arduino... Il a 12 ans... Je passe donc à autre chose...
Installation du circuit dans la cabine
Mise à l'eau des funes.
Pour cela j'avais modifié 1 servo pour qu'il tourne en continu mais j'avais également oté la carte d'asservissement. Je n'aurais pas du. Voir la bonne méthode sur cette page pour bien modifier un servo et le piloter avec Arduino UNO. Méthode trouvée sur les carnets du Maker
descente et remontée des tangons, partie mécanique
le treuil
Le scénario final sera celui-ci ;
- Allumage des feux de pêche
- descente tangons de 90 à 60
- descente tangons de 60 à 45° (position pêche)
- descente des funes (filets)
- delay pour simuler la pêche
- remontée tangons de 45 à 60°
- remontée des funes
- remontée tangons de 60 à 90°
- extinction des feux de pêche
- allumage des feux de pont
- delay pour nettoyer et ranger les crevettes
- extinction des feux de pont
Le sketch final va suivre, patience, le servo des funes utilisera la fonction Write. Pour la temporisation j'utiliserais Millis à chaque séquence :
//Exemple
void setup()
{temps = millis(); // on initialise le temps avant le début des séquences.
}
//========début séquences= ===============
void loop() {
{
if((millis() - temps) > 20000) ; // a 20s, on demarre la séquence
etat_led_A = !etat_led_A; // on inverse l'état de la led // Allumage des feux de pêche
temps = millis(); // on stocke la nouvelle heure
}}
====================================
A suivre...