Vítejte na Elektro Bastlírn?
Nuke - Elektro Bastlirna
  Vytvořit účet Hlavní · Fórum · DDump · Profil · Zprávy · Hledat na fóru · Příspěvky na provoz EB

Vlákno na téma KORONAVIRUS - nutná registrace


Nuke - Elektro Bastlirna: Diskuzní fórum

 FAQFAQ   HledatHledat   Uživatelské skupinyUživatelské skupiny   ProfilProfil   Soukromé zprávySoukromé zprávy   PřihlášeníPřihlášení 

ovládanie jasu žiarovky PICčkom
Jdi na stránku 1, 2  Další
 
Přidat nové téma   Zaslat odpověď       Obsah fóra Diskuzní fórum Elektro Bastlírny -> Programování PIC, ATMEL, EEPROM a dalších obvodů
Zobrazit předchozí téma :: Zobrazit následující téma  
Autor Zpráva
Amatér1
Neregistrovaný





PříspěvekZaslal: po prosinec 03 2007, 11:15    Předmět: ovládanie jasu žiarovky PICčkom Citovat

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úť.
Návrat nahoru
kony2807



Založen: Jul 29, 2007
Příspěvky: 305
Bydliště: Ostrava

PříspěvekZaslal: po prosinec 03 2007, 14:52    Předmět: Citovat

zkus PWM - pulsně šířková modulace regulace 0-99% ... (některé pic to mají vestavěné přímo jako modul , u jiných se to dá řeššit softwerem)

edit : Ale pozor ! funguje pouze pro stejnosměrné napětí , pro střídavé by se to značně zkopliovalo ...
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail
Cust



Založen: Jan 17, 2007
Příspěvky: 6331
Bydliště: Husinec-Řež

PříspěvekZaslal: po prosinec 03 2007, 15:02    Předmět: Citovat

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....
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail
ViPali



Založen: Nov 21, 2005
Příspěvky: 524
Bydliště: Bratislava

PříspěvekZaslal: út prosinec 04 2007, 7:42    Předmět: Citovat

Budeš ovládať žiarovku na striedavé napätie, alebo jednosmerné?
_________________
Ako elektrikár sa cítim slobodne.
Môžem hovoriť do vedenia!
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Filda



Založen: Apr 20, 2006
Příspěvky: 704

PříspěvekZaslal: út prosinec 04 2007, 13:39    Předmět: Citovat

kony2807 napsal(a):
zkus PWM - pulsně šířková modulace regulace 0-99% ... (některé pic to mají vestavěné přímo jako modul , u jiných se to dá řeššit softwerem)

edit : Ale pozor ! funguje pouze pro stejnosměrné napětí , pro střídavé by se to značně zkopliovalo ...


Já teda nevím ale PWM bych tam asi nedával . ..... Je to dobré pro motory, ale žárovka bude při zeslabení blikat.


Naposledy upravil Filda dne út prosinec 04 2007, 13:44, celkově upraveno 1 krát.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail
Cust



Založen: Jan 17, 2007
Příspěvky: 6331
Bydliště: Husinec-Řež

PříspěvekZaslal: út prosinec 04 2007, 13:42    Předmět: Citovat

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.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail
jankop



Založen: Apr 04, 2007
Příspěvky: 679

PříspěvekZaslal: út prosinec 04 2007, 16:59    Předmět: Citovat

HW PWM v PIC nejde pro tento účel bez externí logiky použít. Ale softwarově to v tomto specielním případě není problém.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail Zobrazit autorovy WWW stránky
kony2807



Založen: Jul 29, 2007
Příspěvky: 305
Bydliště: Ostrava

PříspěvekZaslal: út prosinec 04 2007, 18:05    Předmět: Citovat

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áí.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail
Filda



Založen: Apr 20, 2006
Příspěvky: 704

PříspěvekZaslal: út prosinec 04 2007, 18:38    Předmět: Citovat

až teď mě to došlo Laughing ........ takže teď už proti tomu nic nemám Wink Agree
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail
amater1
Neregistrovaný





PříspěvekZaslal: út prosinec 04 2007, 19:05    Předmět: Citovat

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ť.
Návrat nahoru
jankop



Založen: Apr 04, 2007
Příspěvky: 679

PříspěvekZaslal: út prosinec 04 2007, 20:05    Předmět: Citovat

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
;--------------------------------------------------
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail Zobrazit autorovy WWW stránky
amater1



Založen: Dec 04, 2007
Příspěvky: 9

PříspěvekZaslal: st prosinec 05 2007, 7:42    Předmět: Citovat

Ďakujem, veď je to celkom jednoduché , len ta to prísť Děkuji za pozornost
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
kony2807



Založen: Jul 29, 2007
Příspěvky: 305
Bydliště: Ostrava

PříspěvekZaslal: st prosinec 05 2007, 15:47    Předmět: Citovat

už sem kód psílal ale dám ho sem , myslím že je trochu přehlednější.
kód:

;PWM regulace pro procesor PIC12F629 (event. PIC12F675)
;Verze : 1.0
; Fosc : 4MHz

;-------- DEFINICE --------


   list   P=12f629
   include   "p12f629.inc"


   org   000
   goto   Init

RAM   equ   20h
TMP0   equ   RAM+1
PWM   equ   RAM+4
PWM_L   equ   RAM+5
TMP_PWM   equ   RAM+6

#define   Out   05,1   ;toto je výstup z PWM

   
Init   bsf   STATUS,RP0
   movlw   b'000000'
   movwf   GPIO
   bcf   STATUS,RP0
   clrf   05
   goto   MAIN

;-------- 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.


   


Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail
jankop



Založen: Apr 04, 2007
Příspěvky: 679

PříspěvekZaslal: st prosinec 05 2007, 18:12    Předmět: Citovat

Musím tě pochválit, jsi šikovný. Na druhé straně je v programu několik závažných chyb a v konečném důsledku bude tvůj program nefunkční.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail Zobrazit autorovy WWW stránky
Ano
Neregistrovaný





PříspěvekZaslal: po prosinec 17 2007, 11:58    Předmět: jinak Citovat

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%

goto loop

;*******************************************************************
;**************** pwm 0-100 ****************************
;*******************************************************************

pwm_up incf pocet,f
btfss STATUS,Z ; skip if zero
goto dal2

decf klav,f
btfss STATUS,Z ; us mam testovat klavesy
goto dal3 ; ne

incf pwm1,f ; pwm zvis o jednu
btfsc STATUS,Z ; us je 0
return ; ano pric
bsf cas ; nahod nejake cekani X*255

dal3 bsf led ; nahod port led
incf pocet,f

dal2 movf pwm1,w
subwf pocet,w
btfsc STATUS,Z ; skip if neni zero
bcf led ; pokud je stejne resetuj

goto pwm_up


;*******************************************************************
;***************** pwm 100-0 ****************************
;*******************************************************************

pwm_dn incf pocet,f
btfss STATUS,Z ; skip if zero
goto dal

decf klav,f
btfss STATUS,Z ; us mam testovat klavesy
goto dal1 ; ne

decf pwm1,f ; pwm sniz o jednu
btfsc STATUS,Z ; us je 0
return ; ano pric
bsf cas ; nahod nejake cekani X*255

dal1 bsf led ; nahod port led
incf pocet,f

dal movf pwm1,w
subwf pocet,w
btfsc STATUS,Z ; skip if neni zero
bcf led ; pokud je stejne resetuj

goto pwm_dn
Návrat nahoru
Zobrazit příspěvky z předchozích:   
Přidat nové téma   Zaslat odpověď       Obsah fóra Diskuzní fórum Elektro Bastlírny -> Programování PIC, ATMEL, EEPROM a dalších obvodů Časy uváděny v GMT + 1 hodina
Jdi na stránku 1, 2  Další
Strana 1 z 2

 
Přejdi na:  
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

Powered by phpBB © 2001, 2005 phpBB Group
Forums ©
Nuke - Elektro Bastlirna

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.


PHP-Nuke Copyright © 2005 by Francisco Burzi. This is free software, and you may redistribute it under the GPL. PHP-Nuke comes with absolutely no warranty, for details, see the license.
Čas potřebný ke zpracování stránky 0.16 sekund