Poglej prejšnjo temo :: Poglej naslednjo temo |
Avtor |
Sporočilo |
JUG Mojster
Pridružen/-a: Čet Nov 2011 15:49 Prispevkov: 38
|
Objavljeno: Čet Nov 10, 2011 8:00 pm Naslov sporočila: [Q] RS-485 z Atmega8515 in SN75176 (TI) |
|
|
Lep pozdrav!
Imam vprašanje za vse ki so se že ukvarjali z RS-485 ali vsaj nekaj vedo o njej. Torej imam dva mikrokrmilnika Atmega8515 (master-slave) in dva čipa SN75176, ki služita prenosu podatkov. Imam zvezano tako kot piše v navodilih, vendar iz sprejemnega čipa ne dobim nobenih podatkov. Master mi lepo podatke izpisuje na SN75176, kateri jih lepo pretvori in pošlje proti drugemu (sprejemnemu) SN75176. Ta jih seveda dobi, vendar iz njega ne dobim nikakršnih podatkov le 2V na DI (4noga) in 0,1V na RO (1noga). Osciloskop mi na RO utripa TRIG lučka, kar pomeni da nekaj pa le dobiva ven, neke podatke ki imajo svojo frekvenco izpisovanja, čeprav le 0,1V.
Sem probal dodati tudi upor med 6in7 nogo, pa ni nič pomagalo le signal je bil lepši.
Če ima mogoče kdo kakšno idejo, lepo prosim,
LP
Jakob |
|
Nazaj na vrh |
|
|
Jure Urednik
Pridružen/-a: Pon Jan 2004 12:51 Prispevkov: 2132 Kraj: Ljubljana
|
|
Nazaj na vrh |
|
|
JUG Mojster
Pridružen/-a: Čet Nov 2011 15:49 Prispevkov: 38
|
Objavljeno: Čet Nov 10, 2011 10:19 pm Naslov sporočila: |
|
|
Hvala za odgovor =)
Sem že pregledal, in sem naredil enako vezavo kot je na sliki. Probal sem vse variante ki so mi prišle na misel pa mi ne uspe. Enkrat mi je uspelo, toda ko sem naslednjič poizkusil je bilo spet brez uspeha. Nevem kaj bi pri tako enostavni vezavi lahko bilo narobe.
LP
Jakob |
|
Nazaj na vrh |
|
|
vilko Profesionalec
Pridružen/-a: Pon Jan 2004 11:54 Prispevkov: 807 Kraj: Ljubljana
|
Objavljeno: Pet Nov 11, 2011 9:49 am Naslov sporočila: |
|
|
Pripni še bascom programa za master in slave.
Poleg tega pojasni, kako si ugotovil, da na sprejemnem čipu ne dobiš podatkov. Z osciloskopom?
Jaz sem opustil SN75176 in namesto njega uporabljam pravi klon MAX485 ->
LTC485
Ali lahko prideš do osciloskop slike na RX pinu mikroprocesorja spremenika? In ali lahko sliko osciloskopa pripneš?
Na to temo sem imel predavanje, za katerega materijale ti pošljem po elektronski pošti, ker so tukaj omejitve glede pripenjanja datotek. Pošlji mi elektronski naslov pod zasebno sporočilo. |
|
Nazaj na vrh |
|
|
JUG Mojster
Pridružen/-a: Čet Nov 2011 15:49 Prispevkov: 38
|
Objavljeno: Pet Nov 11, 2011 11:12 am Naslov sporočila: |
|
|
Ja gledal sem z osciloskopom, se lepo vidi kdaj master polje podatke. V prilogi sta programa in pa slike.
Nekaj me je zafrkavalo z nalaganjem slik, tako da sem jih stisnil v zip.
Hvala za odgovor,
LP Jakob |
|
Nazaj na vrh |
|
|
vilko Profesionalec
Pridružen/-a: Pon Jan 2004 11:54 Prispevkov: 807 Kraj: Ljubljana
|
Objavljeno: Pet Nov 11, 2011 11:35 am Naslov sporočila: |
|
|
Priznam, nikoli ne vem dovolj. Config Print0 nisem poznal in sem si ga šele sedaj ogledal v Help-u.
Ugibam: Sedaj imaš dvojno krmiljenje RS485dir, avtomatsko, ki si ga vključil z config Print0 in 'ročno', ko ročno prestavljaš ta pin. Morda to ni dobro.
Inpulzi, ki so na RX pa definitivno niso dobri. Morali bi biti med 0V in 5V.
1. oglej si RS485 pulz, ali je pravilno skače. Kot vidim imaš osciloskop na katodno cev, in ne moreš gledati dva signala paralelno, sicer bi bilo lepo videti istočasno na ekranu inpulz na RX in inpulz na RS485dir.
2. Opusti eno ali drugo (ročno ali avtomatsko) upravljanje inpuzla RS485dir.
Veliko uspeha!
VS |
|
Nazaj na vrh |
|
|
JUG Mojster
Pridružen/-a: Čet Nov 2011 15:49 Prispevkov: 38
|
Objavljeno: Pet Nov 11, 2011 3:31 pm Naslov sporočila: |
|
|
Evo, sem v programu pustil le config print0 = portb.0, mode = set, pa ni nič pomagalo. V prilogi je slika v kateri sta oba signala na osciloskopu (zgornji je iz master čipa, spodnji pa je iz SN75176. Izgledata identična, le da sta invertirana.
Pa še to, sedajle sem pustil vezje delovati cca. 15 min in sta se oba čipa (SN75176) zelo segrela, tako da močno dvomim, da je kaj narobe v programu, mislim da je v vezavi napaka. Vezava je narisana spodaj (na hitro je narisana mislim pa da je jasna).
Hvala za odgovor,
LP
Jakob
Nazadnje urejal/a JUG Sre Dec 07, 2011 7:47 pm; skupaj popravljeno 1 krat |
|
Nazaj na vrh |
|
|
vilko Profesionalec
Pridružen/-a: Pon Jan 2004 11:54 Prispevkov: 807 Kraj: Ljubljana
|
Objavljeno: Pet Nov 11, 2011 3:46 pm Naslov sporočila: |
|
|
Da nisi zamenjal A in B lijini? A mora na A, B mora na B
Ja. če se stvar greje, je verjetno kaj v kratkem stiku ali pa polariteta narobe.
Dobro preglej vezje. |
|
Nazaj na vrh |
|
|
vilko Profesionalec
Pridružen/-a: Pon Jan 2004 11:54 Prispevkov: 807 Kraj: Ljubljana
|
Objavljeno: Pet Nov 11, 2011 3:48 pm Naslov sporočila: |
|
|
Pa še na sprejemni strani posnemi signala RS484dir in RX
Da ne oddajaš na obeh straneh hkrati --- |
|
Nazaj na vrh |
|
|
vilko Profesionalec
Pridružen/-a: Pon Jan 2004 11:54 Prispevkov: 807 Kraj: Ljubljana
|
Objavljeno: Pet Nov 11, 2011 3:49 pm Naslov sporočila: |
|
|
Shema je v redu. |
|
Nazaj na vrh |
|
|
JUG Mojster
Pridružen/-a: Čet Nov 2011 15:49 Prispevkov: 38
|
Objavljeno: Pet Nov 11, 2011 4:29 pm Naslov sporočila: |
|
|
Evo mi je uspelo =) imel sem kratek stik med +5V in A, sem zamenjal čipe, pa še vedno ni bilo rezultata. Nato sem zvezal na Portb.0 slave čipa še upor proti ničli in zadeva je začela delovati. Pa še začuda čipov nisem skuril (sem nazaj dal ta vroče pa je še vedno delovalo).
Zdj mam pa še en problem, ki je pa zgleda povezan s kodo. Ko podatke izpisujem na LCD dobim malce čuden izpis. Namesto da bi dobil v prvi vrstici: S : 08.03.11 dobim: S : |||8.03.1. V drugi vrstici je podobno. Le takoj ko vklopim napajanje se mi prva vrstica izpiše pravilno, takoj za tem pa dobim napačen izpis. Druga vrstica je pa že takoj po vklopu napačna.
Hvala za odgovore,
LP Jakob |
|
Nazaj na vrh |
|
|
vilko Profesionalec
Pridružen/-a: Pon Jan 2004 11:54 Prispevkov: 807 Kraj: Ljubljana
|
Objavljeno: Pet Nov 11, 2011 4:35 pm Naslov sporočila: |
|
|
Jaz odhajam, jutri naprej. |
|
Nazaj na vrh |
|
|
JUG Mojster
Pridružen/-a: Čet Nov 2011 15:49 Prispevkov: 38
|
Objavljeno: Pet Nov 11, 2011 4:35 pm Naslov sporočila: |
|
|
Hvala =) |
|
Nazaj na vrh |
|
|
Vlado Profesionalec
Pridružen/-a: Ned Jan 2004 16:11 Prispevkov: 556 Kraj: Ljubljana
|
Objavljeno: Pet Nov 11, 2011 4:41 pm Naslov sporočila: |
|
|
Ko definiraš spremenljivko kot string moraš računati tudi na to da se string v ramu zaključi z "00", zaradi tega moraš definirati dolžino stringa vsaj za en bajt več kot je string ki ga pričakuješ.
Druga napaka ki ti se pojavi z ispisom pa izvira iz tega da zraven tvojega podatka ki ga pošlješ, Bascom doda še CR LF na koncu. Preden prikažeš string na LCD-ju moraš iz tega stringa odstraniti zadnja dva bajta in bo izpis pravilen.
LP |
|
Nazaj na vrh |
|
|
JUG Mojster
Pridružen/-a: Čet Nov 2011 15:49 Prispevkov: 38
|
Objavljeno: Pet Nov 11, 2011 5:00 pm Naslov sporočila: |
|
|
Aha, torej naj definiram S kot string * 16 ali kako. Nisem ravno domač s stringi in rs-485. Pa še kako naj odstranim zadnja dva bajta?
Hvala za odgovor,
LP Jakob |
|
Nazaj na vrh |
|
|
|