Electromag1 Circuits électroniques et Picaxes

Petit site pour ceux qui bricolent en électronique en général et sur les PICAXES en particulier.
Les PICAXES sont des microprocesseurs (PIC de Microship) programmables en BASIC. Pleins de qualités, pas chers, ultra faciles à programmer.
Tout (ou presque) est sur le site du distributeur Gotronic (voir les liens).
Les pages  seront ajoutées ou modifiées petit à petit.
Dans le but d'améliorer ce blog, communiquez moi vos remarques et les erreurs que vous pouvez constater.
Pour me contacter: Envoyez un mail à l'adresse : mag1mic@free.fr .  Tout message reçoit une réponse
Pour retourner au menu, Cliquer sur "LISTE DES PAGES", ici ou en haut de la colonne de gauche
Pour laisser un message, allez dans le "LIVRE D'OR"
Bonne visite
 
 

Code version éco, pour alimentaion sur batterie et panneaux solaires


Dans cette version, l'arrêt moteur est assuré par des FDC ouverture et fermeture
La commande disablebod et sleep déconnecte le µC pendant 2.3s env. Pendant ce temps, le µC ne consomme quasiment rien. Les relais ne sont pas alimentés, reste le pont de mesure qui consomme 230µA, qui seront supprimés si besoin.
Un switch (inter ou strap provisoir) supprime cette mise en sommeil pour régler le seuil de luminosité (par ex).
Le potar introduit un décalage (hystérésis) entre les seuils J/N et supprime la frange d'incertitude.
Il y a donc un cycle de mesure toutes les 2,3s, au lieu de tourner en permanence.
Le programme mesure la luminosité et la compare à un seuil. Si la mesure est passée de l'autre côté de ce seuil, elle est mémorisée, si elle reste de l'autre côté pendant un temps suppérieur à un temps de validation (réglé par le potar tempo).
Le  programme place la porte en conformité avec la nouvelle situation.
Pendant ce cycle d'éveil, le programme passe par "ouvreman" pour effectuer si besoin une commande manuelle.


EN CHANTIER!!!

;Porte poules mode éco et FDC MM 080518
#picaxe 20M2
#no_data
symbol potarH=B.5       ;potar hystérésis
symbol potarT=C.2       ;potar tempo en C.2
symbol potarS=C.3       ;potar seuil en C.3
symbol FCO=pinC.4       ;FCO=0 ->FCO fermé-> porte ouverte
symbol FCF=pinC.6       ;FCF=0 ->FCF fermé -> porte fermée
symbol switcheco=pinC.0    ;switch eco C/C pour réglage  
symbol LDR=C.7          ;LDR en C.7
symbol ouvre=B.0        ;sortie ouverture
symbol ferme=B.1        ;sortie fermeture
symbol led= B.3         ;led J/N
symbol trans=B.4        ;led état transitoire
symbol ouvman=pinB.6    ;ouverture manuelle
symbol ferman=pinB.7    ;fermeture manuelle
symbol JN=bit0          ;bit J/N 1=jour ; 0=nuit
symbol valJN=bit1       ;validation JN
symbol memoJN=bit2      ;mémo JN
symbol eco=bit3            ;bit mémo eco
symbol hyster=b1        ;valeur hystérésie (0 à 255) : 10=1% env.
symbol seuilH=w10       ;seuil haut avec hystérésis
symbol lum=w13          ;valeur lumière (0 à 1023)
symbol seuil=w12        ;valeur seuil (0 à 1023)
symbol tempo=w11        ;valeur tempo (0 à 1023)
dirsB=%1011             ;B.0,B.1,B.3 en sorties
dirsC=%100000                ;C.5 en sortie inutilisée
pullup %101000111000000    ;pullup sur B.6,B.7,C.0,C.4,C.6
    eco=0                        ;initialisaion mode éco off

;***** boucle principale *****************
      Do
;******test eco *********************
        if eco=1 and switcheco=1 then
            disablebod            
            sleep 1        ; mise en mode sleep env 2,4s    
            enablebod        
        endif
;****** lecture des réglages ***********
      readadc10 LDR, lum        ;lecture luminosité
      readadc10 potarS,seuil    ;lecture seuil J/N    
      readadc10 potarT,tempo    ;lecture temporisation J/N
      readadc potarH, hyster
      tempo=24*tempo/10        ;max=24*1023/10 = 2455 s (40mn),min=0
      seuilH=seuil+255-hyster  ; 255-hyster parce que le potar est câblé à l'envers sur le typon
;****** comparateur seuil *********************
        If lum >= seuilH then    ;comparateur LDR éclairée=val lum forte = jour
            JN=1
            if switcheco=0 then     ;=0:mode eco sur off led J/N s'allume pour réglage
                high led             ;on est de jour
            else low led            ;mode éco actif, led J/N éteinte
            endif      
        elseif lum <seuil then
            JN=0 : low led        ;sinon on est de nuit            
        endif
;****** mémorisation franchissement du seuil **********
        if memoJN<>JN then        ;si changement de sens -> RAZ time
            eco=0
            time=0
        endif
        memoJN=JN                  ;memo JN
        gosub ouvreman
;******* validation état après temporisation *************
        if time>tempo then         ;si JN stable pendant un temps tempo (0 à 40 mn)    
            valJN=JN              ;validation de JN dans valJN    
            time=tempo*2        ;limitation compteur time < 65535
            low trans              ;extinction led trans
            else high trans         ;allumage led trans    
        endif
;******** mouvement porte *******************
        If valJN=1 and FCO=1 then            ;de jour et porte non ouverte             
            eco=0  
            low ferme    
            high ouvre               
        elseif valJN=0 and FCF=1 then        ;de nuit et porte non fermée
            eco=0
            low ouvre
            high ferme            
        elseif JN=1 and FCO=0 then     ;
            eco=1
            low ferme
            low ouvre
        elseif JN=0 and FCF=0 then
            eco=1
            low ferme
            low ouvre    
            endif        
    loop        
 
;********* ouverture / fermeture manuelle *************
ouvreman:
      if ouvman=0 then         ;ouverture manuelle force valJN=1                        
            low ferme
            high ouvre
          do loop  while FCO=1
            low ouvre
            do loop while ouvman=0
      elseif ferman=0 then ;fermeture manuelle force valJN=0
            low ouvre            
            high ferme
          do loop  while FCF=1
            low ferme
            do loop while ferman=0
      endif
        return



https://www.ebay.fr/itm/2x-GT2-20Teeth-Poulie-Synchrone-3M-GT2-Courroie-pr-3D-Imprimante-RepRap-Prusa-/162621064410
 



Créer un site
Créer un site