 |
www.elektronik.si Forum o elektrotehniki in računalništvu
|
Poglej prejšnjo temo :: Poglej naslednjo temo |
Avtor |
Sporočilo |
nostromo Član

Pridružen-a: Sob 24 Dec 2005 18:19 Prispevkov: 251 Aktiv.: 1.06 Kraj: Ljubljana
|
Objavljeno: Tor Avg 22, 2006 10:45 am Naslov sporočila: UART povezava dveh 16F628a |
|
|
Pozdravljeni, potrebujem pomoč začetniku pri povezavi dveh 16F628a.
Preko UART "vrat" (RB1 in RB2) bi povezal master mikrokontroler, ki pregleduje stanje stikal na portA ter ob vsaki zanki pošilje podatek slave mikrokontr., ki ustrezno reagira....pojavilo pa se mi je nekaj vprašanj..:
AD1: Koliko žilni kabel potrebujem za povezavo? 2 ali 3, na netu sem prebral da je poleg RB1 in RB2 potrebno povezati tudi skupno maso??
AD2: Če so povezave dolge moraš imeti vmes še max232?? Koliko pa je ta razdalja?? Jaz bom imel povezavo na cca.5m v avtomobilskem okolju (kabel od telefona ali UTP). Kako vplivajo motnje motorjev?
AD3: Predvidevam da moram uporabiti sinhroni-master način povezave?, saj bo en mikrok. pošiljal, drugi pa sprejemal. Ne vem pa še kako bo master vedel da je slave res sprejel. Ali moram program tako napisat, da mu nazaj sporoči??
AD4: Kako je pa z "uro"? Če uporabim interni oscilator je baje preveč napak pri prenosu ??, zato na netu priporočajo uporabo zunanjih quartzov....??
Hvala za odgovore ali pripombe začetniku (stopnja LED-ic). Če ima kdo od vas preprost (v knjigi mikrok. za F84 je prehud) program se toplo priporočam.
|
|
Nazaj na vrh |
|
 |
Sokrat Član


Pridružen-a: Čet 25 Avg 2005 11:00 Prispevkov: 5584 Aktiv.: 23.58
|
Objavljeno: Tor Avg 22, 2006 10:56 am Naslov sporočila: Re: UART povezava dveh 16F628a |
|
|
nostromo je napisal/a: |
Pozdravljeni, potrebujem pomoč začetniku pri povezavi dveh 16F628a.
Preko UART "vrat" (RB1 in RB2) bi povezal master mikrokontroler, ki pregleduje stanje stikal na portA ter ob vsaki zanki pošilje podatek slave mikrokontr., ki ustrezno reagira....pojavilo pa se mi je nekaj vprašanj..: |
Zakaj pa ne bi kar prvi MCU odreagiral - zakaj dva ?
Citiram: |
AD1: Koliko žilni kabel potrebujem za povezavo? 2 ali 3, na netu sem prebral da je poleg RB1 in RB2 potrebno povezati tudi skupno maso?? |
Skupna masa je potrebna, ce bos povezoval s single-ended povezavo. Ce bos uporabil diferencialno, potem ni potrebna, je manj obcutljivo za motnje, potrebuje pa dve zili na signal (torej dva para zil za dvosmerno povezavo). Za dvosmerno full-duplex povezavo potrebujes tako 3 zile za asinhrono in 4 za sinhrono povezavo, za diferencialno dvosmerno full-duplex pa 4 zile za asinhrono oz. 6 za sinhrono.
Citiram: |
AD2: Če so povezave dolge moraš imeti vmes še max232?? Koliko pa je ta razdalja?? Jaz bom imel povezavo na cca.5m v avtomobilskem okolju (kabel od telefona ali UTP). Kako vplivajo motnje motorjev? |
Za tako razdaljo in glede na motnje (ter dejstvo, da ne bos priklapljal drugih naprav, ki bi bile omejene na en nacin prillopa, kot so npr. osebni racunalniki z vgrajenim serijskim portom, ji pricakuje RS232 nivoje), ti mocno svetujem RS422 povezavo. TTL je neprimeren za take razdalje in ker bos tako ali tako moral uporabiti transceiverje, naj bodo vsaj manj obcutljivi na motnje kot je RS232.
Citiram: |
AD3: Predvidevam da moram uporabiti sinhroni-master način povezave?, saj bo en mikrok. pošiljal, drugi pa sprejemal. Ne vem pa še kako bo master vedel da je slave res sprejel. Ali moram program tako napisat, da mu nazaj sporoči?? |
Ni nujno, da je povezava sinhrona. Pri asinhroni full-duplex imas eno zilo manj, saj ni clock signala, je pa hitrost (throughput) nekoliko nizja ... a za preverjanje stanja tipk to res nepomembno. Jaz bi na tvojem mestu uporabil asinhrono povezavo.
Da, program moras napisati tako, da bos preverjal ali je drugi MCU podatek sprejel. Noben nacin komunikacije inherentno ne zagotavlja takega preverjanja, saj lahko drugi MCU crkne, ga kaj "zmoti" (tezave z napajanjem, itd.) oz. se mu pac zgodi kaj drugega nepredvidenega in podatka ne dobi.
Citiram: |
AD4: Kako je pa z "uro"? Če uporabim interni oscilator je baje preveč napak pri prenosu ??, zato na netu priporočajo uporabo zunanjih quartzov....?? |
Interni oscilator je dalec prevec nestabilen (temperatura in napajalna napetost uplivata na frekvenco delovanja) za kaj vec kot kaksen preprost prenos z zelo malo biti na frame, torej s pogosto resinhronizacijo. Ce napises svojo kodo za nekajbitni (recimo 1-bitni) ART, potem bi slo tudi brez stabilne ure, a tako pocetje je ponavadi nesmiselno ...
|
|
Nazaj na vrh |
|
 |
jur Član


Pridružen-a: Pet 02 Dec 2005 14:45 Prispevkov: 5142 Aktiv.: 21.71 Kraj: [color=zelena]Ljubljana[/color]
|
Objavljeno: Tor Avg 22, 2006 11:29 am Naslov sporočila: |
|
|
Brezhibno delujoča povezava dveh mikrokontrolerjev (poudarek je na brezhibno) je malo višji nivo kot LED diode. Ali sta dejansko potrebna dva chipa? Stanje stikal na razdaljo 5 metrov bi lahko preverjal z enim chipom. Če omenjeni chip nima dovolj pinov, vzameš malo večji model. Odpadejo pa vse težave z protokolom, softwerom,... . Povezavo od stikal do chipa bi vseeno naredil z optocouplerjem. Za 8 stikal sta dovolj dva DIL 16 optocouplerja.
Jur
|
|
Nazaj na vrh |
|
 |
nostromo Član

Pridružen-a: Sob 24 Dec 2005 18:19 Prispevkov: 251 Aktiv.: 1.06 Kraj: Ljubljana
|
Objavljeno: Tor Avg 22, 2006 2:01 pm Naslov sporočila: |
|
|
Sokrat:
Imam delujoče vezje za en MCU, ampak uporablja 10 žilni kabel za stikala....torej bi moral po avtu napeljevati 10 žilni kabel, luknje vrtat...??! Po pregledu sem ugotovil da bi šel čez požarno steno, po original luknjah kakšen okrogel kabel manjših dimenzij cca.4 žilen (bi moral v HTE pogledat kaj bi se dobilo)-torej mi preostane VF ali kabel komunikacija. Pa se mi je zdelo da je za kabel bolj enostavno.
Citiram: |
Skupna masa je potrebna, ce bos povezoval s single-ended povezavo. Ce bos uporabil diferencialno, potem ni potrebna, je manj obcutljivo za motnje, potrebuje pa dve zili na signal (torej dva para zil za dvosmerno povezavo). Za dvosmerno full-duplex povezavo potrebujes tako 3 zile za asinhrono in 4 za sinhrono povezavo, za diferencialno dvosmerno full-duplex pa 4 zile za asinhrono oz. 6 za sinhrono. |
No navsezadnje bom le moral napeljat 10 žilni kabel
JUR: Problem je v kablu, meni drugače vse deluje z enim MCU-jem(8stikal portA in 8relejev na portB)........mi lahko razložiš
Citiram: |
Povezavo od stikal do chipa bi vseeno naredil z optocouplerjem. Za 8 stikal sta dovolj dva DIL 16 optocouplerja |
LP
|
|
Nazaj na vrh |
|
 |
Sokrat Član


Pridružen-a: Čet 25 Avg 2005 11:00 Prispevkov: 5584 Aktiv.: 23.58
|
Objavljeno: Tor Avg 22, 2006 2:11 pm Naslov sporočila: |
|
|
Aha ... vidis, to se zgodi ker ljudje ponavadi vprasajo tehnicno stvar, brez da bi razlozili okoliscine, kot da jim bo kdo "iznajdbo" ukradel
Ce bi rad zmanjsal stevilo potrebnih zil z 10 na manj, potem je 3 ali 4 smiseln minimum, ceprav teoreticno gre tudi z manj (masa je v avtu skupna, komunikacija pa lahko poteka po eni sami zili half-duplex), a bos s tem imel samo glavobole zaradi motenj in programiranja, luknjo za enozilni kabel moras pa vseeno narediti.
|
|
Nazaj na vrh |
|
 |
jur Član


Pridružen-a: Pet 02 Dec 2005 14:45 Prispevkov: 5142 Aktiv.: 21.71 Kraj: [color=zelena]Ljubljana[/color]
|
Objavljeno: Tor Avg 22, 2006 2:26 pm Naslov sporočila: |
|
|
Dobijo se zelo tanki večžilni kabli. Ker je plašč kabla določene minimalne, med 4 in 10 žilami v debelini kabla skoraj ni razlike.
Imam narejeno neko tako napravo za dolge žice, bom do jutri našel shemo. Če bi vzel pravilno oklopljen kabel, bi na 5 metrov delovalo tudi v avtu brez optocopulerjev. Avtomobili so načeloma za elektroniko zelo slabo okolje, ki zahteva svoje. Od tega pride tudi naziv automotive elektronika.
Jur
|
|
Nazaj na vrh |
|
 |
aly Član



Pridružen-a: Tor 28 Sep 2004 14:51 Prispevkov: 9407 Aktiv.: 39.72 Kraj: Kranj - struževo
|
Objavljeno: Tor Avg 22, 2006 5:15 pm Naslov sporočila: |
|
|
Predlagam večžilni zelo tanek kabel - saj ne potrebuješ velikih tokov.
Pozoren bodi na statično elektriko - skozi stikalo/tipko lahko brez problema uničiš MCU. Samo spomni se, kako lahko useka, ko stopiš iz avta ven... Pred MCUjem obvezno daj supresorske/zaščitne diode za 5V.
Če boš delal komunikacijo, naredi RS422 ali RS485 (praktično ista zadeva). Masa je lahko skupna šasija in rabiš damo še 2 žici za eno smer.
Dvosmerno se mi ne zdi smiselno. Razmisli, kaj bi lahko oddajni MCU naredil, če ugotovi, da ukaz ni bil sprejet? Požmrkne ledica? nesmiselno.
Asinhrona komunikacija je povsem v redu. Ne rabiš nekih specijalnih kristalov, ker zadeva itak ne bo priključena na PC in lahko uporabiš poljuben baud-rate, npr. 8210bps. Glavno, da imata oba enako. Počasnejša ko je hitrost, bolj zanesljivo bo zadeva delovala. Če imaš samo tipke za prenašat, bo 300baud povsem zadosti (max 37 pritiskov na tipko v sekundi).
LP
_________________ I'm going to stand outside, so if anyone asks, I'm outstanding  |
|
Nazaj na vrh |
|
 |
egomez Član


Pridružen-a: Sob 03 Apr 2004 18:49 Prispevkov: 517 Aktiv.: 2.18 Kraj: Ljubljana/Sežana
|
Objavljeno: Sre Avg 23, 2006 12:58 am Naslov sporočila: |
|
|
Citiram: |
Dvosmerno se mi ne zdi smiselno. Razmisli, kaj bi lahko oddajni MCU naredil, če ugotovi, da ukaz ni bil sprejet? Požmrkne ledica? nesmiselno. |
ž
Če ukaz ni bil sprejet, bi ga pač poslal ponovno.
Če pa je program napisan tako, da nima časa ponovno poslati, potem pa je res nesmiselno.
|
|
Nazaj na vrh |
|
 |
jur Član


Pridružen-a: Pet 02 Dec 2005 14:45 Prispevkov: 5142 Aktiv.: 21.71 Kraj: [color=zelena]Ljubljana[/color]
|
Objavljeno: Sre Avg 23, 2006 8:46 am Naslov sporočila: |
|
|
V prilogi so slike vezja in sheme in eagle .brd in .sch naprave, ki bere stikala na večjo razdaljo. Uporabljeni so optocouplerji za izolacij šokov, ki bi scvrli CPU. Izolirani so samo vhodni pini. Napajanje in masa sta skupna za obe strani optocouplerjev. Ker ne gre za visokonapetostno izolacijo ni problema, ne glede na to, da masa in plus niso galvansko ločeni. Na sliki narejene naprave je stikalo na kratkem kablu. V praksi je uporabljen 15 metrov dolg UTP (mrežni kabel). Vsako stikalo je na svoji parici. Na shemi ni videti blok kondenzatorjev 100 nF na regulatorju. Ta dva sta nalotana direktno na 7805, zato jih na načrtu ni.
Slike so bolj slabe kvalitete zato, da so kratke. V .zip datoteki so zložene vse stvari, tako da si z eaglom lahko pogledaš original.
Jur
Opis: |
|
Velikost datoteke: |
68.71 KB |
Pogledana: |
43 krat |

|
Opis: |
|
Velikost datoteke: |
25.12 KB |
Pogledana: |
11 krat |

|
Opis: |
|
Velikost datoteke: |
30.72 KB |
Pogledana: |
8 krat |

|
Opis: |
|
 Download |
Ime datoteke: |
mx.zip |
Velikost datoteke: |
191.84 KB |
Downloadano: |
5 krat |
|
|
Nazaj na vrh |
|
 |
nostromo Član

Pridružen-a: Sob 24 Dec 2005 18:19 Prispevkov: 251 Aktiv.: 1.06 Kraj: Ljubljana
|
Objavljeno: Sre Avg 23, 2006 9:18 am Naslov sporočila: |
|
|
Pozdrav,
Danes sem dobil 12 žilen kabel (računalniški), ki ima dokaj primeren premer. Bom probal danes scinat in vam sporočim kaj se dogaja s stikali na 5 metrskem kablu.
Kakšno oznako pa imajo 5v zaščitne diode??Kako jih pa vežem??
Hvala za odgovore, LP
|
|
Nazaj na vrh |
|
 |
jur Član


Pridružen-a: Pet 02 Dec 2005 14:45 Prispevkov: 5142 Aktiv.: 21.71 Kraj: [color=zelena]Ljubljana[/color]
|
Objavljeno: Sre Avg 23, 2006 12:40 pm Naslov sporočila: |
|
|
Zaščitne diode? Misliš na optocoupler? V prilogi je CNY74 datasheet z razporedom priključkov na prvi strani. CNY74-4H je boljši, ker ima v ohišju 4 couplerje. Vezava je razvidna iz prve slike. Za priključni konektor je uporabljen ethernet konektor. Pravzaprav je cela naprava vgrajena v star ethernet hub. Minimalno dela, ker je večina lukenj že narejena. Izžagana je le dodatna luknja za LED.
Dobiš tudi cenejše optocouplerje. Za ta namen je dober pravzaprav katerikoli, ki da na izhodu približno digitalen izhod.
V principu bi lahko uporabil optocoupler (dva kosa) za povezavo dveh mikrokontrolerjev. Pri tem bi level shifterji za RS 232, RS422 ali RS485 sploh ne bi bili potrebni: tx1 -> coupler -> rx2 in tx2 -> coupler ->rx1. Chipa bi bila galvansko ločena, pa še ceneje bi bilo.
Jur
Opis: |
|
 Download |
Ime datoteke: |
cny74.pdf |
Velikost datoteke: |
227.41 KB |
Downloadano: |
7 krat |
|
|
Nazaj na vrh |
|
 |
bungee Član


Pridružen-a: Pon 07 Mar 2005 18:49 Prispevkov: 1479 Aktiv.: 6.24 Kraj: Ljubljana
|
Objavljeno: Sre Avg 23, 2006 1:03 pm Naslov sporočila: |
|
|
Supresorska dioda se veže tako kot zener dioda in ščiti vezje pred prenapetostjo. Ena takih je BZW06 5V8 za tvoje potrebe. Vrjetno boš našel še kakšno manjšo tale je 600W
Vrjetno, pa bi pri tebi zadostovala že kar 5.1V zener dioda ... poreže vse kar je več kot 5.1V
|
|
Nazaj na vrh |
|
 |
jur Član


Pridružen-a: Pet 02 Dec 2005 14:45 Prispevkov: 5142 Aktiv.: 21.71 Kraj: [color=zelena]Ljubljana[/color]
|
Objavljeno: Sre Avg 23, 2006 1:15 pm Naslov sporočila: |
|
|
Če si mislil na suppresorske diode, jih vežeš na vhodu v vezje (tam, kjer pridejo dolge žice na tiskanino vezje). Povežeš iz signala na maso. Suppresorji niso izolacija, ampak samo naredijo kratek stik za signal, ki je višji, kot je nazivna napetost suppresorja.
Nekaj še kar dobro napisanega je v prilogi.
Jur
Opis: |
|
 Download |
Ime datoteke: |
suppresor.pdf |
Velikost datoteke: |
105.25 KB |
Downloadano: |
15 krat |
|
|
Nazaj na vrh |
|
 |
nostromo Član

Pridružen-a: Sob 24 Dec 2005 18:19 Prispevkov: 251 Aktiv.: 1.06 Kraj: Ljubljana
|
Objavljeno: Ned Avg 27, 2006 8:09 pm Naslov sporočila: |
|
|
Čez vikend mi je le uspelo dokončat zadevo, ene 2 uri sem se hecal da sem spravil kabel čez požarno steno, zacinil konektor........in po malenkostnih popravkih mi stvar deluje kot je treba. Na kablu ni nobenih motenj (v tem smislu, da bi se stikala sama prižigala), mi je pa dotični kabel zelo všeč, ker ima zunanji oplet iz "kovinske mreže"......ga težko strgaš ali prerežeš.
Hvala vsem za sodelovanje, sem dobil nekaj novih idej za bodoče izboljšanje, LP
|
|
Nazaj na vrh |
|
 |
|
|
Ne, ne moreš dodajati novih tem v tem forumu Ne, ne moreš odgovarjati na teme v tem forumu Ne, ne moreš urejati svojih prispevkov v tem forumu Ne, ne moreš brisati svojih prispevkov v tem forumu Ne ne moreš glasovati v anketi v tem forumu Ne, ne moreš pripeti datotek v tem forumu Ne, ne moreš povleči datotek v tem forumu
|
Uptime: 491 dni
Powered by phpBB © 2001, 2005 phpBB Group
|