forum.mcontrollers.com - hlavní stránka forum.mcontrollers.com - fórum

 

.: fórum - hlavní stránka :.
Technology Stronghold by Rudolf Vesely
How to build Microsoft System Center hosted cloud series
FAQFAQ HledatHledat Seznam uživatelůSeznam uživatelů Uživatelské skupinyUživatelské skupiny RegistraceRegistrace
ProfilProfil StatistikaStatistika Soukromé zprávySoukromé zprávy PřihlášeníPřihlášení

 
UART - ATMEGA problém
Jdi na stránku 1, 2  Další
 
Přidat nové téma   Zaslat odpověď    Obsah fóra mcontrollers.com -> AVR
 
Marek917382465
Účastník
Účastník


Založen: 30.10.2016
Příspěvky: 19

PříspěvekZaslal: 20 leden 2018, 13:49    Předmět: UART - ATMEGA problém Citovat

Dobrý den,
zkouším komunikaci přes rozhraní UART mezi dvěma aTmegama a vůbec mi to nefunguje. Použil jsem tu nejjednodušší možnost z datasheetu a snažím se odeslat znak do druhé aTmegy. Druhá atmega by měla znak příjmout a podle toho jaký to je znak by měla buď zapnout nebo vypnout LED. První atmega posílá jednolivé znaky s odstupem jedné vteřiny, takže by to mělo po vteřínách blikat. Nechápu co na tom nefunguje. Spojil jsem vývody RX a TX přímo drátem. Ještě dodám, že mikroprocesor, který je Master je aTmega164p a Slave je aTmega328p. CLKDIV8 jsem u obou mikropočítačů vypnul.

Nemá někdo nějakou radu? Už si s tím hraju 2 dny a nelze nic poslat. Jenom nějaký šum přijímám.



main.c
 Komentář:
Slave

Stáhnout
 Soubor:  main.c
 Velikost:  1.11 kB
 Staženo:  37 krát


main.c
 Komentář:
Master

Stáhnout
 Soubor:  main.c
 Velikost:  1.07 kB
 Staženo:  35 krát

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

 
Atlan
Profesionál
Profesionál


Založen: 4.2.2009
Příspěvky: 949

PříspěvekZaslal: 20 leden 2018, 19:29    Předmět: Citovat

Rx na tx a tx na rx?
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
 

 
Marek917382465
Účastník
Účastník


Založen: 30.10.2016
Příspěvky: 19

PříspěvekZaslal: 21 leden 2018, 11:02    Předmět: Citovat

Ano, mám to takto
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
 

 
Balů
Profesionál
Profesionál


Založen: 29.10.2012
Příspěvky: 753

PříspěvekZaslal: 21 leden 2018, 11:55    Předmět: Citovat

A máš použitý správný UART ? ATmega164 má dva.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
 

 
Atlan
Profesionál
Profesionál


Založen: 4.2.2009
Příspěvky: 949

PříspěvekZaslal: 21 leden 2018, 13:13    Předmět: Citovat

Nainstaluj simulator Proteus 8.x
A vies posielat data. Aj prjimat terminalmi.
Pekne si to odsimulujes, tot tam snad funguje lebo i2c tam nechodi dobre.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
 

 
Marek917382465
Účastník
Účastník


Založen: 30.10.2016
Příspěvky: 19

PříspěvekZaslal: 25 leden 2018, 0:26    Předmět: Citovat

Ano, používám správný. Ten proteus zkusím. Díky moc za radu
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
 

 
Balů
Profesionál
Profesionál


Založen: 29.10.2012
Příspěvky: 753

PříspěvekZaslal: 25 leden 2018, 21:15    Předmět: Citovat

Když se podíváš do main() u mastera, tak máš zakomentovaný volání inicializace UARTu ...
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
 

 
Marek917382465
Účastník
Účastník


Založen: 30.10.2016
Příspěvky: 19

PříspěvekZaslal: 28 leden 2018, 0:11    Předmět: Citovat

Díky, už jsem to rozchodil, ale stejně to není to co potřebuju. Koupil jsem si 2 atmegy8 a zkoušel jsem USART mezi nimi. Samozřejmě to hned šlo. Potom jsem to zkoušel s těma deskama co mám hotový a nešlo to. Začalo to fungovat, až když jsem měl společnou zem. Nemuselo bejt ani stejný napájení(3,9V a 5V), ale ta zem prostě musela bejt společná. Nevíte co s tím?

Já to mám na bezdrátovou komunikaci pomocí RF modulů, který běží na 433MHz. Teď když už jde USART na drátu, tak by to běžet mělo, ale neběží. Možná mám vadné moduly, tak je zkusím koupit, stojí pár korun, ale ta společná zem mě zaráží.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
 

 
Balů
Profesionál
Profesionál


Založen: 29.10.2012
Příspěvky: 753

PříspěvekZaslal: 28 leden 2018, 11:34    Předmět: Citovat

To, že potřebuješ společnou zem pro spojení po drátu je úplně normální jev - proud, který teče do drátu tam, musí mít taky kudy se vrátit. A to se děje buď po společný zemi nebo po nějakém druhém drátu. Když připojíš zařízení na plus baterky, tak nebude fungovat, dokud nepřipojíš i mínus - to je úplně to samé. Pro spojení po bezdrátu jsou důležitá trošku jiná pravidla. Tam sice společnou zem nepotřebuješ (na druhou stranu - když se na to podíváš hodně zeširoka, tak tam tu společnou zem máš taky), ale pořebuješ filtrovat to, co Ti po UARTu přichází. Přijímací modul totiž aby fungoval, musí přijatý signál nějak zpracovat - zesílit, demodulovat atd. Jenže ten modul nemá ani ponětí, jestli to, co chytá je signál pro něj nebo cokoliv jiného z okolí. Zpracovává tedy vše, co anténa pochytá. Na výstupu to pak vypadá, že z přijímače lezou nějaký data trvale a Ty je musíš v procesoru nějak filtrovat. Musíš tedy na vysílači odeslat preamble v nějakém definovaném tvaru tak, aby z přijímače začaly lézt data, která vysíláš a zároveň se z nich mohl přijímací UART synchronizovat - proto preamble. Jakmile z přijímače dostaneš preamble, počkáš na značku, která znamená, že následují data a můžeš začít přijímat přenášená data.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
 

 
Marek917382465
Účastník
Účastník


Založen: 30.10.2016
Příspěvky: 19

PříspěvekZaslal: 28 leden 2018, 23:07    Předmět: Citovat

S tou baterkou to chápu, že bez mínus to nebude fungovat, ale když mám 2 atmegy na nezávislých napájeních, obě připojený samozřejmě na plus a mínus, tak jsem myslel, že to půjde.

S tím bezdrátovým přenosem díky. Zkusím si s tím pohrát a rozjet to. Případně něco pohledat na netu.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
 

 
Balů
Profesionál
Profesionál


Založen: 29.10.2012
Příspěvky: 753

PříspěvekZaslal: 29 leden 2018, 6:58    Předmět: Citovat

Můžeš se podívat třeba i tady : http://forum.mcontrollers.com/viewtopic.php?t=885&highlight=hmr868
Probírali jsme to zde taky.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
 

 
Radius
Profesionál
Profesionál


Založen: 22.2.2013
Příspěvky: 506

PříspěvekZaslal: 29 leden 2018, 19:50    Předmět: Citovat

Bezdrátová komunikace je mnohem náročnější na znalosti, pochopení principů a dodržování pravidel. Pokud nevíš, že ke komunikaci po drátě potřebuješ vytvořit napěťový potenciál (ten nese informaci) a tudíž dva dráty, tak nevím nevím. Add RF moduly - některé moduly jsou absolutně hloupé a chovají se přibližně jak popisuje Balů a některé vyžadují pozornost procesoru jen když přijmou správná data (např. SI4468). Ty se zase musejí precizně zkonfigurovat. Co máš na stole nevím.
_________________
x51 , ARM , XILINX
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail Zobrazit autorovy WWW stránky
 

 
Martin
ATmega pouzivatel
ATmega pouzivatel


Založen: 5.1.2008
Příspěvky: 1486

PříspěvekZaslal: 29 leden 2018, 20:27    Předmět: Citovat

"Začalo to fungovat, až když jsem měl společnou zem."

Signal z procesora UARTU je v kludovom stave log. 0 (cca < 0.5V) alebo log.1 (cca >4V pri 5V Ucc)

ALE VOCI COMU JE TO NAPATIE?

c je spravne. Voči zemi.

Odkiaľ má druhý procesor vedieť že na jeho vstupe niečo "poskakuje" keď to niečo neposkakuje voči jeho zemi? No odnikadiaľ a preto nič neprijíma.

Na prenos RX a TX cez 2 droty bez prepojenia zemi môžeš použiť rozhranie RS422 alebo RS485.
Tam sa napätie vyhodnocuje len voči dvom vodičom. Pri RS485 ale nemôžeš naraz aj vysielať a aj prijímať. Buď jedno alebo druhé. Prepínanie smeru si robia procesory sami - teda softver to musi zabezpečiť.

Budiče na RS422 a RS485 sú prakticky rovnaké.
Výhoda je veľká odolnosť a bezpečný dosah až do mnoho sto metrov až kilometrov.

Držím palce, daj vedieťako postupuješ
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
 

 
Marek917382465
Účastník
Účastník


Založen: 30.10.2016
Příspěvky: 19

PříspěvekZaslal: 06 únor 2018, 20:09    Předmět: Citovat

Tak jsem to rozjel. Vyměnil jsem RF moduly a běhá to. Prvně jsem používal tyto: https://www.gme.cz/modul-vysilac-prijimac-433mhz
Na netu je s nima hodně návodů, ale nefungovalo to stabilně. Rozjel jsem to, ale pak to zase přestalo fungovat a bylo to takový všelijaký. Vyměnil jsem je za tyto moduly: https://www.gme.cz/prijimac-433mhz-srx882-ask
https://www.gme.cz/vysilac-433mhz-stx882-ask-s-vysokym-vykonem
Ten přijímač má už vlastní krystal, takže si myslím, že je to tím. Mám to zatím v nepájivým poli, ale funguje to zatím dobře. Budu to ještě testovat, tak můžu pak dát vědět, jestli to běhá stabilně nebo ne.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
 

 
Atlan
Profesionál
Profesionál


Založen: 4.2.2009
Příspěvky: 949

PříspěvekZaslal: 08 únor 2018, 21:45    Předmět: Citovat

A na aku vzdialenost to testujes a na aku to chces prenasat.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
 

Zobrazit příspěvky z předchozích:   
Zobrazit předchozí téma :: Zobrazit následující téma  
Přidat nové téma   Zaslat odpověď    Obsah fóra mcontrollers.com -> AVR Časy uváděny v GMT + 2 hodiny
Jdi na stránku 1, 2  Další
 
Strana 1 z 2
Přejdi na:  
Můžete přidat nové téma do tohoto fóra.
Můž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.
Můžete k příspěvkům připojovat soubory
Můžete stahovat a prohlížet přiložené soubory
 



Num Lock Holder - app to hold Numlock
Copyright © 2018 Rudolf Veselý, mcontrollers.com.
Je zakázáno používat části tohoto webu bez souhlasu autora. || Powered by phpBB © 2001, 2002 phpBB Group - with RedSquare DoubleJ(Jan Jaap)