1 / 16

Dizajniranje 1W mreže Odabiranje komponenti Odabiranje konfiguracije mreže

Dizajniranje 1W mreže Odabiranje komponenti Odabiranje konfiguracije mreže Očitavanje adresa pojedinih komponenti Brojanje komponenti u mreži Očitavanje podataka iz komponenti. One wire mreža podrazumjeva konfiguraciju Master -Slave. Master je jedan, slave komponenti može biti više.

vida
Download Presentation

Dizajniranje 1W mreže Odabiranje komponenti Odabiranje konfiguracije mreže

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Dizajniranje 1W mreže • Odabiranje komponenti • Odabiranje konfiguracije mreže • Očitavanje adresa pojedinih komponenti • Brojanje komponenti u mreži • Očitavanje podataka iz komponenti

  2. One wiremreža podrazumjeva konfiguraciju Master-Slave. Master je jedan, slave komponenti može biti više. U našem zadatku postavit će mo tri Slave komponente. Master (AVR kontroler) 1W sabirnca 1820 1820 1820 Može se dodavati još komponenti ovisno o napajanju.

  3. Što je AVR? To je mikroračunalo zasnovano na RISC arhitekturi. Proizvođač je Atmel. Razlikujemo nekoliko podskupina: Attiny, Atmega8,Atmega16, Atmega64,Atmega128, Xmega…. Ovdje najprije koristimo Attiny2313 kao master komponentu jer već poznajemo tu vrstu mikoračunala. Što se tiče slave komponente koristit će mo DS18S20 komponentu. To je čisti digitalni senzor temperature. Komponenta je proizvod tvrtke Dallas Semiconductor. U sebi ima ugrađen 1w protokol što znači da je sposobna komunicirati s većinom mikroračunala nove generacije te jedino na taj način možemo izvući podatak iz komponente.

  4. Kako radi DS1820 komponenta? Komponenta sadrži u sebi osjetilo temperature, AD pretvornik,RAM memoriju u koju generira rezultate mjerenja, ROM u kojem se nalazi jedinstvena adresa komponente. Zašto je potrebna adresa? Adresa postoji zbog identifikacije u mreži. Ako se koristi samo jedna komponenta adresiranje se preskače. Kako razlikujemo 18S20 i 18B20? 18S20 ima familly kod 10 H , a 18B20 ima familly kod 28 H. Prva komponenta mjeri s preciznošću 0,5 °C , a drugi ima preciznost od 1/16(0,0625). Na koji način je prikazan broj -0,5 stupnjeva C? 1111111111111111 lijevi bajt znači predznak, a desni bajt je vrijednost. Kako je u RAM-u pohranjena vrijednost od 1 °C? 000000000000000010 Što treba napraviti da bi smo dobili stvarnu temperaturu? Da bi smo dobili stvarnu vrijednost dovoljno je sadržaj RAM-a podijeliti s 2 kod 18S20 skupine, a s 16 kod 18B20,ako smo varijablu za pohranu temperature definirali kao FLOAT . Ako je ta varijabla definirana ko integer treba obraditi ostatak dijeljenja jer on nosi u sebi informaciju o ostalim decimalama.

  5. Prvi zadatak: Očitati adresu za svaku od dvije komponente. Svaku komponentu pojedinačno dodavati u mrežu i očitavati adrese. Adrese zapisati na papir i odrediti o kojoj se komponenti radi. Drugi zadatak: Postaviti sve tri komponente na istu sabirnicu. Napraviti proceduru za brojanje komponenti u mreži i prikaz rezultata na displeju. Treći zadatak: Napraviti proceduru za očitavanje podatka o temperaturi ako je u sistemu samo jedna komponenta. Četvrti zadatak: Napraviti proceduru za očitavanje podatka o temperaturi ako je u sistemu više komponenti. Peti zadatak: Napraviti programsku proceduru ako na isti kontroler dodajemo dvije komponente, ali na dva različita pina. Treba napraviti proceduru za čitanje adrese i proceduru za očitavanje temperature.

  6. Riješenja: $regfile = "2313def.dat" Config Lcd = 16 * 2 Dim Ar(8) As Byte Dim I As Byte , W As Word Config 1wire = Portd.0 Vrijedi za sve zadatke. Prvi zadatak: 1wreset lcd Err 1wwrite &H33 For I = 1 To 8 Ar(i) = 1wread() Next For I = 1 To 8 Lcd Hex(ar(i)) Wait 1 Next Čitanje adrese Ispis adrese na LCD

  7. Drugi zadatak: do Dim w as word W = 1wirecount() Cls lcd W loop Brojanje komponenti Dim w as word DimAr(8) AsByte W = 1wirecount(ar(1)) Lcd "ERR " ; Err ; " count " ; W 89C2051

  8. 1wreset 'reset sabirnice 1wwrite &HCC 'preskoči interni ROM 1wwrite &HBE 'čitaj temperaturu T1 = 1wread() 'učitaj niži B u polje T1 T2 = 1wread() 'učitaj viši B u polje T2 1wreset 'reset sabirnice Treći zadatak: Čitanje temp Dim T1 As Byte Dim T2 As Byte Dim T As Integer 1wreset 'reset sabirnice 1wwrite &HCC 'preskoči interni ROM 1wwrite &H44 'pretvori temperaturu Waitms 250 Waitms 250 Waitms 250 Početak pretvorbe T = Makeint(t1 , T2) T = T / 16 Cls Lcd T Home Lowerline Lcd "Temperatura" Wait 5 Učitavanje temp u varijablu te ispi na lcd-u

  9. Četvrti zadatak(slajdovi 10 do 14): • Adresiranje dviju komponenti • Čitanje temeperatura prvo s jedne komponente a zatim s druge komponente • Ispis podatka na LCD Potprogrami za adresiranje i čitanje Tablice adresa Deklaracije Petlja Potprogram za ispis na LCD

  10. Dim T1 As Byte , T2 As Byte , T3 As Byte , T4 As Byte Dim I As Byte , PomAsByte Dim Temp1 As Integer Dim Temp2 As Integer Dim Tmp1 As Single Dim Tmp2 As Single $regfile = "2313def.dat" Config Lcd = 16 * 2 Config 1wire = Portd.0 Declare Sub Mjerenje1 Declare Sub Mjerenje2 Declare Sub Ispis deklaracije petlja Do Mjerenje1 Mjerenje2 Ispis Loop

  11. Sub Mjerenje1 1wreset 'reset sabirnice RestoreAdr_1 'adresiraj 1. senzor Gosub Adresiraj 1wwrite &H44 'pretvori temperaturu Waitms 500 'prieekaj 500 ms zbog pretvorbe temperature u komponenti DS18S20 1wreset 'reset sabirnice RestoreAdr_1 'adresiraj 1. senzor Gosub Adresiraj 1wwrite &HBE 'eitaj temperaturu T1 = 1wread() 'ueitaj niži B u polje T1 T2 = 1wread() 'ueitaj viši B u polje T2 1wreset 'reset sabirnice End Sub Adresiranje i mjerenje na prvom senzoru

  12. Sub Mjerenje2 1wreset 'reset sabirnice RestoreAdr_2 'adresiraj 2. senzor Gosub Adresiraj 1wwrite &H44 'pretvori temperaturu Waitms 500 'prieekaj 500 ms zbog pretvorbe temperature u komponenti DS18S20 1wreset 'reset sabirnice RestoreAdr_2 'adresiraj 2. senzor Gosub Adresiraj 1wwrite &HBE 'eitaj temperaturu T3 = 1wread() 'ueitaj niži B u polje T1 T4 = 1wread() 'ueitaj viši B u polje T2 1wreset 'reset sabirnice End Sub Adresiranje drugog senzora i mjerenje

  13. Sub Ispis Temp1 = Makeint(t1 , T2) Temp2 = Makeint(t3 , T4) Tmp1 = Temp1 / 16 Tmp2 = Temp2 / 16 Cls Lcd Tmp1 Home Lowerline Lcd Tmp2 End Sub Adresiraj: '*adresiraj 1-wire* 1wwrite &H55 ' slijedi adresa For I = 1 To 8 ReadPom 1wwrite Pom ' šalji 8B adrese Next Return Ispis na displeju

  14. Adr_1: Data &H28 , &H7E , &HFA , &H47 , &H04 , &H00 , &H00 , &H76 Adr_2: Data &H28 , &H4E , &HEB , &H23 , &H03 , &H00 , &H00 , &HCE Ovo su adrese konkretnih komponenti koje treba preoblikovati. Napisati one adrese koje ste zabilježili u prvom zadatku.

  15. Pitanja: Napisati proceduru za slučaj ako su dva senzora povezana na različite pinove. Neka je kao izlazna komponenta umjesto LCD-a vezana RGB LED-ica. Napisati proceduru gdje će ledica svijetliti plavo ako je temp niža od 20°C, zeleno između 20 i 25°C , a crveno ako je temp veća od 25°C. Na koji način bi DS18B20 mogli koristiti kao identifikacijski chip.? Što sadrži ROM zadane komponente? Od čega je sačinjen ID komponente?Što je to familly kod? Čemu služi ID adresa? Kako je prezentirana informacija o temperaturi unutar komponente? Kako se digitalno zapisuje temperatura od -1°C?

More Related