Postitused: 43
Teemad: 4
Liitus: Mar 2010
Siinust saab Sin(); funktsiooniga. Pmst kuskile mälu alasse genereerid lookup tabeli ja siis lased DMA-l seda timeri triggeri peale DAC väljundisse logistada.
, madalatel sagedustel mõttekas hoopis interruptis kohe välja arvutada.
(02-05-2010, 03:20 PM)tonuonu Kirjutas: Roheline nagu ma olen, uurin siinuse tegemise võimalusi. Esiteks jäi näppu selline dokk
http://www.ece.ucsb.edu/courses/ECE137/1...lators.pdf
Teiseks vaatasin oma jupivarusid ning avastasin, et suvalisi 8 jalaga DIP korpuses op võime on mul kõrvale pandud. Näiteks LM833 ja 574UD2.
http://www.national.com/ds/LM/LM833.pdf on datasheet, kus on Wein Bridge Oscillator näidete all samasugune, nagu esimesed dokis.
Antud ülesandes vist siinuse ideaalse täpsuse taga ajamine pole oluline, seega lihtsaim skeem peaks sobiv olema.
Postitused: 288
Teemad: 40
Liitus: Dec 2009
Siinustabeli puhul ei maksa unustada et vaja on ainult 0-90 kraadi, ülejäänud saab märgi muutmisega paika.
Kui kasutad floati, siis on polünoomid mõistlikumad, eriti eksponentfunktsioonide korral. Mingi kõhutunne ütleb vahel et võiks ju interpoleerida tabelit, aga see tulemus on "sakiline" ja vahel on polünoomide "sujuv" käitumine parem, olgugi et absoluutne täpsus võib veidi halvem tulla.
Ja tihtipeale tasub kohe FPUga DSP haarata, sest mitte mingi nipiga ei saa puhtalt integeridega kõiki arvutusi tehtud, float on põhimõtteliselt erinev andmetüüp (teatud mõttes on float logaritmiline, integer on lineaarne)
Ja veel lõpetuseks: kui kogu matemaatika paberile kirjutada, siis vana hea taandamine ja lihtsustamine võib teatud juhtudel tülikad tehted puu taha saata. Täpsuse analüüs tuletiste abil on kah vajalik - kui sul lõpptulemus on 128 pikslisel ekraanil, siis pole tarvis 32bitist täpsust.
Postitused: 52
Teemad: 13
Liitus: Apr 2010
03-05-2010, 11:12 AM
(Seda postitust muudeti viimati: 03-05-2010, 12:38 PM ja muutjaks oli tonuonu.)
Murphy vist juba nägi aga mul on R32C111 prosega (FPU!) plaat tegemisel. Ja sellisega siinust teha oskan küll. Aga mina nokerdan teemat õppimise pärast ning analoogtehnika on minu jaoks väga võõras. Eile panin LM833 peal skeemi kokku ning uurisin seda. Üks eelis MCU ees on siinuse pinge pluss-miinus 12V. MCU puhul tuleks sellise asja jaoks naguinii lisakivi panna MCUs asja tegemine hakkab mõtet kaotama. Ja mina sain elu esimese siinust tegeva skeemi tööle .
Mind rohkem paneb muretsema see, et kas igasse skeemi tohib üldse sellist pinget sisse lasta. Datasheetides on silma jäänud, et max rating on tihti miinuse suunas 0,5V. Kuidas Fluke seadmel on voolu ja pinge piiramine lahendatud. Kuidagi valitav? Mis vahemikus?
EDIT: Eile siinusgeneraatorit ossiga uurides tuli mõte, et äkki mitte jamada OLEDi, ADC jms asjadega vaid suskaks kogu asja ossi X ja Y sisendite vahele? Oss on elektroonikul olemas ning kogu skeem olekski üks LM833.
Postitused: 288
Teemad: 40
Liitus: Dec 2009
Sisendi kaitseks on vaja dioode - üks vastu maad ja teine vastu toidet. Toide omakorda on kaitstud varistori ja suure kondekaga.
Sisendisse otse varistori või zenerit ei tohi panna - muudab karakteristiku mittelineaarseks ja täpsus kaob ära.
Korralik sisendahela skeem on tegelikult omaette teadus, kõige lihtsam on patuga pooleks natuke reverse-engineerida mõnda "well known" mõõteriista
Postitused: 52
Teemad: 13
Liitus: Apr 2010
KaruTEC, sa ajasid mind nüüd segadusse. Et räägi, mis ikkagi vaja on. +-12V? mitu mA? Saad miski skeemi visandada nende dioodide ja asjade suhtes? Anna mõni link lugemiseks?
Postitused: 43
Teemad: 4
Liitus: Mar 2010
Nojh ma lihtsalt rääkisin täpsusest sest funktsioonina võiks veel mahtuvust ja induktiivust ka näidata + signaalikujusid. Ehk nagu
http://www.advancedevices.com/products_tw.htm
aga suti soodsamalt kui 4k tükk.
Dioodi mõõtmiseks piisab +-2V.
Mu veendumus et kõik analoog signaalid tuleb kähku digiks teha enne kui nendest jura saab. Hiljem siis vajadusel analoogiks tagasi kui kõik operatsioonid tetud. Digi signaal ei korja müra, lisaks kasvõi filtri väärtust saab ilma kolvita muuta.
Postitused: 578
Teemad: 140
Liitus: Dec 2009
04-05-2010, 08:03 AM
(Seda postitust muudeti viimati: 04-05-2010, 08:04 AM ja muutjaks oli felch.)
Karuonu kirjeldatud kaitselülitus on väga paljudes kivides juba sees olemas: prosed, loogikakivid jne. Ehk siis dioodid on olemas, võiks veel kasutada voolu piiravat takistit sisendi ees.
Muide, sellise nipiga pandi PIC võrgusiinust lugema: 4,7M takisti kaudu otse võrku. Toite võtab ka sealt aga natuke keerukama lülituse kaudu.
http://www.microchip.com/stellent/idcplg...e=en012050
Postitused: 288
Teemad: 40
Liitus: Dec 2009
(04-05-2010, 08:03 AM)felch Kirjutas: Karuonu kirjeldatud kaitselülitus on väga paljudes kivides juba sees olemas: prosed, loogikakivid jne. Ehk siis dioodid on olemas, võiks veel kasutada voolu piiravat takistit sisendi ees.
Muide, sellise nipiga pandi PIC võrgusiinust lugema: 4,7M takisti kaudu otse võrku. Toite võtab ka sealt aga natuke keerukama lülituse kaudu.
http://www.microchip.com/stellent/idcplg...e=en012050
Kahjuks sa eksisid ja sulle peab määrama mingi karistuse, nt. surmanuhtlus.
Nimelt, kivide "sisendikaitsedioodid" on reeglina suht viletsad ja pool-parasiitdioodid, mis ei kannata voolu ega energiapiike. Vähegi tõsisema sisendi korral ei maksa nendega arvestada. Teatav analoog on MOSFETi sisemise dioodiga, mis on kah nagu diood aga tegelikult ei ole (v.a. MOSFETid, millele on spetsiaalselt korralik diood sisse ehitatud).
Voolu piirav takisti on .. nii ja naa. Suure takisti korral tekib RC filter ja ülemised sagedused on piiratud. Seega on vaja teha kompromiss sageduse, pinge ja kaitselülituse osas.
Ühesõnaga - tuleb paika panna sagedus, pingeamplituud, lubatud moonutused. Samuti sisendtakistus - mida väiksem, seda parem (on piiratud allika lubatud koormusega). Ja siis peab optimiseerima: sisendtakisti(voolupiiraja), ballasttakisti(koormustakisti), kaitsedioodid (toimivad kahjuks ka sisendmahtuvusena). Ei ole keeruline, kuid ei ole lihtne ka.
Tõnu-onu, ma soovitan skeemi üles joonistada ja läbi mõelda, see annab palju juurde ja kuna skeem on lihtne siis on lihtne ka analüüsida.
Postitused: 52
Teemad: 13
Liitus: Apr 2010
04-05-2010, 02:19 PM
(Seda postitust muudeti viimati: 06-05-2010, 11:45 AM ja muutjaks oli tonuonu.)
Minu skeemi hetkeseis on selline:
http://no.spam.ee/~tonu/riist.sch (Eagle 5.9.0) või http://no.spam.ee/~tonu/riist.pdf (Adobe Reader)
Võrreldes reaalse skeemiga ainukesed erinevused:
- Dioode mul pole. Püüan aru saada, et kuhu nad panna ja mille eest kaitsma?
- Hetkel on aukmontaaži jupid reaalselt maketiplaadis (poogen)
- DC-DC konverter on funktsionaalselt sama aga mõõdud on teised. Lihtsalt vedeleb neid mingi hulk.
Skeemis on 18k takistid ja 47n kondekad. 36k takisti peab olema 2xR väärtus. Need määravad siinuse sageduse valemiga
fOSC = 1/(2*pi*R*C)
fOSC = 1/(2*3,14*18e3*47e-9)
fOSC = 188Hz
Mõtted:
- Potekast annab siinuse kõrgust keerata. See jättagi sinna?
- Sageduse muutmine ilma vähemalt kahte kondekat või kolme takistit koos vahetamata pole võimalik?
- Probe1 on siis põhiline ots, mis torgatakse uuritavasse skeemi. Sõltuvalt otsa valikust saad siinust kas läbi nulli või alates nullist. Pinget keerad potekast.
- Probe2 otsa pealt pinget mõõtes saabki teada, palju voolu jookseb. Sinna ossi Y ots külge
- Probe3 oleks ossile X telje sisend. Pole iial seda kasutanud, ei tea mis ja kuidas.
EDIT: Väga hea dokk mikrokontrolleriga siinuse tegemise kohta http://focus.ti.com/lit/an/slaa116/slaa116.pdf
Postitused: 52
Teemad: 13
Liitus: Apr 2010
Asi nagu ei edene. Mul pole ka olnud aega edasi teha. Aga leidsin sellise projekti netist:
http://www.dos4ever.com/uscope/uscope_e.html
Huvitav mänguasi
Tegelikult on mul plaan http://www.rickard.gunee.com/projects/vi...tetris.php veel kord kokku panna ja võimalikult miniatuurselt. Teha miski projekt just selleks, et uurida miski X ülesande võimalikult miniaturiseerimise teemat. Ma olen ülikoolis IT tudengitele antud projekti vahel näidiseks toonud, kui väheste ressurssidega tegelikult saab asjad aetud.
|