40HZ impuls generator na baterije

Aug 12, 2008 14 Replies

Vozdra! Ima mo¾da netko od vas kakvu JEDNOSTAVNU shemu za mini generator impulsa.



Ovakva je ideja: Napajanje 9V ili 12 bi preko 555 islo na izlazni dio koji se sastoji od dvije elektrode. Timer bi okidao 40HZ-a i to bi se prenosilo na elektrode.



Trebam toèno 40 HZ-a i napajanje mora biti baterija.


Pa sam si odgovorio...zemes datasheet od 555...gledas shemu za astabil, izracunas koje komponente trebas i po njoj slozis... :-) Neces dobit 100% 40Hz....al mozes stavit pot i ustelat .... :-)

nemam shemu.. al uglvnm baterija od 9V ti je i vise nego dovoljno za timer

555 s kojim to mozes napraviti...

ako se nevaram trebat ces jos jedna 2-3 otpornika i jedan C..te potenciomatera (tj. trimer) da ustimas to... (ili unaprijed izracunaj pa stavi fiksni otpornik)..

ostalog se uglvnm ne sjecam.. :)

Hrvoje Kusulja TSRB, CCNA, TVZ hkusuljaNOSPAM@kusulja.com http://forum.domeka.net/

like i sad :)

Hrvoje Kusulja TSRB, CCNA, TVZ hkusuljaNOSPAM@kusulja.com http://forum.domeka.net/

I said before you... :-PP

Ako je naglasak na jednostavnosti sheme zasto ne neki PIC (npr. 12C508) koji ima interni oscilator (ako zadovoljava tocnost), iskljucis MCLR, napajanje preko 7805 i to je to, na ulazu PIC-a imas samo Vdd&Vss a koristis jedan izlaz. Sve skupa 4 elementa (racunam i kondenzatore oko

7805) do izlaznog stupnja.
Chupo

Da, ako se ukljuci interni oscilator clock je 4 MHz a to znaci da se jedna instrukcija izvrsava jednu micro sekundu (us). Evo na brzinu napravljenog programa za 12C508 (8 pinski PIC), nije 100% tocan jer sam koristio dio programa koji izmedju START i KRAJ generira pauzu od (1000*v+3) us a kojeg sam pisao za 16F628.

S 12C u stvarnosti bas i nisam nesta radio jer mi nije trebao, sad sam gledao datasheet i izgleda da ovako ide s kalibriranjem i tris instrukcijom.

Ovaj bi program npr. mijenjao stanje na sedmom pinu 12C508 s frekvencijom 40 Hz. Tocnije, ako bi oscilator bio 100% tocan (a nije), interval izmedju promjena stanja na pinu br. 7 bi bio 25007 T stanja/us (umjesto idealnih 25000). To znaci da bi svaku sekundu generator fulao

40*7=280 milijuntinki a to je vjerojatno zanemarivih 0.028% (iako je to 1.008 sekundi na sat (sekunda i 8 hiljaditinki), interni oscilator vjerojatno vise fula jer ovisi i o naponu napajanja i o temperaturi).

Ako treba tocnije, lako se stavi vanjski kristalni oscilator a tek onda ima smisla i napisati kvalitetniji program (a vjerojatno niti ne treba mijenjati stanje na izlazu nego treba generirati pravokutni impuls nekog trajanja pa ce program vec i zbog toga izgledati drukcije).

Ovo sam sad isprobao u MPLAB IDE-u i trebalo bi raditi:

list p=12c508a, r=hex

__config 0x0fea ;interni oscilator ;MCLR --> interni ;WDT = off ;code protection = off f equ 0x01 w equ 0x00 status equ 0x03 osccal equ 0x05 gpio equ 0x06

nutarnja equ 0x07 ;za petlju pauze vanjska equ 0x08 ;za petlju pauze org 0x00 movwf osccal ;kalibriraj interni oscilator clrw movwf gpio ;latch-evi na nulu movlw b'00111110' ;pin 7 je izlaz tris gpio opet movlw 0x19 ;v = 25 (START) movwf vanjska movlw 0xc7 ;u movwf nutarnja loop decfsz nutarnja,f goto $+6 movlw 0xc7 movwf nutarnja goto $+1 ;+2T stanja nop ;+1T decfsz vanjska,f goto loop movlw b'00000001' ;KRAJ xorwf gpio,f ;promijeni stanje na izlazu goto opet ;ponavljaj end

Chupo

Jednostavnije uzeti avr neki, postaviti timer tocno kak treba i jedan interaput. Cca 10 reda koda u c-u.

Moze se i 2051 uzeti. Ili 4051 ili... I napisati par linija u Bascom-u.

I ovdje na 12C se moze ukljuciti interrupt i podesiti sve tocno na takt, programa je trenutno 20 linija u assembleru ostalo su direktive, s interruptom bi bilo i manje linija. Nije problem ni C, Pascal pa ni (micro)Basic. A cak je i taj 9-kunski PIC overkill za ovu namjenu, trebalo bi staviti neki 6 pinski PIC iz serije 10F. Ili neki s 3 pina kad bi postojao :-))

Chupo

*******************

Nego, chupo daj ti meni reci da li ti je ovo pravi mail. Ako ja ja cu ti se javiti tijekom sljedecih dana. Trebam nekog za jedan manji programski projekt ( najvjerojatnije PIC

16FXXX ). Ja sam napravio program ali mi treba jos jedan zasebni a malo sam u strci. Treba biti napisan u C-u ( CCS compiler ).

Je, pravi je mail. Zasto bi bas *trebao* biti napisan u C-u? Inace preferiram assembler ali moze u bilo cemu pa i u C-u :-)) Javi se, iako sam trenutno u frci zbog nekoliko stvari koje radim paralelno (od fizickih preko hardware-skih do software-skih :-) ), uvijek se nadje vremena.

Chupo

************************* Zato jer sam pa prvi dio programa napisao u tome compileru pa mi se sad ne da opet sve mijenjati, a prvi dio ba¹ i nije mali... Ma ne brini, taj compiler je optimiziran i lak za nauèiti/ponoviti. Cujemo se sutra!

Nije valjda veci od 8 KB? :-)) Zezam se.

Nema straha :-)

OK

Chupo

******************** Poslao sam ti mail pa baci oko :-) Thnx !

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required