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í 

AD -> UART, pomoc s programem
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
_serafin_



Založen: Sep 30, 2010
Příspěvky: 37

PříspěvekZaslal: čt říjen 07 2010, 10:15    Předmět: AD -> UART, pomoc s programem Citovat

Ahoj všem,

mám následující problém. Mám analogový signál, který potřebuji za pomoci (asi) ATmega8 digitalizovat a přes UART poslat k dalšímu zpracování. Parametry signálu jsou následující. Frekvenční rozsah asi 0,3-100 Hz, amplituda jednotky V (není problém upravit na nejvhodnější hodnotu pro MCU), signál nabývá i záporných hodnot (umí A/D převodní pracovat i se zápornou hodnotou nebo budu muset signál ještě před převodem upravit?).

Problém je, že s programováním procesorů nemám vůbec žádné zkušenosti. Byl by někdo tak moc hodný a podělil se se mnou o tento program? Předem moc děkuji. *s*
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Atlan



Založen: May 10, 2004
Příspěvky: 4513
Bydliště: Košice

PříspěvekZaslal: čt říjen 07 2010, 15:25    Předmět: Citovat

srandista napises si to sam Smile Ano signal musi posunut napr OZ aby nadobudal hodnotu 0 az napr. 5V Ak zabezpecis aby sa na svstup nedostala vecsia frekvencia tak nemusis pouzit DP filter pripadne len nejaky jednoduchy rc clen by to mohol zvladnut. Z teorie vypliva ze v zorokovacia frekvencia by mala byt 2nasobkom maximalnej tj aspon 200Hz s cim ATmega8 nebude mat problem... Este si musis zvolit rychlost odosielania dat..ak ti uz nebola urcena...
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
_serafin_



Založen: Sep 30, 2010
Příspěvky: 37

PříspěvekZaslal: čt říjen 07 2010, 19:28    Předmět: Citovat

Moc rád bych si to napsal sám. Už několik dní pročítám články, knížky apod. a vůbec z toho nejsem moudrý. Nebylo by aspoň drobné postrčení (nějaký článek kde by to bylo pěkně vysvětlené, ideálně jak pro obrazek_cenzura:-D)?

Takže signál posunu kousek výš, aby byl kladný, to nebude problém. Vyšší frekvence by se tam opravdu dostat neměla, filtr už tam mám. Vzorkovací teorém znám Wink. Díky za odpověď, jsem aspoň o malý krůček blíže k cíli Smile.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Atlan



Založen: May 10, 2004
Příspěvky: 4513
Bydliště: Košice

PříspěvekZaslal: pá říjen 08 2010, 6:07    Předmět: Citovat

com to chces programovat ? Ked sa dostanem domov tak ti tu. Mozem dat nejake linky....
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
divous



Založen: Oct 08, 2010
Příspěvky: 162
Bydliště: ValMez

PříspěvekZaslal: pá říjen 08 2010, 6:19    Předmět: Citovat

Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Yarda1



Založen: Feb 11, 2009
Příspěvky: 2597

PříspěvekZaslal: pá říjen 08 2010, 12:36    Předmět: Citovat

Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
elnovy



Založen: Jul 04, 2010
Příspěvky: 818

PříspěvekZaslal: pá říjen 08 2010, 13:29    Předmět: Citovat

http://shop.ben.cz/cz/121072-ucebnice-programovani-atmel-s-jadrem-8051.aspx

a podobné je toho na internetu plno .

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



Založen: Sep 13, 2005
Příspěvky: 867
Bydliště: Praha

PříspěvekZaslal: so říjen 09 2010, 0:31    Předmět: Citovat

Zaporny signal neni mozne na vstup takoveho ADC privest. Doporucuji signal posunout, a to tak, aby mel 0 na Vref/2.
Frekvencni rozsah 100 Hz vyplyva z ceho? Kdesi jsi psal, ze chces signal zobrazovat. Pokud ale 100Hz pouzijes vzorkovani 200Hz, budes sice na hranici Nyquistovy podminky, ale zadne detaily na signalu neuvidis, protoze prave ty detaily znamenaji vyssi frekvence. Takze pri 20Hz signalu a 200Hz vzorkovani ziskas jen 10 vzroku na periodu tj. 5 vzorku na pulvlnu...

Pro korektni cinnost je treba do signalu vradit DP pred vzorkovanim. Vzorkovaci frekvenci je treba zvolit takovou, aby tam ta DP mela pozadovany utlum.... Takze treba pri DP 1.radu na fo 200 Hz, je pro utlum aliasingovych signalu >20dB treba Fvz alespon 2kHz.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
_serafin_



Založen: Sep 30, 2010
Příspěvky: 37

PříspěvekZaslal: so říjen 09 2010, 14:43    Předmět: Citovat

Díky všem za odkazy na materiály, snažím se poctivě studovat. Zatím jsem se dopracoval k tomu, že jsem (snad) pochopil význam registrů ADMUX a ADLAR pro nastavení převodníku.

Mám to zatím takhle:
ADMUX
REFS1=0 REFS0=1 -> AVCC (kondenzátor na AREF) - pochopil jsem to správně, že jako reference se použije napájecí napětí?
ADLAR=0 (zarovnání napravo)
MUX3-0 = 0000 - požije se kanál 0
takže ADMUX=0x40

ADCSRA
ADEN=1 zapne převodník
ADSC=1 zapne převod
ADFR=1 free funning mode
ADPS2-0=011 dělící poměr 8, což při použití vnitřních hodin 1MHz odpovídá vzorkovací frekvenci 125 kHz (pro maximální přesnost je potřeba 50-200kHz)
takže ADSCRA=0xE3

Zatím to není moc, ale po malých krůčcích snad docupitám do cíle Very Happy.

WLAB: Díky za upřesnění. Posunout signál by neměl být problém. 100Hz vyplívá z toho, že vyšší frekvence není třeba, jedná se o EKG signál a tam těch 100Hz úplně stačí. Vzorkovací frekvence bude 125 kHz, takže by snad neměl být problém. A zobrazovat to chci v programu StampPlot Pro.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Andrea



Založen: Sep 07, 2007
Příspěvky: 9340

PříspěvekZaslal: so říjen 09 2010, 17:27    Předmět: Citovat

Vzorkovací frekvence bude těžko 125kHz, to si pleteš s taktováním převodníku. Vzorkovací frekvence bude kolem 10kHz.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
_serafin_



Založen: Sep 30, 2010
Příspěvky: 37

PříspěvekZaslal: so říjen 09 2010, 20:57    Předmět: Citovat

Andrea: Děkuju za upozornění. Mě se to zdálo nějak moc. Holt v tom ještě trošku plavu Very Happy.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
WLAB



Založen: Sep 13, 2005
Příspěvky: 867
Bydliště: Praha

PříspěvekZaslal: po říjen 11 2010, 12:51    Předmět: Citovat

Jako referenci lze pouzit i AVCC, ale jak nastavit jednotlive bity konfiguracnich registru ti ted nereknu.

Akorat pozor, abys ta data zvladl protlacit pres UART ven, tech 10kHz je hodne na hrane, pokud budes posilat jen 8 bitu na vzorek, pokud budes posilat 2x8 bitu na vzorek, tak uz to pres rychlost 115200 neutlacis...

A nezapomen dat vhodny Xtal, protoze 115200 baud uz treba ze 16 MHz krystalu neudelas s prijatelnou chybou.

Mozna bych se spis vykaslal na free running ADC a misto toho startoval prevod v pravidelnych intervalech generovanych prerusenim od casovace. Vzorkovaci frekvence tak pujde volneji nastavit - ovsem zas tam bude vnesen jitter umerny delce sekvenci programu, kde je zakazane preruseni (obsluhy intek atd...)
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Andrea



Založen: Sep 07, 2007
Příspěvky: 9340

PříspěvekZaslal: po říjen 11 2010, 12:56    Předmět: Citovat

WLAB napsal(a):
ovsem zas tam bude vnesen jitter umerny delce sekvenci programu, kde je zakazane preruseni (obsluhy intek atd...)

Co má obsluha přerušení společného s převodem ADC? Pokud se spouští ADC od timeru, tak na to běh procesoru nemá žádný vliv a jitter vznikne jen pokud je nesoudělná frekvence taktování ADC a spouštění timeru.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
WLAB



Založen: Sep 13, 2005
Příspěvky: 867
Bydliště: Praha

PříspěvekZaslal: po říjen 11 2010, 13:09    Předmět: Citovat

Andrea napsal(a):
WLAB napsal(a):
ovsem zas tam bude vnesen jitter umerny delce sekvenci programu, kde je zakazane preruseni (obsluhy intek atd...)

Co má obsluha přerušení společného s převodem ADC? Pokud se spouští ADC od timeru, tak na to běh procesoru nemá žádný vliv a jitter vznikne jen pokud je nesoudělná frekvence taktování ADC a spouštění timeru.


Nejak si nevybavuji, ze by ATmega mela HW spousteni ADC od nejakeho z casovacu. Takze se musi spustit z obsluhy intka casovace - ktera se nespusti dokud bezi obsluha jineho intka a nevykonaji se eventuelne vsechna ostatni, ktera maji vetsi "prioritu"....-> jitter. Castecne to lze vyresit tim, ze se povoli preruseni v obsluhach preruseni, ale to je celkem pakarna a stejne se jitteru nevyhne - a to vetsimu, nez je ten tebou popisovany.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Andrea



Založen: Sep 07, 2007
Příspěvky: 9340

PříspěvekZaslal: po říjen 11 2010, 14:12    Předmět: Citovat

Tak třeba ATmega48/88/168 a vůbec novější ATmegy umí spouštět od T/C0, T/C1, Int0 a analogového komparátoru.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
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.22 sekund