Le mardi 05 juillet 2016, Frederic a écrit :
> Je cherche un retour d'expérience sur le suivi de la vitesse de rotation
> d'un ventilo d'ordinateur (pas utilisé dans un ordinateur donc), grâce
> au 3eme fil, via un raspberry, et si possible en langage python.
>
> Si un(e) guildien(e) a fait ça je suis preneur d'info.
>
> Sous quel forme est le signal du 3eme fil (impulsion, tension ou
> intensité fonction de la vitesse, etc)? protection à prévoir du
> raspberry? signal analogique ou numérique?
>
> asservissement possible avec le raspberry? et comment?
Salut !
Le signal de tachymétrie est généralement un simple pulse ; pour le suivre,
il va falloir de la tripaille électronique, car ce sera bien trop lent en
Python. Et même en C, je ne pense pas que tu y arrives, d'autant que linux
n'est pas un OS temps réel (par défaut), donc aucune précision à
attendre sur les timings.
Il va falloir t'orienter vers un µ-contrôleur, un Arduino, par exemple.
Le plus simple est de générer une interruption à chaque pulse, et tu
regarde le temps écoulé entre 2 pulses. Il existe même certainement des
librairies qui font ça.
Après, il est très simple de balancer l'info sur une ligne série
(le port USB de l'arduino), que tu peux récupérer sur un PC, un RPi ou
autre.
Pour le pilotage, là encore, pas possible de le faire directement : il va
falloir utiliser un petit transistor FET pour passer le courant du
ventilo. Tu régules la tension (et donc la vitesse), en utilisant un
signal dit PWM (modulation en largeur d'impulsion), qui va mettre et
couper le jus dans le FET très rapidement ; le rapport cyclique haut/bas
du signal va permettre de fixer de manière proportionnelle la tension de
sortie (ratio par rapport à l'alimentation).
Mais du coup, tu peux avoir du code python qui fait l'asservissement ;
seuls les opérations bas niveau devront être faites par le µ-contrôleur.
Même s'il est capable de faire beaucoup plus...
Voili-voilou.
PS : tu devrais venir nous voir au LOG, c'est le genre de bricolo qui
est fait assez couramment ;o)
--
Frédéric