Sari la conținut
ELFORUM - Forumul electronistilor

Atmega32->Optocuplor->Atmega128 (probl comunicare)


Vizitator wavve

Postări Recomandate

Vizitator wavve

Buna ziua,Am conectat doua uC prin interfata seriala (USART) si intre ele am adaugat un optocuplor 4N35.Am adaugat o poza care contine schema orientativa a circuitului.Problema pe care o intalnesc este urmatoarea: Daca transmit un caracter de la mega32 catre mega128 observ ca il primesc eronat. Stiu ca optocuplorul functioneaza pe baza de inversor adica daca trimit de exemplu 1111 la output optocuplor si implicit input atmega128 o sa am 0000.Ma gandesc ca ar fi niste erori undeva de transmisiune. Am limitat problema la optocuplor deoarece am scos la un moment dat optocuplorul din circuit iar comuicarea intre cele doua uC se desfasura fara probleme dar in momentul in care cuplez si optocuplorul atunci nu mai functioneaza cum trebuie.Poate a mai intalnit cineva probleme asemanatoarea si poate cineva cu mai multa experienta ma poate ajuta putin cu 1,2 idei.De exemplu trimit de la atmega32 caracterul "d". Dar la atmega 128 receptioneaza caracterul " ; " care nu corespunde ca fiind "d" inversat.Am incercat sa intoduc intre baza tranzistorului din optocuplor o rezistesta de 100k dar acelasi rezultat. Multumesc pentru eventualele raspunsuri,Andrei

Link spre comentariu
  • Răspunsuri 6
  • Creat
  • Ultimul Răspuns

Top autori în acest subiect

  • bogdan_

    1

  • mitescu

    1

  • Laci

    1

  • ratza

    1

Zile populare

Top autori în acest subiect

Intradevar, semnalul va fi inversat. Dar mai ai o solutie, montezi LED-ul de la optocuplor la VCC, si atunci cand "emitatorul" este in 1 logic, dioda este stinsa, iar tranzistorul este inchis, si invers, iar montajul devine neinversor. Atentie insa la caracteristicile optocuplorului, care la o viteza mai mare , cam "omoara" fronturile de la semnal.

Link spre comentariu
Vizitator wavve

Mersi de raspunsuri.Am citit putin despre "Schmitt trigger Inverter". Stiam ca outputul la optocuplor este negat deci optocuplorul functioneaza in configuratie de inversor.Inteleg ca Schmitt dupa optocuplor imi va inversa din nou semnalul si deasemenea are o functie de refacere a semnalului.Ceea ce nu inteleg este dc apare eroare asta la receptie dupa optocuplor. Si daca este normal sa se intample ceva.@mitescu: Pentru mine momentan nu este o problema ca la atmega128 ajunge semnalul inversat.Dau un mic exemplu testat zilele trecute:Trasmit de la atmega32 char "d" care ar arata asa: 0110 0100. Asta inseamna ca dupa optocuplor si anume la receptie mega128 ar trebui sa primesc : 1001 1011. Dar mie la receptie imi afiseaza altceva si anume : 0011 1011Poate gresesc eu undeva si nu imi dau seama. Baud rate-ul este de 9600. Sa aiba legatura cu viteza sau optocuplorul sa aiba un delay ceva de imi apare nesicronizarea intre cele doua atmega.Multumesc,Andrei

Link spre comentariu

Laci ti-a arata ceva in figura aia: impreuna cu start si stop sunt 10 biti. Trebuie musai ca bitul de start sa fie un 0 precedat de nivelul idle de 1. Intrarea trebuie sa fie obligatoriu in 1 logic in idle, la fel si iesirea. Ori tu inversezi semnalul.... deci tie nu iti sta intrarea in 1. Asa ca apar probleme de sincronizare si e normal sa primesti gunoaie, nu semnalul inversat.Solutia este simpla si ti s-a dat deja: pune led-ul de la emitator intre TX si VCC. Pentru 9600 nu ar trebui sa ai probleme de viteza, dar daca tot ai si dupa ce faci miscarea aia, atunci incearca cu o viteza mai mica si vezi daca e ok.

Link spre comentariu
Vizitator wavve

Nu am facut legaturile cand am citit posturile anterioare.Dupa ce am studiat mai bine raspunsurile pot spune ca aveti mare dreptate. Normal mie imi inversa si start bit si stop bit ceea ce imi producea nesincronizarea si implicit eroarea de transmisiune.Am urmat sfaturile voastre si am rezolvat problema.Functioneaza perfect acum.Inca o data multumesc pt ajutor.Andrei

Link spre comentariu

Creează un cont sau autentifică-te pentru a adăuga comentariu

Trebuie să fi un membru pentru a putea lăsa un comentariu.

Creează un cont

Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!

Înregistrează un nou cont

Autentificare

Ai deja un cont? Autentifică-te aici.

Autentifică-te acum



×
×
  • Creează nouă...

Informații Importante

Am plasat cookie-uri pe dispozitivul tău pentru a îmbunătății navigarea pe acest site. Poți modifica setările cookie, altfel considerăm că ești de acord să continui.Termeni de Utilizare si Ghidări