PLS potreboval by som poradiť, ako spraviť ovládanie jasu žiarovky počas napr. 3 sek sa jas zmeni z 0 na 100 %.
Ideálne by bolo aby sa čas rozsvecovania dal meniť - tj. regulácia vždy 0 - 100%, ale aby som mohol nastaviť (napr. zápisom do registru) čas rozsvietenia.
Jedná sa o zariadenie, ktoré bude ovládať viac svetiel a potrebujem ich plynulo zapnúť, vypnúť.
Založen: Jan 17, 2007 Příspěvky: 6331 Bydliště: Husinec-Řež
Zaslal: po prosinec 03 2007, 15:02 Předmět:
misto logicke 1 na rozsviceni zarovky stridej zapis 1 a 0
0 nesviti
1 sviti
0,1,0,1 ... sviti napul (kdyz budes mit vic jednicek bude svitit vic a kdyz vic 0 bude svitit min), frekvenci zvol nejakou vhodnou, aby to spinaci tranzistor ci co tam mas v klidu zvladal a zbytecne nehral....
Založen: Jan 17, 2007 Příspěvky: 6331 Bydliště: Husinec-Řež
Zaslal: út prosinec 04 2007, 13:42 Předmět:
u PWM, zalezi na frekvenci, pokud bude dostatecne velika, tak blikat nemuze - navic ma vlakno zarovky dost velkou setrvacnost. Pokud pic umi pwm sam o sobe, bude to nejlepsi zpusob.
tak to blikání je blbost , pokud jede PWM na frekvenci 25Hz ( no film v kině taky pří 24snímcích/sekunda taky nebliká - lidské oko je nedokonalé) a větší tak to blikat nebude . Doporučuju však něco kolem 8KHz , nebudou vás tolik bolet oči. Pokud by měl Anatér1 zájem , ať mi napíše do soukromých zpráv svůj e-mail rád mu program pošlu . Teno troblém sem již řešil u vlastních konstrukcáí.
Jedná sa o to, že potrebujem rozsvecovať viac žiaroviek na aute - parkovačky, spiatočky, hlavné svetlá. PWM je len na jeden výstup,ale aj tak som to skúšal rozchodiť v simulátore, ale ani za svet nejde. Tak ma napadlo skúsiť to nejakými čítačmi, lenže na to som trochu krátky - potreboval by som len princíp, ako by to mohlo fungovať - ostatné by som mal zvládnuť.
Když ti jde jen o princip, tak tady je segment programu, který pěkně pomalu rozsvěcuje/zhasíná světla. Tato rychlost se dá nastavit proměnnou. Jednoduchou modifikací je možné současně rozsvícet nebo zhasínat několik světel.
kód:
;---------------------------------------------------------------------
demo
call LED_UP
call LED_DW
goto demo
;----------------------------------------------------------------------
; Podprogram pro pomale rozsvecovani LED
;----------------------------------------------------------------------
LED_UP
clrf ucrLO
loopled_ON
movf ucrLO,W
movwf ucrHI
bcf PORTA, Q_OUT ; LED OFF
loop00
call delayt
incfsz ucrHI,F
goto loop00
movf ucrLO,W
movwf ucrHI
comf ucrHI,F
bsf PORTA, Q_OUT ; LED ON
loop01
call delayt
incfsz ucrHI,F
goto loop01
incfsz ucrLO,F
goto loopled_ON
return ; LED je zapnuta
;----------------------------------------------------------------------
; Podprogram pro pomale zhasinani LED
;----------------------------------------------------------------------
LED_DW
clrf ucrLO
loopled_OFF
movf ucrLO,W
movwf ucrHI
bsf PORTA, Q_OUT ; LED ON
loop02
call delayt
incfsz ucrHI,F
goto loop02
movf ucrLO,W
movwf ucrHI
comf ucrHI,F
bcf PORTA, Q_OUT ; LED OFF
loop03
call delayt
incfsz ucrHI,F
goto loop03
incfsz ucrLO,F
goto loopled_OFF
return ; LED je vypnuta
delayt
movlw 0x0a ; konstanta rychlosti
movwf vdelay
supsem
decfsz vdelay,F
goto supsem
return
;--------------------------------------------------
;-------- PODPROGRAMY --------
Reg_PWM
bcf Out
movf PWM,0
sublw d'256'
movwf PWM_L
call Per_PWM
decfsz PWM_L,1
goto $-2
bsf Out
movf PWM,0
movwf TMP_PWM
call Per_PWM
decfsz TMP_PWM,1
goto $-2
bcf Out
return
;*************
Per_PWM ;Delay 100 cycles Toto je čekací smyčka , její čas je roven 1/256 času celé periody
; příklad :pro trvání jednoho cyklu PWM 0,0256 s sem zadej smyčku o 100 strojových cyklech.
MOVLW 0x20 ;33 DEC
MOVWF TMP0
DECFSZ TMP0,F
GOTO $-1 ;End of Delay
return
;-------- HLAVNÍ PROGRAM --------
MAIN ;do registru PWM zapiš hodnotu 0-255 , 0= nulová perioda v H,nejmenší výkon 255= maximální perioda v H, nejvetší výkon
;tak tady napiš pouze hodnotu na kterou tio má regulovat ...
movlw d'127' ; tvoje hodnota
movwf PWM
call Reg_PWM
goto MAIN
END
; Program napsal a odladil(c) Martin Konečný v roce 2007 tedy 14let po jeho narození.
; je jákladem pro další rozvoj programu v regulaci PWM , upraven jako část jiného programu.
Ahoj,
Program je pěkný ,ale skus programovat bez čekacích smyček pokud Ti nezáleží na výstupní freq. např:
Na stisk tlačítka (ir) se postupně rozsvítí a další stisk postupně zhasne.
Rychlost UP/DN se řídí nahozením (cas) #define cas klav,3 (1-7)
.........................
PS : Komentáře si přepiš podle svého radši
;*******************************************************************
;******* led 0-100 to 100-0 ****************************
;*******************************************************************
loop btfsc ir ; stisknuto tlacitko IR
goto loop ; ne
clrf pwm1
incf pwm1,f ; nemi bejt nula
call pwm_up ; jas od 0 do max
bsf led ; jas je 100%
loop1 btfsc ir ; stisknuto tlacitko IR
goto loop1 ; ne
clrf pwm1
decf pwm1,f
call pwm_dn
bcf led ; jas je 0%
Časy uváděny v GMT + 1 hodina Jdi na stránku 1, 2Další
Strana 1 z 2
Nemůžete odesílat nové téma do tohoto fóra. Nemůžete odpovídat na témata v tomto fóru. Nemůžete upravovat své příspěvky v tomto fóru. Nemůžete mazat své příspěvky v tomto fóru. Nemůžete hlasovat v tomto fóru. Nemůžete připojovat soubory k příspěvkům Můžete stahovat a prohlížet přiložené soubory
Informace na portálu Elektro bastlírny jsou prezentovány za účelem vzdělání čtenářů a rozšíření zájmu o elektroniku. Autoři článků na serveru neberou žádnou zodpovědnost za škody vzniklé těmito zapojeními. Rovněž neberou žádnou odpovědnost za případnou újmu na zdraví vzniklou úrazem elektrickým proudem. Autoři a správci těchto stránek nepřejímají záruku za správnost zveřejněných materiálů. Předkládané informace a zapojení jsou zveřejněny bez ohledu na případné patenty třetích osob. Nároky na odškodnění na základě změn, chyb nebo vynechání jsou zásadně vyloučeny. Všechny registrované nebo jiné obchodní známky zde použité jsou majetkem jejich vlastníků. Uvedením nejsou zpochybněna z toho vyplývající vlastnická práva. Použití konstrukcí v rozporu se zákonem je přísně zakázáno. Vzhledem k tomu, že původ předkládaných materiálů nelze žádným způsobem dohledat, nelze je použít pro komerční účely! Tento nekomerční server nemá z uvedených zapojení či konstrukcí žádný zisk. Nezodpovídáme za pravost předkládaných materiálů třetími osobami a jejich původ. V případě, že zjistíte porušení autorského práva či jiné nesrovnalosti, kontaktujte administrátory na diskuzním fóru EB.