Animation sur crevettier Calappa

Publié le par Pascal Coquet

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

 

descente et remontée des tangons, partie mécanique

le treuil

le treuil (micromoteur pas à pas)
le treuil (micromoteur pas à pas)

le treuil (micromoteur pas à pas)

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.

Voilà, J'ai vérifié mon moteur -> vidéo :

Et pourtant il tourne !! Moteur branché sur pin digitale 4,5,6,7

Voyons maintenant le shema de principe du cablage d'un driver :

 

Bon, maintenant je peux envisager le montage proprement dit. Les éléments sont :

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 le shéma électronique, en cours de test, et mon 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 un 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.

Voici le sketch Ar84A4988Test à téléverser :

Ce sketch fonctionne mais mon ordinateur ne reconnait plus le port Arduino... Il a 12 ans... Je passe donc à autre chose, le clignotement séquentiel de la balise cardinale Pégasus

A suivre...

Quand le treuil pour les tangons sera opérationnel, je m'occuperais de la mise à l'eau des funes.

Pour cela j'avais  modifié 1 servo pour qu'ils 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 

 

Le scénario final sera celui-ci ;

  1. Allumage des feux de pêche
  2. descente tangons de 90 à 60
  3. descente tangons de 60 à 45° (position pêche)
  4. descente des funes (filets)
  5. delay pour simuler la pêche
  6. remontée tangons de 45 à 60°
  7. remontée des funes
  8. remontée tangons de 60 à 90°
  9. extinction des feux de pêche 
  10. allumage des feux de pont
  11. delay pour nettoyer et ranger les crevettes
  12. 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 :

 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...

Pour être informé des derniers articles, inscrivez vous :
Commenter cet article
J
Génial merci, au plaisir de vous voir sur mon jeux. https://www.mafiaaddict.com/
Répondre
L
Je n'y manquerais pas, merci
Répondre
M
Super merci, passez me voir. https://mael-jouet.blogspot.com/
Répondre
L
Je n'y manquerais pas, merci