Même si ce n'est pas dit dans la vidéo,
il existe en réalité une deuxième tige plongée dans chaque cuve
pour fermer le circuit électrique et assurer la circulation du courant
dans l'eau dont l'ordre de grandeur est de quelques µA.
La
deuxième tige est plongée plus profondément que la première qui est
ajustable en hauteur de manière à pouvoir calibrer le déclenchement pour
un volume de 1,0L précisément.
Le domino de
raccordement sur la photo rend l'ajustage très facile et permet
d'effectuer par la suite un autre réglage, éventuellement et tout aussi
simplement.
Le long des tiges
verticales ajustables, se trouve un morceau de plastique transparent
plutôt difficile à voir sur la photo. Il sert à détourner le flux
d'eau provenant du déverseur (sélecteur) par conséquent à l'empêcher de
faire une liaison avec la tige, ce qui déclencherait par erreur la
vidange de la cuve avant qu'elle n'ait réellement atteint 1L de volume.
Cette astuce est utile uniquement quand le débit de pluie est fort car
dans ce cas le flux d'eau sortant du déverseur à tendance à s'avancer
assez loin ce qui n'arrive pas quand il y a seulement un petit filet
d'eau.
La détection du niveau d'eau dans chaque cuve est assurée par le double comparateur de tension LM393.
Exemple
pour une cuve: sur une de ses entrée il reçoit une tension de référence
"V ref" réglable et fourni par l'ajustable P2 et sur l'autre la tension
aux bornes de la résistance de tirage vers le bas RG.
Quand la surface de l'eau ne fait pas le lien entre les 2 tiges la tension aux bornes de la résistance RG vaut 0 V.
A
l'inverse quand le volume d'eau atteint 1 L et que l'eau relie ensemble
la tige fixe et la tige ajustable, sa résistance électrique bien
qu'élevée laisse passer du courant ce qui fait augmenter la tension aux
bornes de RG.
-->
Cette élévation de tension
dépasse la valeur de la tension de référence "V ref" ce qui fait changer
l'état la sortie du comparateur qui prévient le microcontrôleur qui lui
comptabilisera + 1 L, changera la position du déverseur et videra la
cuve concernée.
Les résistances RG doivent être
du même ordre de grandeur que la résistance de l'eau entre les tiges
pour que ça fonctionne, j'ai choisi 1MΩ.
Cela dit, la résistance de l'eau est susceptible de varier en fonction de son PH, des impuretés et d'autres paramètres je pense.
Les
condensateurs CB servent à retarder très légèrement l'élévation de
tension aux bornes des résistances RG afin qu'un éventuel parasite
électrique ne puisse pas faire croire au système qu'une cuve à atteint 1
L par erreur. Ordre de grandeur de CB: 1 ~ 4.7 nF. Je n'ai pas pu
vérifier leur efficacité car je les ais mis par défaut.
Les résistances RD servent de tirage vers le haut comme les sorties du comparateur sont à collecteur ouvert.
Programmation:
La programmation du PIC n'est pas des plus difficiles pour cette application.
Les
cuves se vident alternativement quand elles n'atteignent 1L et chaque
cuve ne peut se vider que si sa jumelle a terminé de remonter.
Le
déverseur change de position avant qu'une cuve pleine se soit vidée et
le moteur du déverseur est coupé lorsque le capteur de fin de course
correspondant à la position finale que le déverseur doit atteindre est
enclenché.
Notez que dans cette application les
6 capteurs de fin de course ne coupent jamais l'électricité de
puissance qui alimente les moteurs mais envoient des signaux au
microcontrôleur pour lui ordonner de couper l'alimentation de leurs
relais.
Cette manière de faire est potentiellement risquée
parce qu'en en cas de plantage du PIC il se peut qu'un moteur continue
de tourner et occasionne des dégâts matériels et/ou s'auto-détruise par
surchauffe.
J'ai fait comme ça car le PIC a besoin des
informations de fin de course pour faire fonctionner le système et
enchaîner les actions. L'idéal aurait été d'avoir des capteur de fin de
course, micro-rupteurs à lamelle souple dans le cas présent, dotés de 2
circuits électriques isolés l'un de l'autre.
Vue sur les 3 motoréducteurs, une partie des capteurs de fin de course et les 6 relais quand les 2 cuves sont abaissées
Par
sécurité le programme n'autorise l'alimentation de chaque moteur que
pendant un temps légèrement supérieur au temps que doit normalement
prendre une manoeuvre. De cette façon, si par exemple un capteur de fin
de course est endommagé et ne peut plus indiquer au PIC de couper
l'alimentation d'un moteur, ce dernier s'arrêtera quand même grâce à
cette temporisation de sécurité.
Si une cuve est
censée normalement se vider entièrement en 5 secondes par exemple, le
programme n'autorise le moteur à fonctionner que pendant 7 secondes
maximum, dans le sens descente.
Capteurs de fin de course (suite)
En
cas de panne électrique les valeurs mémorisées dans la RAM du PIC
s'effacent et le compteur revient à 0 pour les deux valeurs de volumes
d'eau ( journée et total ).
L'idéal aurait été de se servir
des quelques cases de mémoire EEPROM intégrées au PIC pour au moins
mémoriser le volume total. Mais faute de place dans la mémoire FLASH
dans laquelle est écrite le programme, il ne m'était pas possible de
programmer une sauvegarde des données.
Toutes
les 24 heures, à minuit normalement, le volume d'eau journalier est
remis à 00. Une interruption avec le timer 0 sert à compter ces 24
heures. Il n'y a pas de pendule réelle à régler dans ce système avec
heures et minutes mais juste un compteur qui compte tous les jours 24
heures avant de faire une remise à 00 du temps et du volume d'eau
correspondant à "Ce jour - - - - - ".
Pour "régler l'heure" il
faut mettre le compteur de temps à 00 quand il est minuit, pour ceci il
suffit de maintenir le bouton poussoir, le même qui sert à faire
défiler les modes d'affichage, enfoncé pendant 12 secondes. Le bouton
est donc 2 en 1 ce qui nous fait un peu moins de fils ! !
P1 permet de régler le contraste de l'afficheur LCD.
La carte de commande: pas très beau oui ! mais pour une construction temporaire ça suffit !
Pilotage des moteurs:
Chaque
moteur est commandé par 2 relais comportant chacun un contact repos /
travail. Leurs bobines sont pilotées par des transistors mosfets que
l'on aperçoit sur la photo ci-dessus. Les résistances RA évitent que les
que les grilles des transistors se retrouvent "en l'air" et que les
moteurs se mettent en marche si le PIC n'est pas implanté sur son
support.
Les résistances RB ont pour but d'éviter que les
capacités indésirables Cgs ( grille - source ) des mosfets n'appellent
un "grand" courant sur les sorties du PIC à leur mise sous tension.
DA
sont des diodes de roues libre. RC sont des résistances de limitation
car les bobines des relais utilisés supportent 12 V et l'alimentation de
puissance fourni environ 15 V. Les condensateurs CA limitent la
remontée des parasites produits par les moteurs dans le reste du
circuit. Sachez que j'ai eu quelques problèmes de plantage du
microcontrôleur parfois et je pense qu'un filtrage plus complet, à base
de bobine/condensateurs, aurait résolu ce problème.
Les
moteurs qui manoeuvrent les cuves se prennent directement 15 V. J'ai eu
besoin de limiter très fortement la vitesse du moteur du déverseur et
ais donc réduit sa tension d'alimentation au moyen d'un régulateur
ajustable LM317, la tension (et donc vitesse) est réglable par
l'ajustable P3.
Le rendement du régulateur est mauvais mais ce n'est pas critique comme ce moteur tourne très peu de temps.
D1
est une diode de roue libre qui évite la destruction du LM317 par
surtension lorsque les contacts des relais coupent le courant du moteur.
Alimentation électrique / partie puissance:
Comme
dit dans la vidéo l'alimentation provient d'un transformateur
abaisseur, le redressement et le filtrage sont faits sur la carte de
puissance du dispositif, un régulateur linéaire produit 5 V pour la
partie commande.
Je n'ai pas calculé qu'il y avait nécessité
d'un transformateur d'un minimum 50 VA, mais c'est cette puissance que
j'avais sous la main et je me doutais que ça suffirait largement.
Les 15 V servent aux moteurs et aux LED de puissance d'éclairage nocturne.
Avec
les 10 mètres de câble de section relativement petite sous 12 Vac,
entre le transformateur et le système, il y a encore plus de chutes de
tension quand les LED ou les moteurs s'alimentent donc la valeur 15 V
n'est qu'approximative.
Les LED ont besoin d'un
courant constant (source de courant) pour fonctionner correctement, ce
sont des régulateurs LM317, branchés de manière inhabituelle, qui leurs
sont associés, qui se chargent de réguler le courant et non pas la tension cette fois. La valeur du courant qui traverse les LED n'est donc pas influencée par les chutes de tension sur le bus 15 V.
Notez
qu'utiliser un LM317, régulateur linéaire, pour faire cette régulation
implique un mauvais rendement et donc une grande perte d'énergie, c'est
pourquoi ils sont montés sur dissipateur.
Les résistances RF1 et RF2, calculées pour que les LM317 débitent respectivement 700 mA et 350 mA sont des modèles de puissance.
Ces
LED vertes demandent 350 mA (1 W chacune) et cette bleue là 700 mA (3
W). D'après les documentations ces modèles de LED vertes ont un flux
lumineux de 60 lm et la bleue de 33 lm, curieusement je ne perçois
aucune différence d'intensité lumineuse alors qu'il devrait pourtant y
avoir un facteur d'environ 4 sauf erreur d'interprétation de ma part...
Les LED de puissances sont installées sur refroidisseurs: indispensable pour ces modèles là.
Remarques / Critiques:
Ce
système bricolé à la "va vite" se comporte bien pour les faibles débits
de pluie, mais il faut quand même noter qu'il y a plusieurs sources
d'imprécision même en dehors du phénomène de saturation apparaissant
lors des débits trop grands:
A l'instant où le
déverseur s'oriente vers l'autre cuve il y a une petite quantité d'eau
qui s'échappe par le vide situé entre les 2 cuves.
Quand
le débit est grand, l'eau qui chute du déverseur crée une vague dans la
cuve et le sommet de cette vague peut toucher l'extrémité de la tige de
détection avant d'atteindre réellement un volume de 1L dans la cuve.
J'ai
effectué l'étalonnage du compteur à 1 L quand les cordes de traction
étaient neuves et sèches, avec le temps et imprégnées d'eau on peut
penser que leur rigidité a changé. Un changement de rigidité peut, avec
le poids de l'eau, modifier d'angle d'inclinaison des cuves quand elles
sont à l'horizontale et donc fausser le déclenchement à la valeur de 1L.
Et enfin: une cuve ne peut jamais se vider jusqu'à la dernière goutte.
Difficile pour moi d'estimer ce pourcentage d'imprécision.
Ioduremetallique a fabriqué un robot très original qui permet de se servir gratuitement dans les distributeurs de boite de soda. Ce robot n’est pas vraiment là pour voler ou dévaliser ces machines, mais il sert surtout à valider une idée et gros travail d‘ingénierie DIY.
Chaque distributeur dispose d’une trappe anti-vol qui condamne l’accès aux boissons quand on y insère la main, mais lorsque la trappe est rabattu, l’accès est libre. Ioduremetallique a donc réalisé un robot que l’on loge dans le bas de la machine et qui va aller se servir.
On ouvre donc la trappe, on place le robot et on referme la trappe. Avec la télécommande, il suffit alors de déplier le robot et d’aller chercher la canette de son choix avec une pince. Un peu comme le jeu du grappin, mais l’on gagne à chaque fois ou presque.
Il ne faut pas croire que ce robot a été simple a réaliser, car c’est plus de 7 mois d’essai et de conception qui ont été nécessaire pour réaliser ce robot RoboArna.
Voici une vidéo de démonstration, pour information, Ioduremetallique devrait proposer une seconde vidéo plus technique avec plus de détails sur ce robot d’ici peu.