Elektronika.lt
 2025 m. liepos 21 d. Projektas | Reklama | Žinokite | Klausimai | Prisidėkite | Atsiliepimai | Kontaktai
Paieška portale
EN Facebook RSS

 Kas naujo  Katalogas  Parduotuvės  Forumas  Tinklaraščiai
 Pirmas puslapisSąrašas
 Forumas / + pokalbiai
 - Paieška forume
 - D.U.K. / Forumo taisyklės
 - Narių sąrašas
 - Registruotis
 - Prisijungti

Elektronika.lt portalo forumas

Jūs esate neprisijungęs lankytojas. Norint dalyvauti diskusijose, būtina užsiregistruoti ir prisijungti prie forumo. Prisijungę galėsite kurti naujas temas, atsakyti į kitų užduotus klausimus, balsuoti forumo apklausose.

Administracija pasilieka teisę pašalinti pasisakymus bei dalyvius, kurie nesilaiko forumo taisyklių. Pastebėjus nusižengimus, prašome pranešti.

Dabar yra 2025 07 21, 22:31. Visos datos yra GMT + 2 valandos.
 Forumas » Mikrovaldikliai » atmega ir ADC
Jūs negalite rašyti naujų pranešimų į šį forumą
Jūs negalite atsakinėti į pranešimus šiame forume
Jūs negalite redaguoti savo pranešimų šiame forume
Jūs negalite ištrinti savo pranešimų šiame forume
Jūs negalite dalyvauti apklausose šiame forume
 
  
Puslapis 11
Pradėti naują temą  Atsakyti į pranešimą Rodyti ankstesnį pranešimą :: Rodyti kitą pranešimą 
 atmega ir ADC
PranešimasParašytas: 2011 11 21, 19:19 Pranešti apie taisyklių pažeidimą Atsakyti su citata
pcwortex
Užkietėjęs dalyvis
Užkietėjęs dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
Sveiki, turiu tokią problemą ir niekaip nesuprantu dėl ko.
Tai va, prie atmegos8 prijungiau Holo jutiklį http://www.allegromicro.com/en/Products/Part_Numbers/1321/1321.pdf, tačiau kažkodėl man atmega skaitmeninį kodą duodą 11, nors Holo jutiklio aprašyme parašyta, kad jo išėjimo įtampa, kai jį neveikia magnetinis laukas, turi būti apie pusę maitinimo šaltinio įtampos. Pasiimu multimetrą, pasimatuoju jo analoginį išėjimo signalą ir matau, kad jis yra 2,46 V tai reiškias, kad Holo jutiklis yra geras, taip ir turi būti nes jis visiškai naujas. Nors atmega 2,46 analogini signalą verčia į 11 skaitmenį signalą, nors turėtu būti 1024/5*2,46=503. Pagalvojau, kad kažkas blogai yra užprogramuota arba atmegos problemos. Tai prie atmegos prijungiu potenciometrą ir atmegos skaitmeninis signalas veikia kuo puikiausiai. Tai taip ir nesuprantu kame čia problemos yra. Gal kas nors galit man padėti?
P.s nekreipkit demėsio, kad paveiksle pavaizduotas kitoks Holo jutiklis, čia tik pajungimo esmę norėjau parodyti.

Atmegos prijungimas:


Programos Kodas:

Kodas:

void InitADC()
{
ADMUX=(1<<REFS0)|(0<<REFS1);                         
ADCSRA=(1<<ADEN)|(1<<ADPS2)|(1<<ADPS1)|(1<<ADPS0);
}


Kodas:

uint16_t adcread(int ch)
{
   ADMUX=ch;
   ADCSRA|=(1<<ADSC);
   while(!(ADCSRA & (1<<ADIF)));
   ADCSRA|=(1<<ADIF);
   return(ADC);
}


Kodas:
while(1)
   {
i=adcread(0);
_delay_ms(500);
   }


Paskutinį kartą redagavo pcwortex, 2011 11 21, 19:39. Redaguota 1 kartą

_________________
Diplomas tik etikete ant konservų dėžutes. O kas slepiasi dėžutėje neaišku.
 Re: atmega ir ADC
PranešimasParašytas: 2011 11 21, 19:34 Pranešti apie taisyklių pažeidimą Atsakyti su citata
Dovydas
Patyręs dalyvis
Patyręs dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą Siųsti el. laišką Apsilankyti vartotojo tinklapyje
pcwortex rašo:


Programos Kodas:

Kodas:

void InitADC()
{
ADMUX=(1<<REFS0)|(0<<REFS1);                         
ADCSRA=(1<<ADEN)|(1<<ADPS2)|(1<<ADPS1)|(1<<ADPS0);
}


Kodas:

uint16_t adcread(int ch)
{
   [b]ch=ch&0b11111111; [/b]
   ADMUX=ch;
   ADCSRA|=(1<<ADSC);
   while(!(ADCSRA & (1<<ADIF)));
   ADCSRA|=(1<<ADIF);
   return(ADC);
}


Kodas:
while(1)
   {
i=adcread(0);
_delay_ms(500);
   }


Keistai arašytas mux kanalo išrinkimas. Neaišku kokia pradinė ch reikšmė ir kam naudojamas tas loginis IR.

Pagal datasheetą, kai MUX[2:0] = 0, išrinktas 0 kanalas.



Paskutinį kartą redagavo Dovydas, 2011 11 21, 19:51. Redaguota 1 kartą

_________________
---
 atmega ir ADC
PranešimasParašytas: 2011 11 21, 19:35 Pranešti apie taisyklių pažeidimą Atsakyti su citata
R2D2
Užkietėjęs dalyvis
Užkietėjęs dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
init`e ir read`e:

Kodas:
ch=ch&0b11111111;
    ADMUX=ch;


čia nesutapimas
 Re: atmega ir ADC
PranešimasParašytas: 2011 11 21, 19:37 Pranešti apie taisyklių pažeidimą Atsakyti su citata
R2D2
Užkietėjęs dalyvis
Užkietėjęs dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
[quote="Dovydas"]
pcwortex rašo:


Keistai arašytas mux kanalo išrinkimas. Neaišku kokia pradinė ch reikšmė ir kam naudojamas tas loginis IR.

Pagal datasheetą, kai ADMUX = 0, išrinktas 0 kanalas.


loginis IR tai ten beprasmis.

init`e prašo naudoti vidinį Ref, o paskui jau sako naudok išorinį ref... Rolling Eyes rtfm...
 Re: atmega ir ADC
PranešimasParašytas: 2011 11 21, 19:38 Pranešti apie taisyklių pažeidimą Atsakyti su citata
pcwortex
Užkietėjęs dalyvis
Užkietėjęs dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
Dovydas rašo:
pcwortex rašo:


Programos Kodas:

Kodas:

void InitADC()
{
ADMUX=(1<<REFS0)|(0<<REFS1);                         
ADCSRA=(1<<ADEN)|(1<<ADPS2)|(1<<ADPS1)|(1<<ADPS0);
}


Kodas:

uint16_t adcread(int ch)
{
   [b]ch=ch&0b11111111; [/b]
   ADMUX=ch;
   ADCSRA|=(1<<ADSC);
   while(!(ADCSRA & (1<<ADIF)));
   ADCSRA|=(1<<ADIF);
   return(ADC);
}


Kodas:
while(1)
   {
i=adcread(0);
_delay_ms(500);
   }


Keistai arašytas mux kanalo išrinkimas. Neaišku kokia pradinė ch reikšmė ir kam naudojamas tas loginis IR.

Pagal datasheetą, kai ADMUX = 0, išrinktas 0 kanalas.

Galima ir nenaudoti tos daugybos. Bet tikrai ne čia problema yra. Galvoju ar kartais nebus taip, kad atmegos analoginis kanalas lupa per daug srovės iš holo jutiklio?

_________________
Diplomas tik etikete ant konservų dėžutes. O kas slepiasi dėžutėje neaišku.
 atmega ir ADC
PranešimasParašytas: 2011 11 21, 19:42 Pranešti apie taisyklių pažeidimą Atsakyti su citata
pcwortex
Užkietėjęs dalyvis
Užkietėjęs dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
Jeigu buvusi eilutė griaužė akis, tai aš ją ištryniau. Klausi vieno, o pradeda kabinėjasi prie beprasmių dalykų. Gerai, kad nepradėjot aiškinti kur pirkti Holo jutiklį reikėjo arba kaip čia negražiai sulituota yra.

_________________
Diplomas tik etikete ant konservų dėžutes. O kas slepiasi dėžutėje neaišku.
 atmega ir ADC
PranešimasParašytas: 2011 11 21, 19:53 Pranešti apie taisyklių pažeidimą Atsakyti su citata
Dovydas
Patyręs dalyvis
Patyręs dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą Siųsti el. laišką Apsilankyti vartotojo tinklapyje
pcwortex rašo:
Jeigu buvusi eilutė griaužė akis, tai aš ją ištryniau. Klausi vieno, o pradeda kabinėjasi prie beprasmių dalykų. Gerai, kad nepradėjot aiškinti kur pirkti Holo jutiklį reikėjo arba kaip čia negražiai sulituota yra.


Klausi kodėl neveikia, tai bando žmonės padėti.
Apie kokią eilutę kalbi? Smile

Parašyk kokią reikšmę įstatai į registrą ADMUX.

_________________
---
 atmega ir ADC
PranešimasParašytas: 2011 11 21, 20:01 Pranešti apie taisyklių pažeidimą Atsakyti su citata
pcwortex
Užkietėjęs dalyvis
Užkietėjęs dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
Dovydas rašo:
pcwortex rašo:
Jeigu buvusi eilutė griaužė akis, tai aš ją ištryniau. Klausi vieno, o pradeda kabinėjasi prie beprasmių dalykų. Gerai, kad nepradėjot aiškinti kur pirkti Holo jutiklį reikėjo arba kaip čia negražiai sulituota yra.


Klausi kodėl neveikia, tai bando žmonės padėti.
Apie kokią eilutę kalbi? Smile

Parašyk kokią reikšmę įstatai į registrą ADMUX.


Naudoju PC0 kanalą, tai ADC0, todėl į ADMUX įstatau nulį. Bet ne čia problemą yra, nes nuo potenciometro veikia puikiausiai. Pabandžiau Holo jutiklį prijungti prie atmegos ir potenciometro lygiagrečiai, tai potenciometras rodo 0,3 V, atjungus Holo jutiklio išėjimo kanalą nuo atmegos, tai potenciometras rodo 2,46 V.

_________________
Diplomas tik etikete ant konservų dėžutes. O kas slepiasi dėžutėje neaišku.
 atmega ir ADC
PranešimasParašytas: 2011 11 21, 20:08 Pranešti apie taisyklių pažeidimą Atsakyti su citata
Dovydas
Patyręs dalyvis
Patyręs dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą Siųsti el. laišką Apsilankyti vartotojo tinklapyje
pcwortex rašo:
Dovydas rašo:
pcwortex rašo:
Jeigu buvusi eilutė griaužė akis, tai aš ją ištryniau. Klausi vieno, o pradeda kabinėjasi prie beprasmių dalykų. Gerai, kad nepradėjot aiškinti kur pirkti Holo jutiklį reikėjo arba kaip čia negražiai sulituota yra.


Klausi kodėl neveikia, tai bando žmonės padėti.
Apie kokią eilutę kalbi? Smile

Parašyk kokią reikšmę įstatai į registrą ADMUX.


Naudoju PC0 kanalą, tai ADC0, todėl į ADMUX įstatau nulį. Bet ne čia problemą yra, nes nuo potenciometro veikia puikiausiai. Pabandžiau Holo jutiklį prijungti prie atmegos ir potenciometro lygiagrečiai, tai potenciometras rodo 0,3 V, atjungus Holo jutiklio išėjimo kanalą nuo atmegos, tai potenciometras rodo 2,46 V.


Tada problema grynai aparatinė.

_________________
---
 atmega ir ADC
PranešimasParašytas: 2011 11 21, 20:13 Pranešti apie taisyklių pažeidimą Atsakyti su citata
pcwortex
Užkietėjęs dalyvis
Užkietėjęs dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
Galvoju, kad srovės atmega per daug srebia, iš holo jutiklio, tačiau holo jutiklio dokumentacijoje parašyta, kad gali atiduoti 8 mA srovės, tai manyčiau atmegai turėtu būti pakankamai. Ir niekur nerandu, kiek atmegos analoginui kanalui reikia tos srovės.

_________________
Diplomas tik etikete ant konservų dėžutes. O kas slepiasi dėžutėje neaišku.
 atmega ir ADC
PranešimasParašytas: 2011 11 21, 20:26 Pranešti apie taisyklių pažeidimą Atsakyti su citata
pcwortex
Užkietėjęs dalyvis
Užkietėjęs dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
hmmm, liktais veikia jau Smile
vietoj:
DDRC=255;
Paraciau
DDRC=0;

Ir pradingo tos problemos, tačiau, kai atjugiu ir palieku ADC0 kanalą vieną, tai skaitmenis kodas rašomas iš lempos, o neturėtų būti stabilus?

_________________
Diplomas tik etikete ant konservų dėžutes. O kas slepiasi dėžutėje neaišku.
 atmega ir ADC
PranešimasParašytas: 2011 11 21, 20:40 Pranešti apie taisyklių pažeidimą Atsakyti su citata
AlgisL
Senbuvis
Senbuvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
viskas daug paprasciau:

ADMUX=(ADMUX & 0xF0) | (ch & 0x0F);

ar bent ADMUX=0xYY | ch;

kur 0xYY reikiamos REFSx ir ADLAR reiksmes!

atmink jog ADMUX=xxx keiti visus bitus, o ne tik channel
 atmega ir ADC
PranešimasParašytas: 2011 11 21, 20:50 Pranešti apie taisyklių pažeidimą Atsakyti su citata
Dovydas
Patyręs dalyvis
Patyręs dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą Siųsti el. laišką Apsilankyti vartotojo tinklapyje
pcwortex rašo:
hmmm, liktais veikia jau Smile
vietoj:
DDRC=255;
Paraciau
DDRC=0;

Ir pradingo tos problemos, tačiau, kai atjugiu ir palieku ADC0 kanalą vieną, tai skaitmenis kodas rašomas iš lempos, o neturėtų būti stabilus?


Na to nebuvai pateikęs prie kodo, tad teko tau pačiam išmąstyt Wink

Ir turi būti rašomas iš lempos, jei įėjimas "plaukioja". Prikabink kokių 100k rezistorių į žemę į GND ar į VCC arba įjunk pullupą.

Nors kokia prasmė tą matuoti, jei nėra reikiamo signalo.

_________________
---
 atmega ir ADC
PranešimasParašytas: 2011 11 21, 21:40 Pranešti apie taisyklių pažeidimą Atsakyti su citata
pcwortex
Užkietėjęs dalyvis
Užkietėjęs dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
tik man įdomu, kodėl potenciometrui, tai tiko, o jau Holo jutikliui tas nebetiko.

_________________
Diplomas tik etikete ant konservų dėžutes. O kas slepiasi dėžutėje neaišku.
Pradėti naują temą  Atsakyti į pranešimą
 
Forumo sistema: phpBB
 „Google“ paieška forume
 Kas naujesnio?
 Naujos temos forume

Global electronic components distributor – Allicdata Electronics

Electronic component supply – „Eurodis Electronics“

LOKMITA – įvairi matavimo, testavimo, analizės ir litavimo produkcija

Full feature custom PCB prototype service

Sveiki ir ekologiški maisto produktai

Mokslo festivalis „Erdvėlaivis Žemė

LTV.LT - lietuviškų tinklalapių vitrina

„Konstanta 42“

„Mokslo sriuba“

www.matuok.lt - Interneto spartos matavimo sistema

Programuotojas Tautvydas – interneto svetainių-sistemų kūrimas

PriedaiMobiliems.lt – telefonų priedai ir aksesuarai

Draugiškas internetas

FS25 Tractors
Farming Simulator 25 Mods, FS25 Maps, FS25 Trucks
ETS2 Mods
ETS2 Trucks, ETS2 Bus, Euro Truck Simulator 2 Mods
FS22 Tractors
Farming Simulator 22 Mods, FS22 Maps, FS25 Mods
VAT calculator
VAT number check, What is VAT, How much is VAT
FS25 Mods
FS25 Harvesters, FS25 Tractors Mods, FS25 Maps Mods
Dantų protezavimas
All on 4 implantai,
Endodontija mikroskopu,
Dantų implantacija
FS25 Mods
FS25 Maps, FS25 Cheats, FS25 Install Mods
FS25 Mods
Farming Simulator 25 Mods,
FS25 Maps
ATS Trailers
American Truck Simulator Mods, ATS Trucks, ATS Maps
Football Training Kit
Football Training Equipment, Football Skills, Football Training
Reklama
‡ 1999– © Elektronika.lt | Autoriaus teisės | Privatumo politika | Atsakomybės ribojimas | Turinys | Reklama | Kontaktai LTV.LT - lietuviškų tinklalapių vitrina
Ets2 mods, Ats mods, Beamng drive mods
allmods.net
„MokslasPlius“ – mokslui skirtų svetainių portalas
www.mokslasplius.lt
Optical filters, UV optics, electro optical crystals
www.eksmaoptics.com
LTV.LT – lietuviškų tinklalapių vitrina
www.ltv.lt/technologijos/
Elektroninių parduotuvių optimizavimas „Google“ paieškos sistemai
www.seospiders.lt
FS22 mods, Farming simulator 22 mods,
FS22 maps

fs22.com
Reklama


Reklama