Quan hệ giữa bán kính anten và khoảng cách đọc

Một phần của tài liệu đồ án công nghệ thông tin TỔNG QUAN VỀ HỆ THỐNG RFID (Trang 77)

Mục tiêu là tính toán kích thước của anten để đạt được từ trường mạnh nhất phụ thuộc vào phạm vi đọc của anten.

Từ công thức (4.3) ta lấy đạo hàm 2 vế của phương trình:

( ) ( ) 3 5 3 2 2 ( ) 2. . . 3. . . '( ) ² ² ² ² dH R I N R I N R H R dR R d R d = = − + + (4.23)

( ) ( ) 3 5 3 2 2 2. . . 3. . . ² ² ² ² I N R I N R R d R d = + + (4.24) → ( ) 2 3. 2 ² ² R R d = + → 2R2+2d2 =3R2 → R2 =2d2 → R d= . 2 (4.25)

Từ công thức trên nếu có bán kính là 2,5 cm thì khoảng cách đọc tốt nhất là 1,8 cm → đúng với phần khảo sát từ trường của anten (mục 3.2.2). Khi thực hiện anten theo công thức 4.25 với bán kính R thì anten của đầu đọc sẽ luôn phát hiện được thẻ ở khoảng cách

2

R

CHƯƠNG 4: PHẦN MỀM QUẢN LÝ VÀ HƯỚNG PHÁT TRIỂN ĐỒ ÁN

Như đã nói trong phần giới thiệu chung về một hệ thống RFID, hệ thống RFID có thể hoạt động mà không cần tới thành phần này. Tuy nhiên, nếu như không sử dụng thành phần này thì hệ thống RFID sẽ trở nên vô giá trị. Vì vậy vẫn có thể nói rằng, thành phần này đóng góp phần quan trọng làm nên thành công của một hệ thống RFID được triển khai. Ở đây tôi xây dựng không phải là một hệ thống phần mềm mà chỉ là phần mềm quản lý đơn giản để thử nghiệm. Nó có khả năng quản lý kết nối giữa máy tính và reader, và quản lý cở sở dữ liệu trên máy tính. Duới đây là chi tiết về phần mềm quản lý tôi đã xây dựng cho đồ án này.

4.1. Giao diện phần mềm quản lý

Phần mềm trên máy tính được xây dựng trên ngôn ngữ Visual Basic. Visual Basic hiện là ngôn ngữ lập trình được sử dụng rộng rãi để viết các ứng dụng chạy trên hệ điều hành windows. Visual Basic cho phép phát triển nhanh chóng các ứng dụng truyền thống được thiết kế theo mô hình đặc trưng của windows. Với Visual Basic người thiết kế có thể rất nhanh chóng và dễ dàng tạo ra được một giao diện trực quan thân thiện với người sử dụng. Khi sử dụng qua ngôn ngữ này người lập trình sẽ có cái nhìn tổng quan hơn về lập trình hướng đối tượng, một xu hướng trong nghành công nghệ thông tin.

Visual Basic có khá nhiều ưu điểm khiến tôi phải lựa chọn sử dụng nó trong đồ án này. Các ưu điểm của nó có thể kể đến như:

• Phần "Visual" đề cập đến phương phàp được sử dụng để tạo giao diện đồ họa người dùng (Graphical User Interface hay viết tắc là GUI) . Có sẵn những bộ phận hình ảnh, gọi là controls, ta có thể sắp đặt vị trí và quyết định các đặc tính của chúng trên một khung màn hình, gọi là form. Nếu bạn đã từng sử dụng chương trình vẽ chẳng hạn như Paint, bạn đã có sẵn các kỹ năng cần thiết để tạo một GUI cho VB6.

• Visual Basic là một ngôn ngữ lập tŕnh có cấu trúc tương đối đơn giản.

• Dễ dàng xây dựng các phần mềm quản lư giao tiếp giữa máy tính và thiết bị ngoại vi thông qua các chuẩn như RS232, USB 2.0 chỉ đơn giản bằng cách gọi các hàm WIN API đă có sẵn trong hệ điều hành windows.

Các chức năng của phần mềm quản lý gồm có:

• Hiển thị mã ID của thẻ đang được đọc

• Thêm một ID mới vào danh sách gồm các thông tin được thêm vào như: o Họ và tên bệnh nhân

o Quê quán

o Số điện thoại liên hệ o Bệnh điều trị

o Tiền sử bệnh

o Ngày nhập viện

• Xóa mã ID cũng như thông tin đi kèm mã ID đó

• Cập nhật thông tin của bệnh nhân sau mỗi lần thẻ được đọc và có thông tin cần chỉnh sửa.

Hình 4- Giao diện phần mềm quản lý

Code phần mềm quản lý viết bằng Visual Basic 6.0:

Option Base 1

Dim danhsach() As String Dim thutu As Integer Dim duongdan As String Dim datimkiem As Boolean Dim timkiem() As String

Function CheckFile(sFileName As String, sDir As String) As Boolean

Dim sTmp As String

If sTmp = sFileName Then CheckFile = True Else CheckFile = False End If End Function (adsbygoogle = window.adsbygoogle || []).push({});

Private Sub cmdcapnhat_Click() If List1.ListIndex < 0 Then

MsgBox ("Ban chua chon ma ID nao ca") Exit Sub

End If

vitri = List1.ListIndex

danhsach(1, List1.ListIndex + 1) = txtmaid.Text danhsach(2, List1.ListIndex + 1) = txthoten.Text danhsach(3, List1.ListIndex + 1) = txtque.Text danhsach(4, List1.ListIndex + 1) = txtsdt.Text danhsach(5, List1.ListIndex + 1) = txtbenh.Text danhsach(6, List1.ListIndex + 1) = txttsb.Text danhsach(7, List1.ListIndex + 1) = txtdate.Text Call cmdluu_Click

List1.Clear Call Form_Load

List1.Selected(vitri) = True End Sub

Private Sub cmdluu_Click() Dim i As Integer

Dim n As Integer

Open duongdan For Output As #1 For i = 1 To thutu For n = 1 To 7 Print #1, danhsach(n, i) Next Next Close #1

MsgBox (" Du lieu da luu thanh cong !") List1.Clear

Call Form_Load End Sub

Private Sub cmdreload_Click() List1.Clear

Call Form_Load End Sub

Private Sub cmdtatca_Click() List1.Clear

Call Form_Load End Sub

Private Sub cmdthem_Click() If txtmaid.Text = "" Then

MsgBox ("Ban chua nhap ma ID") txtmaid.SetFocus

Exit Sub End If

If txthoten.Text = "" Then

MsgBox ("Ban chua nhap ho ten") txthoten.SetFocus

Exit Sub End If

thutu = thutu + 1

ReDim Preserve danhsach(7, thutu) danhsach(1, thutu) = txtmaid.Text danhsach(2, thutu) = txthoten.Text danhsach(3, thutu) = txtque.Text danhsach(4, thutu) = txtsdt.Text danhsach(5, thutu) = txtbenh.Text danhsach(6, thutu) = txttsb.Text danhsach(7, thutu) = txtdate.Text List1.AddItem txtmaid.Text txtmaid.Text = ""

txthoten.Text = "" txtque.Text = ""

txtbenh.Text = "" txttsb.Text = "" txtdate.Text = "" txtmaid.SetFocus Call cmdluu_Click End Sub

Private Sub cmdthemmoi_Click() txtmaid.Text = "" txthoten.Text = "" txtque.Text = "" txtsdt.Text = "" txtbenh.Text = "" txttsb.Text = "" txtdate.Text = "" txtmaid.SetFocus End Sub

Private Sub cmdthoat_Click() Unload Me

End Sub

Private Sub cmdxoa_Click() If List1.ListCount = 0 Then (adsbygoogle = window.adsbygoogle || []).push({});

Exit Sub End If

If List1.ListIndex < 0 Then

MsgBox ("Ban chua chon benh nhan nao ca") Exit Sub

End If

If List1.ListCount = 1 Then

Open duongdan For Output As #1 Close #1 List1.Clear Call Form_Load Exit Sub End If Dim i As Integer Dim j As Integer vitri = List1.ListIndex

For i = List1.ListIndex + 1 To (thutu - 1) For j = 1 To 7

danhsach(j, i) = danhsach(j, i + 1) Next

Next

If vitri > 0 Then

List1.Selected(vitri - 1) = True End If

End Sub

Private Sub cmdtim_Click() Dim i As Integer Dim j As Integer Dim n As Integer ReDim timkiem(8, 1) tukhoa = txttimkiem.Text For i = 1 To thutu

If LCase(danhsach(1, i)) = LCase(txttimkiem.Text) Then If n <> 1 Then n = n + 1 End If For j = 1 To 7 timkiem(j, n) = danhsach(j, i) Next timkiem(8, n) = i

ReDim Preserve timkiem(8, n) End If

Next

MsgBox ("Ko tim thay benh nhan nao co ma the nhu vay ca") Else List1.Clear For i = 1 To n List1.AddItem timkiem(1, i) Next datimkiem = True

MsgBox ("Tim thay tat ca: " & n & " Ket qua") End If

End Sub

Private Sub Form_Load() MSComm1.CommPort = 3 MSComm1.Settings = "9600,n,8,1" MSComm1.PortOpen = True MSComm1.RThreshold = 1 MSComm1.SThreshold = 0 duongdan = "c:\data.txt"

If CheckFile("data.txt", "c:") = False Then Open duongdan For Output As #2 Close #2

End If

datimkiem = False ReDim danhsach(7, 1)

n = 1 thutu = 1

Do While Not EOF(1) Line Input #1, st danhsach(n, thutu) = st If n = 1 Then List1.AddItem st End If If n = 7 Then n = 0 thutu = thutu + 1

ReDim Preserve danhsach(7, thutu) End If n = n + 1 Loop Close #1 thutu = thutu - 1 If List1.ListCount > 0 Then List1.Selected(0) = True End If End Sub

Private Sub List1_Click() If datimkiem = False Then

txthoten.Text = danhsach(2, List1.ListIndex + 1) txtque.Text = danhsach(3, List1.ListIndex + 1) txtsdt.Text = danhsach(4, List1.ListIndex + 1) txtbenh.Text = danhsach(5, List1.ListIndex + 1) txttsb.Text = danhsach(6, List1.ListIndex + 1) txtdate.Text = danhsach(7, List1.ListIndex + 1) Else

txtmaid.Text = danhsach(1, timkiem(8, List1.ListIndex + 1)) txthoten.Text = danhsach(2, timkiem(8, List1.ListIndex + 1)) txtque.Text = danhsach(3, timkiem(8, List1.ListIndex + 1)) txtsdt.Text = danhsach(4, timkiem(8, List1.ListIndex + 1)) txtbenh.Text = danhsach(5, timkiem(8, List1.ListIndex + 1)) txttsb.Text = danhsach(6, timkiem(8, List1.ListIndex + 1)) txtdate.Text = danhsach(7, timkiem(8, List1.ListIndex + 1)) End If

End Sub (adsbygoogle = window.adsbygoogle || []).push({});

Private Sub MSComm1_OnComm() Dim StringIn As String

If MSComm1.CommEvent = comEvReceive Then StringIn = MSComm1.Input

Text1.Text = StringIn End If

Private Sub txttimkiem_Change() If Len(txttimkiem) > 0 Then cmdtim.Enabled = True Else cmdtim.Enabled = False End If End Sub

Private Sub txttimkiem_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then Call cmdtim_Click End If End Sub 4.2. Đánh giá hệ thốngKết quả đạt được:

o Hệ thống đã hoạt động được ở dải tần số thấp 125 kHz.

o Phạm vi đọc tùy thuộc vào loại thẻ sử dụng (do kích thước anten thẻ khác nhau).

o Chất lượng tín hiệu truyền và nhận giữa thẻ và đầu đọc tốt.

o Thực hiện anten đạt yêu cầu truyền năng lượng và công suất cho thẻ. • Hạn chế:

o Có sai số truyền tín hiệu do anten làm thủ công, từ trường ở phạm vi cách anten > 5 cm không đều nên năng lượng truyền cho thẻ không đều và dữ

liệu truyền từ thẻ sang đầu đọc không đúng, dẫn đến giải điều chế tín hiệu sai.

o Phạm vi đọc thấp hơn lý thuyết (10cm) do mạch chế tạo bằng tay và thời gian hiệu chỉnh không nhiều.

Các yếu tố ảnh hưởng:

o Anten: Đây là phần quan trọng nhất trong thiết kế reader. Những nguyên nhân khiến anten hoạt động không tốt là:

 Do dây quấn không tốt : kích thước không chuẩn, chất lượng không tốt, không đảm bảo các thông số chính xác tại mọi điểm.

 Do thao tác quấn thủ công nên cũng ảnh hưởng đến chất lượng anten. o Làm mạch:

 Làm mạch in bằng máy nên chất lượng được đảm bảo

 Hàn mạch thủ công, đặc biệt là hàn chip dán với khoảng cách chân chip nhỏ cũng là một khó khăn ảnh hưởng đến chất lượng đầu đọc. o Nhiễu từ: nhiễu từ từ các nguồn xung quanh ảnh hưởng đáng kể đến

chất lượng thu tín hiệu từ thẻ của đầu đọc. • Khắc phục:

o Anten: so với tính toán trên lý thuyết, số vòng anten có thể sai khác. Sau khi quấn anten theo lý thuyết, cần phải điều chỉnh anten thêm bớt một số vòng để có thể thu tín hiệu tốt nhất. Cần tối ưu hóa thiết kế anten với các loại dây đồng có bán kính khác nhau.

o Làm mạch: Mối hàn phải chắc chắn, đạt yêu cầu về kỹ thuật.

o Nhiễu từ: để đầu đọc tránh xa các nguồn phát từ (chip, màn hình PC ...).

4.3. Hướng phát triển

Mở rộng thiết kế đầu đọc đọc-ghi: Đầu đọc đã được thiết kế với chức năng

một yêu cầu, vì chip EM4095 có thể chuyển sang chế độ Read-Write khi nối thêm chân MOD sang vi điều khiển, không có yêu cầu phức tạp cho việc thay đổi phần cứng. Hệ thống sử dụng thẻ R/W vẫn có thể sử dụng phần cứng đọc thẻ RO dựa trên chip EM4095 nhưng phải thay đổi phần mềm chương trình VĐK PIC 16F877A cho phù hợp với thẻ R/W (dự kiến chọn thẻ R/W 125 kHz dùng chip EM4150).Vì vậy trong thư viện chương trình đã xây dựng sẵn các file lập trình cho VĐK để nhận và xử lý dữ liệu với EM4095 khi làm việc với thẻ EM4150. Do chưa có thẻ R/W nên công việc này chưa thực hiện được trong phạm vi luận văn, dự kiến sẽ phát triển tiếp khi có được thẻ EM4150.

Xây dựng hệ thống tần số cao (High Frequency – 13,56 MHz): từ hệ thống

RFID tần số thấp 125 kHz (Low Frequency) có thể xây dựng hệ thống tần số cao High Frequency, có khoảng cách đọc lớn hơn.

Phát triển phần mềm RFID quản lý: Để phục vụ công tác quản lý bệnh nhân

một cách tổng quát hơn, cần mở rộng thiết kế phần mềm đã có thêm nhiều chức năng hơn như một phần mềm quản lý chuyên dụng.

4.4. Áp dụng cho quản lý bệnh nhân trong bệnh viện Thanh Nhàn Hà Nội: Hà Nội: (adsbygoogle = window.adsbygoogle || []).push({});

4.4.1. Thông tin bệnh viện

Bệnh viện Thanh Nhàn là Bệnh viện đa khoa hạng I - qui mô 600 giường bệnh có thể điều trị nội trú cho gần 1000 bệnh nhân mỗi ngày. Bệnh viện có 2 chuyên khoa đầu ngành là Nội khoa và Chẩn đoán hình ảnh. Bệnh viện với tổng số cán bộ công chức viên chức: 810 người (Trong đó CBVC và HĐLĐ trong chỉ tiêu: 547, HĐLĐ có xác định thời hạn:263)

- PGS: 01 người - Tiến sĩ: 05 người - Thạc sĩ Y+ Dược: 39 người

- Bác sĩ + Dược sĩ đại học: 95 người - BS Chuyên khoa I: 56 người - Bác sĩ Chuyên khoa II: 22 người

- Trình độ cao đẳng trung học: 407 người - Trình độ sơ học và nhân viên: 185 người

4.4.2. Tính toán chi phí cần thiết trang bị hệ thống quản lý bệnh nhân sử dụng công nghệ RFID cho bệnh viện nhân sử dụng công nghệ RFID cho bệnh viện

Mỗi bác sĩ được trang bị một đầu đọc RFID, mỗi bệnh nhân khi nhập viện sẽ dc sử dụng một thẻ riêng cho mình. Số trang thiết bị dự tính cho bệnh viện là:

• 200 đầu đọc RFID như trong thiết kế ở chương 2 • 1500 thẻ RFID 4102

Chi phí cho 1 đầu đọc RFID là 500.000 vnđ Chi phí cho mỗi thẻ RFID 4012 là 30.000 vnđ

Vậy tổng chi phí cần thiết trang bị hệ thống cho bệnh viện là: 500000*200+30000*1500 = 145triệu vnđ

Đối với những bệnh viện lớn như bệnh viện Thanh Nhàn thì 145triệu vnđ không phải là một con số lớn. Bên cạnh đó, hệ thống này rất có ưu điểm rất lớn so với các cách quản lý thông tin bệnh nhân khác về mặt quản lý chính xác thông tin bệnh nhân mà không nhầm lẫn với bệnh nhân khác. Tuy nhiên phải đóng gọi lại đầu đọc thẻ như hình dưới đây để bác sĩ sử dụng gọn gàng như hình 4-2 dưới đây và nhất là phát triển phần mềm quản lý một cách chi tiết chuyên nghiệp với cơ sở dữ liệu lớn hơn so với trong đồ án tôi đã thiết kế.

KẾT LUẬN

Như vậy chúng ta đã đi thiết kế một hệ thống quản lý bệnh nhân bằng công nghệ RFID hoàn chỉnh một cách chi tiết từ việc thiết kế reader đến thiết kế phần mềm chạy trên máy tính. Tuy nhiên ở mức độ đồ án tốt nghiệp và thời gian có hạn nên hệ thống tôi xây dựng chỉ dừng lại ở mức độ mức mô hình. Ở đây tôi xin phép được lưu ý rằng, trong quá trình thiết kế chúng ta cần đặc biệt chú ý tới anten cho reader. Tuy cách chế tạo nó khá đơn giản, chỉ là quấn dây đồng theo một hình tròn, hay hình vuông... Nhưng nếu tính toán sai dẫn đến sai số quá lớn, có thể khiến cho reader không thể đọc được thẻ. Vì vậy khi chế tạo anten cần có các máy đo cần thiết để biết được một cách chính nhất có thể giá trị độ tự cảm của cuộn dây anten.

TÀI LIỆU THAM KHẢO

[1]. Klaus Finkenzeller, RFID Handbook: Fundamentals and Applications in

Contactless Smart Cards and Identification, Second Edition. New York:

Wiley, 2003.

[2]. Tan Phu Vuong, Identification et Tracabilité par Radio Fréquence, Maitre de conférences de l’INPG.

[3]. AppNote 403: Frequently Asked Questions about EM4095, EM Microelectronic, 2002.

[4]. AppNote 404: EM4095 Application Note, EM Microelectronic, 2002. [5]. AppNote 411: RFID Made Easy, EM Microelectronic, 2002.

[6]. Datasheet: EM4095 – Read/Write analog front end for 125 kHz RFID basestation, EM Microelectronic, 2002.

[7]. Datasheet: EM4102 – Read Only Contactless Identification Device, EM Microelectronic, 2002.

[8]. Datasheet: PIC 16F87XA, Microchip, 2003. [9]. Các trang web trên mạng:

 http://transpondernews.com/  http://www.hightechaid.com/standards/18000.htm  http://www.theiet.org/publicaffairs/sectorpanels/control/rfid.pdf  http://www.emmicroelectronic.com/Products.asp?IdProduct=86  http://www.code-magazine.com/article.aspx?quickid=0611061&page=1  http://www.atmel.com/dyn/resources/prod_documents/u2270b_sec.pdf  http://www.emmicroelectronic.com/Products.asp?IdProduct=5  http://focus.ti.com/lit/ds/symlink/ri-tms3705adr.pdf

 http://www.ibtechnology.co.uk/products/em4102.htm  http://www.vanskee.com/  http://www.ibtechnology.co.uk/products/ant125.htm  http://web.media.mit.edu/~jrs/WISP-IEEE-TIM.pdf  http://buyrfid.righttag.com/  http://www.hightechaid.com/standards/RFID_Standards_SC31.htm  http://picvietnam.com/  http://dientuvietnam.net/  http://vnpro.org/forum/

CÁC THUẬT NGỮ SỬ DỤNG TRONG ĐỒ ÁN

STT Thuật ngữ Ý nghĩa Nghĩa Tiếng Việt

1. RFID Radio Frequency

Identification

Nhận dạng tần số sóng vô tuyến (adsbygoogle = window.adsbygoogle || []).push({});

2. ATM Automatic Teller Machine Máy rút tiền tự động

3. AC Alternating Current Điện xoay chiều

4. DC Direct Current Điện một chiều

5. RO Read Only Chỉ đọc

6. RW Read Write Đọc ghi

7. WORM Write Once Read Many Ghi một lần đọc nhiều lần

8. CRC Cyclic Redundancy Check Kiểm tra lỗi dư vòng

9. ID Identification Xác định

10. CMOS Complementary Metal-Oxide

Semiconductor

Công nghệ chế tạo mạch tích hợp

11. EEPROM Electrically Erasable Programmable Read-Only

Memory

Được chế tạo bằng công nghệ bán dẫn. Nội dung của ROM này có thể

viết vào và xóa (bằng điện) 12. ISO International Organization for

Standardization

Tổ chức tiêu chuẩn quốc tế

13. EPC Electronic Product Code Mã điện tử của sản phẩm

14. HDX Half Duplex Cùng thời điểm trong trong kênh

truyền chỉ có truyền hoặc nhận

15. FDX Full Duplex Truyền và nhận xảy ra cùng thời

16. SEQ Sequential Tuần tự 17. TTL Transistor – Transistor Logic

18. ASIC Application Specific

Một phần của tài liệu đồ án công nghệ thông tin TỔNG QUAN VỀ HỆ THỐNG RFID (Trang 77)