465l amphioxus

Démarré par amphioxus, 31 05 13, 16:16 PM

0 Membres et 1 Invité sur ce sujet

brust

  Ahhh    je le savais que tu étais un magicien.  :roll:                             J'ai gaulé tes chaussons  :-D       


   Du boulot encore et toujours très propre et soigné  :up:   :merci:

  :pint: :pint: :pint:

amphioxus

collage du verre et montage de la rampe.

premiers essais





dès que j'arrive à avoir un journée pour moi, je vous fait un topo éclairage. (pour se rendre compte du pourquoi du comment de tout ce bazar.)

à suivre, test d'étanchéité, habillage et démarrage !


Kirua

Je ne comprends rien mais ça a l'air cool...

Il me fait bien délirer le meuble pour le 54l  :merci:

tenshu

#92
Citation de: amphioxus le 29 07 13, 16:13 PM
si la première condition elseif renvoi une valeur VRAI, que se passe-t-il une fois qu'elle est exécutée ? les autres elseif sont testées ou on sort du bloc IF (équivalent d'un break ?) ?
et la dernière instruction ELSE, elle ne s'exécute que si toutes les conditions précédentes sont fausses ou s'exécute-elle de toute façon ?

Traduis l'instruction en bon français de chez nous  :-D

Si -> Sinon Si -> Sinon si -> Sinon

La première est testée sinon la suivante sinon encore la suivante sinon la dernière l'est.
Effectivement si une se vérifie, on sort de la structure.
Le dernier else fait office de ramasse miette.
Cette structure étant pas terriblement lisible, on l'évite autant que possible, ce qui est toujours possible ou presque.

C'est le même principe dans le switch.
Tu devrais avoir une case default qui attrape les conditions restantes.

amphioxus

les structures conditionnelles, je les comprend un peu, mais pas correctement je pense.

par exemple, en reprenant justement la structure

If() {
...
} elseif() {
...
} elseif() {
...
}  else {
...
}


si la première condition elseif renvoi une valeur VRAI, que se passe-t-il une fois qu'elle est exécutée ? les autres elseif sont testées ou on sort du bloc IF (équivalent d'un break ?) ?
et la dernière instruction ELSE, elle ne s'exécute que si toutes les conditions précédentes sont fausses ou s'exécute-elle de toute façon ?

les références arduino ne sont pas claire sur ce sujet.

maintenant, je pourrais tout aussi bien faire un petit programme pour tester tout ça mais bon... déjà que tout ça m'a pris du temps... et puis comme ça fonctionne...

je ne te dis pas le temps que j'ai passé à comprendre la mécanique de la bibliotèque RTClib...

merci de t'intéresser en tout cas  :pint:

tenshu

Citation de: amphioxus le 28 07 13, 13:00 PM
la plâtrée de IF justement, c'est bien en ça qu'il n'est pas propre effectivement.
mais là, j'arrive au bout de ce que je suis capable de faire.
la ELSE IF reste mal conprise pour moi. la WHILE et FOR aussi...


C'est fou que tu arrives à ce que tu veux sans comprendre les structures conditionnelles de base.
Tu devrais commencer par là, c'est la base nécessaire pour tout les langages!

le elseif c'est pas la panacée ça s'utilise simplement comme ceci :

If() {
...
} elseif() {
...
} elseif() {
...
}  else {
...
}

Ne pas oublier le else final qui attrape tout ce qui ne passe pas dans les conditions précédentes.
Le while permet d'exécuter un code tant que la condition passée est vérifiée.
Le for permet  de gérer plus finement l'incrément avec las paramètre passés à la fonction.
Rien de dur à piger!

Après ton code pourrait être agréablement saucissonné en différentes fonctions pour être plus lisible.

amphioxus

j'ai travaillé sur mon meuble. je lui ai raccourci les pattes.



puis j'ai remis les plaques d'agglo



prochaine étape, collage du bac.

amphioxus

Citation de: tenshu le 27 07 13, 11:16 AM
C'est pas trop crado non,

Tu pouvais pas faire autrement qu'une plâtrée de if() dans le case 3 ?

Sinon on garde pas de code commenté et on indente correctement  :-D

Pardon le boulot qui remonte  :-D

salut,

les comments, je les garde car moi et la mémoire...

la plâtrée de IF justement, c'est bien en ça qu'il n'est pas propre effectivement.
mais là, j'arrive au bout de ce que je suis capable de faire.
la ELSE IF reste mal conprise pour moi. la WHILE et FOR aussi...

l'idée première étant une bonne gestion de la panne de courant. alors je ne voyais pas comment faire autrement que de tester l'heure réelle en permanence, surtout pour les courbes de montée et descente.
et encore, si je n'avais pas eu la fonction MAP, je ne sais pas comment j'aurais fait...

mais, je suis preneur de toute expérience... :sifflets:

tenshu

C'est pas trop crado non,

Tu pouvais pas faire autrement qu'une plâtrée de if() dans le case 3 ?

Sinon on garde pas de code commenté et on indente correctement  :-D

Pardon le boulot qui remonte  :-D

amphioxus

#86
bon, ça n'avance guère...

mon tableau électrique est fini. c'est déjà ça.



j'ai repris l'ancien tableau, j'ai viré le module logique télémécanique, pour y loger un arduino.



le programme :

// Date and time functions using a DS1307 RTC connected via I2C and Wire lib

#include "Wire.h"
#include "RTClib.h"

RTC_DS1307 RTC;

const int boutonPin = 8;
// compteur d'impulsion du boutton poussoir. initialisé à 3 pour marche normale
int compteurBouton = 3;
// etat du bouton
int etatBouton;
// etat précédant du bouton
int precEtatBouton = LOW;

long nowDEC = 0;
long heures = 0;
int minutes = 0;
int secondes = 0;
int secAff = 1; // les tops secondes d'affichage
int ledpin = 13;
int canalTube = 9;
int canalLed = 10;
int pwmA;
int pwmB;
int ledV = 11;
int ledR = 12;
// début de montée de la courbe a du canal a en décimal. ici 11 h 39600
long dmaca = 39600;
// fin montée de la courbe a du canal a en décimal. ici 14h 50400
long fmaca = 50400;
// début descente de la courbe a du canal a en décimal. ici 17h 61200
long ddaca = 61200;
// fin descente de la courbe a du canal a. ici 20 h 72000
long fdaca = 72000;
// début montée de la courbe a du canal b. ici 8h 28800
long dmacb = 28800;
// fin montée de la courbe a du canal b. ici 11h 39600
long fmacb = 39600;
// début descente de la courbe a du canal b. ici 11h01 39660
long ddacb = 39660;
// fin descente de la courbe a du canal b. ici 14h 50400
long fdacb = 50400;
// début montée de la courbe b du canal b. ici 17h 61200
long dmbcb = 61200;
// fin montée de la courbe b du canal b. ici 20h 72000
long fmbcb = 72000;
// début descente de la courbe b du canal b. ici 20h01 72060
long ddbcb = 72060;
// fin descente de la courbe b du canal b. ici 23h82800
long fdbcb = 82800;

void setup () {
   Serial.begin(9600);
   Wire.begin();
   RTC.begin();
   pinMode (ledpin,OUTPUT);
   pinMode (boutonPin, INPUT_PULLUP);
   digitalWrite (ledpin, LOW);
   pinMode (canalTube, OUTPUT);
   pinMode (canalLed, OUTPUT);
   pinMode (ledV, OUTPUT);
   pinMode (ledR, OUTPUT);
   // decomment pour essai install 1 sur 3
   // nowDEC = dmacb;
 // if (! RTC.isrunning()) {
   // Serial.println("RTC is NOT running!");
   // following line sets the RTC to the date & time this sketch was compiled
   //RTC.adjust(DateTime(__DATE__, __TIME__));
 
}

void loop () {
   DateTime now = RTC.now();
   heures = now.hour(),DEC;
   minutes = now.minute(),DEC;
   secondes = now.second(),DEC;
   heures = heures * 3600;
   minutes = minutes * 60;
   // comment pour essai install 2 sur 3
   nowDEC = heures + minutes + secondes;
   // decomment pour essai install 3 sur 3
   /* nowDEC +=1;
   delay (2); */
   // comptage d'appui du bouton poussoir
   etatBouton = digitalRead (boutonPin);
   // compare l'état actuel du bouton avec celui mémorisé précedemment
    if (etatBouton != precEtatBouton){
     
    if (etatBouton == HIGH) compteurBouton++;
       // le bouton ne peut avoir que trois états. on limite alors le nombre de comptage à 3
       precEtatBouton = etatBouton;
 
  if (compteurBouton >= 4) compteurBouton = 1;
  }
  // gestion de l'affichage serie
  if (secAff == secondes) {
   Serial.print ("nowDEC ");
   Serial.println (nowDEC);
   Serial.print ("compteur bouton ");
   Serial.println (compteurBouton);
   Serial.print(now.year(), DEC);
   Serial.print('/');
   Serial.print(now.month(), DEC);
   Serial.print('/');
   Serial.print(now.day(), DEC);
   Serial.print(' ');
   Serial.print(now.hour(), DEC);
   Serial.print(':');
   Serial.print(now.minute(), DEC);
   Serial.print(':');
   Serial.print(now.second(), DEC);
   Serial.println();
   Serial.print ("pwmA ");
   Serial.print (pwmA);
   Serial.print (" pwmB ");
   Serial.println (pwmB);
   secAff +=10;
   if (secAff > 51)secAff = 1;
   }
   analogWrite (canalTube, pwmA);
   analogWrite (canalLed, pwmB);
   // gestion des trois états du BP
   switch (compteurBouton) {
     case 1:
     // marche forcée
     digitalWrite (ledV, LOW);
     digitalWrite (ledR, HIGH);
     pwmA = 0;
     pwmB = 127;
     break;
     
     case 2:
     // extinction forcée
     digitalWrite (ledV, LOW);
     digitalWrite (ledR, LOW);
     pwmA = 0;
     pwmB = 0;
     break;
     
     case 3:
     // fonctionnement normal
     digitalWrite (ledV, HIGH);
     digitalWrite (ledR, LOW);
     // test de la condition avant lancement de l'éclairage et après extinction de l'éclairage
     if (nowDEC < dmaca || nowDEC > fdaca) {
       pwmA = 0;
     }
     // test la condition d'éclairage maxi
     if (nowDEC > fmaca && nowDEC < ddaca) {
       pwmA = 255;
     }
     // test de la condition de la courbe de montée
     if (nowDEC >= dmaca && nowDEC <= fmaca) {
       pwmA = map (nowDEC,dmaca,fmaca,25,255);
     }
     // test de la condition de la courbe de descente
     if (nowDEC >= ddaca && nowDEC <= fdaca) {
       pwmA = map (nowDEC,ddaca,fdaca,255,25);
     }
     // test de la condition eclairage mini canal b
     if (nowDEC < dmacb || nowDEC > fdbcb) {
       pwmB = 0;
     }
     if (nowDEC > fdacb && nowDEC < dmbcb) {
       pwmB = 0;
     }
     // test la condition d'éclairage maxi
     if (nowDEC > fmacb && nowDEC < ddacb) {
       pwmB = 255;
     }
     if (nowDEC > fmbcb && nowDEC < ddbcb) {
       pwmB = 255;
     }
     // test de la condition de la courbe de montée a
     if (nowDEC >= dmacb && nowDEC <= fmacb) {
       pwmB = map (nowDEC,dmacb,fmacb,25,255);
     }
     // test de la condition descente courbe a canal b
     if (nowDEC >= ddacb && nowDEC <= fdacb) {
     pwmB = map (nowDEC,ddacb,fdacb,255,25);
     }
     // test de la condition de montée de la courbe b canal b
     if (nowDEC >= dmbcb && nowDEC <= fmbcb) {
     pwmB = map (nowDEC,dmbcb,fmbcb,25,255);
     }
     // test de la condition de descente de la courbe b canal b
     if (nowDEC >= ddbcb && nowDEC <= fdbcb) {
     pwmB = map (nowDEC,ddbcb,fdbcb,255,25);
     }
     break;
     }
  }


le programme n'est sans doute pas très propre, mais il fonctionne.

c'est tout pour l'instant

orchid

tu as pas une bouteille au frais....   :sifflets: :sifflets:

amphioxus

Citation de: orchid le 03 07 13, 23:00 PM
fin juillet  :ange: :ange: j'irai bien traîner du coté des folies de  Siffait  :ange: :ange: 

oui ! on va faire ça !

bon, les nouvelles.

le 380l est arrêté





les pensionnaires sont au pain sec et à l'eau





et en attendant le suite, je me suis mis à la programmation sur arduino.



et après moult hésitations, ça se passe plutôt bien.

orchid

fin juillet  :ange: :ange: j'irai bien traîner du coté des folies de  Siffait  :ange: :ange: 

amphioxus

rah... il m'en reste encore un peu !



il faut que j'arrête mon 380 mais je manque de temps en fait.

ce qui fait que ça traîne...

tenshu

Citation de: gomgom le 01 07 13, 18:46 PM
tu n'as pas conservé grand chose ^^


Oh mais pour amphio c'est déjà presque trop, avec les 3 tiges qu'on voit dans 2 semaines tu as une jungle impénétrable  :-D

gomgom

tu n'as pas conservé grand chose ^^

amphioxus

mon 54l est cyclé ! (15 jours d'eau verte quand même !)

début de vie de l'arche de noé...



vue du meuble que je trouve bien finalement. (j'ai eu des doutes un moment de temps... !)


tenshu

Citation de: amphioxus le 26 06 13, 19:25 PM
j'ai fais le calcul avec les XML sur mon driver à fond soit 9 leds à 2A pour un total à 61watts.
les XML au départ ont un rendement de 110 lm/w (742lumens/6.7w)
si je rajoute les 12w de consommation du driver, cela fait un total de 91 lm/w
c'est mieux que mes 62 lm/w que j'ai actuellement, et c'est aussi mieux que mes 79 lm/w de mes T5.

mais tu avoueras que ce n'est pas si extraordinaire que ça.
de plus, un autre aspect à prendre en compte, c'est la durée de vie de bon fonctionnement.
mes ballasts T5 sont donnés à 50 000 h à température max (75°c)
les drivers poussés à fond, je ne sais pas.

Non c'est pas extraordinaire en effet, 2A c'est aussi un peu violent comme entrée même pour des XM-L.
Visiblement ce qu'il faudrait c'est un driver plus efficace pour que ça redevienne vraiment intéressant.

90l/w c'est pas mal, à partir de 100 on pourra dire que cça commence a être vraiment bon.

gomgom

J'ai aussi un doute sur la résistance des drivers mais encore un plus gros doute sur la durée de vie des leds... Les led 5mm devaient durer entre 20.000 et 50.000 h et pourtant la plupart grillent en 1mois...  Enfait les leds c'est bien pour éclairer un lieu précis , assez restreins , genre un lampadaire etc , si on veut éclairer une surface ça se complique. Leur atout est aussi leur défaut, la directivité du flux lumineux. Si on regarde les graphes des leds sur le net, au niveau du par on voit que juste sous la led , y'a trop de PAR et que ça décroît très vite. Donc pour avoir le bon PAR il faut diminuer l'intensité de la led ou augmenter l'angle de diffusion, mais en contre parti pour uniformiser l'éclairage au sol, il faut rajouter d'autres leds, beaucoup de leds... Et c'est la que l'économie electrique commence a disparaître, sans parler de la partie driver ...

Concernant les plantes , il y a eu des essais sur des cultures de légumes, comme les radis, et les résultats sont plutôt catastrophique donc fait pas croire a un miracle dans le bac!

amphioxus

tout ça mérite en effet d'en parler.

@gomgom, tu as l'air d'avoir bien buché le sujet. continue le partage !

le sentiment que ça me laisse, c'est que mis à part le fait que c'est fun de fabriquer soi-même une rampe led, et que ça fait moderne, ça n'apporte pas d'avantage évident.

par contre, ça apporte du politiquement correct pour les CAFs faibles : "oui ! tu va voir mimine, avec ma rampe led, je vais diviser la facture d'électricité par 18 !!"

...ça peut marcher...

@tenshu

j'ai fais le calcul avec les XML sur mon driver à fond soit 9 leds à 2A pour un total à 61watts.
les XML au départ ont un rendement de 110 lm/w (742lumens/6.7w)
si je rajoute les 12w de consommation du driver, cela fait un total de 91 lm/w
c'est mieux que mes 62 lm/w que j'ai actuellement, et c'est aussi mieux que mes 79 lm/w de mes T5.

mais tu avoueras que ce n'est pas si extraordinaire que ça.
de plus, un autre aspect à prendre en compte, c'est la durée de vie de bon fonctionnement.
mes ballasts T5 sont donnés à 50 000 h à température max (75°c)
les drivers poussés à fond, je ne sais pas.

gomgom

Oui je suis sur, plus tu ouvres l'optique et plus tu baisses le PAR... Pour trouver le compromis tu es forcés d'augmenter le nombres pour conserver l'optique plus fermé qui te laisse le PAR desiré. 

tenshu

Tu es sûr de ce que tu avances?
Les optiques pour led cree vont tout de même jusqu'à 80°

gomgom

Moi je vois plutôt les led sur les petits bacs, la ou les tubes sont trop grands... Sur les grands bacs, le soucis est la répartition ... Aujourd'hui sur mon projet de 4200l, en led , pour éclairer toute la surface uniformément comme du t5 et avec le même PAR au sol, il me faut environ 3000w de led... Contre 2560w en T5... Et la je parle pas des pertes au niveau des drivers...

tenshu

#72
Citation de: gomgom le 25 06 13, 09:20 AM
Je crois que les leds seront bien pour les nano...

Justement c'est le contraire qu'illustre très bien la rampe d'amphio.
Comme les LED consomment peu, celle du driver fait pencher fortement la balance.
Avec ce driver il pouvait mettre des led XM-L qui pouvaient bien cracher 500 lumens chacune, soit quasi 2 fois plus que les XP-G.

Je serais tout de même curieux de voir ce que ça donnerait avec le driver adapté.

gomgom

Tu as bien résumé ... Je crois que les leds seront bien pour les nano... Pour le reste c'est sûrement le phénomène de mode du dimmable qui les propulse actuellement ... L'hybride est un bon point pour qui veut le shimmer effect, c'est mieux que de mettre un hqi...

amphioxus

j'en étais même pas à considérer le coût des LEDs ou le PAR.

hier, j'ai chercher à croiser différentes datasheet de driver led. toujours sur la question de la consommation.
et bien je n'ai rien trouvé de probant.

on tombe dans un biais cognitif du petit nombre. les leds sont victime de leur petite puissance au départ.
le moindre watt consommé par le driver, influence énormément l'efficacité lumineuse totale.

à moins de concevoir un driver sur mesure en fonction de l'installation choisi, je ne vois pas comment arriver à des résultats égaux ou suppérieurs au T5 en terme de rendement global. à moins que je sois victime d'une erreur de raisonnement. :peur:
alors si on ajoute en plus le PAR et le côut...

dans mon cas, les leds restent très intéressantes pour le "shimmer effect !".

gomgom

I did some energy calculations and then some cost different for the initial purchase and decided to get these lights instead of LED's, perhaps later, the LED will surpass T5's but these are really a winning fixture. Warning, they are not cheap.

I am using some on my 70 Gal manzigumi.

It took me awhile to figure the controller, but once I did and got that dialed in good and the bulbs burned in for about 50 hours, this light works like no other I've had. I also did some measurements vs the Tek, and it's basically 25-50% more light. I confirmed it with the PAR meter.
I use about 20% less energy using this fixture than the LED option with similar PAR over 10 hours. Peak lighting is about 100 umol higher also.


J'ai retrouver ça sur un post, si je retrouve son expérience complete je te la transmettrai ;)

gomgom

Bah pour l'instant j'étudie le projet en led en me basant sur la technologie alpheus mais en diy pour voir le chiffrage. Mais avec tout ce que j'ai pu lire et voir depuis le début de mes recherches ( 1 an environ), je suis a 95% parti sur des rampe t5 dimmable de chez ATI. Les relèvés de Tom barr au par metre montre que ses rampes crachent bcp plus que les autres et que via la dimmabilite on consomme moins que la plupart des leds...sans parler de la qualité de l'éclairage lui même envers les plantes...

amphioxus

Citation de: gomgom le 24 06 13, 20:57 PM
Je crois que tu n'obtiendra pas mieux avec d'autres drivers... Je trouve plus le liens mais Tom barr avait fait des tests avec des rampes leds pro et diy et il arrivait toujours a la même conclusion que toi... Sauf que lui y'avait tout l'explication et les protocoles de A a Z .

je ne sais pas si cela doit me rassurer !

ton projet 4200 se fera en leds ? as-tu eu les réponses à tes questions la dessus ?

gomgom

Je crois que tu n'obtiendra pas mieux avec d'autres drivers... Je trouve plus le liens mais Tom barr avait fait des tests avec des rampes leds pro et diy et il arrivait toujours a la même conclusion que toi... Sauf que lui y'avait tout l'explication et les protocoles de A a Z .

amphioxus

#65
oui c'est exactement ça.
le choix du bon driver est crucial si on veut obtenir un bon rendement.
mais même en sachant ça et après avoir expérimenté la chose, je ne serais pas sûr de choisir le bon driver.

entre type de led, nombre de led, choix du courant, quantité de lumens souhaité etc... il y a vraiment de quoi s'y perdre.

j'ai refait mes mesures de courant avec une autre pince ampermétrique plus précise (pas possible d'utiliser un autre moyen vu l'appel de courant à l'allumage (alim à découpage))
j'obtiens 12w de puissance consommée à vide.
ce qui me donne une efficacité lumineuse à 62 lm/w

pour revenir sur les drivers meanwell, je pense comme toi que ce sont des bons produits.
la commande 0-10v ne respecte pas la norme mais on s'y fait.


bon, prochaine étape, arrêt du 380 l !!

mais je ne sais pas ou mettre mes poissons...

tenshu

27w pour le driver  :ooo:
Il me semblait pourtant que Meanwhell a bonne réputation.

Mais se pourrait il que tu es fait une erreur en choisissant le modèle?
Le 27P est plutôt recommandé pour driver des CREE XM-L, avec leur current qui peut monter à 2.3A.
Alors que le 48P ne peut délivre "que" 1.3A.

Du coup il se pourrait pas que ton modèle soit pas vraiment conçu pour être efficace avec "seulement" 700mA en sortie?

amphioxus

non je ne pense pas qu'il soit défectueux.

en fait, je mesure 27w uniquement imputable à la consommation propre du driver.

mesure à confirmer, mais même si je divise par deux cette mesure (13.5w soit 100 % d'erreur de lecture), je reste à 59 lm/w
il faudrait que je divise cette mesure de puissance par 4 pour arriver au rendement des T5.
je veux bien avoir 15 ou 20 % d'erreur dans ma mesure, mais pas 300% tout de même !

par comparaison, la consommation propre aux ballast T5 c'est 7w pour 2 tubes 54w. rien à voir donc.

kevdu69

Ah, quand même étonnant tout ça  :ooo: :ooo:

Tu as peut-être un modèle défectueux, un rendement aussi minable, c'est quand même abusé   :xx:

MiniCooler

En effet, les résultats de tes mesures sont pour le moins surprenantes. Autant on savait les tubes T5 (avec de bon ballast) performant. Autant le très modeste rendement mesuré des Leds est pour le moins incompréhensible...