problème pwm

]Bonjour,
Je souhaiterez savoir si quelqu’un peux me dire comment avoir un démarrage pwm progressif et exponentiel sur arduino duemilanove (atmega168). Car j’ai essayé plusieurs codes mais pas très concluant.
le premier : (map (minute(),0,90,0,255)) → le pwm monte progressivement de 0% à 60% puis il s’arrête
le second : ((1 << map (minute() * 60, 0, 5400, 0, 255)) -1) → ne fonctionne pas du tout
Merci

Salut -.^

Il faudrait que tu jettes un oeil du coté des “ramps” ou du “fadding”; il y a quelques bibliothèques déjà écrites pour en faire.
Cela te permettra d’avoir une monter et une descente en fréquence progressive.

Ou alors en version super simple comme dans cet exemple :

void loop()  {
  // fade in from min to max in increments of 5 points:
  for(int fadeValue = 0 ; fadeValue <= 255; fadeValue +=5) {
    // sets the value (range from 0 to 255):
    analogWrite(ledPin, fadeValue);        
    // wait for 30 milliseconds to see the dimming effect    
    delay(30);                            
  }

  // fade out from max to min in increments of 5 points:
  for(int fadeValue = 255 ; fadeValue >= 0; fadeValue -=5) {
    // sets the value (range from 0 to 255):
    analogWrite(ledPin, fadeValue);        
    // wait for 30 milliseconds to see the dimming effect    
    delay(30);                            
  }
}

Merci mais en fait ce pwm est déclenché à une heure précise, c'est pour contrôler un éclairage d'aquarium (ballast dimmable) le problème de ton code est de faire simplement "respirer une led" or j'ai besoin d'une montée progressive, d'un maintien en puissance, puis d'une descente progressive le tout déclenchable à heure définie; peut être une variable supplémentaire suffirait je ne sais pas je ne suis pas expert !!!

Ha, pour un aquarium ^.^

Il y a un bon paquet de pages sur l’ancien forum à propos de projet similaires, par contre je ne sais pas si la fonction de recherche dans l’ancien forum fonctionne pleinement (?).
Mais tu y trouveras ton bonheur, c’est certain -.^

salut rico,
Je suis actuellement en phase final (création du typon) d’un petit projet pour l’allumage de néon leds pour aquarium, j’utilise le arduino Uno avec 3 bouton (moins, plus, mode), un afficheur 16x2, un pcf8583 pour l’horloge, et 4 mosfet IR6216 (sortie pwm 0V à 5V, sortie du mosfet 0 à 12V) avec possibilité retour du mosfet pour connaitre l’état de la sortie (non utiliser dans mon cas) avec 1 néon leds a chaque mosfet (possibilité de monté jusque 100W de consommations si l’alimentation suis derrière lol)

si sa t’intéresse je pourrais te donnée un coups de pouce.

Merci pourquoi pas; néanmoins mon système fonctionne (en partie) j’ai juste un petit soucis concernant la gestion du pwm. Mon éclairage fonctionne en variation de 0 à 60% alors qu’il devrait fonctionner de 0 à 100% , mais comme mon pwm se fige à 60% ma rampe ne s’illumine pas complètement. Si tu as des idées sur mon problème je suis tout ouïe car j’ai des lacunes en programmation arduino.

montre voir ton code, que je comprenne comment tu fais appel .. ^^

Il faudrait aussi voir comment sont piloter les LEDs, car il peut y avoir une chute avec un transistor de commande, etc. (?)

le premier : (map (minute(),0,90,0,255)) → le pwm monte progressivement de 0% à 60% puis il s’arrête

Je pense ne pas trop m’avancer en supposant que minute() retourne une valeur comprise entre 0 et 59. Ce qui expliquerait que tu t’arrêtes à 60%

(map (minute(),0,59,0,255)) devrait être plus pertinent

Par contre pour la saturation au delà de la minute c’est à toi de le gérer. Tu peux positionner une variable à TRUE lorsque la minute() est passé. et l’utiliser pour forcer l’éclairage à 100%. Tu fera redescendre cette même variable à FALSE à l’heure de l’extinction où tu déclenchera l’extinction progressive.

Slt,
même en mettant (map(minute(),0,59,0,255) le pwm se bloc quand même sachant que mes ballasts sont branchés sur relais statiques pour la puissance et convertisseur pwm-tension pour la commande.
Sinon vous envoie le code complet du contrôleur.

mon_prog_ricco_pde.pde (5.72 KB)

Oui sa serai pas mal. Tu aurai un lien sur les lumières que tu utilise? voir un p'tit montage en plus .. ^^.. car pas sur que ma façon de faire fonctionne avec ton montage.. ^^..

En fait c'est une rampe Blau aquaristic que j'ai modifiée, à l'origine il y avait 4 ballasts electroniques traditionnels que j'ai changés par 2 ballasts osram qti dimmables et j'ai entièrement recablé celle-ci de sorte à pouvoir la piloter depuis un boitier extérieur. Si tu veux je peux t'envoyer les plans du relais statiques et du driver ballast.

oui je veux bien .. sa m'aidera a comprendre.. ^^ ..

Pas de soucis :wink:

driver ballast.pdf (32.1 KB)

re

relais statique.pdf (31.2 KB)

oki ^^.. on utilise pas du tout la même chose.. ^^.. voici les lumières que j'utilise http://www.ampoule-leds.fr/neon-led-etanche-24-led-blanc-6500degresk-150degres-12v-connecteurs-p-2393.html .. (enfin le projet c'est pas pour moi lol)..

je n'ai pas besoin de driver ^^...

je les commandes directement en sotie du mosfet

ensuite niveau programme, j'utilise un pcf8583 pour avoir l'heure, l'heure d'allumage et le temps que doit mettre le néon pour passer de 0 a 100% sont enregistrer dans l'eeprom, ensuite avec un p'tit calcul j'obient la valeur du pwm.

Autre questions bêtes (décidément ^.^) : _. Ne faut-il pas passer par un circuit de contrôle de phase pour pouvoir moduler en PWM le secteur via opto-triac ? _. Quelle est la fréquence de la MLI (l'opto-triac arrive-t-il à suivre) ?

non pas besoin car le relais et simplement piloté en tout ou rien (on-off) donc pas besoin d'électronique compliquée; en fait je pilote mes ballasts avec 4 sorties 2 en on-off pour l'allumage des ballasts et 2 en pwm pour faire varier l'intensité, c'est aussi simple car les ballasts possèdent une sortie 0-10v qui sert à faire varier l'intensité des tubes.

d'accord ^^.. sa change des néons led que j'utilise.. ^^.. tu peut montré le code complet du pour le pwm avant et apres (map (minute(),0,90,0,255)) .. ??

oui pas de problèmes te voila le code complet ne fait pas attention aux lectures de sonde conductimètre et ph mètre car doit finir les circuits imprimés pour ajuster.

mon_prog_ricco_pde.pde (5.79 KB)