Forumul electronistilor

Forum de Electronica. Comunitatea electronistilor, radioamatorilor si hobby-stilor din Romania.
 FAQ • REGULAMENT FORUM •  Înregistrare •  Autentificare 
Acum este Joi Apr 17, 2014 6:33 pm

Ora este UTC + 2 [ DST ]




Scrie un subiect nou Răspunde la subiect
 [ 55 mesaje ]  Du-te la pagina Anterior  1, 2, 3, 4, 5, 6  Următorul
Autor Mesaj
 Subiectul mesajului:
MesajScris: Dum Noi 26, 2006 3:47 pm 
Neconectat
Utilizator
Avatar utilizator

Membru din: Joi Mar 09, 2006 6:04 pm
Mesaje: 656
Cod:
;*******************************************************************
;     G.SAMBLANCAT - SUPER LUXEON LEDS 2005 - ZTX751
;
;*******************************************************************
;

         list r=dec

         include "P12F629.inc"

         __config   _BODEN_OFF & _EXTRC_OSC_NOCLKOUT & _WDT_OFF &_MCLRE_OFF 

;Definitions des variables
         CBLOCK   0x20
         TPO1
         PWM               ; largeur d'impulsion On
         LEVEL            ; 0:Off, 1:economie, 2:plein regime
         OLDLEV
         VDDMES            ; inverse de Vdd
         NBTOP
         CTRLOOP
         FLAG
         PTRSOS, CTRFLASH
         CTROFFL            ; ctr d'inactivite pour faire 1 min
         CTROFFH            ; ctr "          " nb de minutes
         endc

#Define      LED      GPIO,0      ; sortie led commande
#Define      VOLT   GPIO,1

#Define      BUTTON   GPIO,2   ; bouton de reglage
#Define      DIODREF   GPIO,4

#Define      FLASH   FLAG,1   ; flag si flash mode

#Define      DELAI_BASE   060h
#Define      TIMEOFF      60   ; minutes inactivite avant extinction

BANK0      macro
         bcf      STATUS,RP0
         endm
BANK1      macro
         bsf      STATUS,RP0
         endm

;*************************************************************
;    VARIATEUR DE SUPERLED
;*************************************************************
         org      0
         
start        bsf      LED
         bsf      DIODREF
         movlw   b'11101110'      ; dioderef + led en sortie
         BANK1
         movwf   TRISIO
         movlw   04
         movwf   WPU            ; seul BUTTON en pull-up
         BANK0
         
         movlw   88
         movwf   CTROFFL
         movlw   TIMEOFF
         movwf   CTROFFH
         
         movlw   b'00000000'      ; prescaler 1:2
         option
         
         movlw   b'00000100'      ; Vref=int, Cin- GP1
         movwf   CMCON
         
         clrf   LEVEL         ; lumiere eteinte
         clrf   NBTOP
         bcf      FLASH

main0      movlw   DELAI_BASE
         movwf   CTRLOOP

;Mesure indirecte de Vdd dans VDDMES par la ref
         movlw   b'10000100'
         BANK1
         movwf   VRCON
         BANK0

loopmes      BANK1
         incf   VRCON,1         ; incr. Vref jusqu'au
         BANK0               ; basculement
         btfss   CMCON,COUT
         goto   loopmes
         
         BANK1
         movf   VRCON,0
         andlw   0fh
         BANK0
         movwf   VDDMES

;Ici on a   Vdd = 5v -> 8   -> 048h voulu
;         Vdd = 3v -> 14   -> 07fh voulu
         call   SETVDDMES
         movwf   PWM         ; 5V -> VDDMES=048h

;------- Boucle principale - Top sur la led ----------
Mainloop   bsf      LED
               
;Teste si mode flash en cours
suite_run   btfsc   FLASH      ; va au mode flash
         goto   eclats

;passe a la suite si 100% eteint
loop0      movf   LEVEL,0
         btfsc   STATUS,Z
         goto   pasled
         
;sinon allume led et mesure
         bcf      LED         ; courant sur la led
         
;Fait les deux demi-periodes
pasled      btfsc   LEVEL,1
         goto   plein100   ; si level<>2
         movlw   06
         movwf   PWM         ; met un faible niveau minimum
         
plein100   clrf   TPO1
loop1      incf   TPO1,1
         movf   TPO1,0
         xorwf   PWM,0
         btfss   STATUS,Z
         goto   loop1

         bsf      LED         ; eteint la led

loop2      incf   TPO1,1
         btfss   TPO1,7
         goto   loop2
      
;Teste si l'etat de la touche a change
tstkey      movf   GPIO,0
         xorwf   OLDLEV,0
         andlw   4
         btfsc   STATUS,Z
         goto   nochange
                  
;changement -> sauve etat
         movf   GPIO,0
         movwf   OLDLEV
         btfsc   BUTTON      ; =0 relache
         goto   nochange

;la touche vient d'etre appuyée
;Raz le compteur d'inactivité
         movlw   88
         movwf   CTROFFL
         movlw   TIMEOFF
         movwf   CTROFFH
   
;teste si c'est le premier top -> raz chrono
         movf   NBTOP,0
         btfss   STATUS,Z
         goto   no_razt
         movlw   DELAI_BASE   ; premier top - met le delai de scrut
         clrf   CTRLOOP

no_razt      incf   NBTOP,1      ; compte un top de plus

;Decremente le compteur de boucle
nochange   decfsz   CTRLOOP,1
         goto   Mainloop
;decremente compteur d'inactivite
         decfsz   CTROFFL,1
         goto   nododown
         movlw   88
         movwf   CTROFFL
         decfsz   CTROFFH,1
         goto   nododown
;Le delai de TIMEOFF minutes est passe : on baisse
         movlw   TIMEOFF
         movwf   CTROFFH
         goto   baisse

;un delai de base est passe (environ 2 secondes de scrutation)
;on compte les tops
nododown   movf   NBTOP,0
         btfsc   STATUS,Z
         goto   main0

         decf   NBTOP,1
         btfss   STATUS,Z
         goto   no_down
         
;********************************************************
;1 top -> on baisse le jus, plus flash
baisse      bcf      FLASH
         movf   LEVEL,0
         btfsc   STATUS,Z
         goto   fintops

;test du choix du nouveau level baissé
         movf   LEVEL,0
         btfsc   STATUS,Z      ; level 2 -> level 1
         goto   fintops
         decfsz   LEVEL,1
         goto   fintops
         
;si extinction complete...         ; level 1-> level 0
         movlw   b'11111111'      ; tout en entree
         BANK1
         movwf   TRISIO
         clrf   VRCON         ; plus de Vref
         BANK0
         call   TEMPO3M
         movlw   b'00010000'
         movwf   INTCON
         
         sleep               ; veille totale a 30uA !
         nop
         
         movlw   b'11111110'      ; remet led en sortie
         BANK1
         movwf   TRISIO
         movlw   080h
         movwf   VRCON
         BANK0
         movlw   1
         movwf   NBTOP
         goto   fintops      ; retourne en marche


no_down      decf   NBTOP,1
         btfss   STATUS,Z
         goto   no_up
;********************************************************
; 2 tops -> on monte le jus !!!
         bcf      FLASH      ; pas flash
         movf   LEVEL,0
         xorlw   2
         btfsc   STATUS,Z   ; incremente level
         goto   fintops      ; avec saturation a 2
         incf   LEVEL,1
         goto   fintops

no_up      decf   NBTOP,1
         btfss   STATUS,Z
         goto   fintops
; 3 tops -> flash S.O.S
         bsf      FLASH
         clrf   PTRSOS      ; raz pointeur de signal
         call   SOSTAB
         movwf   CTRFLASH

fintops      clrf   NBTOP
         goto   main0
         
;--------- Mode flash a eclats programmable ---------------
eclats      bsf      LED
         movf   CTRLOOP,0
         xorlw   DELAI_BASE
         btfss   STATUS,Z   ; test si unite de temps passee
         goto   tempsos

         decfsz   CTRFLASH,1
         goto   tempsos

;l'intervalle entre tops est passe
         incf   PTRSOS,1   ; incr pointeur
         call   SOSTAB
         xorlw   0ffh
         btfsc   STATUS,Z   ; si fin raz pointeur
         goto   razptrs
         
         xorlw   0ffh
         movwf   CTRFLASH

         bcf      LED         ; allume la led !
tempsos      call   TEMPO3M
         goto   tstkey
         
razptrs      clrf   PTRSOS
         call   SOSTAB
         movwf   CTRFLASH
         goto   tempsos
;--------------------------------------------------------
TEMPO3M      movlw   060h      ; tempo 3mS
         movwf   TPO1
         decfsz   TPO1,1
         goto   $-1
         return
;---------------------------------------------------
;Table des rapports cycliques en fonction de Vdd
SETVDDMES   addwf   PCL,1
         retlw   010h      ;0
         retlw   018h
         retlw   020h      ;2
         retlw   020h      ;3
         retlw   026h
         retlw   02Ah
         retlw   030h      ;6
         retlw   038h
         retlw   040h      ;8
         retlw   048h
         retlw   058h      ;10
         retlw   060h
         retlw   070h      ;12
         retlw   079h
         retlw   07Eh      ;14
         retlw   07Eh      ;15
;---------------------------------------------------
;Definition du signal flash programmable
;(nombre de blancs entre flash)
SOSTAB      movf   PTRSOS,0
         addwf   PCL,1
         retlw   1
         retlw   1
         retlw   1
         retlw   3
         retlw   3
         retlw   3
         retlw   3
         retlw   1
         retlw   1
         retlw   4
         retlw   0ffh   ; marque la fin du signal
;*****************************************************


Sus
 Profil  
 
 Subiectul mesajului: Lanterna frontala cu LED
MesajScris: Dum Noi 26, 2006 3:47 pm 
Avatar Robotel
55 mesaje

Linkuri sponsorizate de la Google


Sus
 Profil Trimiteţi mesaj privat E-mail  
 Subiectul mesajului:
MesajScris: Dum Noi 26, 2006 3:52 pm 
Neconectat
Utilizator
Avatar utilizator

Membru din: Joi Mar 09, 2006 6:04 pm
Mesaje: 656
programul nu e facut de mine (mai am pana sa ajung sa fac programe) ci de autorul articolului gerard samblancat
se poate si cumpara
Preprogrammed PIC microcontrollers are available from
http://www.magenta2000.co.uk if you do not wish to program your own chip.


Sus
 Profil  
 
 Subiectul mesajului:
MesajScris: Dum Noi 26, 2006 3:57 pm 
Avatar utilizator
nicul scrie:
@naui
daca nu, e in regula, nu mai stau sa fac upload.
.

Nici nu trebuie ca fisiera se pot atasa direct aici cand postezi :weedman:


Sus
  
 
 Subiectul mesajului:
MesajScris: Dum Noi 26, 2006 5:17 pm 
Neconectat
Utilizator
Avatar utilizator

Membru din: Joi Mar 09, 2006 6:04 pm
Mesaje: 656
pai articolul il am pe hartie, si ar trebui sa-i fac poze
de obicei pun lincuri cu img-linc-img
nu stiu cum se ataseaza direct.


Sus
 Profil  
 
 Subiectul mesajului:
MesajScris: Dum Noi 26, 2006 5:26 pm 
Avatar utilizator
AI jos un Browse :rolleyes:


Sus
  
 
 Subiectul mesajului:
MesajScris: Mar Noi 28, 2006 11:45 am 
Neconectat
Nou venit
Avatar utilizator

Membru din: Mie Mai 31, 2006 12:43 pm
Mesaje: 33
Localitate: Bucuresti
Am trait s-o vad si pe asta... Lanterna cu leduri comandata cu uC. Se pare ca s-a pierdut din vedere un aspect - eficienta. Ori, poate ca aveti multi bani de cheltuit. In acest caz va recomand lanternele petzl.
O varianta mult mai ieftina la o lanterna de firma, sunt lanternele (frontale sau nu) cu leduri, din piata. Functioneaza la fel ca si cele scumpe, doar ca stau mai prost la capitolul fiabilitate. Pt cei pretentiosi, le recomand upgrade-ul unei astfel de lanterne si anume, schimbarea ledurilor cu unele mai de calitate. Circuitul de comanda este destul de bun, ledurile sunt cele care cedeaza primele.
Eu personal, mi-am cumparat o lanterna de 15 lei cu bec, din piata, careia i-am mai pus si 4 leduri albe de 8000 mcd fiecare. Ideea era sa copiez lanternele de tip duo, care au si bec si leduri. Lanterna functioneaza cu 4 baterii AAA, care dau max 6V. Ledurile le-am legat in paralel si am pus un rezistor (100 ohmi parca) in serie cu ele, deci se aprind sau se sting toate odata. Exista si circuite mai eficiente de alimentare, dar nu e cazul sa va bateti capul. O sa incerc sa pun si poza lanternei, zilele astea. Pt cunoscatori, lumineaza absolut la fel ca un myo5, dar m-a costat doar 25 lei. In banii astia intra si un bec cu crypton, deoarece l-am schimbat pe cel original.


Sus
 Profil  
 
 Subiectul mesajului:
MesajScris: Mar Noi 28, 2006 3:07 pm 
Neconectat
Utilizator
Avatar utilizator

Membru din: Joi Mar 09, 2006 6:04 pm
Mesaje: 656
georged scrie:
Am trait s-o vad si pe asta... Lanterna cu leduri comandata cu uC. Se pare ca s-a pierdut din vedere un aspect - eficienta.


...eficienta....un cuvant greu....chiar despre asta e vorba


Sus
 Profil  
 
 Subiectul mesajului: Re: Lanterna frontala cu LED
MesajScris: Joi Ian 17, 2008 4:58 pm 
Neconectat
Nou venit
Avatar utilizator

Membru din: Joi Iun 07, 2007 12:44 pm
Mesaje: 11
La adresa asta e o schema buna
http://www.instructables.com/id/Ultimat ... /?ALLSTEPS


Sus
 Profil  
 
 Subiectul mesajului: Re: Lanterna frontala cu LED
MesajScris: Mar Ian 22, 2008 6:43 am 
Neconectat
Utilizator
Avatar utilizator

Membru din: Joi Mar 09, 2006 6:04 pm
Mesaje: 656
pai ala foloseste un circuit hibrid, buck puck parca, care contine un microcontroler si un mosfet de putere. pe situl firmei microchip este data aplicatia asta realizata cu un PIC.

pana la urma e aceeasi marie cu alta palarie, doar ca s-a gasit unul care a lipit doua intrerupatoare si a facut o inventie, sau asa crede el. 7000 de candela cu patru led-uri de 1W e barba, ca si aia 8W pe care nu stiu cum i-a calculat. e adevarat insa ca 4 leduri din alea sunt durere, am incercat si eu cu albe, chiar exagerat pentru explorarea cavernelor.


Sus
 Profil  
 
 Subiectul mesajului: Re: Lanterna frontala cu LED
MesajScris: Joi Ian 24, 2008 3:00 pm 
Neconectat
Utilizator
Avatar utilizator

Membru din: Mar Iun 12, 2007 7:58 pm
Mesaje: 208
Localitate: Brasov KN25TP
Domiciliu: Brasov
Mi-am frecat creierul, mainile si portofelu...
Controlerele si stabilizatoarele din comert sunt faine, au randament bun si sunt extrem de...scumpe.
In al doilea rand, poate sa coste pana la 50% din pretul unei frontale de firma.
M-am hotarat sa caut solutia cea mai simpla, eficienta si ieftina: DIY.
lm317 cu un rezistor de sens, nu este eficient, deloc. la 12v pierd 7W, pentru un led de 3W.
IC-urile alea de la Maxim sau National, sunt simple (de pus in opera :D ) si se lauda cu multe, dar daca am nevoie de 2 sau 3 integrate de alea, platesc cat pentru 20, sau mai mult pe transport/vama/taxe... bleah, intr-un cuvant...
M-am tot ferit de tl494-uri, pentru ca nu sunt atat de eficente ca alea de la marile firme, e un integrat de duzina, fabricat in miliarde de exemplare, deci ieftin si usor de gasit, atat de usor, incat am recuperat ic-urile astea din surse vechi, in comutatie,
Fisa tehnica e disponibila la http://www.alldatasheet.com , iar de la fisa la un chopper reglabil, de curent constant nu mai sunt decat doi pasi.
Proiectat schema, dupa exemplul din fisa, si montat.
Schema proiectata si testat de mine o sa o pun daca mai e activ topicul asta, daca nu pm me.
Pana acum, la versiunea 0.1a, pentru un consum de 700mA@3.4V am un input de 4.5W@13.8V, dar lucrez la inbunatatirea randamentului. Transistorul e MOS-Fet cu Rds-on<0.02ohm@20A, recuperat de pe un mainboard de PII, vechi si defect. Tot de acolo am sustras torurile de ferita, pe care am rebobinat, frecventa de lucru, la chopperul meu fiind mai mica.
Oricum, a iesit tot ansamblul aproape perfect :D
Si tot numai in cazul in care ar mai fi activ topicul, o sa pun un D.I.Y. complet, cu poze si explicatii pentru:
"D.I.Y. faruri de bicicleta, de sa moara amicu' care a dat 400$ pe farurile lui CatEye ;) "
73-uri!

_
الله اكبر , ...noi sa fim sanatosi.
السالام علايكوم ca de razboi ne-om fi saturat.
اليكساندرو


Sus
 Profil  
 
Afişează mesajele din ultimele:  Sortează după  
Scrie un subiect nou Răspunde la subiect
 [ 55 mesaje ]  Du-te la pagina Anterior  1, 2, 3, 4, 5, 6  Următorul

Ora este UTC + 2 [ DST ]


Cine este conectat

Utilizatorii ce navighează pe acest forum: Google Feedfetcher, Nikk, rosmarin şi 7 vizitatori


Nu puteţi scrie subiecte noi în acest forum
Nu puteţi răspunde subiectelor din acest forum
Nu puteţi modifica mesajele dumneavoastră în acest forum
Nu puteţi şterge mesajele dumneavoastră în acest forum
Nu puteţi publica fişiere ataşate în acest forum

Mergi la:  
?epelu?












.
Furnizat de phpBB® Forum Software © phpBB Group
Translation/Traducere: phpBB România
[ Time : 0.074s | 15 Queries | GZIP : On ]