Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Equipment >> Équipement industriel

Comment fabriquer un ventilateur d'air temporisé

Besoin d'aérer une pièce ? Cet article vous montrera comment j'ai fabriqué un ventilateur à relais et temporisé par GPS pour évacuer l'air humide dans la cabine de mon bateau. Il est contrôlé avec un PIC16F628A et dispose d'un écran LCD.

Besoin d'aérer une pièce ? Cet article vous montrera comment j'ai fabriqué un ventilateur à relais et temporisé par GPS pour évacuer l'air humide dans la cabine de mon bateau. Il est contrôlé par un PIC16F628A et dispose d'un écran LCD.

Laissez l'air circuler

Dans les petites pièces où il y a peu ou pas de ventilation, l'air a tendance à rester immobile. Si l'air est un peu humide, vous aurez certainement des moisissures et des champignons à certains endroits.

Les moisissures et les champignons se trouvent dans la nature et sont nécessaires pour décomposer les feuilles, le bois et autres débris végétaux. Comme j'ai beaucoup de bois dans mon bateau, j'y aurai certainement de la moisissure et des champignons. Je ne peux pas les empêcher d'entrer, mais je peux prendre des mesures pour essayer de garder l'environnement à l'intérieur de mon bateau aussi hostile que possible aux moisissures et aux champignons.

Il y a au moins deux façons de traiter cela. Une façon consiste à laver et nettoyer selon un horaire serré. Maintenant, à quel point est-ce amusant ? Étant le geek que je suis, j'ai plutôt créé quelque chose :un ventilateur qui fait circuler et évacue l'air humide sur une base fixe et programmée.

Conception du système

Je souhaite que le système effectue les opérations suivantes :

Pour faire un tel système, j'aurai besoin des pièces suivantes :

Je veux que le ventilateur fonctionne pendant cinq minutes chaque heure. Ce sera codé en dur dans le logiciel.

La configuration fonctionnera à partir d'une batterie de voiture. Mon ventilateur est évalué à 12v 4.5A. Pour m'assurer que la batterie est toujours chargée par le haut, je vais la connecter à un chargeur de batterie. Pour m'assurer que le chargeur de batterie n'est pas surchargé lorsque le ventilateur tourne, je vais faire en sorte que le système « déconnecte » le chargeur pendant que le ventilateur tourne. Un relais actionnera le ventilateur, et l'autre relais actionnera le chargeur de batterie. Lorsque le ventilateur fonctionne, la batterie n'est pas chargée et lorsque le ventilateur ne fonctionne pas, la batterie est chargée.

Pour garder une trace du temps, j'utilise un module GPS. Dans ce projet, j'utiliserai le module de la série Skylab SKM53 (PDF). Cet appareil envoie plusieurs phrases NMEA sur UART chaque seconde. La fiche technique recommande d'utiliser une résistance pull-up de 10K sur RXD et TXD. Cela augmentera la stabilité des données série. Je ne l'ai pas fait, et je n'ai pas remarqué d'instabilité. J'ai peut-être de la chance. Sur la même page de la fiche technique, il est indiqué que des condensateurs de découplage appropriés doivent être ajoutés. Un électrolytique de 10 uF et une céramique de 0,1 uF. Lorsque j'ai testé le circuit, j'ai utilisé uniquement une céramique de 0,1 uF.

Capture d'écran de la fiche technique Skylab (PDF).

J'utilise la phrase "RMC" pour obtenir l'heure. Voici un exemple de phrase RMC :

$GPRMC,075747.000,A,2233.89990,N,11405.3368,E,3.9,357.8,260210,,,A*6A

Les premiers chiffres après $GPRMC sont l'heure. Dans cet exemple, l'heure est 07:57:47. Nous aurons besoin de ces informations.

La prochaine chose dont nous aurons besoin est le préfixe qui nous indique si le module GPS a une position valide. Dans l'exemple ci-dessus, c'est le A majuscule après les trois zéros.

Un « A » indique un correctif valide et un « V » indique un correctif non valide. Dans mon logiciel, je recherche un correctif valide. Ces lettres sont sensibles à la casse.

Pour structurer les projets, j'aime faire un schéma bloc. De cette façon, je « visualise » ce que je veux faire.

Dans le diagramme ci-dessus, j'ai tout divisé dans leur propre bloc. Ceci est également utile si je dois dépanner le schéma ou le circuit.

Matériel

Le schéma de principe est basé sur le schéma fonctionnel. J'ai reproduit tous les blocs du schéma fonctionnel pour refléter les composants et leurs connexions dans le circuit.

Dans la fiche technique du régulateur LM7805, il est indiqué que pour une application standard, vous n'auriez besoin que de 0,33 uF sur la broche d'entrée et de 0,1 uF sur la broche de sortie. Alors pourquoi est-ce que j'utilise des plafonds de valeur différente et quelques extras ? Je les utilise pour lisser l'entrée et la sortie. C'est peut-être un peu trop, mais j'ai une très bonne expérience avec cette configuration de régulateur. Si vous n'utilisez pas de condensateurs, le régulateur peut commencer à osciller. Le régulateur LM7805 est un ancien régulateur linéaire. Pourquoi ne pas utiliser un régulateur à découpage moderne ? Les régulateurs à découpage sont beaucoup plus efficaces que les régulateurs linéaires. C'est ce que j'avais autour.

J'aurais pu économiser sur les pièces et l'espace, en n'utilisant qu'un seul relais. Je veux deux relais. L'une des raisons pour lesquelles j'utilise deux relais, c'est que je veux avoir un petit délai entre la coupure du chargeur et le démarrage du ventilateur.

J'ai importé la liste de pièces de BOM.ULP dans OpenOffice Calc et supprimé certaines des colonnes inutiles :

Mes fusibles n'apparaissent pas sur le schéma. J'ai un fusible 12v 8A sur le fil positif des ventilateurs, et j'ai le même sur le fil positif du chargeur de batterie.

Logiciel

Vous pouvez télécharger la source C à partir du lien de téléchargement à la fin de cet article. Le code est bien commenté, mais je vais faire quelques points saillants supplémentaires ici.

Quand je fais un programme, je suis une certaine structure. Ce diagramme montre la structure :

Le code commence par inclure les bibliothèques nécessaires, suivies des bits de configuration. Il est considéré comme une bonne pratique de programmation d'inclure les bits de configuration dans le code source. Il sera alors beaucoup plus facile de voir ce que vous avez fait et pour les autres d'aider à résoudre les problèmes. D'ailleurs, si vous décrochez un projet au bout de quelques mois, vous en verrez tout de suite les morceaux.

Lorsque les bits de configuration sont OK, je passe aux définitions. Ici, je définis la vitesse du cristal que j'ai connectée aux circuits. Les ports du microcontrôleur sont également définis.

L'étape suivante concerne les variables :toutes les variables sont déclarées ici.

Il est maintenant temps de prototyper les fonctions. Ici, je liste toutes les fonctions utilisées par le programme. Certains programmeurs considèrent cela comme une perte de temps, mais j'aime ça et je le garde. C'est en fait nécessaire si vous structurez le programme avec les fonctions après la boucle principale du programme.

Viennent ensuite les fonctions. Maintenant, il est vraiment important de commencer à commenter. J'ai généralement quelques lignes sur chaque fonction qui indiquent ce que la fonction fait en général. Je commente également les lignes de code à l'intérieur des fonctions.

Un exemple est la fonction qui initialise le port UART dans ce projet :

// FONCTION D'INITIALISATION DU PORT UART void uart_init(void) { TXSTAbits.BRGH =0 ; // bit de sélection de baud haut, 1=haut, 0=bas TXSTAbits.SYNC =0 ; // Bit de sélection du mode USART, 1=mode synchro, 0=mode async TXSTAbits.TX9 =0 ; // Bit de sélection 9 bits, 1=transmission 9 bits, 0=transmission 8 bits RCSTAbits.CREN =1 ; // Bit d'activation de la réception continue, 1=activer la réception continue /* Calculer le SPBRG avec un cristal de 16MHz 16MHz 16000000/9600 =1666.6666 1666.6666 / 64 =26.0416 26.0416 - 1=25.0416 25,041 =25 */ SPBRG =25 ; // 9600-n-8-1 PIE1bits.RCIE =1 ; // USART reçoit le bit d'activation d'interruption, 1=activer RCSTAbits.SPEN =1 ; // Bit d'activation du port série, 1=activation du port série TXSTAbits.TXEN =1 ; // transmettre le bit d'activation, 1=transmettre eanble retourner; }  

Vous verrez la première ligne de commentaire expliquant ce que fait la fonction. Ensuite, toutes les lignes de code sont commentées, donc je sais ce qui se passe.

Lorsque toutes les fonctions sont en place, il est temps pour le programme principal. Le programme principal commence par quelques instructions avant d'entrer dans une boucle qui s'exécute indéfiniment.

jc_lettheairflow.c.zip

Conclusion

Dans cet article, j'ai essayé de rendre l'environnement de mon bateau aussi hostile que possible aux moisissures et aux champignons avec un ventilateur qui souffle et fait circuler l'air. Le ventilateur est relié à un tuyau qui sort de la cabine. J'ai utilisé un module GPS pour suivre l'heure et j'ai utilisé deux relais pour allumer/éteindre le ventilateur. Pour m'assurer que la batterie reste chargée, j'ai utilisé un autre relais pour allumer et éteindre un chargeur de batterie.

Je laisse au lecteur le soin de faire passer ce circuit au niveau supérieur et d'afficher la date.

Pourquoi utiliser un module GPS ? J'aurais pu utiliser le microcontrôleur comme une simple minuterie. Ensuite, j'ai dû créer une sorte d'interface, pour régler l'heure. Ou je serais heureux qu'il fonctionne sans égard au temps réel. Il fonctionnerait pendant 5 minutes chaque heure entière. Avec le GPS, je peux le programmer pour qu'il fonctionne de cinq minutes à chaque heure entière.

Image

Essayez ce projet par vous-même ! Obtenez la nomenclature.


Équipement industriel

  1. Comment fabriquer de la fibre de verre
  2. Comment faire un prototype
  3. Comment rendre vos systèmes de compresseur d'air plus efficaces
  4. Comment fonctionnent les sécheurs d'air ?
  5. Comment éliminer les contaminants dans l'air comprimé
  6. Comment remplacer un tuyau hydraulique
  7. Comment fabriquer un mandrin de tour à métaux
  8. Comment ça marche :la chaleur du sécheur à compression
  9. Comment ça marche :Compresseur à dents rotatives