Automatisation d'un jardin d'intérieur

Bonjour à toutes et à tous.

Je tiens à préciser pour commencer que je suis nouveau dans la domaine. J'ai quelques notions électronique et d’électricités, mais aucune en programmation (sauf si les calculatrices du lycée compte :D)

J'ai comme projet d'automatiser un jardin d'intérieur.

Actuellement il est composé de:
-lampe 400w
-rail mobile pour la lampe
-extracteur
-intracteur
-ventilateur de brassage
-pompe
-brumisateur

La première chose que je voudrais automatisé est le rail mobile. En gros la lampe est fixé sur un boitier mobile qui navigue le long d'un rail en faisant des aller-retour.
Mon système marche déjà à l'aide de 2 contacteur, d'un relais inverseur et forcement d'un moteur. Le problème c'est que lorsque le relais inverseur commute, le moteur n'apprécie pas ce changement brusque, et il vient de rendre l'âme.

Bref plutôt que de refaire mon système, je préfère l'améliorer avec un Arduino, et à l'avenir gérer pleins d'autres paramètres (temps d'allumage de la lampe, gestion intraction-extraction en fonction de la température, gestion brumisateur,...)

Je voudrais donc acheté l'Arduino Duemilanove de base et dans un premier temps l'utiliser pour commuter mon relais inverseur, avec un arrêt d'environ 2 secondes pour éviter les étincelles et surtout les retours de courant.

Pourriez-vous me dire quels composants me faudra t-il pour cela?
Je vais utilser ce moteur : http://www.lextronic.fr/P1960-motoreducteur-45040.html
A moins que l'Arduino puisse faire ça tout seul?

Merci de m'éclairer, car j'avoue être un peu perdu, mes cours d'électronique remonte à loin...

C'est pour faire pousser de l'ail ou de l'oignon ? 8)

Visit http://gardenbot.org/

artouste: c'est pour faire pousser des piments, des poivrons et toutes sortes d'aromates, fautes d'avoir un jardins et une météo adéquates.

Merci flico, j'ai un peu de mal avec l'anglais mais ça peux me donner des idées.

Bonjour,

L'arduino c'est coté logique,
le moteur c'est coté puissance,

Un arduino ne peut pas piloter un moteur directement, il te faut interfacer des circuits pour le piloter

Des shields arduino (carte mezzanine) intégrant cette fonction "driver moteur" existent, plein de vendeurs en ont
Ou bien même des drivers autonomes (appellés "breakout board" en anglais)

sinon tu dois faire toi même une carte interface (le circuit est relativement simple) avec des composants comme le L293, L298, ou simplement des transistors (chercher "pont en H" ou "H bridge")
par exemple : http://itp.nyu.edu/physcomp/Labs/DCMotorControl pour des petits moteurs

Si besoin de gros moteurs (déplacer de grosses charges assez vite) il te faudra une carte driver adaptée (assez costaud quoi :wink: )

Peut tu ajouter des photos de la lampe & de son rail mobile, ça permettrait d'estimer un peu la taille du au moteur / réducteur / driver (carte interface)

Lionel

Merci Snootlab, mais utiliser un relais ou un transistor ne serait pas plus simple?
Surtout que j'ai déjà un relais inverseur en place.

Pour le moteur, j'ai mis le lien sur le premier post.

J'essayerais de prendre des photos effectivement, ce sera plus clair.

Re-
Effectivement, tu peux utiliser un relais + deux transistors & résistances
je ressort un montage rustique qui ne convient que pour des puissances très raisonnables publiée il y a quelques temps sur instructables

Lionel

C'est effectivement très "rustique"! :grin:

Mais c'est exactement ce que je cherchais!
Encore merci, maintenant j'attends mon Arduino pour bidouiller ça.

korneo:
Merci Snootlab, mais utiliser un relais ou un transistor ne serait pas plus simple?
Surtout que j'ai déjà un relais inverseur en place.

bonsoir
Alors si c'est pour faire pousser des poivrons ! :grin:

  • quel type de relais inverseur ? si il est là et déjà fonctionnel il faut juste voir comment le commander avec l'arduino .
  • la lampe de 400w , quelle technologie, actuellement elle est alimentée comment (tension de service ? )
    je suppose que le taux de commutation ON/OFF des différents éléments est d'ordre faible (~ max 2, 3 à la minute) ?

si oui, ça ne nécessite pas de composants "chers et introuvables"
le mieux est de faire la liste avec références "consultables" si possible des "trucs" à "mettre en route"

c'est pour faire pousser des piments, des poivrons et toutes sortes d'aromates

:grin:

Le relais inverseur est identique à celui du montage présenter au dessus par Snootlab.
I:0.6A et 120 VAC. Mais je l'utilisais déjà pour ce même montage avec un moteur plus gros donc pas de problème. Les 2 bobines étaient reliées à des contacteurs de chaque cotés de la partie mobile, qui sont déclenchés en bout de courses.

La lampe est une HPS (le top pour de beaux poivrons!) 400w en 230w et 1.75. Par contre il y à de fort pics au démarrage.
J'utilise un ballast électronique (Lumatek)

Pour le taux de commutation, le light rail faisait un aller en 8-10min avant. Mais comme j'ai commandé un nouveau moteur je ne sais pas encore, mais ce n'est pas énorme. Surtout qu'il ne tourne que la moitié de la journée. Pour la lampe, seulement 2 commutations par jour.

Mais l'intégration de l'allumage de la lampe dans l'Arduino n'est pas ma priorité car je dispose actuellement d'un programmateur électronique qui fait très bien son travaille.

Me revoilà avec enfin mon petit Arduino.

Alors pour commencer je me suis "amusé" à faire un chenillard et quelques trucs de bases.
Jusque là, tout va bien.

Ensuite j'ai décidé de m'attaquer au programme de mon light rail, voilà ce que ça donne:

int moteurD = 2; // moteur sens droit
int moteurG = 3; // moteur sens gauche
int finDeCourse = 8; // fin de course, il y en à 2

boolean etat = false; //variable qui permet l'inversion

void setup ()
{
pinMode (moteurD, OUTPUT);
pinMode (moteurG, OUTPUT);
digitalWrite (moteurG, HIGH);
}

void loop ()
{
if (digitalRead (finDeCourse) == HIGH)
{
if (etat == true)
{
digitalWrite (moteurD, LOW);
delay (2000);
digitalWrite (moteurG, HIGH);
}
else
{
digitalWrite (moteurG, LOW);
delay (2000);
digitalWrite (moteurD, HIGH);
}
etat = !etat;
delay (300);
}
}

Bon alors je l'ai cabler pour le moment avec 2 LED. J'ai mis une impulsion de 300ms qui sert juste à commuter le relais inverseur.

Maintenant je ne comprends pas trop comment cabler le relais inverseur, enfin surtout au niveau des valeurs des résistances.
Dessus il est écrit :
12VDC tension de commutaion je suppose)
2A,30VDC RES
0.5A, 60VDC/120VAC RES
Et là mes compétences ne me suffisent pas à comprendre...

Sinon vu que mon moteur tournera en 1.5v (0.8A max selon constructeur), ne serait il pas plus simple d'utiliser des transistor? Par contre je ne comprend pas grand chose au niveau des valeurs non plus...

Je commence à vraiment regretter de ne pas avoir été un bon élève...

korneo:
(...)Maintenant je ne comprends pas trop comment cabler le relais inverseur, enfin surtout au niveau des valeurs des résistances.
Dessus il est écrit :
12VDC tension de commutaion je suppose)
2A,30VDC RES
0.5A, 60VDC/120VAC RES
Et là mes compétences ne me suffisent pas à comprendre...

Sinon vu que mon moteur tournera en 1.5v (0.8A max selon constructeur), ne serait il pas plus simple d'utiliser des transistor? Par contre je ne comprend pas grand chose au niveau des valeurs non plus...(...)

Bonjour,

l'ensemble des solutions (transistor, relais, shields dédiés) à déjà été abordé dans les précédents posts...
je refais la liste dans un ordre que j'estime juste, mais c'est subjectif

Du plus simple au plus compliqué (comprendre aussi du plus cher au moins cher, ou encore de celui qui te prendra le moins de temps a celui qui t'en prendra le plus en code / bricole,...)

  • Shields moteurs dédiés, (cf. post au dessus, parcourir la liste des vendeurs) le plus cher mais tout est pret sous forme de shield, le moteur est juste a câbler, des librairies aident au code
  • Relais, pas trop cher, mais de la bricole a prévoir (cf. post au dessus, parcourir le lien vers instructables), code léger
  • Transistors (cf. post au dessus, contenant H-bridge ou pont en H) pas cher du tout pour de tout petits moteurs, bricole a prévoir, prévoir de coder quand même un poil.

korneo:
(...)Je commence à vraiment regretter de ne pas avoir été un bon élève...

Il n'est jamais trop tard pour apprendre, l'envie suffit !

Lionel

Alors après réflexion, (merci Snootlab), je pense utiliser des transistors.

J'ai donc fait un schéma, qui n'est autres qu'un pont en H.

Seulement, je pense qu'il manque des résistances, et peut être une diode de roue libre (même si je ne comprends pas vraiment l'utilité.
En sachant qu'il n'y aura jamais d'inversion direct (minimum 2s d'arrêt avant inversion)

Le principe de mon schéma doit être bon (sinon c'est que j'ai vraiment rien compris...), mais que manque t-il?

edit: je viens de comprendre l'utilité de la diode de roue libre, donc dans le pire des cas j'en rajoute sur les transistor.
reedit: Erreur dans mon schéma, pour l'alimentation du moteur, il y aura en réalité un transformateur qui délivrera entre 1.5 et 3v (sans doute 1.5v tout de même, pas besoin d'aller vite).

Vraiment personne pour m'aider? :astonished:

J'ai passé toute ma soirée à essayer de faire tourner ce fichu moteur! J'ai un transfo 3v, lorsque je prends la tension à vide, j'ai 4.9v (déjà ça je ne comprend pas trop).
Ensuite quand je mets le moteur, il tourne trop vite. Donc j'ai rajouté une résistance en série puis une autre en parallèle de même valeur, ce qui devrait diviser la tension par 2, mais là mon moteur ne tourne plus...

De plus mon schéma est-il bon si j'alimente le moteur d'une autre source que l'Arduino et que je connecte les masses entres elles?

En dernier recours, je me pencherais bien sur un shield, mais impossible d'en trouver pour des moteurs en 1.5-2v.

Merci de m'aider, car là je patauge!

Merci de m'aider, car là je patauge!

Volontiers, mais SVP avec un vrai schéma ('schéma de principe', 'schéma structurel'....)!!

Un plan de câblage, Fritzing ou autre, un plan de carte imprimée... etc donnent bien des informations mais elles sont souvent incomplètes (brochage des transistors, de circuits intégrés...) et pas sous une forme permettant d'analyser le fonctionnement. (Un plan de montage et un schéma sont complémentaires.
L'un ne peut pas remplacer l'autre.)

Nombre de lecteurs de ce fil sont sans doute placés devant le même problême : pour aider il faut d'abord reconstituer un schéma à partir du plan Fritzing...... ça refroidit certaines bonnes volontés.
Un schéma à main levée suffit avec toutes les liaisons, références de composants, valeurs des résistances.....etc... Un schéma avec des composants représentés par leurs symboles, pas par leur boitiers !

J'ai passé toute ma soirée à essayer de faire tourner ce fichu moteur! J'ai un transfo 3v, lorsque je prends la tension à vide, j'ai 4.9v (déjà ça je ne comprend pas trop).

l'alimentation n'est pas regulé ..

Pour le moteur oui si la masse est comune ...
Pour la vitesse essaye avec une sortie pwm ...

Aussi non rien de mieux que de passé via un L293D

...

Par contre ton moteur sera-t-il capable de tirer ta lampe ?

al1fch: oui j'aurais du renseigner d'avantage, je corrigerais ça dès que possible.

avr_doctor: pour l'alimentation je vais donc sans doute investir pour une 7v afin d'alimenter l'Arduino avec. Il faudra que j'abaisse la tension pour le moteur.

Sinon le L293D m’intéresse beaucoup. J'ai vu des shields l'intégrant, mais ils sont fait pour des tensions de 7 à 12v. Est-ce pareil pour le L293D seul?

Merci et désolé pour mon manque de précision.

Est-ce pareil pour le L293D seul?

Les différentes notices du L293D indiquent que la tension 'moteur' ( pin 8 ) doit être au moins égale à la tension Vcc1 (pin 16) soit 5V . (ça fonctionne peut etre avec un Vcc2 < Vcc1, seul des tests peuvent monter le résultat. ça peut aussi détruire le composant !)

Donc en gros le mini pour la puce c'est Vcc2=Vcc1=5V

Il est quand même possible à partir d'une tension continue de 5V de faire fonctionner correctement un moteur spécifié pour 2,5V par exemple. Il faut appliquer sur la pin 1 (EN) un signal carré (50/50)
Le moteur alimenté 50% du temps (à une fréquence de plusieurs kHz) fonctionnera comme s'il recevait une tension continue constante égale à la moitié de Vcc.
Avec les librairies de commande de vitesse à L293 il suffirait sans doute de fixer la vitesse à la moitié du maxi.
(schéma à L293 joint. les 4 diodes sont intégrées dans le L293D)

je vais donc sans doute investir pour une 7v afin d'alimenter l'Arduino avec.

Avec un vcc2 de 7V et un moteur 2V il faut un % de 28,5 (ou vitesse 30% du maxi)

L293.jpg