Jump to content
ELFORUM - Forumul electronistilor

problema la un port la un atmega16


Guest m0rTu

Recommended Posts

Guest m0rTu

i-am facut unui coleg o placa de dezvoltare pentru un atmega16 dar are o problema la portul D...daca pun o placa cu 8 leduri fiecare cu rezistente de 1k parca pe portul A sau C lumineaza normal, dar pe portul D intensitatea este foarte mica la toate, si cand am masurat tensiunea pe fiecare pin e la 1,8V cu ledurile puse si 5V fara... ce poate fi ?

Link to comment
Share on other sites

si eu am avut problema asemanatoare la PB6 la un atmega8-16pu. am schimbat mcu-ul si era ok. la tine daca tot portul face asa am impresia ca e setat ca intrare PORTD. verifica ca nu ai uitat sau n-ai greseala de tipar la DDRD=0xff; daca e vb de led rosu 5mm normal acei 1.8V cred ca sunt chiar caderea de tensiune pe LED

Link to comment
Share on other sites

Nu ştiu chipul pe dinafară, dar vezi să dezactivezi JTAGul (dacă foloseşti SPI sau bootloader la programare), pentru că pinii de JTAG nu pot fi folosiţi sub control software.

Link to comment
Share on other sites

Guest m0rTu

pai era dezactivat...nush ce are ca acum si-a revenit...l-am alimentat extern...dar nu cred ca asta influenta cumva...ca tot din programator am alimentat si inainte cand am verificat celelalte 3 porturi...si alea mergeau bine...acum se pare ca merge si asta bine...oricum ms mult...acum am o alta problema la un atmega8...adcul imi citeste 103 in loc de 111(valoare rezultata din calcule)folosesc referinta interna de 2.56V, senzor lm35 si imi rezulta cam cu 2 grade mai putin...in urma prelucrarii valorii citite...pe fiecare port adc e la fel...am pus cond de filtrare intre AVCC si masa si intre AREF si masa, tensiunea cu care il alimentez e 5.00 curat si filtrat foarte bine... nu imi dau seama de la ce poate fi... idei careva ?

Link to comment
Share on other sites

Guest m0rTu

pai pana la urma am reusit sa o fac...nam mai avut timp de incercat cu un potentiometru ca am facut totul pe un breadbord imprumutat...si apropo eroarea crestea...cu cat crestea temperatura...si am facut o variabila cara sa creasca odata cu valoarea adc...am reusit prin experimente sa ajung la o eroare de 0.1 grade celsius...in scara 0-100 grade cu un lm35dz...ceea ce e acceptabildar asta nu inseamna ca nu sunt totusi ceva probleme...la referinta interna...la aceasta concluzie am ajuns...ca daca foloseam avcc ca referinta aveam eroare mult, mult mai mica...acum ramane de vazut daca pe placa finala las compensare software sau folosesc pe aref o referinta de 3V(am de ti un ic pt asa ceva)

Link to comment
Share on other sites

Tensiunea de referinta nu este fix 2.56V mereu. Ea variaza cu temperatura si cu tensiunea de alimentare. Variaza si de la un integrat la altul. Ca sa iti dai seama cum iti afecteaza masuratorile, in datasheet-ul de la Atmel exista un grafic cu variatia tensiunii de referinta in functie de alimentare si de temperatura.Daca vrei sa nu ai bataie de cap cu conversia foloseste o referinta externa de tensiune.Chiar daca pui referinta externa, oricat de precisa, de reglaje tot nu scapi. Senzorul de temperatura are si el o eroare de masura asa ca pentru o precizie de 0.1 grade cred ca va trebui sa etalonezi fiecare montaj in parte in mai multe puncte si sa ai cate o tabela diferita cu corectii pentru fiecare montaj. Pentru LM 35 producatorul da o acuratete de 0.5 grade la temp camerei si ajunge pana la +/- 2 grade Celsius pe toata plaja de functionare.De la un asa senzor nu te astepta la miracole, oricate corectii soft i-ai face.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.Terms of Use si Guidelines