Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Processus de fabrication

Stores intelligents

Composants et fournitures

SparkFun Arduino Pro Mini 328 - 5V/16MHz
× 1
Arduino UNO
× 1
Capteur de température
× 1
Transistor PNP PN2907A
× 1
LDR
× 1
Résistance 10k ohm
× 1
Résistance 1k ohm
× 1
panneau solaire
× 1
Boost Dc-Dc
× 1
Connecteurs JST
× 1
Support de 4 piles AA
× 1
Servos (Tower Pro MG996R)
× 1
Batterie au lithium rechargeable de 3,6 V
× 1
Accouplement servomoteur
× 1
Condensateur 100 nF
× 1
OSH Park Custom PCB fabriqué
× 1
Câbles de raccordement assortis
× 1

Outils et machines nécessaires

Fer à souder (générique)
Perceuse
SolderWire
Coupe-fils
Dénudeur de fils
Multimètre
Dremel
Panneau de circuit imprimé/Planche à pain à souder
Enveloppe thermorétractable

Applications et services en ligne

Arduino IDE

À propos de ce projet

Bonjour !

Ce projet présente les améliorations apportées à mon projet original (et premier), les stores horizontaux automatisés à énergie solaire. La conception originale publiée répondait aux exigences de l'époque. Il a fonctionné correctement pendant près de 4 mois avant que certains défauts de conception ne deviennent apparents.

Pour récapituler, le but des stores est de s'ouvrir et de se fermer en fonction des niveaux de lumière, soit pour laisser entrer la lumière, soit pour se fermer pour plus d'intimité. De plus, les stores devraient se fermer lorsqu'il fait « trop chaud », ce qui est une désignation complètement arbitraire.

J'ai importé ce projet d'ailleurs, et la section matériel/outils ici ne me donnait tout simplement pas les options que je voulais, vous devrez donc traiter la liste détaillée telle qu'elle est, plutôt que dans le format soigné Hackster.io. Pardon.

Le nouveau design fait ce qui suit :

  • Ouvert (pivoter à 85 degrés) le matin pour laisser entrer la lumière
  • Fermer (pivoter à 0 degrés - stores vers le bas) le soir pour plus d'intimité
  • Fermer (tourner à 165 degrés - stores pointés vers le haut, contre le soleil) si la température dépasse une température de 30 C (~86 F) - cette température est arbitraire, votre niveau de confort peut varier.
  • Effectuez toutes ces activités sans câblage externe, boîtiers, appareils, etc. En d'autres termes, passez le facteur d'acceptation de la femme.
  • Soyez suffisamment durable pour que je n'abandonne pas le projet car je dois remplacer les piles trop fréquemment.
  • Ne coûte pas trop cher. Je pense que le résultat final est que les stores peuvent être construits pour environ 50 $ US. L'argent investi dans de nouveaux outils et le temps passé à programmer, tester, souder et bricoler, bien sûr, ne comptent pas.

La raison de ces exigences de conception est que la fenêtre pour laquelle elles ont été conçues est une fenêtre du 2e étage au-dessus de la porte d'entrée de la maison. Cette fenêtre fait face au sud (vraiment, SSE), ce qui signifie qu'il y a beaucoup de soleil (et de chaleur potentielle) en hiver avec les stores ouverts, mais le potentiel de trop de chaleur en été.

Comme indiqué, les stores ont parfaitement fonctionné pendant environ 4 mois (installation en janvier, ils sont redescendus vers juin). Les défauts découverts étaient :

  • La maison n'est pas exposée plein sud..... Par conséquent, en hiver, le soleil est sur la fenêtre presque toute la journée, ne laissant la fenêtre qu'en fin d'après-midi. Cela fournit beaucoup de charge solaire pendant l'hiver. Pendant l'été, cependant, le soleil passe au-dessus de la maison à midi, ce qui signifie qu'il n'y a pas assez de soleil pour recharger une grande partie des heures de clarté. Et l'emplacement d'origine du panneau solaire dans la fenêtre est ombragé pendant les premières heures de la journée, en plus de cela. Solution :Meilleure position du panneau solaire.
  • Le servomoteur utilisé pour contrôler les stores consomme un courant continu de 13 mA. Cela m'a choqué. Lors de ma première tentative, je n'ai pas mesuré le courant avec le servo en place car mon multimètre ne pouvait pas prendre en charge le grand tirage du servo et fournir la précision nécessaire pour le voir en "veille". Solution :interrupteur côté haut à l'aide d'un transistor PNP.
  • Mon panneau solaire 6V de conception originale fonctionne en fait contre le module de charge LiPo. Le module de charge a une entrée nominale de 4,5 V à 5,5 V. Lorsque le panneau a reçu le plein soleil et a généré 6 V ou plus d'électricité, le module de charge s'est arrêté. Je ne l'ai découvert qu'après l'installation des stores. Solution :panneau correctement dimensionné.
  • Aucune collecte de journalisation/télémétrie. Cela a rendu très difficile le diagnostic des stores lorsqu'ils ont commencé à mal fonctionner. Solution :fonction de journalisation EEPROM.
  • Il n'y avait aucun moyen de se connecter/déconnecter pour diagnostiquer/réparer. Cela s'appliquait à la fois au panneau solaire et à la batterie. Solution :Connecteurs JST entre la batterie et le circuit, le panneau solaire et le circuit.
  • Les mesures (température et lumière) doivent être contre une tension de référence solide de 5 V (sortie VCC sur l'Arduino), PAS la sortie 5 V du booster DC-DC. Cette tension peut varier un peu, ce qui a un impact sur les mesures de la conversion analogique-numérique. Dans ma première conception, la ligne "5V" que j'ai utilisée était en fait la ligne non régulée sortant du booster DC-DC. Solution :Cela semble évident, n'est-ce pas ? Utilisez la sortie 5V *régulée* de l'Arduino Pro Mini.

Alors commençons !

Étape 1 : liste des pièces

J'ai choisi d'utiliser un Arduino pour ce projet. C'est ce que je sais. Vous pouvez utiliser un autre microcontrôleur, ce qui vous convient. Vous remarquerez que j'achète beaucoup de SparkFun - ils sont locaux pour moi. Ce qui est génial, c'est que je peux passer une commande le matin et ensuite aller la chercher l'après-midi.

Les autres liens que vous verrez proviennent de banggood.com - ils ont beaucoup de composants bon marché et une grande variété de pièces électroniques. Si vous êtes à l'aise d'attendre jusqu'à un mois ou plus pour vos pièces, vous pouvez obtenir des choses à bas prix. Et de taydaelectronics.com. Si vous pouvez acheter plusieurs choses à la fois, les prix sont TRÈS bons. L'expédition est tout à fait raisonnable. Ainsi, certaines des pièces que vous verrez dans ma liste ont en fait commandé 5, 10 ou 20 articles afin d'obtenir un minimum de commande. Qui sait, peut-être que je vais en construire plusieurs.

  • Arduino Pro Mini (10 $ - SparkFun)
  • Arduino Uno, pour programmer le Mini - vous pouvez utiliser des câbles spéciaux, mais cette configuration fonctionne pour moi.
  • Capteur de température LM35DZ (1,23 $ - Tayda)
  • Transistor PNP PN2907A (0,05 $ - Tayda)
  • Résistance dépendante de la lumière (LDR) (1,24 $ pour un pack de 10 pièces de banggood.com) -
  • Une (1) résistance de 10K-Ohm (0,01 $ - Tayda) - bien que j'aie acheté un pack de résistances de SparkFun pour 8 $.
  • Une (1) résistance 1K-Ohm
  • Panneau solaire 5 V 1,5 W (4,07 $ - banggood.com)
  • Amplificateur 5 V CC-CC (1,38 $ - banggood.com)
  • Module de charge de batterie au lithium (2,89 $ pour un pack de 3 pièces de banggood.com)
  • Connecteurs JST (3,33 $ pour un pack de 60 sur banggood.com)
  • Batterie au lithium rechargeable de 3,6 V (15,39 $ pour un pack de 4 d'Amazon, comprend un chargeur mural pour verrues)
  • Support de batterie 18650 (1 $ - SparkFun)
  • Servomoteur (j'ai utilisé un Hitec HS-325HB que j'ai trouvé dans un magasin de bricolage local) (voici un équivalent) j'ai dû deviner quel type de couple était nécessaire. Je n'ai pas trouvé de clé dynamométrique à un prix raisonnable pour faire une mesure.
  • Accouplement servomoteur. Parce que j'ai utilisé un servo Hitec, j'en avais besoin. (5 $ - SparkFun)
  • Condensateur 100 uF (0,03 $ - Tayda)
  • Fil de branchement assorti (j'ai acheté ce kit - 17,79 $ sur Amazon)
  • PCB (2,74 $ pour un pack de 10 d'Amazon)

Étape 2 : Outils

Objets utiles à avoir :

  • Exploration
  • Fer à souder
  • Souder le fil
  • Coupe-fils
  • Dénudeur de fils
  • Multimètre
  • Dremel ou petit outil de coupe similaire
  • Circuit imprimé/Planche à pain à souder
  • Enveloppe thermorétractable

Étape 3 :Prototyper le projet

D'ACCORD. Alors maintenant que vous avez tous vos composants et un espace de travail, il est temps de tout rassembler et de voir ce qui se passe.

Dans le projet d'origine, la première chose que j'ai faite a été de brancher deux piles AA au booster 5V DC-DC et de vérifier que j'avais 5V de sortie. Cette fois-ci, j'ai fait de même, uniquement avec la batterie proprement dite, la batterie Lithium rechargeable 3.6V. Complètement chargé, il se situe à 4.1-4.2V. D'après mon multimètre, je reçois 5,04 V du booster. Assez bien.

L'étape suivante que j'ai prise a été de disposer tous les composants sur une maquette sans soudure, afin d'écrire le code pour le contrôler, ainsi que de prendre des mesures de courant et de tension.

  • Connectez les connecteurs appropriés du module de charge au lithium à la batterie et au panneau solaire (positif à positif, négatif à négatif)
  • Connectez un fil de la borne positive du panneau à l'analogique A0 - cela fournit la tension du panneau pour la journalisation.
  • La batterie se connecte également au booster 5 V DC-DC.
  • Connectez un fil de la borne positive de la batterie à l'analogique A1 - cela fournit la tension de la batterie pour la journalisation.
  • La sortie 5 V du booster va à l'entrée RAW de l'Arduino.
  • La terre du booster 5V est utilisée partout.
  • Connectez la broche Arduino VCC à tout ce qui a besoin de 5 V régulé.
  • Le servo peut se connecter à la sortie 5 V du booster DC-DC, mais il passera d'abord par le transistor PNP.
  • À partir du LDR, connectez la résistance 10K-Ohm à la terre. Connectez un fil entre le LDR et la résistance à Analog A3 - c'est votre détection de lumière.
  • Connectez 5 V au côté 5 V du LM35DZ (ou de votre capteur de température)
  • Connectez la masse du LM35DZ à la masse.
  • Connectez un fil de la broche centrale (ou de sortie) du LM35DZ à A2 - c'est votre détection de température.
  • Connectez la sortie 5 V du booster DC-DC à la broche E (émetteur) du PN2907A.
  • Connectez une résistance de 1 K-Ohm entre la broche B (Base) du transistor et la broche 11 :il s'agit de la commande permettant au courant de circuler vers le servomoteur.
  • Connectez la broche C (collecteur) du transistor à la broche d'alimentation du servomoteur.
  • Connectez la broche de terre du servomoteur à la terre.
  • Connectez la broche de signal du servomoteur à la broche 10 :il s'agit de la broche PWM que vous utilisez pour contrôler le servomoteur.

Lors du prototypage, vous n'avez pas besoin de connecter le panneau solaire et les modules de charge au lithium. Les instructions sont ici pour l'ensemble du montage. À partir de ce moment, tous les composants, à l'exception du module de charge, sont en place pour toutes les mesures.

Avant d'ajouter le transistor aux étapes 13 à 16, la séquence suivante s'est déroulée :

  • Regardez le courant de ralenti sans le servo.
  • Ajoutons maintenant le servomoteur et notons le courant.

Que se passe t-il ici!? En connectant simplement le servo, nous avons ajouté 14 mA de courant de repos au système. Comment pouvons-nous régler cela? Notre bon ami le transistor. Mon achat d'origine du kit Arduino contenait des transistors NPN. Après avoir fait quelques lectures sur eux (merci SparkFun!), J'ai décidé d'essayer une configuration Low Side Switch. Cependant, cela n'a pas fonctionné. J'avais *toujours* un courant de ralenti beaucoup plus important que ce à quoi je m'attendais. J'ai mesuré les tensions aux broches de l'émetteur, de la base et du collecteur et j'ai découvert que la broche de la base avait une tension alors que je n'en attendais aucune. Je ne suis pas sûr à 100% de ce qui se passe, à part peut-être que le circuit interne du servo trouve un chemin vers la terre via la broche PWM utilisée pour contrôler la position du moteur ? Si quelqu'un a des idées, je suis tout ouïe.

Essayons donc un transistor PNP dans une configuration High Side Switch.

Succès! Maintenant, lorsque le servo ne bouge pas, il semble qu'il n'y ait pas de servo attaché. D'où l'utilisation du transistor dans les étapes 13-16.

Étape 4 :Programmation

Bien sûr, après l'avoir disposé, il faut programmer le Pro Mini afin de le tester. Vous allez le tester d'abord, n'est-ce pas ? J'ai essayé d'utiliser le câble SparkFun TTL vers USB, mais je n'ai pas réussi à le faire fonctionner. Peut-être que j'ai le mauvais câble? J'ai donc décidé de voir si on pouvait s'en passer.

Eh bien, sur ce seul site, il existe plusieurs instructions pour programmer un Arduino Pro Mini à l'aide d'un Arduino Uno. C'est assez simple. Pour moi, la partie la plus effrayante a été de retirer le circuit intégré de l'Uno (cela doit être fait car vous ne pouvez pas programmer une Uno en tant que Pro Mini) :

  • Retirez le CI de l'Uno (notez la direction dans laquelle l'encoche est tournée, afin de pouvoir le remettre en place). Je l'ai fait à l'aide d'un appareil de type couteau en plastique, comme celui que vous pourriez utiliser pour ouvrir un iPhone. J'ai commencé par faire levier doucement sous le CI, en alternant des deux côtés, pour éviter de plier les broches.
  • Connectez la broche Uno 5V à la broche Pro Mini VCC.
  • Connectez la broche Uno GND à la broche Pro Mini GND.
  • Connectez la broche Uno TX à la broche Pro Mini TX0.
  • Connectez la broche Uno RX à la broche Pro Mini RXI
  • Connectez la broche Uno RESET à la broche Pro Mini RST.

Je me suis fabriqué deux jeux de fils et je les ai connectés à une planche à pain. J'ai scotché les deux extrémités des cavaliers ensemble pour ne pas avoir à connecter individuellement les broches, une fois que c'était fait. Je suis le genre de personne qui dit, si je dois le faire deux fois, je peux l'automatiser ou le rendre plus simple.

Maintenant, lorsque vous accédez à l'IDE Arduino, sélectionnez "Arduino Pro ou Pro Mini" et vous pouvez programmer directement la carte. Je peux même le reprogrammer sans retirer l'ensemble des stores, si je trouve des modifications que je souhaite apporter.

Voici le croquis SmartBlinds que j'ai utilisé pour ce projet. Je pense que c'est assez bien documenté, mais si vous avez des questions, n'hésitez pas. La classe de journalisation EEPROM est également nécessaire et disponible dans les bibliothèques de mon github.

J'ai également ajouté une tentative à la fois pour la vue de la maquette et la vue schématique du projet. Cependant, Fritzing continue d'interférer avec moi, donc ça n'a peut-être pas l'air génial.

Étape 5 :Commencer l'assemblage

Maintenant que nous avons quelques données sur notre système, commençons à l'assembler.

L'ajout que j'ai fait cette fois est d'utiliser les connecteurs JST et de leur souder le fil à âme pleine pour leur donner un peu plus de portée. Par défaut, ils sont TRÈS courts. L'utilisation des connecteurs a l'avantage supplémentaire de vous offrir un point de rupture facile entre la batterie et le reste du circuit.

Notez que dans mon premier projet, j'ai dû échouer cette mesure critique, car je n'ai pas découvert que le servomoteur consomme 14 mA tout le temps.

C'est le bon moment pour souder également le fil à âme pleine au panneau solaire. J'ai ajouté environ 2 pieds de fil au connecteur JST afin de positionner le panneau solaire à l'endroit approprié dans la fenêtre pour maximiser la couverture solaire toute l'année, mais minimiser l'impact visuel. Conservez les connecteurs (plus) courts pour la soudure sur le PCB. Cela minimise la taille de la pièce qui entre dans le rail supérieur aveugle. De plus, l'utilisation d'un fil à âme pleine pour le souder au PCB semble (pour moi) fonctionner mieux que de souder du fil tressé dans les trous. Votre kilométrage peut varier.

Coupez le PCB à la taille dont vous avez besoin pour vos stores. Les planches que j'ai achetées sont trop grandes d'environ 3 rangées de trous, alors je les ai réduites d'autant. J'ai essayé de tracer le circuit aussi petit que possible et aussi soigné que possible. Pré-coupez les fils à la taille dont vous avez besoin, et pliez-les un peu pour passer dans les coins, etc. Puis vers le bas (ou vers le haut) dans les trous du PCB. Gardez à l'esprit la hauteur des broches du connecteur du servomoteur et assurez-vous que le connecteur n'interfère pas avec le fonctionnement du servomoteur dans les stores.

J'ai également gratté les lignes gravées sur le booster DC-DC menant au voyant LED. Il économise environ 1 mA tout le temps. Idéalement, le capteur de température serait éteint tout seul, pour réduire tout impact potentiel du servo ou d'autres composants. Je n'ai pas réussi à le faire, et c'est juste à côté du transistor.

Étape 6 :assemblage complet, une dernière reprogrammation

La dernière chose que je fais après avoir terminé l'assemblage est de restaurer la classe de journalisation EEPROM. Je ne voulais pas écrire dans l'EEPROM pendant le prototypage et en essayant différentes choses, j'ai donc commenté ce code. Mais maintenant que nous sommes prêts à déployer, il est temps d'activer la journalisation. La sortie du journal est ici. Il est également joint ci-dessous, car il était dans son format d'origine.

Le Pro Mini dispose de 1024 Ko d'EEPROM. Sur la base d'une taille de 22 octets par entrée, plus 2 octets de "modèle de synchronisation", je devrais pouvoir obtenir 42 entrées dans l'EEPROM avant que cela ne se termine. C'est moins d'un mois de données, à 2 activités par jour. J'aimerais en avoir plus, mais cela nécessiterait une carte SD ou une EEPROM plus grande. Peut-être le prochain rev.

Je prends aussi une dernière mesure de courant, pour m'assurer que je n'ai pas un court-circuit quelque part. Le courant que j'ai mesuré est d'environ 1,5 mA. Avec une batterie de 900 mA-heure, cela devrait fournir environ 600 heures de fonctionnement sans charge. Soustrayez un peu car il ne dormira pas toujours, et bien sûr, à chaque fois qu'il bouge, vous videz la batterie plus rapidement. Utilisant la bibliothèque LowPower de rocketlabs, il dort à 1,5 mA. Lors de l'exécution, il est d'environ 25 mA, et lors du déplacement des stores, il est compris entre 200 mA et environ 500 mA, voire plus. J'aimerais que la batterie dure encore plus longtemps, mais j'aime aussi que les LED s'allument lorsqu'elle fonctionne pour que je sache qu'elle fonctionne, donc c'est un compromis avec lequel je suis d'accord.

FEF476VIRXTB0NK.txt

Étape 7 :Installation

OK, maintenant à installer dans les stores.

  • Tout d'abord, retirez le tire-bouchon du cordon de tirage (si vos stores en sont équipés). Ils offrent trop de résistance pour que le servomoteur fonctionne correctement. (Je n'ai pas de photo car je réutilise les stores d'origine et je ne trouve pas cette pièce)
  • Percez un petit trou pour que le LDR puisse sortir (j'utilise le côté extérieur des stores)
  • Maintenant, utilisez un Dremel ou un autre outil de coupe pour couper un carré de la taille de votre servomoteur. Il doit être bien ajusté, mais vous ne voulez pas rayer ou endommager le servo (j'ai à nouveau utilisé le côté extérieur - je ne veux pas le voir dans la maison, bien qu'il puisse être recouvert par la décoration Assurez-vous simplement que cela n'interfère pas avec la garniture si vous choisissez ce côté)
  • Couvrez les bords rugueux avec du ruban adhésif ou lissez-les d'une manière ou d'une autre.
  • Insérez le PCB dans les stores et assurez-vous que le capteur de lumière dépasse du trou que vous avez percé à l'étape 2.
  • Maintenant, fixez le servomoteur à l'arbre et serrez la vis de réglage. À ce stade, la raison de l'attente à 90 degrés de 10 secondes au début de l'opération devrait être claire. Je lance le programme, permet au servo de se déplacer à 90 degrés, puis désactive la batterie. J'utilise ensuite cette position pour l'attacher aux stores, que j'ai déplacés manuellement à 90 degrés pour qu'ils correspondent.
  • Montez maintenant sur l'échelle et installez les stores.
  • J'ai fixé le panneau solaire à peu près dans la vitre centrale, dans le tiers supérieur de la fenêtre. Je fais passer les fils le long des séparateurs de vitres et scotche le panneau et les fils en place pour minimiser la visibilité.
  • Connectez maintenant le panneau solaire au circuit.
  • Connectez la batterie et glissez rapidement les stores en place. Ils doivent se déplacer vers le centre, puis après le délai de 10 secondes, se déplacer vers la position appropriée. Je place le support de batterie à l'intérieur du rail aveugle avant de connecter.
  • Réinstallez la garniture décorative.
  • Prenez une bière (ou dans mon cas, un rhum-coca).

Étape 8 :Détendez-vous et profitez-en !

Profitez du bon fonctionnement des stores car ils s'ouvrent et se ferment automatiquement.

Si vous en faites un en utilisant mon design, faites-le moi savoir ! J'aimerais en savoir plus et si vous apportez des modifications ou des améliorations. Si vous avez des questions, demandez. Ce site Web m'a beaucoup aidé à apprendre les nombreuses compétences différentes impliquées dans ce projet, et j'adorerais redonner.

Mise à jour :après plusieurs mois de fonctionnement, je suis heureux de dire qu'ils se comportent EXACTEMENT comme ils le devraient ! Une bizarrerie que nous avons trouvée était que si les lumières du couloir à l'étage ET de l'entrée du bas sont toutes les deux allumées, les stores restent ouverts après la tombée de la nuit, ce qui le rend parfait pour montrer leur fonction en compagnie. Et pendant les jours de fin d'été où il faisait très chaud, les stores se sont fermés à cause de la chaleur à une température très confortable - la fenêtre devient plus chaude que l'étage principal, donc les stores se ferment alors qu'il fait encore dans les années 70 (F) dans la maison .

Code

Github
https://github.com/Froz3nArcher/libraries/tree/master/EEPROMLoghttps://github.com/Froz3nArcher/libraries/tree/master/EEPROMLog
Github
https://github.com/Froz3nArcher/SmartBlindshttps://github.com/Froz3nArcher/SmartBlinds

Schémas

Schémas de stores intelligents
https://github.com/Froz3nArcher/SmartBlinds/blob/master/SmartBlinds.fzz

Processus de fabrication

  1. Barman intelligent
  2. Stores intelligents
  3. Capteur d'obstacles simple avec Arduino
  4. Chaussures intelligentes (laçage automatique et génération d'électricité)
  5. Traqueur solaire basé sur l'Internet des objets (IoT)
  6. Bras robotique simple et intelligent utilisant Arduino
  7. Surveillance SMART de la température pour les écoles
  8. Gant à main intelligent
  9. Une entrée analogique isolée pour Arduino