www.elektronik.si Seznam forumov www.elektronik.si
Forum o elektrotehniki in računalništvu
 
 PomočPomoč  IščiIšči  Seznam članovSeznam članov  SkupineSkupine  StatisticsStatistika  AlbumAlbum  DatotekeFilemanager DokumentacijaDocDB LinksPovezave   Registriraj seRegistriraj se 
  PravilaPravila  LinksBolha  PriponkePriponke  KoledarKoledar  ZapiskiZapiski Tvoj profilTvoj profil Prijava za pregled zasebnih sporočilPrijava za pregled zasebnih sporočil PrijavaPrijava 

Programiranje v bascom avr
Pojdi na stran Prejšnja  1, 2, 3, ... 36, 37, 38  Naslednja
 
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Bascom sekcija
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
int47
Član
Član



Pridružen-a: Pon 15 Dec 2003 0:10
Prispevkov: 2066
Aktiv.: 9.30
Kraj: Ljubljana

PrispevekObjavljeno: Sre Apr 23, 2008 9:30 pm    Naslov sporočila:   Odgovori s citatom

1) Odpreš kompleten PDF od uC-ja.
2) Poiščeš "AREF"
3) Po par klikih sem v PDF-ju za atmega 16 našel tole:

Koda:
AREF:
AREF is the analog reference pin for the A/D Converter.

Operation:
The ADC converts an analog input voltage to a 10-bit digital value through successive approximation. The minimum value represents GND and the maximum value represents the voltage on the AREF pin minus 1 LSB. Optionally, AVCC or an internal 2.56V reference voltage may be connected to the AREF pin by writing to the REFSn bits in the ADMUX Register. The internal voltage reference may thus be decoupled by an external capacitor at the AREF pin to improve noise immunity.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
program_er
Član
Član



Pridružen-a: Sob 08 Mar 2008 13:47
Prispevkov: 2173
Aktiv.: 11.12
Kraj: Maribor (Pohorje)

PrispevekObjavljeno: Sre Apr 23, 2008 9:41 pm    Naslov sporočila:   Odgovori s citatom

To sem si že dvakrat prebral v datasheetu. Ampak kaj mi lahko kdo v slovenščini poenostavneje razloži kaj je to? Je to mogoče izhodna napetost za ADC? Anleščina mi ne gre najbolje...Sad
_________________
Upanje ni del naše projektne strategije.
Member of Trisat - 1. Slovenian satellite running new fault tolerant aerospace processor.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo MSN Messenger - naslov
MadMax
Član
Član



Pridružen-a: Pet 09 Sep 2005 22:16
Prispevkov: 4743
Aktiv.: 21.36

PrispevekObjavljeno: Sre Apr 23, 2008 11:56 pm    Naslov sporočila:   Odgovori s citatom

Referenčna napetost, s katero potem žival primerja vhodni analogni signal.
Ker je tako natančno in stabilno napetost včasih težko zagotoviti (ali pa se prek tega delajo recimo temperaturne kompenzacije), je proizvajalec pustil možnost, da si sam "narediš" to napetost.
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
vilko
Član
Član



Pridružen-a: Pet 13 Feb 2004 10:26
Prispevkov: 3351
Aktiv.: 15.09
Kraj: Dragomer

PrispevekObjavljeno: Čet Apr 24, 2008 2:45 pm    Naslov sporočila:  Debounce je več kot if tipka Odgovori s citatom

Debounce je več kot if tipka = 0

Debounce ukaz testira, ali se je tipka ravnokar pritisnila, se pravi skočila iz 1 na 0.
To potrebuješ recimo, če hočeš spremeniti stanje števca za vsak pritisk tipke. Ko tipko pritisneš, bo šel števec za eno naprej, in če hočeš, da gre spet za eno naprej moraš tipko najprej spustiti in potem ponovno pritisniti. Če boš držal tipko pritisnjeno, se števec ne bo povečeval.
Če pa bi bil debounce to, kar je bilo napisano, samo if tipka in potem wait, bi v slučaju, da je tipka pritisnjena dalj časa, števec tekel navzgor, kaj ne?

No seveda pa je v debounce tudi zakasnitev, da se preskoči odskakovanje kontakta. Vsako stikalo je mehanski kontakt na vzmeti, in ko ga pritisnemo, kotva kar nekajkrat odskoči, predno se umiri v novem položaju. Za mikroprocesor, ki je hiter kot zlomek, bi to bilo, kot da smo nekakrat prav na hitro pritisnili in spustili tipko in spet pritisnili, in bi števec za en pritisk s prstom na tipko štel dva ali tri pritiske, v odvisnosti od mehanike stikala. Zato je v debounce vgrajena tudi zakasnitev, ki tako odskakovanje 'preskoči'.

kapiš?

_________________
Prepričan sem, da je inteligentnih bitij v vesolju veliko. A ker so inteligenta, se nam nočejo prikazati.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
vilko
Član
Član



Pridružen-a: Pet 13 Feb 2004 10:26
Prispevkov: 3351
Aktiv.: 15.09
Kraj: Dragomer

PrispevekObjavljeno: Čet Apr 24, 2008 2:57 pm    Naslov sporočila:  In še odgovor za AREF Odgovori s citatom

AREF je referenčna napetost, ki jo mikroprocesor deli z delilniki toliko časa, da je deljena napetost enaka vhodni merjeni. Merjena napetost bo torej vedno nižja od referenčne. Mora biti, sicer je meritev napačna.
In rezultat ki ga dobiš, ni v voltih, temveč v 256-inkah referenčne napetosti če je ad pretvornik 8 bitni.
če torej daš kot referenčno napetosti recimo 5V in si na vhod priklopil napetost 2.5V boš za rezultat dobil v 8 bitnem konverterju &H80 = 128
To vrednost moraš pomnožiti z referenčno napetostjo in deliti z 256 in dobiš rezultat v voltih. In ne pozabi da delaš računske operacije s celimi števili, kjer se ne da predstaviti števila 2.5. Če torej hočeš rezultat na desetinko volta natančno, boš izmerjeno vrednost pomnožil še z 10 predno boš delil z 256, da dobiš rezultat 25, kar ti mora pomeniti 2.5V

_________________
Prepričan sem, da je inteligentnih bitij v vesolju veliko. A ker so inteligenta, se nam nočejo prikazati.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
program_er
Član
Član



Pridružen-a: Sob 08 Mar 2008 13:47
Prispevkov: 2173
Aktiv.: 11.12
Kraj: Maribor (Pohorje)

PrispevekObjavljeno: Čet Apr 24, 2008 9:06 pm    Naslov sporočila:   Odgovori s citatom

Torej kako naj nastavim tukaj nastavitve (kopirano iz Bascom helpa), če bi imel:
1. Fotoupor vezano med Vcc in pinom PX.n
2. Fotoupor vezan med AREF pinom in pinom PX.n

Koda:

'Config Adc = Single , Prescaler = Auto, Reference = Internal

'The reference param may be :

'OFF      : AREF, internal reference turned off

'AVCC     : AVCC, with external capacitor at AREF pin

'INTERNAL : Internal 2.56 voltage reference with external capacitor ar AREF pin



Aja, pa na feri so mi pravli, da je v enem primeru rezultat ADC-ja izražen v mili voltih. Je to res?

_________________
Upanje ni del naše projektne strategije.
Member of Trisat - 1. Slovenian satellite running new fault tolerant aerospace processor.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo MSN Messenger - naslov
vilko
Član
Član



Pridružen-a: Pet 13 Feb 2004 10:26
Prispevkov: 3351
Aktiv.: 15.09
Kraj: Dragomer

PrispevekObjavljeno: Čet Apr 24, 2008 11:12 pm    Naslov sporočila:  Moje Odgovori s citatom

Moje izkušnje so do adc pretvornika PCF8591
Kot po navadi, sem, lahko napačno, predvideval, da je povsod enako.
Na AVR-ih še nisem meril napetosti z AD pretvornikom, in ti bo verjetno odgvoril kdo drug.

_________________
Prepričan sem, da je inteligentnih bitij v vesolju veliko. A ker so inteligenta, se nam nočejo prikazati.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
dkone
Član
Član



Pridružen-a: Sre 07 Mar 2007 18:53
Prispevkov: 2104
Aktiv.: 10.13
Kraj: Krško

PrispevekObjavljeno: Pet Apr 25, 2008 8:10 am    Naslov sporočila:   Odgovori s citatom

Več o A/D-ju si preberi tukaj, imaš tudi primer kode.
_________________
Denis
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
mucek
Član
Član



Pridružen-a: Tor 01 Avg 2006 10:47
Prispevkov: 5327
Aktiv.: 24.78
Kraj: Domzale

PrispevekObjavljeno: Pet Apr 25, 2008 9:07 am    Naslov sporočila:   Odgovori s citatom

program_er je napisal/a:
Aja, pa na feri so mi pravli, da je v enem primeru rezultat ADC-ja izražen v mili voltih. Je to res?


Ja, če imaš npr. 10 bitni ADC in referenčno napetost 1,023V Wink
In tako dalje (z malo matematike) ...

LP, Grega
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
vilko
Član
Član



Pridružen-a: Pet 13 Feb 2004 10:26
Prispevkov: 3351
Aktiv.: 15.09
Kraj: Dragomer

PrispevekObjavljeno: Pet Apr 25, 2008 9:10 am    Naslov sporočila:  Odlična spletna stran, Dkone! Odgovori s citatom

Odlična spletna stran, Dkone!
_________________
Prepričan sem, da je inteligentnih bitij v vesolju veliko. A ker so inteligenta, se nam nočejo prikazati.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
program_er
Član
Član



Pridružen-a: Sob 08 Mar 2008 13:47
Prispevkov: 2173
Aktiv.: 11.12
Kraj: Maribor (Pohorje)

PrispevekObjavljeno: Pet Apr 25, 2008 5:48 pm    Naslov sporočila:   Odgovori s citatom

Torej, uporabljam ATmega16.

Vnjegovem datasheetu med drugim piše:
Koda:

– 8-channel, 10-bit ADC
      8 Single-ended Channels
      7 Differential Channels in TQFP Package Only
      2 Differential Channels with Programmable Gain at 1x, 10x, or 200x

Mene pa zanima samo to:
Koda:

– 8-channel, 10-bit ADC
      8 Single-ended Channels


Čeprav mi matematika zelo gre, tistega od @vilkota ne razumem.
To je iz Bascom helpa:
Koda:

ADC
 Running mode. May be SINGLE or FREE.
 
PRESCALER
 A numeric constant for the clock divider. Use AUTO to let the compiler generate the best value depending on the XTAL
 
REFERENCE
 The options depend on the used micro. Some chips like the M163 have additional reference options. In the definition files you will find : ADC_REFMODEL = x

This specifies which reference options are available. The possible values are listed in the table below.
-----------------------------------------------------------------------------------------------
'The newer has options for the reference voltage

'For those chips you can use the additional param :

'Config Adc = Single , Prescaler = Auto, Reference = Internal

'The reference param may be :

'OFF      : AREF, internal reference turned off

'AVCC     : AVCC, with external capacitor at AREF pin

'INTERNAL : Internal 2.56 voltage reference with external capacitor ar AREF pin

Mi lahko kdo izračuna ali razloži ali pove še enkrat, kako naj v Bascomu to naredim, izračunam. Lahko bi kdo prilepil kak "kos" programske kode...

Čip napajam z 5.05 volta, ampak se mi zdi, da ta podatek ni pomemben. Saj referenčno izhodno napetost lahko nastavljam z ADC_REFMODEL = milivolti ? Ali ne?

Torej, koliko in kako moram nastaviti referenčno napetost, da bom na 10-bitnem ADC-ju dobil v rezultat milivolte? Če ne gre spreminjat referenčne napetosti, pa lahko kdo prilepi malo kode z nekaj primeri deljenja števcev in množenja, če je to v programu potrebno. Iz strani, ko jo je dal @dkone sem si potegnil primer kode, samo kaj mi pomaga, če to naložim v uC, če je ne razumem...

Hvala za odgovore!!!

_________________
Upanje ni del naše projektne strategije.
Member of Trisat - 1. Slovenian satellite running new fault tolerant aerospace processor.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo MSN Messenger - naslov
vilko
Član
Član



Pridružen-a: Pet 13 Feb 2004 10:26
Prispevkov: 3351
Aktiv.: 15.09
Kraj: Dragomer

PrispevekObjavljeno: Pet Apr 25, 2008 6:44 pm    Naslov sporočila:  Poizkusi tako, kot piše v help-u Odgovori s citatom

Poizkusi tako, kot piše v help-u:

Koda:
'configure single mode and auto prescaler setting
'The single mode must be used with the GETADC() function
'The prescaler divides the internal clock by 2,4,8,16,32,64 or 128
'Because the ADC needs a clock from 50-200 KHz
'The AUTO feature, will select the highest clockrate possible

Config Adc = Single , Prescaler = Auto

'Now give power to the chip
Start Adc
'With STOP ADC, you can remove the power from the chip
'Stop Adc

Dim W As Word , Channel As Byte
Channel = 0

'now read A/D value from channel 0
Do
  W = Getadc(channel)
  Print "Channel " ; Channel ; " value " ; W
Loop



Glede na že povedano, predvidevam, da boš dobil v spremenljivki W napetost izraženo v napetostnih enotah VREF/1024
torej, če bo napetost 5V in referenčna napetost tudi 5V potem boš dobil rezultat 1024. Če hočeš to napisati v voltih z desetinkami moraš to računsko popraviti, da boš dobil 50 kar naj bi predstavilo 5.0V
Račun, ki ga moraš dodati pred Loop ukazom bo potemtakem:

Koda:
Dim W2 as word
w2 = w * 50
w2 = w2 / 1024
print W2


Ampak kot rečeno, ne pripovedujem to iz lastnih izkušenj, temveč ker mislim, da bi nekako tako moralo delovati
Tisti Prescaler se mi zdi manj pomemben

In če hočeš napisati rezultat kot 5.0V potem moraš še ločiti desetinke od celih voltov v dve ločeni spremenljivki

Koda:
dim volti as word
dim desetinke as word

volti = W2 / 10
desetinke = W2 mod 10
print "Napetost je ";volti;".";desetinke;"V  "


Najbolje je, da probaš.

_________________
Prepričan sem, da je inteligentnih bitij v vesolju veliko. A ker so inteligenta, se nam nočejo prikazati.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
program_er
Član
Član



Pridružen-a: Sob 08 Mar 2008 13:47
Prispevkov: 2173
Aktiv.: 11.12
Kraj: Maribor (Pohorje)

PrispevekObjavljeno: Pet Apr 25, 2008 7:06 pm    Naslov sporočila:   Odgovori s citatom

Finta je v tem, da trenutno ne morem probavat, ker nimam delujočega programatorja. SadSad
_________________
Upanje ni del naše projektne strategije.
Member of Trisat - 1. Slovenian satellite running new fault tolerant aerospace processor.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo MSN Messenger - naslov
vilko
Član
Član



Pridružen-a: Pet 13 Feb 2004 10:26
Prispevkov: 3351
Aktiv.: 15.09
Kraj: Dragomer

PrispevekObjavljeno: Pet Apr 25, 2008 8:14 pm    Naslov sporočila:  A, ti nas tako, hipotetično .. Odgovori s citatom

A, ti nas tako, hipotetično ..
_________________
Prepričan sem, da je inteligentnih bitij v vesolju veliko. A ker so inteligenta, se nam nočejo prikazati.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
program_er
Član
Član



Pridružen-a: Sob 08 Mar 2008 13:47
Prispevkov: 2173
Aktiv.: 11.12
Kraj: Maribor (Pohorje)

PrispevekObjavljeno: Sob Apr 26, 2008 10:06 am    Naslov sporočila:  Re: A, ti nas tako, hipotetično .. Odgovori s citatom

vilko je napisal/a:
A, ti nas tako, hipotetično ..


NE, jaz se samo učim zaj. Saj mam programator, pa se mi je pokvaro. Zaj pa čakam na AvrUSB prog od @VolkD.

Sem malo premišlejval pa mislim da razumem zaj to tvojo enačbo.
Če mam 8-bitni ADC moram delit potem z 256, kaj pa če imam 10-bitni?

Sem malo preračunaval pa sem ugotovil, kako dobim iz tvojega računa direktno mV. Če je referenčna napetost 5V, na vhod pa pripeljem 2,5V bo moj račun takšen:
&H80 = 128 (če mi to vrže v programu)
128 x 5 = 640
640 x 1000 (ne 10) = 640000
640000 : 256 = 2500 (in dobim rezultat v mV)

Pa jaz v primeru od @Dkone (spletne strani, ki jo je dal) ne vidim ukaza &H80... Ali to cifro shrani program v spremenljivko W (v tem primeru) in je pol v praktiki ta cifra (v našem primeru 128-) shranjena v spremenljivki W?

_________________
Upanje ni del naše projektne strategije.
Member of Trisat - 1. Slovenian satellite running new fault tolerant aerospace processor.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo MSN Messenger - naslov
Pokaži sporočila:   
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Bascom sekcija Časovni pas GMT + 2 uri, srednjeevropski - poletni čas
Pojdi na stran Prejšnja  1, 2, 3, ... 36, 37, 38  Naslednja
Stran 2 od 38

 
Pojdi na:  
Ne, ne moreš dodajati novih tem v tem forumu
Ne, ne moreš odgovarjati na teme v tem forumu
Ne, ne moreš urejati svojih prispevkov v tem forumu
Ne, ne moreš brisati svojih prispevkov v tem forumu
Ne ne moreš glasovati v anketi v tem forumu
Ne, ne moreš pripeti datotek v tem forumu
Ne, ne moreš povleči datotek v tem forumu

Uptime: 48 dni


Powered by phpBB © 2001, 2005 phpBB Group