Thiết bị ựo

Một phần của tài liệu Luận văn thiết kế hệ thống giám sát và điều khiển quá trình bảo quản nông sản dạng hạt (Trang 50)

Thiết bị ựo chúng tôi sử dụng cảm biến nhiệt ựộ ựộ ẩm SHT1x

SHT1x là một chip có sensor ựo nhiệt ựộ, ựộ ẩm tương ựối, ựiểm sương và có cả phần chuyển ựổi ra giá trị số ựã ựược chuẩn ựịnh. Nhiệt ựộ có ựộ phân giải 14 bits, ựộ ẩm 12 bits. Kết quả module cho tắn hiệu chất lượng cao, thời gian trả lời nhanh, không bị ảnh hưởng nhiễu và có giá cả cạnh tranh. Từng chip SHTxx ựã ựược chuẩn ựịnh trong buồng có ựộ ẩm xác ựịnh với việc làm lạnh ựo bằng máy ựo ựộ ẩm làm chuẩn. Các hệ số ựược lập trình vào bộ nhớ. Các hệ số này ựã ựược sử dụng trong quá trình ựo ựể chuẩn ựịnh tắn hiệu từ sensor. Mạch phối ghép nối tiếp 2 dây và việc hiệu chỉnh thế hiệu bên trong cho phép tắch hợp hệ thống dễ dàng và nhanh chóng. Kắch thước nhỏ và công suất nuôi thấp, giá cả cạnh tranh, nên nó thường ựược lựa chọn cho phần lớn các ứng dụng.

Hình 3.4. Chip SHT1x

Trường đại học Nông Nghiệp Hà Nội Ờ Luận văn thạc sĩ khoa học kỹ thuậtẦẦẦẦẦẦẦẦẦẦẦẦ. 43

Hình 3.5. Sơ ựồ khối cấu trúc chip SHT1x

Hoạt ựộng của chip SHT1x

Hình 3.6. Sơ ựồ nguyên lý hoạt ựộng của chip SHT1x

Chip SHT1x gửi số liệu khi uC phát lệnh và tắn hiệu ựồng hồ nối tiếp SCK. Quá trình truyền này ựược khởi ựộng bằng một trình tự gọi là "Transmission Start" theo sơ ựồ hình 3.7:

Hình 3.7. Trình tự "Transmission Start"

Nếu quá trình truyền bị ựứt thì phải khởi ựộng lại, quá trình như hình 3.8:

Hình 3.8. Trình tự khởi ựộng lại kết nối

Trường đại học Nông Nghiệp Hà Nội Ờ Luận văn thạc sĩ khoa học kỹ thuậtẦẦẦẦẦẦẦẦẦẦẦẦ. 44

Bảng 3.1. Danh sách mã lệnh của SHT1x

Sau khi phát lệnh, SHT1x gửi số liệu về cho uC trên ựường Datạ Số liệu vẫn ựược ựồng bộ bằng tắn hiệu SCK do uC phát. Nhiệt ựộ 14 bits, ựộ ẩm 12 bits.

Chuyển ựổi giá trị ựo ra giá trị vật lý: - độ ẩm tương ựối: Áp dụng công thức: 2 3 2 1 . RH . RH linear c c SO c SO RH = + + (3.1)

với các chỉ số c1,c2,c3 tra trong bảng 3.2:

Bảng 3.2. Hệ số chuyển ựổi ựộ ẩm SORH c1 c2 c3 12 bit -4 0.0405 -2.8*10-6 8 bit -4 0.648 -7.2*10-4 Công thức tắnh ựộ ẩm có bù nhiệt ựộ: linear RH C true T t t SO RH RH = ( o −25).( 1+ 2. )+ (3.2)

với các hệ số tra trong bảng 3.3:

Bảng 3.3. Hệ số chuyển ựổi nhiệt ựộ

SORH t1 t2

Trường đại học Nông Nghiệp Hà Nội Ờ Luận văn thạc sĩ khoa học kỹ thuậtẦẦẦẦẦẦẦẦẦẦẦẦ. 45

8 bit 0.01 0.00128 - Nhiệt ựộ:

Áp dụng công thức chuyển ựổi từ giá trị ựo ra nhiệt ựộ:

T SO d d e Temperatur = 1 + 2. (3.3) các hệ số tra trong bảng 3.4:

Bảng 3.4. Hệ số chuyển ựổi nhiệt ựộ của ựộ ẩm

VĐ d1[0C] d1[0F] 5V -40.00 -40.00 4V -39.75 -39.5 3.5V -39.66 -39.35 3V -39.6 -39.28 2.5V -39.55 -39.23 SOT d2[0C] d2[0F] 14 bit 0.01 0.018 12 bit 0.04 0.072 3.2. Thiết kế và thực thi phần cứng

Trong luận văn này chúng tôi sử dụng phần mềm Altium Designer ựể thiết kế mạch nguyên lý và mạch in của bộ ựiều khiển. Altium Designer, phiên bản trước kia có tên gọi quen thuộc là Protel DXF, là một trong những công cụ vẽ mạch điện tử mạnh nhất hiện naỵ được phát triển bởi hãng Altium Limited, Altium Designer mang lại cho người dùng một môi trường làm việc hết sức chuyên nghiệp. Phần cứng của hệ thống gồm có các khối sau:

Trường đại học Nông Nghiệp Hà Nội Ờ Luận văn thạc sĩ khoa học kỹ thuậtẦẦẦẦẦẦẦẦẦẦẦẦ. 46

3.2.1. Khối nguồn

Hình 3.9. Sơ ựồ nguyên lý khối nguồn

Trong khối nguồn này chúng tôi sử dụng IC tạo nguồn ổn áp chuẩn dương 7805. đây là IC tự chỉnh ựịnh ựể tạo ra nguồn áp chuẩn dương +5V cung cấp cho mạch vi ựiều khiển. (adsbygoogle = window.adsbygoogle || []).push({});

Hình 3.10 là sơ ựồ IC 7805. Chân 1 nối mass, chân 2 là ngõ vào của áp nguồn, chân 3 là ngõ ra +5V ựể cấp ựiện cho vi ựiều khiển và các linh kiện ựiện tử khác.

Trường đại học Nông Nghiệp Hà Nội Ờ Luận văn thạc sĩ khoa học kỹ thuậtẦẦẦẦẦẦẦẦẦẦẦẦ. 47

3.2.2. Khối vi ựiều khiển trung tâm

Hình 3.11. Sơ ựồ nguyên lý khối vi ựiều khiển trung tâm

Khối vi ựiều khiển trung tâm có nhiệm vụ ựiều khiển toàn bộ hoạt ựộng của hệ thống, nhận thông tin từ cảm biến và giao tiếp với máy tắnh.

- Khối kết nối vi ựiều khiển với mạch nạp:

Hình 3.12. Sơ ựồ nguyên lý kết nối vi ựiều khiển với mạch nạp

để nạp chương trình cho vi ựiều khiển trong ựề tài chúng tôi dùng mạch nạp AVR910 USB có sơ ựồ nguyên lý như hình 3.13

Trường đại học Nông Nghiệp Hà Nội Ờ Luận văn thạc sĩ khoa học kỹ thuậtẦẦẦẦẦẦẦẦẦẦẦẦ. 48

Hình 3.13. Sơ ựồ nguyên lý mạch nạp AVR910 USB

- Khối truyền tắn hiệu ựiều khiển quạt

Trường đại học Nông Nghiệp Hà Nội Ờ Luận văn thạc sĩ khoa học kỹ thuậtẦẦẦẦẦẦẦẦẦẦẦẦ. 49

3.2.3. Khối hiển thị LCD

Hình 3.15. Sơ ựồ nguyên lý khối hiển thị

LCD làm việc chế ựộ 8 bits ghép nối Port C của vi ựiều khiển trung tâm

Trường đại học Nông Nghiệp Hà Nội Ờ Luận văn thạc sĩ khoa học kỹ thuậtẦẦẦẦẦẦẦẦẦẦẦẦ. 50

Hình 3.16. Sơ ựồ nguyên lý khối chuyển ựổi tắn hiệu UART - RS485

3.2.5. Mạch chuyển ựổi RS232/RS485

Hình 3.17. Sơ ựồ nguyên lý chuyển ựổi RS232/RS485

- IC Max 232:

Max 232 dùng ựể chuyển tắn hiệu logic +5V của vi ựiều khiển sang tắn hiệu của chuẩn truyền thông RS232 và truyền ựi trên ựường dây RS232.

Hình 3.18. Sơ ựồ chân của IC Max232

Max 232 gồm có 2 bộ phát chuyển ựổi tắn hiệu TTL ngõ vào thành tắn hiệu RS 232 ngõ ra và có 2 bộ thu nhận tắn hiệu RS232 ngõ vào và chuyển ựổi thành tắn hiệu CMOS tương ứng ngõ rạ

Trường đại học Nông Nghiệp Hà Nội Ờ Luận văn thạc sĩ khoa học kỹ thuậtẦẦẦẦẦẦẦẦẦẦẦẦ. 51

Thật ra ựây ựơn thuần chỉ là 1 bộ chuyển ựổi từ tắn hiệu của chuẩn giao tiếp RS232 sang tắn hiệu của chuẩn giao tiếp RS485 ựể có thể truyền tắn hiệu ựi trên ựường dây RS485 và từ ựó có thể truyền tắn hiệu ựi xa và nhanh ựược.

Hình 3.19. Sơ ựồ chân của IC Max485

Max 485 gồm bộ lái và bộ thu, tắn hiệu vào bộ lái D logic TTL ựổi thành 2 tắn hiệu A và B , khi tắn hiệu ựiều khiển DE mức thấp thì 2 chân AB cách ly với vi mạch. Tắn hiệu vào bộ thu là A và B , tắn hiệu ra R logic TTL tùy thuộc hiệu ựiện áp giữa A và B , khi RE logic 1 thì R cách ly với vi mạch.

Mạng RS485 làm việc theo chế ựộ Master-Slave, Master cho DE mức 1 ựể truyền dữ liệu, còn các Slave có DE=0, RE=0 chờ nhận dữ liệụ Khi Master muốn nhận dữ liệu thì DE=0, RE=0 còn Slave phát sẽ có DE=1, RE=1. Ta ựiều khiển các ựường DE, RE bằng tắn hiệu RTS hay mạch ựịnh thì.

3.2.6. Mạch ựiều khiển On/Off

Hình 3.20. Sơ ựồ nguyên lý mạch rơle ựiều khiển On/Off (adsbygoogle = window.adsbygoogle || []).push({});

Trường đại học Nông Nghiệp Hà Nội Ờ Luận văn thạc sĩ khoa học kỹ thuậtẦẦẦẦẦẦẦẦẦẦẦẦ. 52

3.2.7. Hình ảnh mạch ựiện tử sau khi hoàn thành

Hình 3.21. Bộ ựiều khiển và ựầu ựo nhiệt ựộ, ựộ ẩm

3.3. Thiết kế phần mềm

3.3.1. Truyền thông nối tiếp không ựồng bộ với AVR (UART)

Thuật ngữ USART trong tiếng anh là viết tắt của cụm từ: Universal Synchronous & Asynchronous serial Reveiver and Transmitter, nghĩa là bộ truyền nhận nối tiếp ựồng bộ và không ựồng bộ

Vi ựiều khiển Atmega16 có 1 module truyền thông nối tiếp USART. Có 3 chân chắnh liên quan ựến module này ựó là chân xung nhịp - XCK (chân số 1), chân truyền dữ liệu - TxD (Transmitted Data) và chân nhận dữ liệu - RxD (Reveived Data). Trong ựó chân XCK chỉ ựược sử dụng như là chân phát hoặc nhận xung giữ nhịp trong chế ựộ truyền ựộng bộ. Tuy nhiên trong luận văn này

Trường đại học Nông Nghiệp Hà Nội Ờ Luận văn thạc sĩ khoa học kỹ thuậtẦẦẦẦẦẦẦẦẦẦẦẦ. 53

chúng tôi không khảo sát chế ựộ truyền thông ựồng bộ, vì thế chỉ cần quan tâm ựến 2 chân TxD và RxD. Vì các chân truyền/nhận dữ liệu chỉ ựảm nhiệm 1 chức năng ựộc lập (hoặc là truyền, hoặc là nhận), ựể kết nối các chip AVR với nhau (hoặc kết nối AVR với thiết bị hỗ trợ UART khác) chúng ta phải ựấu ỘchéoỢ 2 chân nàỵ TxD của thiết bị thứ nhất kết nối với RxD của thiết bị 2 và ngược lạị Module USART trên chip Atmega16 hoạt ựộng Ộsong côngỢ (Full Duplex Operation), nghĩa là quá trình truyền và nhận dữ liệu có thể xảy ra ựồng thờị 3.3.1.1. Thanh ghi

Cũng như các thiết bị khác trên AVR, tất cả hoạt ựộng và trạng thái của module USART ựược ựiều khiển và quan sát thông qua các thanh ghi trong vùng nhớ I/Ọ Có 5 thanh ghi ựược thiết kế riêng cho hoạt ựộng và ựiều khiển của USART, ựó là:

- UDR: hay thanh ghi dữ liệu, là 1 thanh ghi 8 bit chứa giá trị nhận ựược và phát ựi của USART. Thực chất thanh ghi này có thể coi như 2 thanh ghi TXB (Transmit data Buffer) và RXB (Reveive data Buffer) có chung ựịa chỉ. đọc UDR thu ựược giá trị thanh ghi ựệm dữ liệu nhận, viết giá trị vào UDR tương ựương ựặt giá trị vào thanh ghi ựệm phát, chuẩn bị ựể gửi ựị Chú ý trong các khung truyền sử dụng 5, 6 hoặc 7 bit dữ liệu, các bit cao của thanh ghi UDR sẽ không ựược sử dụng.

Hình 3.22. Thanh ghi UDR

- UCSRA (USART Control and Status Register A): là 1 trong 3 thanh ghi ựiều khiển hoạt ựộng của module USART.

Trường đại học Nông Nghiệp Hà Nội Ờ Luận văn thạc sĩ khoa học kỹ thuậtẦẦẦẦẦẦẦẦẦẦẦẦ. 54

Thanh ghi UCSRA chủ yếu chứa các bit trạng thái như bit báo quá trình nhận kết thúc (RXC), truyền kết thúc (TXC), báo thanh ghi dữ liệu trống (UDRE), khung truyền có lỗi (FE), dữ liệu tràn (DOR), kiểm tra parity có lỗi (PE)ẦMột số bit quan trọng của thanh ghi này:

+ UDRE (USART Data Register Empty) khi bit này bằng 1 nghĩa là thanh ghi dữ liệu UDR ựang trống và sẵn sàng cho một nhiệm vụ truyền hay nhận tiếp theọ Vì thế nếu chúng ta muốn truyền dữ liệu ựầu tiên phải kiểm tra xem bit UDRE có bằng 1 hay không, sau khi chắc chắn rằng UDRE=1 hãy viết dữ liệu vào thanh ghi UDR ựể truyền ựị

+ U2X là bit chỉ ựịnh gấp ựôi tốc ựộ truyền, khi bit này ựược set lên 1, tốc ựộ truyền so cao gấp 2 lần so với khi bit này mang giá trị 0.

+ MPCM là bit chọn chế ựộ hoạt ựộng ựa xử lắ (multi-processor).

- UCSRB (USART Control and Status Register B): ựây là thanh ghi quan trọng ựiều khiển USART. Vì thế chúng ta sẽ khảo sát chi tiết từng bit của thanh ghi nàỵ

Hình 3.24. Thanh ghi UCSRB

+ RXCIE (Receive Complete Interrupt Enable) là bit cho phép ngắt khi quá trình nhận kết thúc. Việc nhận dữ liệu truyền bằng phương pháp nối tiếp không ựồng bộ thường ựược thực hiện thông qua ngắt, vì thế bit này thường ựược set bằng 1 khi USART ựược dung nhận dữ liệụ

+ TXCIE (Transmit Complete Interrupt Enable) bit cho phép ngắt khi quá trình truyền kết thúc.

+ UDRIE (USART Data Register Empty Interrupt Enable) là bit cho phép ngắt khi thanh ghi dữ liệu UDR trống.

+ RXEN (Receiver Enable) là một bit quan trọng ựiều khiển bộ nhận của USART, ựề kắch hoạt chức năng nhận dữ liệu bạn phải set bit này lên 1.

Trường đại học Nông Nghiệp Hà Nội Ờ Luận văn thạc sĩ khoa học kỹ thuậtẦẦẦẦẦẦẦẦẦẦẦẦ. 55

+ TXEN (Transmitter Enable) là bit ựiều khiển bộ phát. Set bit này lên 1 bạn sẽ khởi ựộng bộ phát của USART.

+ UCSZ2 (Chracter size) bit này kết hợp với 2 bit khác trong thanh ghi UCSRC quy ựịnh ựộ dài của dữ liệu truyền/nhận.

+ RXB8 (Receive Data Bit 8) gọi là bit dữ liệu 8. USART trong AVR có hỗ trợ truyền dữ liệu có ựộ dài tối ựa 9 bit, trong khi thanh ghi dữ liệu là thanh ghi 8 bit. Do ựó, khi có gói dữ liệu 9 bit ựược nhận, 8 bit ựầu sẽ chứa trong thanh ghi UDR, cần có 1 bit khác ựóng vai trò bit thứ chắn, RXD8 là bit thứ chắn nàỵ Chú ý là các bit ựược ựánh số từ 0, vì thế bit thứ chắn sẽ có chỉ số là 8, vì lẽ ựó mà bit này có tên là RXD8 (không phải RXD9).

+ TXB8 (Transmit Data Bit 8), tương tự như bit RXD8, bit TXB8 cũng ựóng vai trò bit thứ 9 truyền thông, nhưng bit này ựược dùng trong lúc truyền dữ liệụ

- UCSRC (USART Control and Status Register C): thanh ghi này chủ yếu quy ựịnh khung truyền và chế ựộ truyền. Tuy nhiên, có một rắc rối nho nhỏ là thanh ghi này lại có cùng ựịa chỉ với thanh ghi UBRRH (thanh ghi chứa byte cao dùng ựể xác lập tốc ựộ baud), nói một cách khác 2 thanh ghi này là 1. Vì thế bit 7 trong thanh ghi này, tức bit URSEL là bit chọn thanh ghị Khi URSEL=1, thanh ghi này ựược chip AVR hiểu là thanh ghi ựiều khiển UCSRC, nhưng nếu bit URSEL=0 thì thanh ghi UBRRH sẽ ựược sử dụng. (adsbygoogle = window.adsbygoogle || []).push({});

Hình 3.25. Thanh ghi UCSRC

Các bit còn lại trong thanh ghi UCSRC ựược mô tả như sau:

+ UMSEL (USART Mode Select) là bit lựa chọn giữa 2 chế ựộ truyền thông ựồng bộ và không ựồng bộ. Nếu UMSEL=0, chế ựộ không ựồng bộ ựược chọn, ngược lại nếu UMSEL=1, chế ựộ ựồng bộ ựược kắch hoạt.

Trường đại học Nông Nghiệp Hà Nội Ờ Luận văn thạc sĩ khoa học kỹ thuậtẦẦẦẦẦẦẦẦẦẦẦẦ. 56

+ Hai bit UPM1 và UPM0( Parity Mode) ựược dùng ựể quy ựịnh kiểm tra parirỵ Nếu UPM1:0=00, parity không ựược sử dụng (mode này khá thông dụng), UPM1:0=01 không ựược sử dụng, UPM1:0=10 thì parity chẵn ựược dùng, UPM1:0=11 parity lẻ ựược sử dụng

Bảng 3.5. Chọn kiểm tra paritỵ

+ USBS (Stop bit Select), bit Stop trong khung truyền bằng AVR USART có thể là 1 hoặc 2 bit, nếu USBS=0 thì Stop bit chỉ là 1 bit trong khi USBS=1 sẽ có 2 Stop bit ựược dùng.

+ Hai bit UCSZ1 và UCSZ2 (Character Size) kết hợp với bit UCSZ2 trong thanh ghi UCSRB tạo thành 3 bit quy ựịnh ựộ dài dữ liệu truyền. Bảng 3.6 tóm tắt các giá trị có thể có của tổ hợp 3 bit này và ựộ dài dữ liệu truyền tương ứng.

Bảng 3.6. độ dài dữ liệu truyền.

+ UCPOL (Clock Pority) là bit chỉ cực của xung kắch trong chế ựộ truyền thông ựồng bộ. nếu UCPOL=0, dữ liệu sẽ thay ựổi thay ựổi ở cạnh lên của xung nhịp, nếu UCPOL=1, dữ liệu thay ựổi ở cạnh xuống xung nhịp. Nếu sử dụng chế ựộ truyền thông không ựồng bộ, set bit này bằng 0..

Trường đại học Nông Nghiệp Hà Nội Ờ Luận văn thạc sĩ khoa học kỹ thuậtẦẦẦẦẦẦẦẦẦẦẦẦ. 57

- UBRRL và UBRRH (USART Baud Rate Register): 2 thanh ghi thấp và cao quy ựịnh tốc ựộ baud.

Hình 3.26. Thanh ghi UBRRL và UBRRH

Thanh ghi UBRRH dùng chung ựịa chỉ thanh ghi UCSRC, chúng ta phải set bit này bằng 0 nếu muốn sử dụng thanh ghi UBRRH. Trong hình 3.26, chỉ có 4 bit thấp của UBRRH ựược dùng, 4 bit này kết hợp với 8 bit trong thanh ghi UBRRL tạo thành thanh ghi 12 bit quy ựịnh tốc ựộ baud. Chú ý nếu viết giá trị vào thanh ghi UBRRL, tốc ựộ baud sẽ tức thì ựược cập nhật, vì thế chúng ta phải viết giá trị vào thanh ghi UBRRH trước khi viết vào thanh ghi UBRRL.

Giá trị gán cho thanh ghi UBRR không phải là tốc ựộ baud, nó chỉ ựược USART dùng ựể tắnh tốc ựộ baud. Bảng 3.7 hướng dẫn cách tắnh tốc ựộ baud dựa vào giá trị của thanh ghi UBRR và ngược lại, cách tắnh giá trị cần thiết gán cho thanh ghi UBRR khi ựã biết tốc ựộ baud.

Bảng 3.7. Tắnh tốc ựộ baud.

Trong các công thức trong bảng 3.7, fOSC là tốc tần số xung nhịp của hệ thống (thạch anh hay nguồn xung nộiẦ).

Trường đại học Nông Nghiệp Hà Nội Ờ Luận văn thạc sĩ khoa học kỹ thuậtẦẦẦẦẦẦẦẦẦẦẦẦ. 58

Trường đại học Nông Nghiệp Hà Nội Ờ Luận văn thạc sĩ khoa học kỹ thuậtẦẦẦẦẦẦẦẦẦẦẦẦ. 59

3.3.1.2. Giao thức kết nối giữa máy tắnh và vi ựiều khiển

Một phần của tài liệu Luận văn thiết kế hệ thống giám sát và điều khiển quá trình bảo quản nông sản dạng hạt (Trang 50)