Consigne ventilateur pour alimenter servo-moteur

Bonjour à tous et toutes.
Je viens vers voir pour un peu d'aide, je suis complètement novice dans la programmation et la mise en place de l'arduino.
J'ai un projet actuelle qui consiste à ouvrir une trappe (passage de l'horizontal à la verticale) juste avec l'aspiration d'un ventilateur de PC.
Je suis sur une alimentation panneau solaire 12V, je passe par un régulateur de charge 10A + batterie, qui me permets d'alimenter un ventilateur 3pins 12V 1800tr/min, le tout sur minuterie numérique LCD 12V (réf CN101A)
Voici le schéma de câblage
image

Ma problématique :

  • je souhaiterais que mon servo-moteur ouvre ma trappe quand mon ventilateur est allumé et inversement quand celui-ci est éteint.

Pouvez-vous m'aider, car je ne vois pas comment faire schéma de câblage et programme.
Je vous remercie par avance.
Cordialement

Salut.
En général une hotte est équipée d'un clapet anti-retour :

Le ressort est suffisamment souple pour que le clapet s'ouvre lorsqu'un léger souffle d'air circule.
Ici, 25€

Malgré tout, faire la même chose avec un registre piloté par un servo est faisable, mais c'est se compliquer la vie pour rien. De plus la commande du registre peut être plus ou moins dure, et il faudra choisir un servo plus ou moins puissant.
Regarde les exemples de la librairie servo.

Bonjour,

Si tel est ton souhait, l'dée serait de détecter que ton ventilateur (tel qu'il est actuellement alimenté) est alimenté ou non en surveillant la sortie du contact, là


Voir flèche verte...
Si Arduino "surveille" le signal EN bout de flèche verte, il a l'info ventilo alumé ou éteint.

A partir de là, il peut transmettre l'ordre "OUVRE" ou "FERME" au servo moteur.
Bien entendu, ce n'est qu'une idée de principe, à mettre en forme selon le matériel que tu as ou vas choisir, avec ou sans l'aide du forum.

A cogiter non?

1 Like

Merci @jef59 pour votre aide.
Serait-il possible de m'aider un peu plus.
J'ai a ma disposition ceci et aussi un module grove base shield, des petits capteurs....


Est-ce possible de réaliser le projet avec ceci, ou faut il investir dans autre composant?
Et encore est possible de m'aider dans le câblage (schéma) mais aussi dans le programmation car n'étant pas bilingue c'est assez compliqué.
En vous remerciant par avance et encore merci @jef59 .
Bonne soirée

Bonsoir,

Question un peu hors sujet, à quoi le fait de ne pas être bilingue vous met un frein?
(Pour les documents techniques?).

Pour ma part, je ne suis pas trés mécano.

Comme vous avez une trappe à ouvrir, selon vous quel serait le meilleur mécanisme et moteur adapté?
Moi je n'en ais aucune idée là comme cela.

En principe, avec les élements que vous nous montrez en photo, on doit pouvoir pas mal élaguer, il faudrait y ajouter une pincée de connaissances en electricité, avez vous cela â disposition?

C'est un peu laborieux de travailler d'aprés une photo, avez vous les docs des composants que vous avez pris en photos, lêle en anglais?

Je me suis mal exprimé sur ce point:

C'est à vous il me semble de définir le mode de fonctionnement mécanique de votre trappe, ses dimensions, d'évaluer sa vitesse d'ouverture, le couple nécessaire, etc...

Pour choisir un moteur électrique, se sont aussi ces infos dont on a besoin, la gamme de puissance et de vitesse de rotation des moteurs est ectrêmement étendues.

Pour cela je pense, il faudrait que vous soyez plus bavard si vous voulez de l'aide, sinon peu ou personne va s'intéresser à votre projet qui en soi n'est pas si compliqué.

Au plaisir de vous lire.

Bonjour rubane

Le plus simple est le diviseur résistif, mis sur la commande du ventilateur, pour abaisser le 12V en 5V afin de le rendre compatible avec l'Arduino.
image
Diviseur résistif:
image

Le point 1 va au GND de l'Arduino, le point 3 va à une entrée digitale de l'Arduino, c'est elle qui sera lue et que, si elle haute, déclenchera le mouvement du servo.
Autrement, l'idéal serait de mettre un optocoupleur, à la place du diviseur résistif, cela augmente la sécurité.
image

Si tu es "mécanique", le servo est une bonne option et simple d'emploi au vu de l'Arduino. La question est: son débattement est il suffisant.

Pour ce qui est du programme, rien de bien "chinois" :wink:

A+
Cordialement
jpbbricole

Oui, le couple nécessaire est la première chose à connaître, ou à mesurer.
Comme les registres mécaniques sont rarement bien documentés, tu peux attacher un bras de levier horizontal à l'axe, et suspendre un poids au bout du levier, en augmentant ce poids petit à petit.
Si par exemple le levier a une longueur de 10cm, et que le registre s'ouvre avec un poids de 100g, il te faut un servo ayant un couple de 0.1kg * 10cm, donc 1Kg-cm.

Remarque : ton fs5106r est un servo à rotation continue. Ce n'est donc pas un vrai servo.

Bonjour merci a vous tous, @jef59 et @hbachetti pour votre aide et je ne voulais pas offensé personne en disant que je n'etais pas bilingue.
Oui j'ai oublié quelques informations.
Alors mon projet c'est un système pour aspirer les moustiques.



Pour ma trappe + contrepoids en impression 3d pour de 15g maxi l'ensemble.
diametre de la trappe 80mm avec axe excentré de 10mm.
Actuellement avec l'aspiration de mon moteur la trappe ne s'ouvre pas
Position fermée

Souhait position ouvert


e moteur installé, est unr Artic P12, voici la fiche technique

Souhaitez vous d'autres informations ?
J'ai une question: est-ce possible de prendre le signal en pin3 (tachymètre) et l'envoyé à l'arduino.
Je vous remercie encore.
Cordialement

Bonjour,

Je fais une réponse à tous.
Je commence par:
Je ne suis pas offensé si quelqu'un n'est pas bilingue, moi je ne le suis pas non plus, mais je ne vois pas encore en quoi cela semble être un frein pour toi si ce n'est pour lire les docs le + souvent en anglais.

@hbachetti

Je ne suis pas trés calé en servo, j'en utilise pas si souvent, par contre sur le FS5106R, j'ai interprété des docs (en anglais :thinking:) qu'il se commandait en vitesse avec un PWM de la façon suivante:
-pulse du PWM de 1.5ms = position repos (arrêt?)
-pulse du PWM inférieur à 1.5ms = rotation sens horaire (et vitesse variable selon selon la largeur de la pulse?)
-pulse PWM suépieur à 1.5ms = rotation sens horaire

et comme la doc dit que la commande PWM peut varier de 0.7ms à 2.3ms j'en déduis qu'il faudrait un signal PWM de fréquence à peu prés = 1/2300u=436Hz

avec les pin 3, 9, 10, 11 on a un PWM de fréquence 490Hz sur Arduino.

Mais ma question est plutôt:

Est ce que mon raisonnement est juste?
C'est à dire:

  • je veut que le servo soit au repos, il faut un PWM ayant des pulses de 1.5ms.

Je connais la fréquence du PWM 490Hz = 2.04ms = 255
1.5ms correspond donc à (255*1.5)/2.04=186.56 disont 187

j'envoie 187 au PWM, je règle le potar du servo pour qu'il soit réellement à l'arrêt.

  • je veut qu'il tourne dans le sens horaire, j'envoie une consigne > 187
    si j'envoie 255 il tourne à vitesse maxi dans le sens horaire.

  • je veut qu'il tourne dans le sens anti horaire, j'envoie une consigne < 187
    Si j'envoie 0 il tourne à vitesse maxi dans le sens anti horaire.

S i mon raisonnement est juste, pour ouvrir la trape (d'aprés la photo) je fais tourner l'axe de la trappe dans le sens horaire.

Soit je chronométre le temps de rotation en estimant qu'il lui faut à chaque fois un temps T0 pour que la trappe soit à la vertical.

Soit le met un capteur de position verticale, c'est peut être le plus sur.

Et quand la trappe est à sa position verticale, j’envoie des pulses de 1.5ms (arrêt du servo) et le servo se verrouille sur cette position.

Et au final, quand le minuteur coupe l'alimentation du ventilo, je coupe l'alimentation du servo et la trappe tombe avec son contre poids.

On peut même imaginer, pour faire durer la batterie:

  • Que l'arduino et le servo ne sont alimenté que quand le minuteur ferme un contact.
  • Que d'un point de vue mécanique, il existe une position trappe ouverte ou le couple de maintien en position est proche de 0.

Je ne contredis pas. Je dis simplement que le PWM dans le cas d'un servo à rotation continue sert à régler la vitesse, dans les deux sens, mais ne sert pas à positionner le servo dans une position particulière.

jpbbricole t'a donné une solution en #7 qui permet de savoir si le ventilo est alimenté. Tu peux bien sûr désirer vérifier qu'il tourne à la bonne vitesse, mais est ce bien utile ?

Je posais la question seulement.

Est ce que le PWM de 1.5ms verrouille ou met la vitesse à 0?

Dans l'absolu, la Doc ne donne pas beaucoup d'info sur ce signal.

Tout ou rien ou analogique ?

Bonsoir rubane

Oui, sous condition de le rendre compatible Arduino selon le principe expliqué au post#7.

Comme le signal est certainement carré dont la fréquence dépend de la la vitesse, on met une temporisation qui démarre dès la première impulsion (ventilateur fonctionne), temporisation qui cesse au bout de x millisecondes sans impulsion, ce qui dit ventilateur arrêté. Le servo se positionne pour ouvrir la trappe, pendant cette période.

A+
Cordialement
jpbbricole

Voici un bon article sur une méthode intéressante de mesurer la vitesse du ventilo.
lireTachoVentillo

Pour revenir sur ma question:

Le servo verrouille t'il sa position si on lui envoit un PWM de 1.5ms de largeur d'impulsion, c'est à dire si on lui dit de s'arrêter (vitesse nulle)?

Si ce n'est pas le cas, alors ce n'est pas tout d'ouvrir la trappe (servo sens horaire), il faut aussi qu'elle reste ouverte.
Par exemple en équilibre, à la verticale, sur une butée.
Et dans ce cas, quand le ventilo s'arrête, il faut faire marcher le servo dans le sens inverse (servo sens anti-horaire) pour faire "tomber" la trappe.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.