Prosirenje ulaza i izlaza na PIC-u

Rasprava o PIC mikrokontrolerima, PIC projekti i drugo vezano za PIC-eve...

Moderators: pedja089, stojke369, [eDo], trax

Post Reply
jozun
Pocetnik na forumu
Pocetnik na forumu
Posts: 26
Joined: 13-06-2006, 15:07

Prosirenje ulaza i izlaza na PIC-u

Post by jozun »

Pozdrav svima.

Surfajuci po Microchipovim stranicama bio sam naisao na prosirenje za PIC-eve za kontroliranje velikog broja ulaza i izlaza. Konkretno moze li se ikako napraviti nesto sa 80 ulaza i 80 a da ne moram raditi komunikaciju 5-6 PIC-eva. U biti 2 bi nekako povezao USART-om ali vise :-(

Htio bih cijelu kucu povezati na PIC-eve i kontrolirati i svjetlo u garazi, podrumu, hidrofor, klimu u dnevnom, grijalice na katu...

Srecom nisam stedio kabela kod pravljenja kuce tako da sada mogu to odraditi bez puno stemanja :-)

Znaci zna li itko za ta prosirenja? Ili neki drugi nacin da dobijem veliki broj ulaza i izlaza. Sve ce to biti glupi ulazi. Znaci bez ikakve obrade. Radi - ne radi i zdravo.
buco

Post by buco »

Jedan znanzac i ja smo jos prije 4-5 godina trebali radit nesto slicno za neki hotel ! za komunikaciju ti ne trebaju velike kolicine zica u sustavu , kad bi to vidio onaj koji placa mislia bi da si "udaren" !! :D
Dovoljna ti je postojeca mreza napajanja koju koristis kao mrezu za komunikaciju izmedju mikroracunala !! Inace odgovor na pitanje o povecanju broja korisnih I/O pinova [ portova] je tu visekratno dan , obicno se koriste expanderi [SPI] i najjednostavnije za povezat . Ali po mom sudu tebi ne treba sustav s puno nozica [ tj s expanderima na N x pinova] vec samo sustav LAN [ uvijetno receno] jedno racunalo je host i kontrolira rad ostalih , ostali mu se prijavljuju preko mreze koju imas , komunikacija naravno serijska , sad dali uart ili neka druga neznam ali uart nije los izbor jer sumljam da imas prenosit velike kolicine podataka !! Svako racunalo pa i host , mora imat svod ID kod i moras uspostavit mod otprilike [ GB , ID , naredba, velicina niza podataka niz podataka , CS ] CS a ne CRC jer za tako male nizove sasvim je djelotvoran a daleko je jednostavniji za kalkulaciju !!
Kopcanje na mrezu 220V odradi preko OPTO IC i neceg u stilu freq modulacije [ kao FSK npr] !! Taj LAN bi vise licio "neuronskoj" mrezi .
Broj MCU u sustavu nioje ogranicen znaci mozes dodavat i oduzimat po potrebi !! Host na startu trazi identifikaciju svih MCUa u mrezi i ako koji "fali" prijavit ce ti . Na pises auto diagnosticke rutine za sustav na razini hosta i na razini slave MCUa da bi sustav bio sto vise samoodrziv ! a i laksi za odrzavanje osobi koja s njim rukuje tj odrzava ga !!!
jozun
Pocetnik na forumu
Pocetnik na forumu
Posts: 26
Joined: 13-06-2006, 15:07

Post by jozun »

auuuuuu
sta mi sve napisa :-)

a zanimljiva mi ta shema sa strujnom mrezom. je li itkoa ista ako odradio? i da funkcionira?
buco

Post by buco »

Svabe su prije koju godinu pustili su na koristenje mrezu preko distribucijske VN mreze !!! Brzina je bila prilicno dobra i kvaliteta ! A sto mislis kako HEP umezava racunala ! na baznim stanicama !?? :D Kako funkcionira dirigirana potrosnja ...itd..??!!??
Nisam ti ja nista naprica novo i cudno , oko detalja konekcije LANa preko napojne mreze vidi na netu , mislim da postoje i IC koji to obavljaju , ja se vise ne sjecam web adresa isl. !!
Da bi umrezavao milijune racunala nije potrebno milijune kablova vec samo dobar ID sustav [ identifikacijski] i vremenska raspodijela [ time shareing ] pristupa mrezi na mikro i makro razini [ hijerarhijske mreze] !! Mozes gradit hijerarski princip ili "borg"ovski princip mreze ovaj drugi je puno zanimljiviji bar meni jer svako sa svakim moze razmijenit trazene informacije direktno [ naprimjer racunalo koje kontrolira svijetlo u predsoblju more razmijenit informacije sa racunalima koji kontroliraju svijetlo u ostalim prostorijama i sl..] netreba ic preko master racunala [ racunala na visoj razini] ..itd..!! Uostalom to je sve samo samo stvar "vizije" ili dobre ideje kreiranja mreznog sustava i algoritama koji ce to podrzat !
micromatic
Penjem se :)
Penjem se :)
Posts: 58
Joined: 23-02-2005, 14:13
Location: Hrvatska - Cakovec
Contact:

Post by micromatic »

Pozdrav, za komunikaciju po mreži progooglaj "power line carrier" no ja ti predlažem da koristiš RS485 komunikaciju za što ti trebaju dvije žice izmeðu ureðaja koji se vežu paralelno. Što se tiæe proširenja portova na 80 miclim da bi takav ureðaj bio prekompliciran i jako nezgrapno centralizirano spajanje. Razmisli o rome da napraviš ureðaj koji ima tek nekoliko I/O portova koje možeš razmjestiti po stanu što bliže upravljanim ureðajima a njih jednostavno povežeš po RS485. Ureðaji naravno trebaju biti adresirani. Master RS485 linije može biti PC ili zaseban ureðaj na bazi mikrokontrolera.
__________________
http://www.micromatic.hr
__________________
buco

Post by buco »

Sto se broja komunikacionih portova tice dovaljn ti je i jedan jedini po MCUu i za master i za slave MCUe , za sve u mrezi , cak i za puno vise racunala , pogotovo za onu primjenu koja tebi treba. A po meni ti je bolji "borgovski" sustav mreze nego hijerarhijski , ali to je tema za sebe !
@micromatic pa nebi trebao bit kompliciran viseportovski I/O sklop jer gotove HW verzije postoje , rukovanje njima je jednostavno a spajanje na MCU isto tako pogotovo kod SPI modula [MAX7301] , ali to njemu ne treba uopce za vec opisanu namjenu .
Sto se identifikacije racunala u mrezi tice veoma ces lako nac emulatore za pay-tv njihov sustav naredbi i oznacavanja preuzmi u skracenoj verziji , dodaj CS obicni 8 bitni i to je to, ili vec neki drugi a mozes kreirat lako i svoj , najbolje !!
Ova stvar bi bila vijerojatno zanimljiva i ostalima koji se bave racunalima kao projekt na ovom boardu , a moze mu se dodat i sustav zastite s jednom eletronskom bravom ...itd.. !!!!!!!! :D
micromatic
Penjem se :)
Penjem se :)
Posts: 58
Joined: 23-02-2005, 14:13
Location: Hrvatska - Cakovec
Contact:

Post by micromatic »

Slažem se Buco. Krivo sam se odrazio, nije problem proširiti I/O portove nego dovesti 80 žica do jednog mjesta u zgradi. Evo dokumentacije za jedan slièan ureðaj koji sam radio. On doduše komunicira po RS232 ali nije problem ni RS485 u ovom sluèaju je bitniji opis komunikacije. Za RS485 je potrebno dodati još samo byte adrese za koji se poruka odnosi odnosno koji ureðaj šalje.

http://www.elektronika.ba/forum/uploadz ... _Upute.pdf
__________________
http://www.micromatic.hr
__________________
buco

Post by buco »

@micromatic ta bi bila stavrno !! :D 80 zica vucarat na okolo po stanu :D
To se covijek vijerojatno zania ili...!? :?
Onaj tvoj dokument mu moze dobro posluzit da vidi nacin adresiranja oli ti "ID-ifikacije" MCUa u sustavu [mrezi] , mislim da mu nebi bilo lose dodat naredbe i "len" podataka u poruci [ broj bytova podataka] i CS 8 bitni. Naredbe radi toga da racunalo moze zatrazit odredjenu informaciju ili spec podatke, izvrsenje odredjene operacije ...isl.. od drugog racunala u sustavu [ dovoljan je jedan byte za naredbu].
Mislio sam da ce bit vise zainteresiranih pa da otvorimo projekt i krenemo na posao !?! ... ali.... :?
A ono RS232 ili RS485 , pa dodavanjem pullup otpornika i sotky diode na RX TX [TTL stranu RS232] dobivano "dvozicni " prijenos , koji je zapravo UART koji se u praksi i najvise koristi, "jednosmijerni" al s 2 zice masa i signal !!! Posto ovdije ne trebaju velike brzine prijenosa [ 9600 dovoljno]
jer nema ni velikih baza podataka koje se transferiraju u mrezi .
jozun
Pocetnik na forumu
Pocetnik na forumu
Posts: 26
Joined: 13-06-2006, 15:07

Post by jozun »

hm, ovo postaje sve zanimljivije.

ajmo ovako. Ima li igdje taj RS485 firmware za npr 16F628 ili neki slican kontroler. Odnosno vec gotovi program koji demonstrira kako master kontroler komunicira sa slave uredjajima preko rs485.

Buco mozes li malo pojasniti kako bi realizirao taj "borgovski" sustav i ako imas neki primjer daj ga da pogledamo.

Hocemo probati napraviti takvu mrezu. Dajte neke primjere pa da pokusamo nesto sklepati.

I kad smo vec kod toga zna li itko gdje se moze nabaviti MCP23016 koji bi mi dobro posluzio kao prosirenje ulaza i izlaza. U HR ali i u BiH ili Srb. Svejedno. Naci cu nekoga da mi to kupi
buco

Post by buco »

RS485 je HW !! nije FW !! I moze ic na bilo koji programibilni sklop pa i na pIC16F628. Ti mu moras napisat prikladnu rutinu za komunikaciju preko tog HW !!
Borgovski sutav pa nesto je vec govoreno o nacinu "adresiranja" MCUa u sustavu e sad dal ces ti koristit hijerarhiski model gdje sve informacije i pozivi u sustav idu preko master racunala [ono upravlja mrezom] ili ces omogucit da svako racunalo moze komunicirat sa svakim u mrezi [borgovski princip] gdije nema master racunala , svaki MCU moze bit master , pa i PC ili bilo koje racunalo je jednako tretirano , prioriteti ne postoje , samo po ukljucenju mreze jedno od racunla odglumi masera tj testira sustav i mrezu i nakon toga postaje obicno racunalo u mrezi. Posto je niz bitova relativno mali ako dignes brzinu komunikacije u mrezi prakticki dobijas "trenutne" odgovore " na sve upite , kasnjenje generiraju "samo" rutine u MCUu .
Ali sve je to sekundarnog znacenja ti moras prvo znat sto ces kontrolirat i kako na mikro razini , definicija IDa naredbe i niza podataka je najmanji problem [ bar tako mislim], izvest HW za spajanje u mrezu [mozda s optocouplerom i kondom ] tu pokusaj bit racionalan ne previse kompiciran jer ti treba za svako racunalo u mrezi .
Sto se I/O expandera tice ja sam koristio maximove SPI expandere i ove dobre stare 8 bitne latch FFove !
Da bi krenuli u razmisljanje o izvedbenom dijelu i realizaciji treba vidit tko je sve zainteresiran i sto bi mi to realno radili [regulaciju i kontrolu cega] , sto moze pridonjet i ako je sve OK otvorit forum za to !
zer0
Pravo uznapredovao :)
Pravo uznapredovao :)
Posts: 250
Joined: 05-08-2005, 21:10

Post by zer0 »

Evo neki pdf dokument za izradu "adaptera" sa rs232 na rs485.

http://www.elektronika.ba/forum/uploadz ... _RS485.pdf
Last edited by zer0 on 20-07-2006, 23:09, edited 1 time in total.
buco

Post by buco »

Ma ja mislim da je za stvaranje LANa preko napojne mreze puno jeftinije i jednostavnije modulirat logicko stanje na neku freq i demodulirat ga na prijamu pomocu OPTO ICa i konda vezat ga na napojnu mrezu [ bilo bi pametno pregooglat net malo ], kao kod telefona.
Ako bi za svaki MCU u sustavu kontrole svih zarulja i stekera i neznam cega u stanu koristio shemu koja je na dokumentu "propa bi ko grcka" a sto je najgore trebalo bi puno mjesta tj sklop bi posta prevelik fizicki !!!
Ja ovdije ima OPTOICe 20KV mislimda bi bili prikladni za odvojit MCU od napojne mreze jer moras uvijek racunat i na udare u toj istoj mrezi kad grmi npr ... :? Mozda bi jos bolje bilo sve to induktivno odvojit .....
Relativno lako je sjest za racunalo i pocet pisat rutine za kontrolu zarulje i sl.. ali postav i realizacija mreze kao i nacin zastite iste je stvar broj 1 kad se definiraja nacelno sutav ! Rutine za test i kontrolu mreze pogotovo hijerarhijske nebi morale bit tako strasno teske , kod "borgovske" ima dodatnih zahtjeva . Sustav bi trebo bit lako odrziv i postavljen tako da se nove jedinice lako dodaju bez intervencije u FW mastera [ ako je hijerarhijski sustav] kod "borgovskog" je to ionako normalno inace nebi postoja.
Ali bar smo nesto poceli diskutirat ako bude diskusija zanimljiva kao i ideja mozda se skupimo !? no vidit cemo ..!! :D Mozemo koristit i modificirane parking senzore[napisat rutine] za da vidimo jel ima kogau prostoriji , senzore nivoa osvijetljenja i sl sklopove , sijetite se ....recite nesto ..ideja , makar i "fix" ! :D
jozun
Pocetnik na forumu
Pocetnik na forumu
Posts: 26
Joined: 13-06-2006, 15:07

Post by jozun »

hm taj borgovski princip je ok. samo i u njemu ima mala kvaka. sjecas se Buco sta je bilo kad je cpt Janeway uvalila virus Borg Queen :-)

sala mala.

aj da se vratimo stvari. ajmo prvo definirati sta bi svaki BorgDrone trebao imati i na koji nacin se spajati u kolektivni um. Kad bi to odradili onda svakoj "radilici " definirati nacin komunikacije sa ostalim i posvetiti se prosirenjima koje bi mogli imati.

Nakon toga jos rijesiti komunikaciju sa racunalom i imamo kucni Borgovski kolektiv :-)
buco

Post by buco »

Ja sam bio na jednoj od nasih ST stranica imao jednu diskusiju [cak je i obecavala] u vezi "master minda" u "borgoovskom" kolektivu . Zanimljiva tema za raspravu na ST forumima ali mozda jos zanimljivija za princip postavke sustava mreze .
Ja sam prije par godina imao na umu razradit detaljnije jedan nazovimo to OP SYS za mikroracunala umrezena i mislio sam ga bio nazvat MikroBorg !! :D Inspiriran nekim idejama sa STa i iz diskusija na temu mreza!! Inace onaj virus je ideja jos iz TNG-a ,a uvodjenjem "master minda" u mrezu virusi postaju veoma tesko zarazni sustavu , ali.... to sad nije forum za to.
No vratrimo se u real time !! Spajanje tj kreiranje mreze , pa prvo da vidimo kao to obavit HWski [spajanje na napojnu mrezu] protokol u sustavu je nasa stvar i mi ga mozemo definirat po nasoj volji i ideji , "muzickoj zelji" , zasto bi to morao bit bilo koji od postojecih protokola za razmijenu podataka !?? rutinu za protokol ako je SW dizajniran napisemo po nasoj zelji ako HW implantat MCUa onda postujemo neka od pravila standarda protokola , moramo !!
Sto se radilica tice , treba definirat sto sve zelimo nadzirat . Kad si definiramo sto zelimo onda probamo nac sto ima slicno da modificiramo po potrebi ili napisemi FW za kompletan sklop ,. MCU u sustavu mogu bit bilo koji , kako je kome lakse , vazno je da se postuju pravila ponasanja i protokola na mrezi [LANu] ! Centralni uredjaj more bit MCU sa tastaturom [ grafic mode] i LCDom , kao daljinac [ ili IR ili RF ] zasto bi to bio PC !? A i nezgodno je sve potezat zicama na PC kad mozes fino s jednim takvim kontrolnim sklopom imat "komunikator" [opet ST]!! :D ako uzmemo 2G4 RF imamo dvosmijernu komunikaciju i domet dovoljan za kucu , komunikatore po zelji mozemo multiplicirat [ da se muz i zena ne svadjaju] !! Eto primjera neke su stvri izvedbeno cak i gotove " komuniokator " npr. [ trebat ce odredjene izmijene pogotovo na izmjeni zastite integriteta podataka ] necemo valjda dozvolit da u danasnje doba pustimo u LAN nekriptirane informacije u razmijeni , protokol nesmije biti simplificiran na par bita IDi i slicno, nema gresaka u sustavu ako mislimo da to bude nesto !!?? :D
Jedan pravi MikroBorg sustav bi trebao imat mogucnost da racunalo u sustavu koje treba pomoc tu pomoc od racunala u mrezi i dobije [ standardizirane procedure] . Meni je ideja o tako jednom mreznom sustavu zanimljiva i steta so se nije imalo vise vremena jer je trebalo i prezivljavat !!
A to je ipak nesto sto se nemoze uradit za mjesec dva , mislim na pravu MikroBorg strukturu mreze !!
Znaci posto si ti ocito vec razmisljo o tome , upotrebi, vijerojatno si razmisljo i sto bi taj sustav treabao kontrolirat , koja razina samo upravljanja [ zvuci poznato .. :D ] sutava je dozvoljena , kao i smisao tako jednog projekta !!
Pa nam reci sto bi za pocetak taj sustav po tebi trebao radit !??
Polako se krece ali... cini mi se da bas i nije pucanstvu sve to previse zanimljivo !?? :( hmmm.....!
jozun
Pocetnik na forumu
Pocetnik na forumu
Posts: 26
Joined: 13-06-2006, 15:07

Post by jozun »

hehe, vidis kako se rasprava lako odvede u drugom smjeru :-)

osnovna ideja bi bila da se na radilice (odsada zovem ove slave MCU-ove ovako) moze prikopcati vise vrsta ulaza i izlaza. ali evo podjimo od ideje da radimo pametnu kucu koja bi se kontrolirala preko mastera i preko racunala koji bi komunicirali bezicno.

na prvom katu se nalaze sobe sa svjetlima, klima uredjajima i grijalicom u kupaonici. u svakoj sobi bi bila jedna radilica i odradjivala jednostavne zadatke, npr kad se otvori prozor gasi se klima i tako neke jednostavne fore i svaku promjenu stanja bi dojavljivao masteru.

onda na krov staviti senzor za kisu, senzor za temperaturu. kisu bi dojavljivao kod promjene stanja a temp npr svakih 5 min.

u prizemlju bi bila radionica sa strojevima za aluminijske otvore. i u njoj bi bila radilica koja bi imala senzore pokreta i dima plus standardna kontrola svjetala i klime tako da bi se mogao odraditi i jednostavni alarm i protupozarna zastita. alarm bi se palio na masteru ili preko racunala.

Eto to je neko moje razmisljanje oko toga sta bi to trebalo imati. E sad znam da nije jednostavno za napraviti ali sto vise hipotetskih situacija obradimo to ce biti lakse predviditi ih za kasniju ugradnju.

A zaboravio elektronske brave...

Ima li itko jos sta za dodati???
buco

Post by buco »

:D :D
Jos samo da se jos netko osim nas zainteresira ! Standardizacijom procedura i tipiziranjem podataka svaki MCU [radilica] moze svima u mrezi "razglasit" koje sve senzore posjeduje ili podrzava svojim FW za buducu dogradnju !
Ako se jos tko javi da ga to zanima mozemo se pocet dogovarat oko projekta .
A da , trebalo bi odgooglat malo spajanje na napojnu mrezu !!
Ali ja ti imam osijecaj da od tog projekta neci biti nista bar na ovom boardu !? ne pitaj zasto !!!!! :?
Firkragg

Post by Firkragg »

Komunikacija preko VN mreze se vrsi tako da se signal modulira na VF i salje kroz high pass filter (dovoljno jedan kondic od par pf) i prima isto tako s tuningom kao radio veza.

Vjerovatno bi radili i neki 'gotovi' FSK ili sl. primopredajnici s filterom umjesto antena.

Radilica naravno uzima napajanje s iste mreze.
buco

Post by buco »

Da , to ili sl rijesenja su In jer treba najjednostavniji moguci HW , razumljivo , i zbog "fizike" i zbog jednostavnosti sklopa !! Ja sam proguglao nesto i vecina uredjaja [ bar onog sto sam ja vidio ] ima neku vrst feritne jezgre slicno "prilagodnom elementu" sa antena ako se sijecas . Induktivno bi odvajanje + kond bilo zanimljivo i radi zastite sklopa od prenapona u PNu [PN== napojna mreza , power network da bude lakse u buduce]. Vecina sklopova , malih brzina, koristi FSK koji je losa kopija PWMa [ setiranjem raznih postavki PWMa mozemo koristit sub kanale , iako ne vijerujem da ce bas trebat ] , TI-ovi DSPi koriste 2x 16 bita PWM za generiranje tj modulaciju signala koja kasnije preko odvojnog trafoa ide na mrezu !! a svaki i najsugaviji MCU ima PWM implement u sebi a i moze se emulirat ako bude potrebno !! Podrucja Etherneta tj brzih komunikacija nisam ni pregledavo jer za ovako sto nije potrebno 10--100 Mbita !!! :D , po meni 38k--56k sasvim dovoljno [ islo bi i na manje brzine]
jer je duzina rijeci protokola relativno mala, pa je i na tim brzinama moguc veliki broj poruka u kratko vrijeme reda 100--500mS !! :D
Post Reply