Kết nối Keithley với máy tính thông qua board Zigbee

Một phần của tài liệu (LUẬN văn THẠC sĩ) thiết kế hệ đo tính chất vật lý của gốm áp điện dựa trên chuẩn không dây zigbee (Trang 40)

Ở hình 25, thiết bị đo Keithley 2000 trong mạng sẽ được ghép nối với board Zigbee (module_TX) để nhận dữ liệu thông qua một số cổng giao tiếp COM trên mỗi module ZigBee. Dữ liệu ở các thiết bị đo này sẽ được truyền qua không dây đến board Zigbee nhận (module_RX). Dữ liệu nhận từ Module_RX tiếp tục được chuyển lên máy tính cũng thông qua việc lắp kết nối với máy tính sử dụng COM.

4.2. Sơ đồ phần cứng trên board phát triển HZDK

4.2.1. Khối điều khiển chính

Khối điều khiển chính của board mạch sử dụng vi điều khiển PIC 18F4620 (Hình 26)Đây là dòng vi điều khiển tầm trung của hãng Microchip Technology, hỗ trợ nhiều tính năng tiên tiến, cũng như nhiều chuẩn giao tiếp phổ biến. Một số tính năng chính của dòng vi điều khiển này có thể được mô tả như sau:

- Bộ nhớ trong flash với dung lượng lớn 64KB. - Bộ nhớ RAM 3986 byte và EEPROM 1024 byte.

- Hỗ trợ công nghệ tiết kiệm năng lượng (nano Watt), với nhiều chế độ quản lý năng lượng khác nhau.

- Hỗ trợ chuẩn giao tiếp MSSP: bao gồm cả giao tiếp SPI và I2C.

- Hỗ trợ chuẩn giao tiếp USART định địa chỉ nâng cao: bao gồm RS485, RS232 và LIN 1.2.

- Có 13 kênh biến đổi AD với độ phân giải 10 bit.

- Hỗ trợ nhiều tần số dao động khác nhau và cho phép hoạt động với tần số cực đại 40Mhz.

Ở board mạch này, PIC 18F4620 sẽ đảm nhận vai trò điều khiển chính cho toàn hệ thống. Nó thực hiện việc giao tiếp và điều khiển module MRF24J40, điều khiển hiển thị LCD, giao tiếp với máy tính thông qua cổng Com.

Giao tiếp với MRF24J40 được thực hiện thông qua chuẩn SPI, và module này sẽ được nối với vi điều khiển thông qua các chân trên cổng C (từ C0 đến C5). Bên cạnh các chân giao tiếp theo đúng chuẩn SPI, PIC18F4620 sử dụng thêm C2 chân C0 để điều khiển việc tái khởi động và C1 để điều khiển việc đánh thức module MRF24J40 từ chế độ ngủ (sleep mode).

LCD được sử dụng trong board mạch là loại 16x2, và được điều khiển bởi PIC thông qua cổng D. LCD này được điều khiển bằng chế độ 4 bit dữ liệu.

Vi điều khiển PIC 18F4620 hoạt động ở tần số 20MHz và được cấp xung nhịp bởi một thạch anh ngoài (XT1), hoạt động ở chế độ HS. Các tụ C1 và C2 sẽ làm nhiệm vụ lọc nhiễu cho thạch anh này.

Ngoài ra, vi điều khiển còn có thể giao tiếp với các thiết bị khác thông qua các cổng mở rộng đa mục đích. Các cổng này có thể được lập trình để giao tiếp tùy thuộc vào yêu cầu của thiết bị và được bố trí ở các cổng A và E của vi điều khiển. Trong trường hợp cần thiết, cũng ta có thể sử dụng chính cổng D của LCD để làm cổng giao tiếp mở rộng.

4.2.2. Khối hiển thị

Ở khối hiển thị, một LCD 16x2 được sử dụng để hiển thị một số trạng thái của hệ thống (tình trạng truyền, nhận, giá trị nhiệt độ và một số thông số khác...). LCD hoạt động ở chế độ dữ liệu 4 bit và đường dữ liệu được nối với vi điều khiển thông qua các chân từ D4-D7. Ba chân điều khiển RS, RW, EN sẽ được điều khiển thông qua các chân từ D0-D2 của vi điều khiển PIC. Sơ đồ mạch của khối hiển thị được mô tả như ở Hình 27. Trong mạch này thì các điện trở R4 và R5 làm nhiệm vụ phân áp để điều chỉnh độ tương phản của LCD thông qua chân điều khiển Vee. Điện trở R3 mục đích là để hạn dòng cho đèn LED nền của LCD.

4.2.3. Khối chuyển đổi giao tiếp USB – COM

Vì tốc độ truyền dữ liệu của ZigBee không phải là quá lớn nên khi ghép nối board điều khiển với máy tính để nhận dữ liệu từ ZigBee thì chuẩn giao tiếp nối tiếp là hoàn toàn có thể đáp ứng được. Hơn nữa, với việc giao tiếp qua cổng nối tiếp thì cho phép kéo dài chiều dài của đường truyền hơn, so với chuẩn giao tiếp USB. Tuy nhiên để thuận tiện hơn cho việc ghép nối thì board mạch cung cấp sẵn một bộ chuyển đổi giao tiếp USB – COM để cho phép tận dụng được ưu điểm của từng loại giao tiếp. Sơ đồ mạch điện của khối chuyển đổi giao tiếp được mô tả như ở trong Hình.28

Hình 28. Sơ đồ mạch khối chuyển đổi giao tiếp USB-COM.

Khối chuyển đổi dữ liệu được thực hiện dựa trên vi mạch PL2303, là một vi mạch chuyển đổi USB-COM phổ biến. Trong vi mạch này, các tín hiệu truyền nhận nối tiếp sẽ được đưa vào chân 1 (tín hiệu RxD) và chân 5 (tín hiệu TxD). Các đường dữ liệu D+ va D- của cổng USB sẽ được đưa vào chân 15 (DP) và chân 16 (DM) thông qua các trở hạn dòng R20 và R21. Một thạch anh 12MHz sẽ làm nhiệm vụ cung cấp xung chuẩn cho vi mạch PL2303.

4.2.4. Khối nguồn

Vì board mạch hoạt động với 2 mức điện áp khác nhau là 3,3V và 5V, vì vậy khối nguồn phải được thiết kế để đảm bảo cung cấp 2 mức điện áp ổn định theo đúng yêu cầu của từng loại vi mạch. Sơ đồ mạch của khối nguồn hệ thống được mô tả như ở Hình 29. Trong sơ đồ này thì một nguồn ngoài 12V được sử dụng để cung cấp nguồn điện áp chính cho toàn hệ thống. Điện áp 12V này sẽ được đưa qua tụ lọc C10 để cấp cho một IC ổn áp (LM7805). Đầu ra của vi mạch này chính là điện áp ổn áp 5V. Điện áp ra 5V sẽ được cung cấp tiếp cho vi mạch LM1117 để tạo ra điện áp thấp 3,3V ở đầu ra của vi mạch này. Mạch còn được thiết kế một công tắc chuyển cho phép board mạch

Hình 29. Sơ đồ mạch khối cấp nguồn nuôi.

4.2.5. Khối thu phát không dây

Khối thu phát không dây chính là sử dụng module thu phát ZigBee MRF24J40. Sơ đồ mạch điện của khối này tương đối đơn giản và được mô tả như trong Hình 30. Trong sơ đồ mạch, ta có thể thấy module MRF24J40 được cấp nguồn điện áp 3,3V thông qua hai tụ lọc C16 và C17. Một tín hiệu ở mức cao được lấy từ nguồn thông qua điện trở R23 đưa đến chân RST\ của module để đảm bảo module được tái khởi động mỗi khi được cấp nguồn. Trong boad mạch phát triển này thì anten của module MRF24J40 là một anten vi dải được tích hợp sẵn lên trên mạch PCB có gắn module này.

Hình 30. Sơ đồ mạch của khối thu phát sử dụng MRF24J40

4.2.6. Khối các nút nhấn điều khiển

Khối các nút nhấn điều khiển được hoạt động theo nguyên tắc nhấn, thả và trong mỗi quá trình nhấn thả thì từng khối nút nhấn sẽ cấp một tín hiệu ở mức thấp đến chân vi điều khiển. Thông qua việc quan sát sự thay đổi mức tín hiệu trên các chân này thì vi điểu khiển có thể nhận ra nút nhấn nào được nhấn và ra các lệnh tương ứng. Tất cả các nút nhấn trong board mạch đều được hạn dòng với điện trở 10kΩ để hạn chế dòng qua chân vi điều khiển, tránh gây chập cổng trên vi điều khiển PIC.

Với sơ đồ mạch như ở Hình 31 thì ở trạng thái bình thường (nút không được nhấn), một tín hiệu ở mức cao (5V) sẽ được cấp vào cổng của vi điều khiển. Khi nút bất kì được nhấn, mạch điện tương ứng sẽ bị nối tắt và tín hiệu đưa vào chân đó của vi điều khiển sẽ có mức thấp (0V).

Hình 31. Sơ đồ mạch các nút nhấn điều khiển. 4.3. Giới thiệu về hệ đo 4.3. Giới thiệu về hệ đo

 Thiết bị đo Keithley 2000

Thiết bị Keithley 2000 là thiết bị số ứng dụng độc lập, thiết kế bảng mặt trước đơn giản dễ dàng sử dụng. Thiết bị có độ nhạy cao, đo được 13 chức năng xây dựng chủ yếu trong đo lường bao gồm DCV, ACV, DCI, ACI, 2WW, 4WW, nhiệt độ, tần số, thời gian, dB, dBm, đo lường liên tục và diode . Ngoài ra, thiết bị này có khả năng giao tiếp với bên ngoài thông qua cổng COM để lưu trữ, hiển thị các phép đo tự động. Hiện nay thiết bị đo này đang được sử dụng ở phòng thí nghiệm Vật Lý trường Đại Học Khoa học Huế.

Hình 32. Thiết bị Keithley 2000 4.4. Thiết kế phần mềm 4.4. Thiết kế phần mềm

-Phần mềm trên máy tính: Ở đây sử dụng phần mềm lập trình Labview để giao tiếp với thiết bị. Luận văn tập trung vào thiết kế giao diện giao tiếp, hỗ trợ phân tích, biểu diễn hay lưu trữ dữ liệu, cũng như cho phép truy xuất lại các file dữ liệu này. Do nhắm đến việc giao tiếp ghép nối với nhiều thiết bị đo nên việc xử lý dữ liệu trên phần mềm này chỉ bao gồm việc hiển thị kết quả thu được dưới dạng đồ thị theo thời gian. Tùy thuộc vào các yêu cầu và mục đích người dùng, từng thiết bị đo để nâng cấp thiết kế phần mềm.

- Phần mềm viết cho vi điều khiển: Sử dụng ngôn ngữ C để lập trình điều khiển hoạt động của hai board ZigBee giao tiếp với Keithley 2000 và máy tính. Các công việc cần thiết bao gồm: thiết lập giao tiếp và quản lý dữ liệu qua qua cổng COM giữa Module_TX với Kiethley 2000 và Module_RX với máy tính, quản lý hoạt động và quá trình phát thu nhận dữ liệu trên chip MFR24J40 (board TX, board RX), giám sát nút nhấn để chọn lệnh điều khiển phù hợp…

4.4.1 Phần mềm cho máy tính

Giao diện chính thiết kế đo gốm áp điện sử dụng ngôn ngữ lập trình Labview của được mô tả như hình dưới.

Hình 33. Giao diện chính của chương trình.

Để sử dụng chương trình, người dùng phải thiết lập tốc độ truyền (baud rate), số bit truyền (data bits)…Ở đây giao tiếp với board Zigbee tốc độ truyền phù hợp là 19200Hz, 8 bit... Sau đó người dùng sẽ lựa chọn Visa I/O tương ứng kết nối là COM, USB kết nối board Zigbee. Tuy nhiên trong phiên bản board Zigbee này chỉ hỗ trợ giao tiếp cổng COM. Sau khi thiết lập xong nhấn Run mặc định sẵn trong giao diện phần mềm Labview để chạy thu nhận tín hiệu. Giá trị dữ liệu thu được sẽ hiện thị trên Waveform Chart theo các dạng khác nhau tùy chỉnh.

Bên cạnh những thiết lập cần thiết trên còn có Delay Time Read nhiệm vụ là chậm quá trình đọc dữ liệu trên máy tính tiện cho việc phân tích dữ liệu thu được,

Pause tạm thời dừng đọc dữ liệu chuyển lên, Save lưu lại hình ảnh hiện trên Waveform Chart, Clear xóa dữ tất cả dữ liệu thu được trên Waveform Chart. Biểu tượng bàn tay, thanh trượt, dùng để xem lại giá trị dữ liệu đã đọc được, phóng to thu nhỏ để phân tích dữ liệu.

Các giá trị dữ liệu của thiết bị đo được sẽ được vẽ lên đồ thị. Ở đây, do mới ban đầu chỉ đo điện áp của gốm áp điện nên được vẽ theo giá trị thời gian (Time) và điện áp (Volts).

Để có thể giao tiếp với board Zigbee cũng như có những tính năng như nêu trên thì sơ đồ lập trình đồ họa Labview như sau.

Hình 34. Sơ đồ lập trình giao tiếp Labview qua cổng Com

Ở sơ đồ lập trình hình 34, sử dụng Visa I/O, serial (baud rate,data bits…) để thiết lập cổng kết nối và giá trị cài đặt ban đầu, Visa write, Visa read nhiệm vụ viết và đọc dữ liệu từ cổng Com. Ngoài ra, sử dụng Waveform Chart, Case structure để biểu diễn, dừng, xóa hay lưu trữ dữ liệu.

4.4.2 Phần mềm viết cho vi điều khiển

Phần mềm dành cho board Zigbee được viết bằng ngôn ngữ C, sử dụng bộ biên dịch C18 Compiler. Phần mềm này phải thực hiện những nhiệm vụ chính như sau:

-Thực hiện quá trình khởi tạo hoạt động cho module Zigbee. Quá trình này bao gồm việc lựa chọn kênh truyền (tần số), mức công suất phát.

-Ở board Zigbee nhận, phần mềm sẽ thực hiện việc đọc dữ liệu thu được từ module MRF24J40, sau đó truyền dữ liệu lên máy tính thông qua kết nối cổng COM.

- Phần mềm cũng sẽ thực hiện việc giám sát các nút nhấn để lựa chọn trạng thái hoạt động phù hợp.

Lưu đồ quá trình phát và nhận dữ liệu được mô tả như trong hình 35 và hình 36

Hình 35. Lưu đồ quá trình gởi.

Cách thức hoạt động của sơ đồ khối board Zigbee gởi

Khi board Zigbee gởi được bật lên, Nó sẽ bắt đầu quá trình khởi động chương trình, kiểm tra nút nhấn SW2.

Nếu SW2 không được nhấn nó sẽ kết thúc chương trình.

Nếu SW2 được nhấn, board Zigbee bắt đầu gởi câu lệnh yêu cầu đọc dữ liệu “Data?;” đến thiết bị đo Keithley 2000 thông qua cổng COM. Khi thiết bị Keithley nhận được câu lệnh, nó sẽ gởi giá trị đo của thiết bị đo lên board Zigbee cũng qua cổng COM. Dữ liệu thu được tại board Zigbee tiếp tục gởi đến board nhận.

Tiếp theo, kiểm tra SW1 được nhấn hay không. Nếu không, tiếp tục quá trình gởi câu lệnh đến thiêt bị đo và thực hiện lại quá trình trên. Nếu SW1 được nhấn, chương trình chạy sẽ kết thúc.

Hình 36. Lưu đồ quá trình nhận

Cách thức hoạt động của sơ đồ khối board Zigbee nhận

Khi board Zigbee gởi được bật lên, nó sẽ bắt đầu quá trình khởi động chương trình, kiểm tra nút nhấn SW2.

Nếu SW2 không được nhấn nó sẽ kết thúc chương trình.

Nếu SW2 được nhấn, board Zigbee bắt đầu thực hiện quá trình nhận dữ liệu từ Board Zigbee gởi qua thông qua không dây. Dữ liệu này chuyển lên máy tính qua thông cổng Com

Tiếp theo, kiểm tra SW1 được nhấn hay không. Nếu không, thực hiện lại quá trình nhận rồi chuyển lên máy tính. Nếu SW1 được nhấn, chương trình trình chạy sẽ kết thúc.

Đoạn chương trình để chuyển board điều khiển board Zigbee gởi được mô tả như sau:

if(!RB3) { while(!RB3); { SetChannel(CHANNEL_11); PHYSetLongRAMAddr(RFCON3,0b0010100); PHYSetLongRAMAddr(0x22F,0x0F); PHYSetLongRAMAddr(0x000,sizeof(PredefinedPacket)); PHYSetLongRAMAddr(0x001,sizeof(PredefinedPacket)); while(1) { for (i=2;i<(sizeof(PredefinedPacket)+2);i++) { ConsolePut(“Data?;”); PredefinedPacket[i-2] = ConsoleGet(); } for(i=2;i<(sizeof(PredefinedPacket)+2);i++) { PHYSetLongRAMAddr(i, PredefinedPacket[i-2]); } PHYSetShortRAMAddr(WRITE_TXNCON,0b00000001); LATB7 ^= 1; Delay1KTCYx(10); if(!RD3) goto MRF24J40_SubMenu; } } }

Đoạn chương trình để chuyển board điều khiển board Zigbee nhận được mô tả như sau: if(!RB4) { while(!RB4); RFIE = 1; SetChannel(CHANNEL_11); PHYSetLongRAMAddr(RFCON3,0b0010100); PHYSetShortRAMAddr(WRITE_RXFLUSH,0x01); ReceivingMode = TRUE; while(1) { PHYSetShortRAMAddr(WRITE_RXFLUSH, 0x01); Data= PHYGetShortRAMAddr(READ_RXFLUSH); ConsolePut(Data); LATB6 ^= 1; Delay1KTCYx(10); if(!RD3) goto MRF24J40_SubMenu; } }

Trong các đoạn chương trình trên, hàm SetChannel() được sử dụng để lựa chọn kênh truyền. Ở đây, ta lựa chọn truyền trên kênh truyền số 11 với tần số hoạt động là 2,405MHz.

Các hàm ConsolePut ()ConsoleGet() là hàm cho phép gởi và nhận dữ liệu qua cổng Com.

Các hàm PHYSetLongRAMAddr() PHYSetShortRAMAddr() là các hàm cho phép ghi dữ liệu vào các vùng bộ nhớ có địa chỉ ngắn và vùng bộ nhớ có địa chỉ dài tương ứng. Hàm này được phát triển bởi MicroChip

Hàm PHYGetShortRAMAddr(READ_RXFLUSH) là hàm cho phép lấy dữ liệu không dây.

4.5. Gốm áp điện:

Gốm áp điện là những loại vật liệu gốm có tính chất áp điện như BaTiO3, PbTiO3, Vật liệu gốm áp điện mới hơn PZT (PbO-ZrO2-TiO3) là gốm trên cơ sở dụng dịch rắn trong hệ PbZrO3 – PbTiO3. Tinh thể PbZrO3 – PbTiO3 có tính chất áp điện với ít nhất 3% PbTiO3 trong thành phần.

Gốm áp điện (PZT) hiện nay được sử dụng rộng rãi trong kỹ thuật và đời sống. Dựa vào hiệu ứng áp điện thuận và ngịch của nó người ta chế tạo ra các cảm biến dùng trong 3 lĩnh vực sau:

- Cảm biến thu phát sóng siêu âm trong các máy: dò độ sâu sông biển, dò khuyết tật trong kim loại và bê tông; máy liên lạc trong các tàu ngầm; máy phát điện và xác định toạ độ của các đối tượng di chuyển trong nước; các thiết bị khám và điều trị bệnh; các ngòi nổ áp điện

Trong vô tuyến dùng làm các bộ lọc tần số, bộ nhớ các máy tính điện tử. Gốm áp điện còn được nghiên cứu về tính quang điện tử dùng trong kỹ thuật laze.  Hiện tượng áp điện: (piezoelectric phenomena)

Là một hiện tượng được một nhà khoáng vật học người Pháp Charles Coulomb đề cập đầu tiên vào năm 1817, sau đó được anh em nhà Pierre và Jacques Curie chứng

Một phần của tài liệu (LUẬN văn THẠC sĩ) thiết kế hệ đo tính chất vật lý của gốm áp điện dựa trên chuẩn không dây zigbee (Trang 40)

Tải bản đầy đủ (PDF)

(56 trang)