[Outils/Fab/Comp] Conception d’un schéma électronique de contrôle d’éclairage - Page 2
Répondre à la discussion
Page 2 sur 3 PremièrePremière 2 DernièreDernière
Affichage des résultats 31 à 60 sur 68

Conception d’un schéma électronique de contrôle d’éclairage



  1. #31
    mag1

    Re : Conception d’un schéma électronique de contrôle d’éclairage


    ------

    Première modif pour tenir compte des sorties PWM et d'un éventuel LCD

    Nom : alarmF0GED2.JPG
Affichages : 144
Taille : 52,6 Ko
    MM

    -----
    Si il y a des erreurs ci dessus, c'est que je n'ai pas eu le temps de les corriger...

  2. #32
    Pascal071

    Re : Conception d’un schéma électronique de contrôle d’éclairage

    Bonjour

    même solution avec arduino NANO
    Un peu de courant dans les entrées, on ne connait pas la longueur des fils.
    3 boutons test pour réglage des durées.
    Une seule sortie commune, on peut aussi séparer flash et Leds en 2 sorties
    Nom : Gest_Ecl-1.jpg
Affichages : 148
Taille : 87,0 Ko
    Cordialement

  3. #33
    mag1

    Re : Conception d’un schéma électronique de contrôle d’éclairage

    Citation Envoyé par F0GED Voir le message
    Je souhaiterais réaliser un contrôleur d’éclairage, en guise d’alarme lumineuse, d’un bâtiment à usage de dépendance. Je m’explique:
    Sur l’idée, il s’agirait de faire clignoter ou varier l’éclairage d’une ou plusieurs ampoules (au total 3A en 12v), que je pourrai voir depuis chez moi, indiquant donc un code lumineux selon qu’un contacteur (en l’occurrence plusieurs) soient déclenchés ou non
    Plutôt que ces codes visuels, pourquoi pas une liaison radio, avec visualisation de l'état des contacts à distance? Mais quelle distance ?
    http://electromag1.wifeo.com/les-pic...iaisons-hf.php
    http://electromag1.wifeo.com/hf-wl101102.php
    MM
    Si il y a des erreurs ci dessus, c'est que je n'ai pas eu le temps de les corriger...

  4. #34
    Forhorse

    Re : Conception d’un schéma électronique de contrôle d’éclairage

    picaxe c'est une solution propriétaire (boite noire)
    arduino c'est open-source

    faites votre choix.
    Tout projet flou conduit à une connerie précise !

  5. #35
    F0GED

    Re : Conception d’un schéma électronique de contrôle d’éclairage

    Bonjour et merci pour la pertinence de vos contributions. Connaissant la qualité de ce forum et des intervenants, je m’attendais à de bonnes infos, mais pas à tant ni aussi vite, merci à tous !

    Pour répondre à Forehouse, j’ai trouvé un sujet «*picaxe ou Arduino*?» sur ce même forum. Vu que mag1 dit que picaxe gère les commandes dont j’ai besoin, je pense que sa simplicité et son faible coût vont me décider. Quitte à me faire la main avec, avant de remplacer éventuellement par Arduino si besoin

    Il y a un club de programmation électronique pas loin d’où je suis, ça va être idéal, étant néophyte en la matière

    J’abandonne donc l’idée de départ avec divers circuits électroniques

  6. #36
    mag1

    Re : Conception d’un schéma électronique de contrôle d’éclairage

    Citation Envoyé par Forhorse Voir le message
    picaxe c'est une solution propriétaire (boite noire)
    Bonsoir,
    Pourquoi "boite noire"? Les picaxes sont des pic préprogrammés pour être facilement programmables en basic.
    Mais bien sûr, arduino, picaxe au autre, chacun fait comme il veut, selon ses moyens, ses projets,etc
    MM
    Dernière modification par mag1 ; 30/12/2024 à 00h06.
    Si il y a des erreurs ci dessus, c'est que je n'ai pas eu le temps de les corriger...

  7. #37
    mag1

    Re : Conception d’un schéma électronique de contrôle d’éclairage

    Bonjour,
    Un club de programmation connaitra mieux l'arduino que le picaxe.

    Voici une dernière mouture du schéma picaxe:
    Nom : alarmFOGED3.JPG
Affichages : 106
Taille : 60,7 Ko

    Sans l'option LCD, un 14M2 serait suffisant, mais la différence de prix est minime.
    La conso serait de qques mA, que l'on peut réduire en incluant des phases de veille.
    Avec ce schéma (si il est juste), pouvez vous en phrases simples décrire ce que font les sorties en fonction de la position des inters?
    Le programme en découle automatiquement, pour le picaxe comme pour l'arduino.
    MM
    Si il y a des erreurs ci dessus, c'est que je n'ai pas eu le temps de les corriger...

  8. #38
    mag1

    Re : Conception d’un schéma électronique de contrôle d’éclairage

    En copiant sur Pascal071, j'obtiens ce schéma avec 14M2

    Nom : alarmFOGED4.JPG
Affichages : 104
Taille : 40,0 Ko

    MM
    Si il y a des erreurs ci dessus, c'est que je n'ai pas eu le temps de les corriger...

  9. #39
    Pascal071

    Re : Conception d’un schéma électronique de contrôle d’éclairage

    Bonjour

    Mag1:
    avec arduino, je viens d'essayer de faire battre le pwm de façon cyclique, vitesse réglable:
    c'est pas évident car, avec une incrémentation/décrémentation et tempo fixes, le résultat n'est pas terrible.
    Le résultat visuel est meilleur lorsque la tempo est plus grande à pwm faible

    exemple pour pwm 0 à 255:
    tempo 5mS visuellement trop faible de 0 à 50, mais trop long de 100 à 255
    J'ai eu du mal à faire la tempo inversement proportionnelle au pwm
    si tu as une idée version Picaxe...

    avec ce code le rendu est acceptable:
    Code:
    void loop() {
      pot = analogRead (A0); // lecture potentiometre 0 a 1023
      incSpeed = map(pot,0,1023,10,1); // incSpeed= 10 (rapide) a 1 (lent) suivant potentiometre 0 a 1023
        //increment PWM suivant valeur incSpeed (1 a 10)
        for ( pwmValue = 0; pwmValue <= 255; pwmValue += incSpeed) {
          analogWrite(ledPin, pwmValue);
          tempo = 255/pwmValue; //tempo fonction du pwm
          if (tempo<=2) {  //eviter tempo a 0
            tempo=2;   
            }
        delay(tempo);
        }
        // decrement PWM suivant valeur incSpeed (1 a 10)
        for ( pwmValue = 255 ; pwmValue >= 0; pwmValue -= incSpeed) {
          analogWrite(ledPin, pwmValue);
          tempo = 255/pwmValue; //tempo fonction du pwm
          if (tempo<=2) {  //eviter tempo a 0
            tempo=2;
          }
        delay(tempo);
        }
    }
    cordialement
    Dernière modification par Pascal071 ; 30/12/2024 à 17h07.

  10. #40
    F0GED

    Re : Conception d’un schéma électronique de contrôle d’éclairage

    Bonsoir,

    Le club travaille avec Arduino, je partais du principe que c’était pour me familiariser avec la programmation. Mais au fur et à mesure des renseignements acquis, j’en déduis que je pourrai peut-être déjà commencer à m’y mettre sans attendre d’assister aux cours.

    Merci pour le schéma, je serai pour l’option afficheur avec veille auto

    Voici (dans l’idéal), les ordres de commandes de chacun des 3 circuits:

    Circuit 1, éclats lumineux temporisé:
    il faudrait pouvoir sélectionner le nombre d’éclats, de 1à5 à la suite. Ensuite, la tempo entre la série d’éclats, intervals minimum de 3 ou 5s, au delà, réglage / 5s jusque 30s, puis /10s jusque 60s
    (soit 3/5/10/15/20/25/30/40/50/60)
    Pas de variation d’intensité lumineuse sur ce circuit

    Circuit 2: clignotement type feu de détresse, sans variations d’intensité. Aucun réglage

    Circuit 3: modulation avec ou sans flash, (type phare maritime)
    Il faudrait pouvoir choisir entre modulation seule, et modulation avec un éclat (éventuellement possibilité de 1 à 3) en pic. Pouvoir ensuite sélectionner la vitesse de modulation de minimum 3s jusque 20s (3/5/10,15,20)

    Est-ce que picaxe gérerai tout ça ? Merci

    Jérémie

  11. #41
    mag1

    Re : Conception d’un schéma électronique de contrôle d’éclairage

    Je ne peux rien tester actuellement (aucun matériel).
    Le PWM est très simple à utiliser sur picaxe, il y a un utilitaire qui calcul tout et le principe est simple.

    Ex : pour ceux qui ne connaissent pas...
    pwmout active la sortie PWM en tâche de fond. Le 1er paramètre défini la fréquence. Ici 255 à 4Mhz donne 3900Hz
    Le 2ème paramètre fixe le rapport cyclique 0=>0% et paramètre fréquence x 4 => 100% . Ici 255 x 4 =1023
    Le 255 est choisi pour çà.
    pwmduty modifie uniquement le rap cyclique donc : 0 => 0% ;1023 => 100%

    Code:
    pwmout B.2,255,0		; freq=3900 Hz, RC=0%
    do
    	readadc10 B.1,w13 	;lecture potar varie de 0 à 1023
    	pwmduty B.2,w13		;PWM varie de 0 à 100%
    loop
    Après, au lieu du potar, on fait varier w13 (variable 16bits) avec ce que l'on veut :boucle for/next, etc

    Si tu es équipé picaxe. 14M2, (ou autre ..)
    MM
    Si il y a des erreurs ci dessus, c'est que je n'ai pas eu le temps de les corriger...

  12. #42
    mag1

    Re : Conception d’un schéma électronique de contrôle d’éclairage

    Citation Envoyé par F0GED Voir le message
    Est-ce que picaxe gérerai tout ça ? Merci
    Jérémie
    Chiche qu'on essaye
    L'arduino, c'est en C ou C++, le picaxe c'est du basic,
    Questions:
    Peut on faire varier le nombre d'éclats (1 à 5) et la temporisation de 3 à 60s de façon continue par potars?
    La modulation, c'est une variation d'éclairement de 0 à 100 % d'un panneau de leds par ex ?
    L'éclat est donné par quoi ? éclair bref pleine puissance du panneau ou autre?
    Et si on active deux circuits en même temps? on fait quoi? Matériellement possible ou pas ? c'est 3 inters ou un sélecteur?
    MM
    Si il y a des erreurs ci dessus, c'est que je n'ai pas eu le temps de les corriger...

  13. #43
    F0GED

    Re : Conception d’un schéma électronique de contrôle d’éclairage

    Étant donné l’afficheur, ça ne serait pas gênant de se servir de potars pour sélectionner une donnée nombre et une donnée tempo.Ce serait moins pratique si c’était par ajustement linéaire de 0 à la fin, sans les seuils définis précédemment, mais ce ne serait pas non plus insurmontable. Surtout si l’afficheur indique l’information de réglage

    La modulation, idéalement de 10 à 100%. Ensuite, est-ce qu’on envoie une petite surtension sur l'ampoule (au niveau 100) en guise d’éclat ou sur un second circuit d’éclairage ? C’est à définir, en fonction des contraintes de réalisation et longévité des ampoules

    Pas de risque de croiser les circuits d’alimentation, partons du principe d’un commutateur mécanique inverseur à 3 positions.

  14. #44
    Pascal071

    Re : Conception d’un schéma électronique de contrôle d’éclairage

    bonsoir

    sacré nombre de paramètres et d'options... avec affichage...
    pas mal de lignes de code.
    bon courage Mag1
    cdlt
    Dernière modification par Pascal071 ; 30/12/2024 à 20h43.

  15. #45
    mag1

    Re : Conception d’un schéma électronique de contrôle d’éclairage

    Bonjour,
    Je n'aime pas le gaspillage, j'ai fait un schéma avec un 14M2

    Nom : alarmFOGED5.JPG
Affichages : 80
Taille : 55,7 Ko

    Mais on revient facilement au 20M2, les variables sont nommées, faut juste adapter les broches.
    Ce schéma répond t il à toutes les options?
    Il y a une sortie panneau et une sortie flash, mais on pourrait faire flasher la panneau à la luminosité max du cycle.

    Le code avance, actuellement, la commande "modulation 3" agit comme suit:
    montée PWM de 20 à 100% en un temps de 3 à 20s, flash ou pas, puis descente de 100 à 20% dans le même temps. OK ou pas ?
    A suivre...
    MM
    Si il y a des erreurs ci dessus, c'est que je n'ai pas eu le temps de les corriger...

  16. #46
    F0GED

    Re : Conception d’un schéma électronique de contrôle d’éclairage

    Excellent merci ! Le schéma semble correct. La variation de 20 à 100% c’est parfait aussi. Pour la modulation, j’étais plutôt parti sur des données en hertz, soit intervalle de temp: high to high, et non: low to high (=demi cycle)
    Je pense qu’il serait mieux de séparer le circuit flash, que je pourrai raccorder (ou non) physiquement en parallèle à l’ampoule, en protégeant respectivement les deux sorties de circuit avec des diodes.

    Cette programmation n’a pas l’air de vous paraître insurmontable. Est-ce grâce à la différence entre picaxe et Arduino ou bien la maîtrise du sujet ? Les deux sûrement..?

  17. #47
    mag1

    Re : Conception d’un schéma électronique de contrôle d’éclairage

    Citation Envoyé par F0GED Voir le message
    Circuit 2: clignotement type feu de détresse, sans variations d’intensité. Aucun réglage
    Bon, ben on continue, les tempo sont des détails à ajuster
    Il faudrait définir "type feu de détresse"

    Le programme est en "pseudo multitâches", en gros, des programmes indépendants qui peuvent partager des variables.

    État des lieux:
    Code:
    ;Gestion éclairage F0GED
    ;Commande 1 sur C.4 :éclats lumineux temporisés N éclats =1 à 5 ;tempo 3 à 60s
    ;Commande 2 sur C.3 :clignotant feux détresse
    ;commande 3 sur C.2 :modulation sans flash ; modulation 20 à 100% de 3 à 20s 
    ;commande 4 sur C.1 :commande 3 + flash
    ;sélection paramètres par potars
    ;affichage paramètres sur LCD I2C
    ;Programmation "mutitâches" 
    ;tache0 : lecture des paramètres
    ;tache1 : affichage des paramètres
    ;tache2 : lecture des commandes 1,2,3,4 ;détection des modifs ; sélection des sub ; 
    ;sortie PWM sur C.0
    ;sortie flash sur B.0
    
    #picaxe 14M2
    #no_data		;pas d' EEPROM
    start0:
    symbol Necla=b1		;nombre éclat
    symbol varb=b2			;variable byte (8 bits)
    symbol Tecla=w13		;temps entre séries éclats
    symbol Tmod=w12		;temps modulation PWM
    symbol varw=w11		;variable word (16 bits)
    symbol cpt=w10			;compteur
    symbol RC=w9			;rapport cyclique
    symbol Npot=B.1		;N éclats commandes 1 et 4
    symbol TEpot=B.2		;Tempsentre séries éclats 3 à 60s
    symbol Pmod=B.5		;Temps de cycle RC
    symbol SPWM=C.0		;sortie PWM
    symbol com1=pinC.4
    symbol com2=pinC.3
    symbol com3=pinC.2
    symbol com4=pinC.1
    	pullup %1111000000000	;pullup sur C.4 à C.1
    	pwmout SPWM, 255,0		;PWM 3900Hz : RC=0
    	do
    		readadc Necla,varb
    		Necla= 5 * varb/255		;0 à 5
    		readadc Tecla,varb		
    		Tecla= 57*varb/255 +3  ;3 à 60s
    		readadc10 Pmod,varw	;0 à 1023
    		Tmod= varw* 20	+3000	/823	;3000/823 à 23420/823 ms 	
    	loop
    
    start1:	
    	do
    		gosub affich
    	loop
    
    start2:		;sélection commande
    	do
    		if com1=0 then 
    			gosub command1
    		elseif com2=0 then 
    			gosub command2
    		elseif com3=0 then 
    			gosub command3					
    		endif
    	loop
    
    command1:
    	do
    		for cpt=1 to Necla
    			pwmduty SPWM,1023
    			pause 1000			;N éclats de 1s espacés de 3s
    			pwmduty SPWM,0
    			pause 3000
    		next
    		time=0		;RAZ time
    		do loop while time<= Tecla	;temps de pause entre séries éclats
    	loop	
    	return
    command2:
    		;à définir
    	return
    command3:	;modulation sans flash
    	for cpt=1 to 823		;il y a 823 pas RC de 200 à 1023
    		RC=200 + cpt
    		pwmduty SPWM, RC
    		pause Tmod		;temps de pause = Temps de modulation /823
    	next
    	if com4=0 then		;sub flash en fin 
    		gosub command4	
    	endif	
    		for cpt=823 to 1
    		RC=200+cpt
    		pwmduty SPWM,RC
    		pause Tmod
    	next
    	return
    command4:
    	;à définir
    	return
    affich:
    	;à faire;
     	return
    MM
    Si il y a des erreurs ci dessus, c'est que je n'ai pas eu le temps de les corriger...

  18. #48
    Pascal071

    Re : Conception d’un schéma électronique de contrôle d’éclairage

    bonjour
    Est-ce grâce à la différence entre picaxe et Arduino ou bien la maîtrise du sujet ? Les deux sûrement..?
    juste une question de temps et de courage

  19. #49
    Pascal071

    Re : Conception d’un schéma électronique de contrôle d’éclairage

    juste pour info F0GED:
    avec arduino, le pwm est plus simple, on envoie 0 à 255 sur la sortie.
    les syntaxes sont plus pointues, on oublie facilement les { } les () et les ;
    exemple pour command3:
    Code:
    void command3() {
      pot = analogRead (A0); // lecture potentiometre vitesse 0 a 1023
      tempo= pot / 10 +2;    // tempo=2 a 100mS
        for ( pwmValue = 25; pwmValue <= 255; pwmValue += 5) {
          analogWrite(ledPin, pwmValue);
          delay(tempo);
        }
        for ( pwmValue = 255 ; pwmValue >= 25; pwmValue -= 5) {
          analogWrite(ledPin, pwmValue);
          delay(tempo);
        }
    }

  20. #50
    F0GED

    Re : Conception d’un schéma électronique de contrôle d’éclairage

    Ouhh ! Faudra pas m’envoyer ce genre de message demain, pas sûr d’arriver à décoder… HIx3
    Ok parfait, en fait c’est même presque plus rapide que le trajet de chez moi à aller au club d’électronique )

    Pour le clignotement, on peut partir sur 90 éclats/mn

    Merci pour le temps consacré

    Jérémie

  21. #51
    mag1

    Re : Conception d’un schéma électronique de contrôle d’éclairage

    Ah, au fait...
    BONNES FÊTES DE FIN D’ANNÉE à TOUS
    MM
    Si il y a des erreurs ci dessus, c'est que je n'ai pas eu le temps de les corriger...

  22. #52
    mag1

    Re : Conception d’un schéma électronique de contrôle d’éclairage

    Bonjour,
    Voici le programme du projet finalisé, mais non testé (semaine prochaine). Il y a sans doute des erreurs.

    FOGED peut aussi le faire avec un arduino, je ne suis pas sectaire.
    Code:
    ;Gestion éclairage F0GED MM 020125
    ;Commande 1 sur C.4 :éclats lumineux temporisés N éclats =1 à 5 ;tempo 3 à 60s
    ;Commande 2 sur C.3 :clignotant feux détresse
    ;commande 3 sur C.2 :modulation sans flash ; modulation 20 à 100% de 3 à 20s 
    ;commande 4 sur C.1 :commande 3 + flash
    ;sélection paramètres par potars
    ;affichage paramètres sur LCD I2C 1602
    ;tache0 : lecture des paramètres
    ;tache1 : affichage des paramètres
    ;tache2 : lecture des commandes 1,2,3,4 ;détection des modifs ; sélection des sub ; 
    ;sortie PWM sur C.0
    ;sortie flash sur B.0
    
    #picaxe 14M2
    #no_data		;pas d' EEPROM
    symbol rsbit=bit0
    symbol Necla=b1		;nombre éclat
    symbol varb=b2			;variable byte (8 bits)
    symbol car=b3			;caractère
    symbol dat=b4			;data I2C
    symbol cent=b5			;centaines 
    symbol diz=b6			;dizaines 
    symbol unit=b7			;unités
    symbol affmod=b8		;affichage modulation
    symbol Tecla=w13		;temps entre séries éclats
    symbol Tmod=w12		;temps modulation PWM
    symbol varw=w11		;variable word (16 bits)
    symbol cpt=w10			;compteur
    symbol flash= B.0		;sortie flash
    symbol Npot=B.1		;N éclats commandes 1 et 4
    symbol TEpot=B.2		;Tempsentre séries éclats 3 à 60s
    ;B.3 ;B.4 	réservés I2C
    symbol Pmod=B.5		;Temps de cycle RC
    symbol SPWM=C.0		;sortie PWM
    symbol com1=pinC.4
    symbol com2=pinC.3
    symbol com3=pinC.2
    symbol com4=pinC.1
    	pullup %1111000011000	;pullup sur C.4 à C.1 et B.3,B.4
    ; Initialisation I2C 4 bits , etc ********
        hi2csetup i2cmaster,%01001110, i2cslow, i2cbyte        
    ; Initialisation LCD *********
        for cpt=0 to 5
            lookup cpt,($33,$32,$28,$c,$6,$01),car
            gosub EnvoiByteCommInit
        next
        pause 100    ;temps init du LCD 
    
    	do		;boucle lecture potars et affichage paramètres
    		readadc Npot,varb 		;0 à 255
    		Necla= 5 * varb/250		;0 à 5
    		readadc TEpot,varb		
    		Tecla= 57*varb/250 +3 	;3 à 60s
    		readadc10 Pmod,varb		;0 à 255
    		Affmod= 20*varb/250 +3	;de 3 à 23
    		if com1=0 then
    			gosub affich1
    			gosub command1
    		elseif com2=0 then
    			gosub affich2
    			gosub command2	
    		elseif com3=0 or com4=0 then
    			gosub affich3
    			gosub command3	
    		else gosub affich4
    		endif		
    	loop
    
    affich1:
    	car=1 : gosub EnvoiByteComm  ;raz LCD
    	car= 128 : gosub EnvoiByteComm    'curseur début ligne1	  
       for cpt=0 to 15
    		lookup cpt,("#1 Neclat Teclat"),car	
    		gosub EnvoiByteData    
    	next    
    	car=195 : gosub EnvoiByteComm 
    	bintoascii Necla,cent,diz,unit
    	for cpt=1 to 3
    		lookup cpt,(cent,diz,unit),car	
    		gosub EnvoiByteData
    	next  
    	car=202 : gosub EnvoiByteComm 
    	bintoascii Tecla, cent,diz,unit
    	for cpt=1 to 3
    		lookup cpt,(cent,diz,unit),car	
    		gosub EnvoiByteData
    	next
    	return
    affich2:
    	car=1 : gosub EnvoiByteComm  ;raz LCD
    	car= 128 : gosub EnvoiByteComm    'curseur début ligne1	
    	for cpt=0 to 1
    		lookup cpt,("#2"),car	
    		gosub EnvoiByteData    
    	next    
    	return
    affich3:	
    	car=1 : gosub EnvoiByteComm  ;raz LCD
    	car= 128 : gosub EnvoiByteComm    'curseur début ligne1	
    	for cpt=0 to 15
    		lookup cpt,("#3 Tmod  Neclat "),car
    		gosub EnvoiByteData    
    	next   
    	if com3=0 then
    		Necla=0
    	endif 
    	car=195 : gosub EnvoiByteComm 
    	bintoascii Affmod,cent,diz,unit
    	for cpt=1 to 3
    		lookup cpt,(cent,diz,unit),car	
    		gosub EnvoiByteData
    	next  
    	car=201: gosub EnvoiByteComm 
    	bintoascii Necla,cent,diz,unit
    	for cpt=1 to 3
    		lookup cpt,(cent,diz,unit),car	
    		gosub EnvoiByteData
    	next  
    	return
    
    affich4:
    	car=1 : gosub EnvoiByteComm  ;raz LCD
    	car= 128 : gosub EnvoiByteComm    'curseur début ligne1	
    	for cpt=0 to 13
    		lookup cpt, ("  Quel choix ?"),car
    		gosub EnvoiByteData
    	next
    	return
    
    command1:		;éclats lumineux temporisés
    	pwmout SPWM, off		;plus de PWM		
    	do		
    		for cpt=1 to Necla
    			high SPWM
    			pause 1000			;N éclats de 1s espacés de 3s
    			low SPWM
    			pause 3000
    		next
    		time=0		;RAZ time
    		do loop while time<= Tecla	;temps de pause entre séries éclats
    	loop while com1=0
    	return
    
    command2:		;detresse 90 éclats / mn
    	pwmout SPWM, off		;plus de PWM
    	do
    		high SPWM
    		pause 300
    		low SPWM
    		pause 400
    	loop while com2=0
    	return
    
    command3:	;modulation sans flash
    	pwmout SPWM, 250,0		;PWM 3985Hz : RC=0
    	Tmod=Affmod *10/4  ; de 3000 à 23000 pour 400 pas: 
    	do
    		for cpt=200 to 1000 step 2		;il y a 400 RC de 200 à 1000
    			pwmduty SPWM, cpt
    			pause Tmod		;temps de pause = Temps de modulation /823
    		next
    		if com4=0 then		;sub flash en fin 
    			gosub command4	
    		endif	
    		for cpt=1000 to 200		
    			pwmduty SPWM,cpt
    			pause Tmod
    		next
    	loop while com3=0
    	return
    
    command4:	
    	for cpt=1 to Necla
    		high flash
    		pause 200
    		low flash
    	next
    	return
    	
    affich:
    	;à faire;; Sub envoi vers LCD via I2C *************
    EnvoiByteCommInit:
        pause 15
    EnvoiByteComm:
        rsbit=0
    EnvoiByteData:
    ;1ère moitié
        dat=car & $F0 | %1000 | rsbit ;%1000 pour l'?clairage
        hi2cout (dat)
        pause 2        
        dat=dat | %1100
        hi2cout (dat)    ;pulse sur E cad P2
        pause 2            ;pause 2 pour 32 MHz
        dat=dat | %1000    ;fin pulse
        hi2cout (dat)
        pause 2    
    ;2ème moitié
        dat=car & $0F * 16 | %1000 | rsbit
        hi2cout (dat)
        pause 2
        dat=dat | %1100
        hi2cout (dat)
        pause 2
        dat=dat | %1000 & %1011
        hi2cout (dat)    
        rsbit=1
        return
    Si il y a des erreurs ci dessus, c'est que je n'ai pas eu le temps de les corriger...

  23. #53
    mag1

    Re : Conception d’un schéma électronique de contrôle d’éclairage

    Évidement, je n'ai pas eu le temps de supprimer le message précédent, version monotâche non terminée, si un modo peut le faire, merci.
    Le code que je voulais poster une version "multitâches". Il y a certainement autant d'erreurs à rectifier après test.
    Code:
    ;Gestion éclairage F0GED MM 020125
    ;Commande 1 sur C.4 :éclats lumineux temporisés N éclats =1 à 5 ;tempo 3 à 60s
    ;Commande 2 sur C.3 :clignotant feux détresse
    ;commande 3 sur C.2 :modulation sans flash ; modulation 20 à 100% de 3 à 20s 
    ;commande 4 sur C.1 :commande 3 + flash
    ;sélection paramètres par potars
    ;affichage paramètres sur LCD I2C 1602
    ;Programmation "mutitâches" 
    ;tache0 : lecture des paramètres
    ;tache1 : affichage des paramètres
    ;tache2 : lecture des commandes 1,2,3,4 ;détection des modifs ; sélection des sub ; 
    ;sortie PWM sur C.0
    ;sortie flash sur B.0
    
    #picaxe 14M2
    #no_data		;pas d' EEPROM
    start0:
    symbol rsbit=bit0
    symbol Necla=b1		;nombre éclat
    symbol varb=b2			;variable byte (8 bits)
    symbol car=b3			;caractère
    symbol dat=b4			;data I2C
    symbol cent=b5			;centaines 
    symbol diz=b6			;dizaines 
    symbol unit=b7			;unités
    symbol affmod=b8		;affichage modulation
    symbol choix=b9		;
    symbol Tecla=w13		;temps entre séries éclats
    symbol Tmod=w12		;temps modulation PWM
    symbol varw=w11		;variable word (16 bits)
    symbol cpt=w10			;compteur
    symbol flash= B.0		;sortie flash
    symbol Npot=B.1		;N éclats commandes 1 et 4
    symbol TEpot=B.2		;Tempsentre séries éclats 3 à 60s
    ;B.3 ;B.4 	réservés I2C
    symbol Pmod=B.5		;Temps de cycle RC
    symbol SPWM=C.0		;sortie PWM
    symbol com1=pinC.4
    symbol com2=pinC.3
    symbol com3=pinC.2
    symbol com4=pinC.1
    	pullup %1111000011000	;pullup sur C.4 à C.1 et B.3,B.4
    ; Initialisation I2C 4 bits , etc ********
        hi2csetup i2cmaster,%01001110, i2cslow, i2cbyte        
    ; Initialisation LCD *********
        for cpt=0 to 5
            lookup cpt,($33,$32,$28,$c,$6,$01),car
            gosub EnvoiByteCommInit
        next
        pause 100    ;temps init du LCD 
    
    	do		;boucle lecture potars et affichage paramètres
    		readadc Npot,varb 		;0 à 255
    		Necla= 5 * varb/250		;0 à 5
    		readadc TEpot,varb		
    		Tecla= 57*varb/250 +3 	;3 à 60s
    		readadc10 Pmod,varb		;0 à 255
    		Affmod= 20*varb/250 +3	;de 3 à 23
    		if com1=0 then
    			choix=0
    			gosub affich1
    		elseif com2=0 then
    			choix=1
    			gosub affich2	
    		elseif com3=0 or com4=0 then
    			choix=2
    			gosub affich3	
    		else 
    			choix=3
    			gosub affich4
    		endif		
    	loop
    
    affich1:
    	car=1 : gosub EnvoiByteComm  ;raz LCD
    	car= 128 : gosub EnvoiByteComm    'curseur début ligne1	  
       for cpt=0 to 15
    		lookup cpt,("#1 Neclat Teclat"),car	
    		gosub EnvoiByteData    
    	next    
    	car=195 : gosub EnvoiByteComm 
    	bintoascii Necla,cent,diz,unit
    	for cpt=1 to 3
    		lookup cpt,(cent,diz,unit),car	
    		gosub EnvoiByteData
    	next  
    	car=202 : gosub EnvoiByteComm 
    	bintoascii Tecla, cent,diz,unit
    	for cpt=1 to 3
    		lookup cpt,(cent,diz,unit),car	
    		gosub EnvoiByteData
    	next
    	return
    affich2:
    	car=1 : gosub EnvoiByteComm  ;raz LCD
    	car= 128 : gosub EnvoiByteComm    'curseur début ligne1	
    	for cpt=0 to 1
    		lookup cpt,("#2"),car	
    		gosub EnvoiByteData    
    	next    
    	return
    affich3:	
    	car=1 : gosub EnvoiByteComm  ;raz LCD
    	car= 128 : gosub EnvoiByteComm    'curseur début ligne1	
    	for cpt=0 to 15
    		lookup cpt,("#3 Tmod  Neclat "),car
    		gosub EnvoiByteData    
    	next   
    	if com3=0 then
    		Necla=0
    	endif 
    	car=195 : gosub EnvoiByteComm 
    	bintoascii Affmod,cent,diz,unit
    	for cpt=1 to 3
    		lookup cpt,(cent,diz,unit),car	
    		gosub EnvoiByteData
    	next  
    	car=201: gosub EnvoiByteComm 
    	bintoascii Necla,cent,diz,unit
    	for cpt=1 to 3
    		lookup cpt,(cent,diz,unit),car	
    		gosub EnvoiByteData
    	next  
    	return
    
    affich4:
    	car=1 : gosub EnvoiByteComm  ;raz LCD
    	car= 128 : gosub EnvoiByteComm    'curseur début ligne1	
    	for cpt=0 to 13
    		lookup cpt, ("  Quel choix ?"),car
    		gosub EnvoiByteData
    	next
    	return
    
    start1:		;sélection commande
    	do
    		on choix gosub command1,command2,command3		;choix de 0 à 2
    	loop
    
    command1:		;éclats lumineux temporisés
    	pwmout SPWM, off		;plus de PWM		
    	do		
    		for cpt=1 to Necla
    			high SPWM
    			pause 1000			;N éclats de 1s espacés de 3s
    			low SPWM
    			pause 3000
    		next
    		time=0		;RAZ time
    		do loop while time<= Tecla	;temps de pause entre séries éclats
    	loop while com1=0
    	return
    
    command2:		;detresse 90 éclats / mn
    	pwmout SPWM, off		;plus de PWM
    	do
    		high SPWM
    		pause 300
    		low SPWM
    		pause 400
    	loop while com2=0
    	return
    
    command3:	;modulation sans flash
    	pwmout SPWM, 250,0		;PWM 3985Hz : RC=0
    	Tmod=Affmod *10/4  ; de 3000 à 23000 pour 400 pas: 
    	do
    		for cpt=200 to 1000 step 2		;il y a 400 RC de 200 à 1000
    			pwmduty SPWM, cpt
    			pause Tmod		;temps de pause = Temps de modulation /823
    		next
    		if com4=0 then		;sub flash en fin 
    			gosub command4	
    		endif	
    		for cpt=1000 to 200		
    			pwmduty SPWM,cpt
    			pause Tmod
    		next
    	loop while com3=0
    	return
    
    command4:	
    	for cpt=1 to Necla
    		high flash
    		pause 200
    		low flash
    	next
    	return
    	
    affich:
    	;à faire;; Sub envoi vers LCD via I2C *************
    EnvoiByteCommInit:
        pause 15
    EnvoiByteComm:
        rsbit=0
    EnvoiByteData:
    ;1ère moitié
        dat=car & $F0 | %1000 | rsbit ;%1000 pour l'?clairage
        hi2cout (dat)
        pause 2        
        dat=dat | %1100
        hi2cout (dat)    ;pulse sur E cad P2
        pause 2            ;pause 2 pour 32 MHz
        dat=dat | %1000    ;fin pulse
        hi2cout (dat)
        pause 2    
    ;2ème moitié
        dat=car & $0F * 16 | %1000 | rsbit
        hi2cout (dat)
        pause 2
        dat=dat | %1100
        hi2cout (dat)
        pause 2
        dat=dat | %1000 & %1011
        hi2cout (dat)    
        rsbit=1
        return
    MM
    Si il y a des erreurs ci dessus, c'est que je n'ai pas eu le temps de les corriger...

  24. #54
    F0GED

    Re : Conception d’un schéma électronique de contrôle d’éclairage

    Bonjour et une bonne année à tous !

    Super pour le codage, un gros casse tête d’évité pour moi.. merci !

    Je suis en train de faire la liste des composants. Donc picaxe 14m2 ? Je me demande quelle intensité choisir pour les 10k et 390 0hm ?
    Pour le condensateur, est-ce qu’un X2 (réf 15753 gotronic) conviendrait ?

    Leur afficheur 03393 conviendrait-il ?

    Régulateur 5v (02460?)

    Mosfet ttl (35243?)

    La programmation du picaxe se fait elle une fois implantée sur le circuit ou sur un support dédié à trouver aussi ? Merci

    Jérémie

  25. #55
    mag1

    Re : Conception d’un schéma électronique de contrôle d’éclairage

    Citation Envoyé par F0GED Voir le message
    Je suis en train de faire la liste des composants. Donc picaxe 14m2 ? Je me demande quelle intensité choisir pour les 10k et 390 0hm ?
    Pour le condensateur, est-ce qu’un X2 (réf 15753 gotronic) conviendrait ?
    Leur afficheur 03393 conviendrait-il ?
    Régulateur 5v (02460?)
    Mosfet ttl (35243?)
    Bonjour, et bonne année...
    Alors:
    chez Gotro
    https://www.gotronic.fr/art-microcon...14m2-17191.htm
    Pour l'état actuel du projet, mais le 14M2 n'a plus de patte libre. Donc, si tu envisages des évolutions, le 20M2, 20cts de plus a plus de possibilités. A voir.
    le régulateur: https://www.gotronic.fr/art-l7805cv-1578.htm
    les condos:
    https://www.gotronic.fr/art-l7805cv-1578.htm
    https://www.gotronic.fr/art-condensa...00-nf-3222.htm
    résistances: https://www.gotronic.fr/art-10-resis...0k-8486-19.htm
    prendre aussi des 1k et 390 dans la même gamme.
    Pour l'afficheur, il est prévu un 1602 I2C . L'I2C n'est pas le plus commode avec le picaxe, un série "picaxe" est plus pratique mais il faut se fabriquer un adaptateur.
    Bref: l'I2C https://www.aliexpress.com/item/1005...Cquery_from%3A
    Il n'y a pas de connecteurs femelles sur l'afficheur (il est prévu de le souder direct)
    Je conseille : https://www.aliexpress.com/item/1005...Cquery_from%3A
    Les équivalents sécables chez Gotro ont disparus. On peut couper quand même...
    Pour le mosfet, un IRL540 : https://www.gotronic.fr/art-transist...540n-14701.htm . Il y en a de meilleurs, faudrait chercher ailleurs.

    Pour la programmation: Il y a cette page: http://electromag1.wifeo.com/cordon-...ation-usb-.php.
    On peut prévoir une programmation sur site, il faut deux R de 10k sur la carte et un connecteur 3 pins
    L'adaptateur USB/RS232 : https://www.aliexpress.com/item/1005...Cquery_from%3A

    RAPPEL: le code ne sera testé que la semaine prochaine
    A suivre
    MM
    Dernière modification par mag1 ; 03/01/2025 à 21h50.
    Si il y a des erreurs ci dessus, c'est que je n'ai pas eu le temps de les corriger...

  26. #56
    Forhorse

    Re : Conception d’un schéma électronique de contrôle d’éclairage

    Citation Envoyé par mag1 Voir le message
    Bonsoir,
    Pourquoi "boite noire"?
    Parce que c'est ce qu'ils sont. Tu n'as aucune idées de ce comment opère le firmware dans ton PIC, le code est propriétaire. Pour faire du PICAXE il faut acheter un PICAXE.
    S'il y a un beug dans le firmware, personne n'a la possibilité d'aller voir ce qui se passe, et son éventuelle correction sera au bon vouloir du fabricant.
    Et si un jour ils décident de passer à autre chose (ou qu'ils coulent...) tu pourras acheter autant de PIC vierges que tu veux, tu ne referas jamais d'autres PICAXE

    Arduino c'est open-source et le fruit d'un travail communautaire. Tu peux aller voir ce qui se passe "sous le capot" et même le modifier / l'améliorer si tu as le besoin / les compétences.
    Tu n'est pas lié à un éditeur. Tu peux acheter un atmega vierge et faire ton propre arduino.
    Et tu n'est même pas lié a Microchip pour le microcontrôleur puisque le framwork Arduino est adapté (et adaptable) à plein de familles de µC

    Et sinon, dans un autre registre, réaliser les projets à la place des demandeurs c'est bien beau mais comme dit le proverbe chinois :
    si tu donnes un poisson à un homme, il mangera à un jour, mais si tu lui apprends à pêcher, il mangera toute sa vie.
    Tout projet flou conduit à une connerie précise !

  27. #57
    mag1

    Re : Conception d’un schéma électronique de contrôle d’éclairage

    Bonjour Forhorse et bonne année
    "si tu donnes un poisson à un homme, il mangera à un jour, mais si tu lui apprends à pêcher, il mangera toute sa vie."
    Belle formule, mais je pense que partant de rien, on arrive pas à grand chose. J'ai souvent appris par l'exemple, c'est ce que j'essaye de faire
    Chaque µC a ses avantages et inconvénients. L'avantage du picaxe et du basic est la simplicité, destiné à l'éducation, rien n’empêche de passer ensuite à autre chose : arduino ou autres.
    Personne n'a jamais encore constaté de bug dans le firmware, picaxe. Il y a aussi des problèmes de compilateur.
    Contrairement à l'arduino, on est parfois obligé de comprendre ce que l'on fait, par ex. pour utiliser un LCD I2C. Il n'y a pas de biblio qui fait tout sans rien comprendre.
    Et si le picaxe disparait, on prendra des arduino qui ne manque pas d'intérêts, c'est une autre école, son C est tout aussi décrié par les puristes.
    Chacun fait comme il veut et si FOGED, ici présent, solutionne ses problèmes avec un arduino et son club d'informatique, je lui dirais BRAVO.
    MM
    Si il y a des erreurs ci dessus, c'est que je n'ai pas eu le temps de les corriger...

  28. #58
    Forhorse

    Re : Conception d’un schéma électronique de contrôle d’éclairage

    Citation Envoyé par mag1 Voir le message
    Il n'y a pas de biblio qui fait tout sans rien comprendre.
    Ah oui ? ben là par contre je pense que c'est toi qui ne comprend pas sur quoi est basé tes cher picaxe

    A ton avis quand tu fais, par exemple, un
    Code:
    hi2csetup i2cmaster,%01001110, i2cslow, i2cbyte
    c'est quoi, sinon l'utilisation d'une librairie ?
    Tout projet flou conduit à une connerie précise !

  29. #59
    Pascal071

    Re : Conception d’un schéma électronique de contrôle d’éclairage

    bonjour

    je ne rentre surtout pas dans la discussion Picaxe Vs Arduino...

    par contre un afficheur 1602 + i2c à 0,99€, c'est risqué...
    tout comme un Arduino Nano à 1€.

    Cdlt
    Dernière modification par Pascal071 ; 04/01/2025 à 15h43.

  30. #60
    mag1

    Re : Conception d’un schéma électronique de contrôle d’éclairage

    Citation Envoyé par Pascal071 Voir le message
    par contre un afficheur 1602 + i2c à 0,99€, c'est risqué...
    tout comme un Arduino Nano à 1€.
    Cdlt
    Je ne les oppose pas non plus...
    Pour Le chinois, oui, c'est surprenant, mais jusqu'à présent, je n'ai jamais eu de problème, et même si il y en avait, on ne perd pas grand chose...
    Et en général, c'est remboursé ou remplacé.
    On peut bien sûr trouver plus cher, sans être sûr qu'il ne vienne pas du même fournisseur.
    JLCPCB est tout aussi surprenant
    MM
    Si il y a des erreurs ci dessus, c'est que je n'ai pas eu le temps de les corriger...

Page 2 sur 3 PremièrePremière 2 DernièreDernière

Discussions similaires

  1. Conception d'un circuit d'éclairage en 24V
    Par Elec1914 dans le forum Bricolage et décoration
    Réponses: 148
    Dernier message: 27/11/2022, 12h01
  2. [Exercices] Livre pour s'exercer sur la conception de circuit/schéma/montage électronique
    Par Control dans le forum Électronique
    Réponses: 17
    Dernier message: 12/07/2022, 14h07
  3. [Energie] Conception schéma électronique pour augmenter l'intensité d'un générateur solaire
    Par invite237b9c06 dans le forum Électronique
    Réponses: 3
    Dernier message: 23/02/2016, 20h19
  4. Réponses: 4
    Dernier message: 05/05/2014, 16h14
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...