Pages: [1] 2   Go Down
Author Topic: Programme eclairage LED aquarium  (Read 5275 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 21
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

bonjour,
je souhaite faire un eclairage aquarium a base de "bandeaux led smd5050"

Le materiel utilise:
arduino uno
alim pc 480W( 12V= ~~200W)
ecran monochrome PCD8544
module horloge RTC DS1302
3 ULN 2803A
3 Bande led blanc froid 1,65 Metres 12V/2A
2 Bande led RGB 1,65 M 12V/1,5A

le programme devra:
allumer les led RGB pour simuler le lever du jour de 8H A 10H
allumer progressivement les blancs froid de x H A x H
pour l extinction le sens inverse!
et simuler la lune avec RGB (variation mensuel)
si j ai encore des sortie dispo j ajouterais un controleur ph et temperature
apres en avoir vu plein d exemple je suis un peu perdu
pouvez vous m oriente sur un programme simple a ecrire/utilise ?

schema a suivre...( faut que je le dessine! )
« Last Edit: January 16, 2012, 04:03:17 pm by axel_67 » Logged

Chulak
Offline Offline
Full Member
***
Karma: 2
Posts: 234
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Encore un aquarium .. mais y'a pas de question dans ton message..
ou tu attend que quelqu'un te le fasse?
Logged

Aimez la Vie, mais preferez la Mort, car seulement celle-ci vous liberera des tenebres de la Vie.

Offline Offline
God Member
*****
Karma: 12
Posts: 911
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Encore un aquarium ..
Bientôt on fera des bulles.... smiley-mr-green
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 21
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

schema du montage


* Schema du montage.bmp (1418.15 KB, 771x627 - viewed 174 times.)
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 21
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

pour l instant j ai fais un code pour lire date/heure sur le lcd ici:
http://pastebin.com/hvFVPn9f
pourriez vous me dire tout ce qu il manque pour automatise mes LED
en pwm pour les RGB, et les blanche ?
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 21
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

personne peut m aide ?
Logged

0
Offline Offline
God Member
*****
Karma: 2
Posts: 802
Arduino rocks
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Yep!

Ca va être difficile de t'aider si tu ne nous dit pas précisemment où tu bloques, sur quelle appli, partie du code, cablage, etc...

Dans un projet, quel que soit la difficulté ou le type, la normalité voudrait que l'on valide chaque élement un par un et qu'ensuite seulement on ajoute des blocks les uns aprés les autres au programme principale. On valide chaque étape.

Ton afficheur est ok, l'horloge ok. Tu as le shema de cablage. Quelle est ta question ?

@+

Zoroastre.
Logged

Veuillez indiquer [RESOLU] dans l'entête du titre en éditant votre premier message smiley-wink

Offline Offline
Newbie
*
Karma: 0
Posts: 21
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

bonjour
je ne sais pas comment faire pour programmer une heure de demarrage et d arret avec rtc!
comment je dois utilise les fonctions dispo pour ds1302 ?
sachant que j ai 5 rangees de led et que chacune devrait s allumer a son tour;
pour l extiction dans le sens inverse
Logged

Chulak
Offline Offline
Full Member
***
Karma: 2
Posts: 234
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

tu créer des variable contenant l'heure et le minute de démarrage et d'arret pour chaque rangée.
exemple:
Code:
int heureDem1 = hh;
int minDem1 = mm;
int heureDem2 = hh;
etc
int heureArret1 = hh;
etc

sinon aussi tu fais le compte en minute :
Code:
long demarrage1 = *****; //heure*60 + minute
long arret1 = ****;
etc

ensuite suffit de comparer pour le cas 1
Code:
if(rtc.hour == heureDem1 && rtc.min == minDem1) {
 rangee1 = ON;
}
etc..

pour le cas 2 :
Code:
if((rtc.hour*60)+rtc.min == demarrage1) {
rangee1 = ON;
}
etc

apres a toi .. d'optimiser le code a ta convenance.. mais ta déjà des infos pour te lancée..
« Last Edit: February 06, 2012, 05:15:54 am by Tealcoune » Logged

Aimez la Vie, mais preferez la Mort, car seulement celle-ci vous liberera des tenebres de la Vie.

Paris
Offline Offline
Newbie
*
Karma: 0
Posts: 6
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Bonjour

Je suis tombé sur ce fil en cherchant par le terme "aquarium". Je veux réaliser une rampe LED automatisée par Arduino moi-aussi. Je suis novice en électronique et en Arduino, mais je crois savoir coder (je code en Java).

Pour le PWM, j'ai trouvé des exemples sur la page de PWM http://arduino.cc/en/Tutorial/PWM et de la page qui explique la fonction
Code:
analogWrite()
http://arduino.cc/en/Reference/AnalogWrite

Sinon, le voltage qui sort du PWM d'Arduino est de 5V, bien inférieur à ce que prennent tes rampes. Il faut une alimentation pour les rampes à part, 12V+2A qui sera "interrompu" très fréquemment et au pourcentage de charge réglable à la PWM.

J'ai cogité moi-même il y a quelques semaines. Je lisais le chapitre 3 d'un bouquin d'intro d'électronique (Make: Electronics) et compris qu'il me fallait c'est un transistor. Le transistor est conçu pour servir d'interrupteur de haute fréquence. Et son actionnement est cadencé par PWM d'Arduino, mais à un voltage cette fois-ci bien inférieur à 5 (en fait 0,6V) à tel point qu'il faut une résistance entre Arduino et le transistor (comme ça Arduino ne souffrira pas de sur-courant non plus).

Au début j'ai utilisé un transistor très classique (2N2219, NPN, bipolaire) dont le courant autorisé était presque ce que je faisais passer en vrai dans le circuit. Mais j'ai vite appris qu'il ne faut pas utiliser un composant qui supporte à peine la condition réelle, mais ce qui est capable de gérer de loin plus grande valeur. Par exemple, si un transistor est garanti pour supporter jusqu'à 2A, il vaut mieux l'utiliser qu'à 1A maxi dans le circuit réel. Et en effet, 2N2219 chauffait trop, devenait brûlant.

Quand j'en ai parlé à un vendeur d'un grand magasin d'électronique de Paris, il m'a conseillé un transistor MOS-FET (BUZ10, canal N). Je l'ai mis en place le soir même. Et ça marche !, sans du tout chauffer ! smiley-grin

MAIS, j'ai observé également une chute de tension à cause du transistor (quel qu'il soit) dans le circuit de LED. Donc je suis en train de penser que, pour pleinement bénéficier de la pleine luminosité des rampes, il faudrait sauter (ne plus utiliser) le PWM d'Arduino via le transistor qui fait chuter le voltage quand on veut la luminosité 100%, après avoir progressivement intensifié la luminosité durant des minutes, en fermant "un circuit du soleil" parallèle au transistor.

Fermer (ou au contraire couper) un circuit est un truc que peut faire un relai. Alors, le relai marche avec des bobines (électro-magnétiques) afin de faire bouger le contact physiquement dans l'espace, et ça consomme ce que ça consomme.

Dans le même bouquin, chapitre 4, l'auteur nous montre l'utilisation d'un relais bistable (en anglais "latching relay", dans ce livre la référence est Panasonic DS2E-SL2-DC5V ; sur farnell ou selectronic, on peut trouver par "relais bistable" et "5v"). Bi-stable désigne le fait que les deux états On-Off sont tous les deux stables = ne nécessitent pas d'énergie. On -> Off ou Off -> On, dans les deux sens, ce genre de relai ne nécessite qu'un petit moment sous tension et hop le contact se déplace et se stabilise, maintenant on peut couper le courant. Donc, je vais certainement chercher à l'installer en parallèle avec le transistor.

Mon programme sera comme suit pour le matin :
 - l'heure est venue ?
  - si oui, on commence à bosser
   * allumer les RGB comme je veux
   * à chaque lapse du temps DUREE / 256, j'allume plus fort d'un
    (par exemple, si la transition de la levée du jour est 128 minutes, chaque 30 secondes je fais
Code:
analogWrite(PWMPIN1, ++luminosite);
   - est-ce que la luminosité est à 100% ?
    - si oui, on actionne le relai bistable pour qu'il ferme le circuit du soleil ! En même temps, le PWM peut s'arrêter.
    - si non, on continue
  - si non, je retourne au lit

Amicalement, j'espère avoir été clair et utile,
Masarut
Logged

Paris
Offline Offline
Newbie
*
Karma: 0
Posts: 6
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Bonjour,

J'ajoute mon circuit actuel sans le circuit de soleil dont j'ai parlé dans mon message précédent.

masarut


* schema.png (24.85 KB, 768x687 - viewed 67 times.)
Logged

Forum Moderator
Geneva
Offline Offline
Faraday Member
*****
Karma: 30
Posts: 3230
Yoplait... le pt'it suisse
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Si tu commande ton transistor en PWM et que ce dernier est assez rapide, il fera lui même de la PWM... donc tu n'auras pas tes 12V, mais le rapport de tension défini par la fréquence PWM.

Tu peux faire des rampes d'allumage en PWM en début et fin d'allumage, de façon à simuler le lever/coucher du soleil et au Zénith être en commutation "constante"
Logged

MacBook intel core 2 duo  os X snow Leopard 10.6<br/> eMac PPc G4  os X Leopard 10.5<br/>powerbook G4 os X Leopard 10.5
imac PPC G3 os X Pa

France
Offline Offline
Faraday Member
**
Karma: 38
Posts: 3508
There is an Arduino for that
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

@axel_67

Quote
bonjour
je ne sais pas comment faire pour programmer une heure de demarrage et d arret avec rtc!
comment je dois utilise les fonctions dispo pour ds1302 ?
sachant que j ai 5 rangees de led et que chacune devrait s allumer a son tour;
pour l extiction dans le sens inverse
Bon je vais faire le méchant de service.
Des projets d'éclairage d'aquarium il y en a déjà eu des dizaines. Des projets de pilotage de LED pour simuler le lever de soleil les cycles lunaires, etc... il y en a eu encore plus.  Je compte que les projets en français parce que si tu prends la partie en anglais tu peux ajouter un zéro.
Je crois qu'une petite recherche sur le forum pour commencer à te faire une idée de ce qui existe et de comment tu pourrais l'utiliser serait une bonne idée. Tu analyses l'existant, tu essayes de comprendre et ENSUITE tu reviens avec un projet clair des débuts de solutions et là on te donne un coup de main pour mettre au point et intégrer ton propre système.

Rassures-toi, tu es quand même le bienvenue  smiley
« Last Edit: March 17, 2012, 04:10:05 am by fdufnews » Logged

Offline Offline
God Member
*****
Karma: 12
Posts: 911
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Bonjour Masarut,

C'est moi que tu a croisé en boutique d'électronique, et qui t'a conseillé de poser tes questions sur le forum, avant d'acheter n'importe quoi.
J'espère que les pros d'Arduino et d'électronique t'aideront à résoudre ton problème par rapport à ton shéma d'électronique.

D'après ce que tu ma expliqué, voilà ce que j'ai compris:

Apparement Masarut a un problème dans son circuit électrique. Son circuit principal est alimenté en 24Volts.
Il a trois rampes de LEDs hautes luminosité à controler en intensité par l'intermédiaire du PWM.
Il a donc mis un MOSFET pour commander tout ça sans que ça crame.
Son problème s'est que quand le PWM est à 100%, il y a une chutte de tension dans le circuit.

Masarut souhaite donc "courcircuiter" la partie du circuit avec le MOSFET quand le PWM est à 100%, à l'aide d'un relais bistable à commander avec un PIN de l'Arduino.

LE problème s'est qu'il n'arrive pas à savoir où mettre son relais dans son circuit pour que cela fonctionne (et moi non plus).

En clair:
 quand 0%<PWM<100% => utiliser le MOSFET
 quand PWM=100% => utiliser le RELAIS pour "shunter" la partie du circuit contenant le MOSFET.


J'ajouterais que je trouve son circuit pas du tout optimisé. Car des LED en séries c'est pas le top pour de l'éclairage, si il y en a une qui crame, toute la rangée s'éteint!
Je serais donc parti pour mettre les LED en parallèle.


Tu as du déjà tomber dessus mais tu peux éventuellement trouver des idées en regardant ce qui a déjà été fait car en aquarium il y en a beaucoup:

http://technology-flow.com/articles/aquarium-lights/
http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1292082300/all
http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1292082300/12
http://www.semageek.com/controlez-votre-aquarium-avec-un-arduino/
http://www.nzmas.co.nz/forum/viewtopic.php?f=7&t=10339
http://www.abcelectronique.com/forum/printthread.php?t=73819&page=1&pp=10


Pour le PWM regarde ici:
http://www.mon-club-elec.fr/pmwiki_mon_club_elec/pmwiki.php?n=MAIN.ArduinoInitiationImpulsionPWM
http://www.arcfn.com/2009/07/secrets-of-arduino-pwm.html

http://www.boostled.com/products/typhon-led-controller-kit


Penses également qu'il faudra rajouter dans ton circuit un RTC (Real Time Clock) de type DS1307 ou équivalent, pour pouvoir gérer le temps.


Dans tous les cas, si tu dois monter un relais, inspire toi grandement de ces schémas:


Si j'ai bien compris ce que tu veux faire c'est ça:
http://www.reefcentral.com/forums/showthread.php?t=1975602


A dispo si besoin,
Cordialement,
John
Logged

France
Offline Offline
Faraday Member
**
Karma: 38
Posts: 3508
There is an Arduino for that
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset


Quote
Il a donc mis un MOSFET pour commander tout ça sans que ça crame.
Son problème s'est que quand le PWM est à 100%, il y a une chute de tension dans le circuit.
Vu les caractéristiques du BUZ10 je suis assez étonné qu'il y ait une chute de tension mesurable en faisant passer moins de 2A dans le transistor. Avec un Rds on de 0,07 ohms max la chute de tension devrait être inférieure à 140mV. On pourrait se demander si le transistor est bien commandé peut être le Vgs est-il un peu faible et le transistor mal saturé.
Logged

Pages: [1] 2   Go Up
Jump to: