Sari la conținut
ELFORUM - Forumul electronistilor

Lanterna frontala cu LED


NAUI

Postări Recomandate

;*******************************************************************;     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 extinctionBANK0		macro			bcf		STATUS,RP0			endmBANK1		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		FLASHmain0		movlw	DELAI_BASE			movwf	CTRLOOP;Mesure indirecte de Vdd dans VDDMES par la ref			movlw	b'10000100'			BANK1			movwf	VRCON			BANK0loopmes		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 courssuite_run	btfsc	FLASH		; va au mode flash			goto	eclats;passe a la suite si 100% eteintloop0		movf	LEVEL,0			btfsc	STATUS,Z			goto	pasled			;sinon allume led et mesure			bcf		LED			; courant sur la led			;Fait les deux demi-periodespasled		btfsc	LEVEL,1			goto	plein100	; si level<>2			movlw	06			movwf	PWM			; met un faible niveau minimum			plein100	clrf	TPO1loop1		incf	TPO1,1			movf	TPO1,0			xorwf	PWM,0			btfss	STATUS,Z			goto	loop1			bsf		LED			; eteint la ledloop2		incf	TPO1,1			btfss	TPO1,7			goto	loop2		;Teste si l'etat de la touche a changetstkey		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	CTRLOOPno_razt		incf	NBTOP,1		; compte un top de plus;Decremente le compteur de bouclenochange	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 topsnododown	movf	NBTOP,0			btfsc	STATUS,Z			goto	main0			decf	NBTOP,1			btfss	STATUS,Z			goto	no_down			;********************************************************;1 top -> on baisse le jus, plus flashbaisse		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 marcheno_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	fintopsno_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	CTRFLASHfintops		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 VddSETVDDMES	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;*****************************************************
Link spre comentariu
  • Răspunsuri 54
  • Creat
  • Ultimul Răspuns

Top autori în acest subiect

  • nicul

    13

  • yo6ial

    11

  • Dr.L

    4

  • ranga

    4

Top autori în acest subiect

Vizitator georged

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.

Link spre comentariu
  • 1 an mai târziu...

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.

Link spre comentariu

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 [email protected] am un input de [email protected], 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!

Link spre comentariu

In general ,torurile recuperate de pe motherboard-uri nu sunt bune decat daca le folosesti la frecvente foarte mari ( obtii inductante de valori in jur de 1uH ) , nu e cazul TL494.Incearca cu toruri recuperate din becurile economice si o sa obtii rezultate mult mai bune dpdv al randamentului .

Link spre comentariu

chiar nu inteleg!!!!!!!!!!!!!!!!!!! :prayer: :prayer: dece atata complicare :smt017 ???? Costul total al unui pwm cu 555 cu eficienta de peste 90% este de 1 ron!!!!!!!!!!! Incape intr-un spatiu mic si ocupa o suprafata mica. Am facut eu unul si am masurat curentul mediu pentru 2.51 Amperi consumati de montaj, prin 1500 LED-uri trecea un curent de 2.49 A.Mai eficient de atat si cu mai putini bani nu se poate. Nu pot sa cred ca s-a vehiculat pe acest thread solutii cu pic si alte nebunii!!Pentru alimentarea dintr-o baterie de 9 v aceasta solutie mi se pare ideala: serii de 2 LED-uri in paralel si un pwm cu un mos la iesire cu RDSon cat mai mic. Daca are peste 100W nu-i creste temperatura cu nici macar 0.5 grade celsius pentru 100 LED (50 serii) garantat. Lumina data poate fi comparabila cu a unui bec de frigider, dar depinde de LED-urile folosite. La aceasta lumina se poate citi la o distanta de peste 2 metri. Led-urile astea incap intr-un cerc cu raza de 4 cm si consuma din baterie sub 0.1 A!!73-uri (nu stiu ce-nseamna dar vad ca se vehiculeaza printre amatorii de unde electromagnetice)!!!

Link spre comentariu

hai ca iti explic eu pana intelegi.asta e un topic care se refera la portabilitate. este diferit de faruri auto moto si diferit de iluminarea incaperilor.ipoteza de lucru ar fi 3 acumulatori NiMH de 2500mAh, deci 3,6V si o eficienta cat mai ridicatasolutiile prezentate au fost:- solutia chinezeasca: leduri la paralel direct pe baterie- solutia cu pic care este extrem de eftin dar trebuie programat-solutia cu integrate specializate care costa destul de multIdeea ar fi un pwm variabil care sa se adapteze gradului de descarcare al acumulatoruluice zici ai vreo solutie constructiva?

Link spre comentariu

dc nu se folosesc 4 acumulatori in loc de 3? si se rezolva problema cu subvoltarearecomand totusi si o bobina(cu dioda aferenta),ca la tensiunea peste 3,5v,consumul ledului creste f mult(nu liniar cu tesniunea de alimentare!)73! inseamna salutari(sau ceva f asemanator)

Link spre comentariu

Creează un cont sau autentifică-te pentru a adăuga comentariu

Trebuie să fi un membru pentru a putea lăsa un comentariu.

Creează un cont

Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!

Înregistrează un nou cont

Autentificare

Ai deja un cont? Autentifică-te aici.

Autentifică-te acum



×
×
  • Creează nouă...

Informații Importante

Am plasat cookie-uri pe dispozitivul tău pentru a îmbunătății navigarea pe acest site. Poți modifica setările cookie, altfel considerăm că ești de acord să continui.Termeni de Utilizare si Ghidări