Lời Cảm ơn 4 Lời mở đầu 5



tải về 0.52 Mb.
trang3/4
Chuyển đổi dữ liệu21.08.2016
Kích0.52 Mb.
#25651
1   2   3   4

3.3. Cảm biến nhiệt độ LM35


IC đo nhiệt độ là một mạch tích hợp nhận tín hiệu nhiệt độ chuyển thành tín hiệu điện dưới dạng dòng điện hay điện áp. Dựa vào đặc tính rất nhạy của các bán dẫn với nhiệt độ, tạo ra điện áp hoặc dòng điện tỷ lệ thuận với nhiệt độ tuyệt đối. Đo tín hiệu điện ta biết được giá trị của nhiệt độ cần đo. Sự tác động tạo ra điện tích tự do và lỗ trống trong chất bán dẫn. Bằng sự phá vỡ các phần tử, bứt các electron thành dạng tự dô di chuyển qua cùng cấu trúc mạng tinh thể tọa sự xuất hiện các lỗ trống. Làm cho tỷ lệ điện tử tự do và lỗ trống tăng lên theo quy luật hàm mũ với nhiệt độ.

Các đặc trưng của LM35:

  • Ngõ ra là điện áp.

  • Đơn vị nhiệ độ : oC.

  • Các hiệu năng cao, công suất tiêu thụ là 60uA.

  • Sản phẩm không cần phải canh chỉnh nhiệt độ khi sử dụng.

  • Độ nhạy 10mV/1oC.

  • Sai số cực đạu 1,5oC khi nhiệt độ lớn hơn 100oC.

  • Phạm vi sử dụng: 0oC => 100oC.

  • Chân +Vs là chân cung cấp điện áp cho LM35 hoạt động (4->20V)

  • Chân Vout là chân điện áp ngõ ra của LM35, được đưa vào chân Analog của các bộ ADC.

  • Chân GND là chân nỗi mas, lưu ý cần nỗi mass chân này để tránh làm hỏng cảm biến cũng như làm giảm sai số trong quá trình đo.

  • Cứ 10mV tương ứng với 1oC, ở 0oC điện áp ra là 0V, tương ứng với giá trị ADC là 0. Ta dùng ADC 10bit với điện áp lấy mẫu là 5V , giá trị của ADC từ 0 đến 1023. Vậy mỗi giá trị ADC ứng với 5V/1024 = 4.883mV. Vậy 1 giá trị của A/D tương ứng với 0.4883oC. Muốn tăng độ phân giải A/D ta giảm giá trị điện áp lấy mẫu đi.





Hình 3. 3: Sơ đồ chân của LM35

Tính toán để chuyển đổ mức logic chân ADC của vi điều khiển thành nhiệt độ hiện thị:

Ta có ADC 10bit, vậy có 1024 mức lượng tử. Điện áp lấy mẫu trong bài ta sử dụng là 5V. Như vậy mỗi mức lượng tử tương ứng với giá trị điện áp là: LM35 thay đổi 10mV/1oC do đó ứng với thay đổi 1oC sẽ thay đổi 2.048 mức lượng tử (10mV/4.883mV = 2.048). Như vậy ta sẽ có công thức tính nhiệt độ để hiển thị là:

Nhiệt độ = (oC)



(Adc_value :là giá trị chân ADC của PIC đọc từ LM35)

3.4. Module Ethernet ENC28J60 và chuẩn giao tiếp SPI


Thông thường để kết nối thiết bị điều khiển với mạng Ethernet có hai cách, một là sử dụng các vi điều khiển tích hợp sẵn phần giao tiếp với Ethernet, phổ biến là các dòng PIC18F66J60, PIC18F66J65, PIC18F67J60, PIC18F67J60, PIC18F86J60…. của Microchip. Sử dụng phương thức này có ưu điểm viết mã code đơn giản, kích thước bo mạch nhỏ gọn. Ngoài ra còn có cách khác là sử dụng chip giao tiếp Ethernet ENC28J60, với cách sử dụng này bo mạch sẽ có kích thước lớn hơn, thường tách thành hai module độc lập được kết nối qua card hỗ trợ giao tiếp chuẩn SPI (Serial Pheripheral Interface).

Trong module ghép nối Ethernet, người thực hiện đề tài đã chọn cách sử dụng chip ENC28J60.



3.4.1. Vi Mạch Ethernet ENC28j60


ENC28J60 là vi điều khiển hỗ trợ kết nối Ethernet ở lớp vật lý tương tự trong mô hình OSI cho bất kỳ vi điều khiển nào có giao tiếp SPI. ENC28J60 được thiết kế và chế tạo bởi Microchip.

Phần cứng của ENC28J60 được tích hợp trong cả hai lớp kết nối dữ liệu và lớp vật lý .

Hỗ trợ giao tiếp SPI với tốc độ tối đa đạt 20MHz.

Điện áp hoạt động của ENC28J60 từ 3.1V đến 3.6V.

Hỗ trợ công nghệ 10BASE-T.

Hỗ trợ truyền song công và bán song công, đồng thời nhằm tránh xung đột trên kênh truyền.



3.4.2. Sơ đồ chân và sơ đồ khối của ENC28j60


Sơ đồ chân ENC28j60:




Hình 3. 4: Sơ đồ chân ENC28J60

Sơ đồ khối ENC28J60:



Hình 3. 5: Sơ đồ khối ENC28J60

3.4.3. Sơ đồ ghép nối vi điều khiển với ENC28j60





Hình 3. 6: Sơ đồ ghép nối vi điều khiển với ENC28j60

  • SCK Serial Clock – Xung đồng bộ cho đường nối tiếp

  • SI Serial Input – Tín hiệu nối tiếp vào (ghi)

  • SO Serial Output – Tín hiệu nối tiếp ra (đọc)

3.4.4. Sơ đồ nguyên lý Module Ethernet



Hình 3. 7 : Sơ đồ nguyên lý Module Ethernet

  • Nguyên lý hoạt động của mạch:

    • Vi điều khiển ENC28J60 được điều khiển hoàn toàn thông qua giao tiếp SPI với PIC18.

    • PIC18 đóng vai trò là Master trong giao tiếp SPI với ENC28J60.

    • Tương tự như kết nối mạng trên PC, PIC18 đóng vai trò là PC còn ENC28J60 đóng vai trò như card mạng.

    • Nhận dữ liệu: Tín hiệu yêu cầu từ mạng truyền qua cổng RJ45 vào ENC28J60. ENC28J60 được thiết kế để giải mã tín hiệu và chuyển tín hiệu đó thành dữ liệu và lưu vào bộ đệm thu. Thông qua giao tiếp SPI, PIC18 liên tục kiểm tra bộ đệm của ENC28J60. Nếu phát hiện có dữ liệu nó sẽ đọc dữ liệu và xử lí.

    • Truyền dữ liệu: Thông qua giao tiếp SPI, PIC18 sẽ gửi dữ liệu vào bộ đệm phát của ENC28J60. ENC28J60 sẽ mã hóa dữ liệu và truyền ra đường RJ45 đến địa chỉ mong muốn.



3.4.5. Module Ethernet






Hình 3. 8: Module Ethernet thực tế

  • Sử dụng chip ENC28j60 Ethernet, SOP 28 chân.

  • Giao tiếp theo chuẩn SPI.

  • Đầu nối RJ45 HR911105A.

  • Sử dụng điện áp 3,3V.

  • Tần số 25Mhz.

  • Trong mạch này, sử dụng đầu cắm giao tiếp RJ45 là HR911105A của HANRUN.HR911105A được tích hợp sẵn biến áp cad có 2 đèn led để thông báo trạng thái kết nối của mạch.



3.4.6. Chuẩn truyền thông SPI


SPI (Serial Peripheral Inteface) là một chuẩn truyền thông nối tiếp tốc độ cao do hãng Motorola đề xuất. Đây là kiểu truyền thông Master-Slave, trong đó có 1 chip Master điều phối quá trình tuyền thông và các chip Slaves được điều khiển bởi Master vì thế truyền thông chỉ xảy ra giữa Master và Slave. SPI là một cách truyền song công (full duplex) nghĩa là tại cùng một thời điểm quá trình truyền và nhận có thể xảy ra đồng thời. SPI đôi khi được gọi là chuẩn truyền thông “4 dây” vì có 4 đường giao tiếp trong chuẩn này đó là SCK (Serial Clock), MISO (Master Input Slave Output), MOSI (Master Ouput Slave Input) và SS (Slave Select).

SCK: Xung giữ nhịp cho giao tiếp SPI, vì SPI là chuẩn truyền đồng bộ nên cần 1 đường giữ nhịp, mỗi nhịp trên chân SCK báo 1 bit dữ liệu đến hoặc đi. Đây là điểm khác biệt với truyền thông không đồng bộ mà chúng ta đã biết trong chuẩn UART. Sự tồn tại của chân SCK giúp quá trình tuyền ít bị lỗi và vì thế tốc độ truyền của SPI có thể đạt rất cao. Xung nhịp chỉ được tạo ra bởi chip Master.

MISO– Master Input/Slave Output: nếu là chip Master thì đây là đường Input còn nếu là chip Slave thì MISO lại là Output. MISO của Master và các Slaves được nối trực tiếp với nhau.

MOSI – Master Output/Slave Input: nếu là chip Master thì đây là đường Output còn nếu là chip Slave thì MOSI là Input. MOSI của Master và các Slaves được nối trực tiếp với nhau.

SS – Slave Select: SS là đường chọn Slave cần giap tiếp, trên các chip Slave đường SS sẽ ở mức cao khi không làm việc. Nếu chip Master kéo đường SS của một Slave nào đó xuống mức thấp thì việc giao tiếp sẽ xảy ra giữa Master và Slave đó. Chỉ có 1 đường SS trên mỗi Slave nhưng có thể có nhiều đường điều khiển SS trên Master, tùy thuộc vào thiết kế của người dùng.

Hình 3. 9: SPI giữa một chip Master và 3 chip Slave thông qua 4 đường.

Hoạt động: mỗi chip Master hay Slave có một thanh ghi dữ liệu 8 bits. Cứ mỗi xung nhịp do Master tạo ra trên đường giữ nhịp SCK, một bit trong thanh ghi dữ liệu của Master được truyền qua Slave trên đường MOSI, đồng thời một bit trong thanh ghi dữ liệu của chip Slave cũng được truyền qua Master trên đường MISO. Do 2 gói dữ liệu trên 2 chip được gởi qua lại đồng thời nên quá trình truyền dữ liệu này được gọi là “song công”.


Hình 3. 10: Quá trình truyền 1 gói dữ liệu thực hiện bởi module SPI

Vi mạch ENC28J60 giao tiếp với các vi xử lý khác thông qua chuẩn truyền dữ liệu nối tiếp SPI (Serial Peripheral Interface), dùng để nối các vi mạch trong cùng một hệ thống với ưu điểm là chạy nhanh và tốn rất ít dây nối tín hiệu, chỉ cần 3 dây cho cả đường ghi và đọc.

Sau đây là bộ lệnh SPI dùng cho vi mạch ENC28J60 và các giản đồ xung thể hiện các quá trình ghi, đọc dữ liệu, lệnh giữa vi xử lý và ENC28J60 :






Hình 3. 11: Quá trình đọc thanh ghi điều khiển Ethernet




Hình 3. 12: Quá trình đọc thanh ghi điều khiển MAC




Hình 3. 13: Quá trình ghi vào thanh ghi lệnh



Hình 3. 14: Quá trình ghi vào bộ đệm lệnh



Hình 3. 15: Quá trình ghi vào lệnh của hệ thống

Mặc dù đã được thiết kế theo cấu trúc “stand alone” (một chip làm hết các việc) nhưng việc điều khiển để vi mạch này hoạt động được là rất phức tạp và đòi hỏi có hiểu biết khá toàn diện về vi điều khiển, mạch điện tử và mạng Internet. Tuy nhiên, rất may mắn cho người thiết kế và lập trình vì hãng MicroChip (hãng sản xuất vi mạch ENC28J60) đã hỗ trợ tối đa, bằng cách đưa ra đầy đủ các thư viện phục vụ cho việc lập trình, làm cho việc lập trình giao tiếp với vi mạch này trở nên khá dễ dàng.



3.5. Text LCD

3.5.1. Cấu trúc Text LCD

Text LCD là các loại màn hình tinh thể lỏng dung để hiển thị các dòng chữ hoặc số trong bẳng mã ASCII.Không giống các loại LCD lớn, text LCD được chia sẵn thành từng ô và ứng với mỗi ô chỉ có thể hiển thị một ký tự ASCII.Cũng vì lý do chỉ hiển thị được ký tự ASCII nên loại LCD này được gọi là Text LCD (để phân biết với Graphic LCD có thể hiển thị được hình ảnh). Mỗi ô của Text LCD bao gồm các chấm tinh thể lỏng, việc kết hợp “ẩn” và “hiện”các chấm này sẽ tạo thành một ký tự cần hiển thị. Trong Text LCD, các mẫu ký tự được đinh nghĩa sẵn. Kích thước của Text LCD được định nghĩa bằng số ký tự có thể hiển thị trên 1 dòng và tổng số dòng mà LCD có. Ví dụ LCD 16x2 là loại có 2 dòng và mỗi dòng hiển thị tối đa được 16 ký tự. Một số kích thước thông thường của LCD là: 16x1, 16x2, 16x4, 20x2, 20x4…





Hình 3. 16: Text LCD 16x2

Text LCD có 2 giao thức cơ bản là nối tiếp (như I2C) và song song. Trong phạm vi bài học này chúng tôi chỉ giới thiệu loại giao tiếp song song, cụ thể là LCD 16x2 điều khiển bởi chip HD44780U của hang Hitachi. Đối với các LCD khác bạn cần tham khảo datasheet riêng của từng loại , HD44780U cũng được gọi là chuẩn chung cho các loại Text LCD, vì thế bạn có thể dung chương trình ví dụ trong bài này để text trên các LCD khác với 1 ít chỉnh sửa cho phù hợp.

HD44780U là bộ điều khiển cho các Text LCD dạng ma trận điểm, chip này có thể được dung cho các LCD có 1 hoặc 2 dòng hiển thị. HD44780U có 2 mode giao tiếp là 4bit và 8 bit. Nó chứa sẵn 208 ký tự mẫu kích thước font 5x8 và 32 ký tự mẫu font 5x10 (tổng cộng có 240 mẫu ký tự khác nhau).
3.5.2. Sơ đồ chân

Bảng 3. 7: Chức năng chân của LCD

Chức năng

Số thứ tự chân

Tên

Trạng thái logic

Mô tả

Ground

1

VSS (GND)

-

0V

Nguồn cho LCD

2

VDD (VCC)

-

+5V

Tương phản

3

Vee

-

0 – Vdd

Điều khiển LCD

4

RS

0

1


D0-D7: lệnh

5

R/W

0

1


D0-D7: dữ liệu

6

E

0

1

Từ 1 xuống 0



Ghi (Từ PIC vào LCD)

Đọc (từ LCD vào PIC)



Dữ liệu/ Lệnh

7

D0

0/1

Bit 0 LSB

8

D1

0/1

Bit 1

9

D2

0/1

Bit 2

10

D3

0/1

Bit 3

11

D4

0/1

Bit 4

12

D5

0/1

Bit 5

13

D6

0/1

Bit 6

14

D7

0/1

Bit 7 MSB

Các Text LCD theo chuẩn HD44780U thường có 16 chân trong đó có 14 chân kết nối với bộ điều khiển và 2 chân nguồn cho “đèn LED nền”. Thứ tự chân thường được sắp xếp như hình trên.

Trong một số LCD 2 chân LED nền được đánh số 15 và 16 nhưng trong một số trường hợp 2 chân này đươc ghi là A(Anode) và K(Cathode).




Hình 3. 17: kết nối Text LCD với Vi điều khiển

Chân 1 và 2 là các chân nguồn, được nối với GND và nguồn 5V. Chân 3 là chân chỉnh độ tương phản (contrast), chân này cần được nối với 1 biến trở để đạt được độ tương phản cần thiết, sau đó giữa mức biến trở này. Các chân điều khiển RS, R/W,EN và các đường dữ liệu được nối trực tiếp với vi điều khiển. Tùy theo chế độ hoạt động 4bit hay 8bit mà các chân từ D0 đến D3 có thể bỏ qua hoặc nối với vi điều khiển, chúng ta sẽ khảo sát kỹ càng hơn trong các phần sau.



3.5.3. Điều khiển hiển thị


Các chân điều khiển việc đọc và ghi LCD bao gồm RS,R/W và EN. Chân RS là chân số 3: Chân lựa chọn thanh ghi ,chân này cho phép lựa chọn 1 trong 2 thanh ghi ỈR hoặc DR để làm việc. Vì cả 2 thanh ghi này đều được kết nối với các chân Data của LCD nên cần 1 bit để lựa chọn giữa chúng. Nếu RS=0, thanh ghi IR được chọn và nếu RS=1 thanh ghi DR được chọn. Chúng ta đều biết thanh ghi IR là thanh ghi chứa mã lệnh cho LCD, vì thế nếu muốn gởi 1 mã lệnh đến LCD thì chân RS phải được reset về 0. Ngược lại, khi muốn ghi mã ASCII của ký tự cần hiển thị lên LCD thì chúng ta sẽ set RS=1 để chọn thanh ghi DR. Hoạt động của chân RS được mô tả trong hình 12.




Hình 3. 18: Hoạt động của chân RS

R/W (chân số 4): Chân lựa chọn giữa việc đọc và ghi. Nếu R/W=0 thì dữ liệu sẽ được ghi từ bộ điều khiển ngoài (vi điều khiển AVR chẳng hạn) vào LCD. Nếu R/W=1 thì dữ liệu sẽ được đọc từ LCD ra ngoài. Tuy nhiên, chỉ có duy nhất 1 trường hợp mà dữ liệu có thể đọc từ LCD ra, đó là đọc trạng thái LCD để biết LCD có đang bận hay không (cờ Busy Flag - BF). Do LCD là một thiết bị hoạt động tương đối chậm (so với vi điều khiển), vì thế một cờ BF được dùng để báo LCD đang bận, nếu BF=1 thì chúng ta phải chờ cho LCD xử lí xong nhiệm vụ hiện tại, đến khi nào BF=0 một thao tác mới sẽ được gán cho LCD. Vì thế, khi làm việc với Text LCD chúng ta nhất thiết phải có một chương trình con tạm gọi là wait_LCD để chờ cho đến khi LCD rảnh. Có 2 cách để viết chương trình wait_LCD. Cách 1 là đọc bit BF về kiểm tra và chờ BF=0, cách này đòi hỏi lệnh đọc từ LCD về bộ điều khiển ngoài, do đó chân R/W cần được nối với bộ điều khiển ngoài. Cách 2 là viết một hàm delay một khoảng thời gian cố định nào đó (tốt nhất là trên 1ms). Ưu điểm của cách 2 là sự đơn giản vì không cần đọc LCD, do đó chân R/W không cần sử dụng và luôn được nối với GND. Tuy nhiên, nhược điểm của cách 2 là khoảng thời gian delay cố định nếu quá lớn sẽ làm chậm quá trình thao tác LCD, nếu quá nhỏ sẽ gây ra lỗi hiển thị. Trong bài này tôi hướng dẫn bạn cách tổng quát là cách 1, để sử dụng cách 2 bạn chỉ cần một thay đổi nhỏ trong chương trình wait_LCD (sẽ trình bày chi tiết sau) và kết nối chân R/W
của LCD xuống GND.

EN (chân số 5): Chân cho phép LCD hoạt động (Enable), chân này cần được kết nối với bộ điều khiển để cho phép thao tác LCD. Để đọc và ghi data từ LCD chúng ta cần tạo một “xung cạnh xuống” trên chân EN, nói theo cách khác, muốn ghi dữ liệu vào LCD trước hết cần đảm bảo rằng chân EN=0, tiếp đến xuất dữ liệu đến các chân D0:7, sau đó set chân EN lên 1 và cuối cùng là xóa EN về 0 để tạo 1 xung cạnh xuống.

3.5.4. Mạch RJ14


- Mạch sử dụng đầu cắm giao tiếp RJ14 là HR911105A của HANRUN, HR911105A được tích hợp sắn biến áp và có 2 con led để thông báo trạng thái kết nối của mạch.




Hình 3. 19: Sở đồ khối của HR911105A

Каталог: data -> file -> 2015 -> Thang05
Thang05 -> ĐỀ thi thử quốc gia năM 2014-2015 MÔn thi: anh văN
Thang05 -> I. MỤc tiêU: 1 Kiến thức: Biết mối quan hệ giữa đơn vị các hàng liền kề. 2 Kĩ năng
Thang05 -> Bài 19: nhân dân việt nam kháng chiến chống pháp xâm lưỢC (Từ năm 1858 đến trước năm 1873) I. Mục tiêu bài học
Thang05 -> MÔn tậP ĐỌC (LỚP 1) BÀI: TẶng cháu I. Mục tiêu
Thang05 -> BÀi tập trắc nghiệm chuyểN ĐỔi câu tiếng anh
Thang05 -> ĐỀ kiểm tra chất lưỢng học kỳ II năm họC 2014 2015
Thang05 -> BÀI: viết số thành tổng các trăM, chụC, ĐƠn vị I. Mục tiêu: Kiến thức
Thang05 -> SỞ giáo dục và ĐÀo tạo bắc giang thpt việt yêN 2
Thang05 -> Bài 9: quang hợP Ở CÁc nhóm thực vật c3, C4 VÀ cam I. Mục tiêu
Thang05 -> Tp hồ chí minh, tháng 10 năm 2010 LỜi cảm tạ

tải về 0.52 Mb.

Chia sẻ với bạn bè của bạn:
1   2   3   4




Cơ sở dữ liệu được bảo vệ bởi bản quyền ©hocday.com 2024
được sử dụng cho việc quản lý

    Quê hương