Méthode de mesure
-
Bonjour à tous,
Tout d'abord merci pour le travail fait et en cours ça fait plaisir de voir cette communauté faire revivre ce super projet !
Cela fait 2 ans que j’ai commencé à travailler sur un anémo pour mon école de voile. J’ai récupéré l’ancien pioupiou qui ne fonctionnait plus et cela m’a donné une raison pour me lancer à l’Arduino.
Setup actuel :
J’ai gardé l’ensemble du pioupiou à part le pcb principal et la pile que j’ai changé. J’utilise le capteur de vitesse du pioupiou pour compter le nombre de tour de l’hélice avec des interruptions. J’ai refait un pcb pour y placer un Arduino Pro Mini, un capteur boussole et un émetteur RF qui envoie les mesures de vitesse et de direction du vent à un autre boitier qui fait des mesures atmosphériques et envoie le tout par sigfox.Mon problème :
Ayant peu de connaissance en C, je comprends l’essentiel du code du pioupiou mais j’ai du mal à comprendre les subtilités.
Si j’ai bien compris le code, l’idée est de compter le nombre de tour que fait l’hélice pendant un laps de temps (2s ?) avec des interruptions ?
Cependant, je ne comprends pas la conversion du nombre de tours de l’hélice en vitesse du vent. En quelle unité est retournée freq par la fonction PP_PROPELLER_GetSpeed() ?Merci d'avance pour vos retours !
-
@baud PP_PROPELLER_GetSpeed retourne des km/h
Je viens de modifier le code, pour que ce soit plus évident :
https://github.com/windbird-sensor/windbird-firmware/blob/main/firmware/src/wb_propeller.c -
Ok merci, du coup pour convertir le nombre de tour de l'hélice en kmh il faut utiliser ce code ?
kmh = (nombreTour / dureeMesure ) * 0696
-
oui, avec dureeMesure en secondes
et ne pas oublier la virgule sur la calibration 0696 -> 0,6962 ou 3 secondes, c'est bien comme durée
-
Ok merci beaucoup pour ces réponses !
-
Bonjour,
super projet!
Juste pour être sûr, par rapport aux variables dans:
https://github.com/windbird-sensor/windbird-firmware/blob/main/firmware/src/wb_propeller.c#L91"dt" est en 1/32768 ieme de secondes?
J'ai cherché la doc du RTC (notamment sa fréquence), sans la trouver...La calibration est donc linéaire? J'ai vu sur un autre projet des calibrations plus complexes (haute vitesses, basses vitesses...).
Merci
PS: Acceptez vous les pulls requests? -
PROPELLER_CALIBRATION est donc un facteur qui correspond au pas de l'hélice (de quelle distance l'hélice "avance" dans le vent à chaques tours) si je comprend bien.
-
Exactement, la constante correspond au pas de l'hélice, "distance de vent" par tour. On avait testé en soufflerie. La réponse est bien linéaire.
Bien sûr, nous acceptons les pull-requests, et nous serons très heureux de voir de nouveaux contributeurs dans le projet.
"dt" est en 1/32768 ieme de secondes? oui. La RTC est animée par un quartz à 32,768 kHz. Comme dans la plupart des montres électroniques. Pour la petite histoire, 32768 = 2 à la puissance 15
-
Super, merci pour la réponse!