Table des matières:

Un anémomètre d'enregistrement de données autonome : 11 étapes (avec photos)
Un anémomètre d'enregistrement de données autonome : 11 étapes (avec photos)

Vidéo: Un anémomètre d'enregistrement de données autonome : 11 étapes (avec photos)

Vidéo: Un anémomètre d'enregistrement de données autonome : 11 étapes (avec photos)
Vidéo: Capture images ordinateur avec WDS 2024, Juillet
Anonim
Un anémomètre d'enregistrement de données autonome
Un anémomètre d'enregistrement de données autonome

J'aime collecter et analyser des données. J'aime aussi construire des gadgets électroniques. Il y a un an, lorsque j'ai découvert les produits Arduino, j'ai tout de suite pensé: « J'aimerais collecter des données environnementales ». C'était une journée venteuse à Portland, OR, alors j'ai décidé de capturer des données de vent. J'ai regardé certains des instructables pour les anémomètres et les ai trouvés très utiles, mais j'avais besoin d'apporter quelques modifications techniques. Tout d'abord, je voulais que l'appareil fonctionne de manière autonome, à l'extérieur, pendant une semaine. Deuxièmement, je voulais qu'il puisse enregistrer de très petites rafales de vent, plusieurs des conceptions ici nécessitaient des vents assez forts pour démarrer. Enfin, je voulais enregistrer les données. J'ai décidé d'opter pour une conception de rotor vraiment légère avec le moins d'inertie et de résistance possible. Pour ce faire, j'ai utilisé toutes les pièces en plastique (y compris les tiges filetées en vinyle), les liaisons à roulement à billes et les capteurs optiques. D'autres conceptions utilisaient des capteurs magnétiques ou de véritables moteurs à courant continu, mais les deux ralentissent le rotor, l'optique utilise un peu plus de puissance mais n'offre aucune résistance mécanique. L'enregistreur de données est simplement un Atmega328P avec une puce flash de 8 mbit. J'ai pensé à passer au SD, mais je voulais garder le coût, la consommation d'énergie et la complexité bas. J'ai écrit un programme simple qui enregistre le nombre de rotations de deux octets chaque seconde. Avec 8 mégabits, je pensais pouvoir collecter environ une semaine de données. Dans ma conception d'origine, je pensais que j'aurais besoin de 4 cellules C, mais après une semaine, elles étaient toujours complètement chargées, donc je devais être éteint d'un ordre de grandeur dans la consommation d'énergie. Je n'ai pas utilisé de régulateurs linéaires, j'ai conduit tous les rails de tension à 6V (même si certaines des pièces étaient évaluées à 3,3V. Yay overdesign!). Pour télécharger les données, j'avais un système complexe qui lisait le flash et le transférait sur le moniteur série arduino, et j'ai coupé et collé dans Excel. Je n'ai pas passé de temps à essayer de comprendre comment écrire une application USB en ligne de commande pour vider le flash sur la sortie standard, mais à un moment donné, je devrai comprendre cela. Le résultat a été assez surprenant, j'ai pu observer des tendances très intéressantes, que je garde pour un autre rapport. Bonne chance!

Étape 1: Construire le rotor

Construire le rotor
Construire le rotor
Construire le rotor
Construire le rotor

J'ai essayé un certain nombre d'idées différentes pour les gobelets à rotor: des œufs de Pâques, des balles de ping-pong, des gobelets en plastique et des boules de décoration de sapin de Noël vides. J'ai construit plusieurs rotors et je les ai tous testés avec un sèche-cheveux, qui offrait une gamme de vitesses de vent. Des quatre prototypes, les coquilles d'ornement ont fonctionné le mieux. Ils avaient également ces petites languettes qui facilitaient la fixation et étaient faites d'un plastique rigide qui fonctionnait bien avec le ciment polycarbonate. J'ai essayé quelques longueurs d'arbre différentes, petites, moyennes et grandes (environ 1" à environ 6") et j'ai constaté que les plus grandes tailles étaient trop serrées et ne répondaient pas bien aux faibles vitesses de vent, alors j'ai opté pour les arbres de petite taille. Comme tout était en plastique transparent, j'ai fait une petite impression pratique pour aider à allumer les trois lames. Matériaux: Les ornements proviennent de l'Oriental Trading Company, article "48/6300 DYO CLEAR ORNAMENT", 6 $ plus 3 $ d'expédition. Les arbres en plastique et le disque structurel provenaient d'un magasin TAP Plastics local, environ 4 $ de plus en pièces.

Étape 2: Construisez la base supérieure

Construire la base supérieure
Construire la base supérieure
Construire la base supérieure
Construire la base supérieure

Pour réduire l'inertie de rotation, j'ai utilisé une tige filetée en nylon de McMaster Karr. Je voulais utiliser des roulements, mais les roulements de la machine sont emballés dans de la graisse ralentissant le rotor, j'ai donc acheté des roulements de skateboard bon marché qui n'en avaient pas. Il se trouve qu'ils s'adaptent à l'intérieur de l'adaptateur de tuyau en CPVC de diamètre intérieur 3/4"., mais ils ont très bien fonctionné et ont probablement aidé à gérer la friction du couple de précession. J'avais prévu de fixer un capteur optique au bas de l'arbre, j'ai donc monté le couplage CPVC dans une base plus grande. Home Depot est un endroit amusant pour mélanger et correspondent aux raccords CPVC/PVC. En fin de compte, j'ai pu fourrer le raccord CPVC fileté de 3/4 "dans un réducteur en PVC de 3/4" à 1-1/2". Il a fallu beaucoup de jeu pour que tout s'adapte, mais cela laissait suffisamment de place pour l'électronique. Matériaux: 98743A235 -- Tige en nylon filetée noire (filetage 5/16"-18) 94900A030 -- Écrous hexagonaux en nylon noir (filetage 5/16"-18) Roulements de skateboard bon marché Adaptateur CPVC fileté 3/4" 3/4" à 1 -Réducteur en PVC 1/2" vers tuyau fileté 3/4" Remarque: les dimensions des raccords PVC et CPVC ne sont pas les mêmes, probablement pour éviter une mauvaise utilisation accidentelle; donc échanger un adaptateur ordinaire en PVC 3/4 "ne fonctionnera pas, cependant, les FILETS d'un adaptateur fileté sont les mêmes, ce qui est totalement étrange. Le couplage CPVC se visse dans la bague de l'adaptateur en PVC. Adaptateur… bague… couplage… Je mélange probablement tous ces termes, mais 15 minutes dans l'allée de plomberie de Home Depot vous mettront d'accord.

Étape 3: Interrupteur optique

Interrupteur optique
Interrupteur optique
Interrupteur optique
Interrupteur optique

Lorsque le rotor tourne, sa rotation est comptée par un interrupteur optique. J'ai pensé à utiliser un disque, mais cela signifiait que je devais fixer la source d'éclairage et le détecteur verticalement, ce qui serait très difficile à assembler. Au lieu de cela, j'ai opté pour un montage horizontal et j'ai trouvé quelques petites tasses qui vont au fond des chaises pour protéger les planchers de bois franc. J'ai peint et collé six segments, ce qui me donnerait douze bords (presque) uniformes, ou 12 ticks par tour de rotor. Je pensais en faire plus mais je ne connaissais pas très bien la vitesse du détecteur, ni le champ de vision de ses optiques. C'est-à-dire que si je suis devenu trop étroit, la LED pourrait glisser sur les bords et activer le capteur. C'est un autre domaine de recherche que je n'ai pas poursuivi, mais qu'il serait bon d'explorer. J'ai collé la coupelle peinte à un écrou et je l'ai fixée à l'extrémité de l'arbre. Matériaux: chose de tasse de protecteur de jambe de chaise de la peinture noire de Home Depot

Étape 4: Fixez le rotor

Attachez le rotor !
Attachez le rotor !

À ce stade, ça commençait à avoir l'air plutôt cool. Les écrous en nylon sont vraiment glissants, j'ai donc dû utiliser de nombreux contre-écrous (au cas où vous ne l'auriez pas remarqué sur les photos précédentes). J'ai également dû fabriquer une clé plate spéciale à insérer dans le capuchon sous le rotor afin de pouvoir verrouiller les deux écrous.

Étape 5: Construisez la base inférieure

Construire la base inférieure
Construire la base inférieure
Construire la base inférieure
Construire la base inférieure

La base inférieure abrite les batteries et fournit une structure de support. J'ai trouvé une boîte étanche assez cool en ligne d'une société appelée Polycase. C'est un boîtier vraiment lisse qui ferme hermétiquement, et les vis sont plus larges à la base afin qu'elles ne tombent pas facilement du haut. J'ai utilisé un compagnon en PVC pour la bague supérieure en PVC. Ce compagnon de base inférieur est juste un raccord fileté en PVC de 1-1/2 . La pression de base du rotor supérieur s'insère dans la base inférieure via ce raccord. Comme vous le verrez plus tard, je n'ai pas collé ces pièces ensemble parce que je voulais pouvoir l'ouvrir et faire des ajustements si nécessaire, de plus l'assemblage est plus facile lors de la fixation des circuits imprimés.

Étape 6: Construisez le capteur optique

Construire le capteur optique
Construire le capteur optique

Le mécanisme du capteur est une LED de 940 nm et un récepteur à déclenchement de Schmitt. J'adore j'aime j'adore le circuit de déclenchement de Schmitt, il prend en charge tous mes besoins anti-rebond et envoie un signal compatible CMOS/TTL. Le seul bémol ? Fonctionnement 5V. Oui, j'ai sur-conduit toute la conception à 6V, mais j'aurais pu passer à 3,3V sans cette partie. L'idée est que ce circuit se monte sous la coupelle du rotor, qui interrompt le faisceau lorsqu'il tourne, générant des transitions logiques pour chaque bord. Je n'ai pas une bonne image de la façon dont cela a été monté. J'ai essentiellement collé deux décalages en plastique dans le raccord en PVC de la base inférieure et les ai vissés par le haut. J'ai dû meuler les bords de la planche pour qu'elle s'adapte parfaitement. Je n'ai même pas de schéma pour cela, c'est vraiment simple: il suffit de lancer une résistance de 1k à partir de Vin et de la câbler de sorte que la LED soit toujours allumée et que la sortie du détecteur soit sur sa broche. Matériaux: 1 résistance LED 940nm 1k 1 capteur OPTEK OPL550 1 prise à trois broches (femelle) 1 circuit imprimé 1,5"x1,5" Différentes longueurs de fil Gaine thermorétractable si vous aimez vos fils groupés

Étape 7: Construire l'enregistreur de données

Construire l'enregistreur de données
Construire l'enregistreur de données
Construire l'enregistreur de données
Construire l'enregistreur de données
Construire l'enregistreur de données
Construire l'enregistreur de données
Construire l'enregistreur de données
Construire l'enregistreur de données

La carte de prototypage Arduino était bien trop grande pour tenir dans le châssis. J'ai utilisé EagleCAD pour disposer une carte de circuit imprimé plus petite et j'ai perdu une seule couche… il y avait quatre fils laids dont j'avais besoin pour combler quelques lacunes.

(Je pensais avoir mesuré cela à une puissance de fonctionnement d'environ 50 mW, et sur la base des wattheures des batteries, je pensais que je tomberais en dessous de 5 V en une semaine, mais ma mesure de puissance ou mes calculs étaient erronés car 4 cellules C gardées va pendant longtemps.) Disposition assez simple: juste un résonateur, l'ATmega328, une puce flash, un cavalier de débogage, une LED de débogage, un capuchon d'alimentation, et c'est à peu près tout. Il y a quelque chose appelé DorkBoard que j'aurais pu utiliser aussi, c'est essentiellement tout le nécessaire pour une carte de développement ATMega328 de la taille d'un socket DIP. J'ai envisagé d'en acheter un, mais mon approche discrète était environ 50 % moins chère. Voici le lien du dorkboard:

Voici l'idée de base (le code source sera inclus plus tard) du fonctionnement de la carte: Cavalier réglé sur le mode « debug »: attachez une interruption de changement de valeur à la sortie du capteur optique et faites clignoter la LED de test à l'unisson avec le détecteur. Cela a été très utile pour le débogage. Cavalier réglé sur le mode « enregistrement »: attachez la même interruption à un compteur, et dans la boucle principale, retardez 1000 msec. À la fin des 1000 ms, écrivez le nombre de fronts sur une page flash de 256 octets, et lorsque la page est pleine, écrivez-la et réinitialisez le compte. Simple, non ? Plutôt. J'aime beaucoup les flashes Winbond, j'avais l'habitude de concevoir des flashs dans les années 90, donc c'était amusant de les reprogrammer. L'interface SPI est géniale. Si simple à utiliser. Je vais laisser les schémas et le code source parler d'eux-mêmes. Ai-je mentionné qu'EagleCAD est génial ? Ça l'est vraiment. Il y a d'excellents tutoriels sur YouTube.

Étape 8: Fixez l'électronique

Attachez l'électronique
Attachez l'électronique

Encore une fois, je n'ai pas beaucoup de bonnes photos ici, mais si vous imaginez deux entretoises en plastique collées à l'intérieur du PVC, les deux planches y sont vissées. Voici une photo de la carte logger connectée en bas. La carte du détecteur est à l'intérieur du boîtier.

Étape 9: Étalonnage

Étalonnage
Étalonnage
Étalonnage
Étalonnage
Étalonnage
Étalonnage
Étalonnage
Étalonnage

J'ai fait un banc d'essai pour calibrer la bête afin que je puisse convertir le nombre de rotors bruts en MPH. Oui, c'est un 2x4. J'ai attaché l'anémomètre à une extrémité et un Arduio de débogage à l'autre. L'écran LCD affiche le nombre de rotors. Le processus s'est déroulé comme ceci: 1) Trouvez une longue route droite sans circulation. 2) Tenez le 2x4 pour qu'il sorte aussi loin que possible de la fenêtre 3) Activez l'enregistrement vocal sur votre iPhone ou Android 4) Activez un indicateur de vitesse GPS numérique sur l'appareil portable de votre choix 5) Conduisez régulièrement à plusieurs vitesses et annoncez à votre enregistreur la vitesse et le rotor moyen comptent 6) Ne pas planter 7) ? 8) Plus tard, lorsque vous ne conduisez pas, relisez votre message téléphonique et entrez les données dans Excel et espérez qu'un linéaire ou un exponentiel ou un polynôme correspond à une valeur R-carré supérieure à 99%. Ce # de conversion sera utilisé plus tard. L'appareil ne capture que les données brutes, je les ai post-traitées en MPH (ou KPH) dans Excel. (Ai-je mentionné que j'avais appliqué une couche de peinture olive terne ? J'aurais appelé cela un "anémomètre d'enregistrement de données tactiques", mais je me suis ensuite souvenu que "Tactique" signifie "noir".)

Étape 10: Allez collecter des données sur le vent

Allez collecter des données sur le vent !
Allez collecter des données sur le vent !
Allez collecter des données sur le vent !
Allez collecter des données sur le vent !
Allez collecter des données sur le vent !
Allez collecter des données sur le vent !

C'est à peu près tout. Je pense qu'il manque quelques photos, par ex. les quatre cellules C entassées dans la base inférieure ne sont pas représentées. Je ne pouvais pas installer de support à ressort, j'ai donc fini par souder les fils aux batteries elles-mêmes. J'écris ce instructable un an après l'avoir construit, et dans la révision #2, j'ai utilisé des piles AA parce que j'ai grossièrement surestimé la consommation d'énergie. L'utilisation de l'AA m'a permis d'ajouter un interrupteur marche-arrêt et a vraiment libéré de l'espace à l'intérieur, sinon c'était assez étroit. Dans l'ensemble, j'étais assez satisfait du design. Le graphique ci-dessous montre une semaine de données moyennes. Les batteries ont commencé à mourir le septième jour. J'aurais pu améliorer la durée de vie de la batterie en faisant fonctionner la LED à un cycle de service inférieur à environ 1 kHz et je n'aurais perdu aucun bord en raison de la vitesse angulaire relativement faible du rotor.

S'amuser! Faites-moi savoir si vous voyez une marge d'amélioration !

Étape 11: Code source

Ci-joint un seul fichier source Arduino. Je l'ai mis sous GPL parce que, hé, GPL.

EDIT: je voudrais souligner que mon implémentation de l'utilisation d'un délai de 1 s () est une idée terrible et en h Le temps nécessaire pour écrire sur le flash et lire le capteur peut sembler petit, mais au cours de 7 -10s, cela s'ajoute à une dérive importante. Au lieu de cela, utilisez une interruption de minuterie à 1 Hz (la minuterie n ° 1 sur le 328P peut être parfaitement calibrée à 1 Hz). Pour être sûr, vous devez coder dans une clôture au cas où l'écriture de la page et la lecture du capteur pour une raison quelconque prennent plus de 1 seconde (gérer les échantillons abandonnés), mais une interruption de la minuterie est LA façon de faire des choses qui doivent être, eh bien, du temps- précis. À votre santé!

Conseillé: