VI ĐIỀU KHIỂN PIC18F4550
Tổng quan về vi điều khiển PIC18F4550
PIC18F4550 là một vi xử lý đa chức năng với giá thành hợp lý, thuộc dòng sản phẩm vi xử lý PIC nổi tiếng của công ty Microchip, có trụ sở tại Chandler, Arizona, Mỹ.
Vi xử lý PIC18F4550 nổi bật với tính năng hỗ trợ USB tích hợp, cho phép kết nối trực tiếp với máy tính mà không cần mạch kéo hay các linh kiện ngoài.
Hình 1.2 Giao tiếp USB trong PIC 18F4550
Bộ xử lý hỗ trợ tinh thể và dao động ký nhiều tần số, cho phép hoạt động hiệu quả với tần số 48 MHz của dao động ký độc lập khi được kết nối Khi kết thúc hoạt động, việc chỉnh dao động ký được thực hiện thông qua các bit cấu hình.
Làm việc với tốc độ 48 MHz là điều kiện tiên quyết để chuyển sang chế độ toàn tốc qua cổng USB, cho phép driver USB hoạt động ở tốc độ 1.5 Mbyte/giây và tương thích với chuẩn USB 2.0 Thiết bị này có 35 chân vào/ra số chung và đi kèm với vỏ bọc DIP-40, mang lại sự thuận tiện cho các nhà phát triển và những người đam mê công nghệ.
Với bộ nhớ, có 32kb Flash lưu trữ chương trình, 2kb bộ nhớ SRAM bay hơi và
Bộ nhớ EEPROM 256 byte được sử dụng để lưu trữ dữ liệu dài hạn như cấu hình Các chỉ thị có độ dài 1 byte, ngoại trừ một số chỉ thị như CALL, MOVFF và GOTO LSFR với độ dài 2 byte Hệ thống sử dụng cơ chế đường ống để thực thi mã, cho phép các chỉ thị hoạt động liên tiếp trong 4 xung và có 4 lần nhảy xung Ngoài ra, thiết bị còn có đồng hồ và ngắt với hai mức ưu tiên, sử dụng cả hai mức như bộ so sánh tương tự kèm theo bộ phát điện thế chuẩn 16 mức, hữu ích cho việc kích hoạt ở mức phần cứng Cuối cùng, PIC được trang bị bộ chuyển đổi tương tự 10 bit, nhưng tốc độ dao động ký không đáp ứng yêu cầu cao, với máy phát dao động hoạt động ở tốc độ 48 MHz, không thể đạt được tốc độ lớn hơn 200 kHz do thời gian trễ từ truyền tải và các ngắt khác.
Đặc điểm của vi điều khiển PIC 18F4550
PIC 18F4550 có 40/44 chân với cấu trúc như sau:
Có Port giao tiếp song song
Hình 1.3 Sơ đồ chân vi đều khiển 18F4550
Bảng 1.1 Đặc điểm PIC 18F4550 Đặc điểm PIC 18F4550
Tần số hoạt động DC – 48MHz
Bộ nhớ chương trình (bytes) 32768
Bộ nhớ chương trình (cấu trúc) 16384
Bộ nhớ dữ liệu (bytes) 2048
Bộ nhớ dữ liệu EPROM (bytes) 256
Capture/ Compare/ PWM module cải tiến 1
Giao tiếp Serial MSSP, USART cải tiến
Streaming Parallel Port (SPP) Có
10 – Bit Analog-to-Digital Module 13 kênh
Reset và Delay POR,BOR,RESETInstruction, Stack Full,
Bộ so sánh tương tự 2
Tập lệnh 75, 83 với tập lệnh mở rộng
1.2.2 Sơ đồ khối của PIC 184550
Xét về mặt cấu trúc, PIC 18F4550 gồm các khối (hình 1.5):
Khối ALU – Arithmetic Logic Unit
Khối bộ nhớ chứa chương trình – Flash Program Memory
Khối bộ nhớ chứa dữ liệu EPROM – Data EPROM
Khối bộ nhớ file thanh ghi RAM – RAM file Register
Khối giải mã lệnh và điều khiển – Instruction Decode Control
Khối thanh ghi đặc biệt
Khối bộ nhớ ngăn xếp
Hình 1.4 Sơ đồ khối PIC 18F4550
Khối Reset mạch hoạt động khi có điện, đảm bảo sự khởi động ổn định Khối định thời Reset giúp duy trì hoạt động mạch khi có điện, trong khi khối định thời ổn định dao động cũng hoạt động tương tự Khối định thời giám sát theo dõi tình trạng hoạt động, và khối Reset sẽ kích hoạt khi nguồn điện bị sụt giảm Ngoài ra, khối gỡ rối và khối lập trình bộ nhớ điện áp thấp cũng đóng vai trò quan trọng trong việc tối ưu hóa hiệu suất của mạch.
Khối giao tiếp nối tiếp
Khối chuyển đổi tín hiệu tương tự sang số - ADC
Khối so sánh điện áp tương tự
Khối tạo điện áp tham chiếu
Khối các Port xuất nhập
1.2.3 Sơ đồ và chức năng các chân PIC 18F4550
Hình 1.5 Sơ đồ chân PIC 18F4550 loại 40 chân
- MCLR: Ngõ vào Reset tích cực mức thấp
- Vpp: Ngõ vào nhận điện áp khi ghi dữ liệu vào bộ nhớ nội Flash
- AN0: Ngõ vào tương tự của kênh thứ 0
- AN1: Ngõ vào tương tự của kênh thứ 1
Chân 4 – RA2/AN2/V REF -/ CV REF
- AN2: ngõ vào tương tự của kênh thứ 2
- V REF -: ngõ vào điện áp chuẩn (thấp) của bộ ADC
- CV REF: Điện áp tham chiếu V REF ngõ ra bộ so sánh
- AN3: ngõ vào tương tự kênh thứ 3
- V REF+ : ngõ vào điện áp chuẩn (cao) của bộ ADC
Chân 6 – RA4/T0CKI/C1OUT/RCV:
- RA4: xuất/ nhập số - mở khi được cấu tạo là ngõ ra
- TOCKI: ngõ vào xung clock từ bên ngoài cho Timer 0
- C1OUT: ngõ ra bộ so sánh 1
Chân 7 – RA5/AN4/SS/HLVDIN/C2OUT:
- AN4: ngõ vào tương tự kênh thứ 4
- SS: ngõ vào chọn lựa SPI phụ
- C2OUT: ngõ ra bộ so sánh 2
Chân 8 – RE0/AN5/CK1SPP:
- AN5: ngõ vào tương tự kênh thứ 5
Chân 9 – RE1/AN6/CK2SPP:
- AN6: ngõ vào tương tự kênh thứ 6
Chân 10 – RE2/AN7/CK2SPP:
- AN7: ngõ vào tương tự kênh thứ 7
Chân 13 – OSC1/CLK1: Là ngõ vào kết nối với dao động thạch anh hoặc ngõ vào nhận xung clock bên ngoài
- OSC1: ngõ vào dao động thạch anh hoặc ngõ vào nguồn xung ở bên ngoài Ngõ vào có mạch Switch Trigger nếu sử dụng dao động RC
- CLK1: ngõ vào nguồn xung bên ngoài
Chân 14 – OSC2/CLK0/RA6: Ngõ ra dao động thạch anh hoặc ngõ ra cấp xung clock
- OSC2: Ngõ ra dao động thạch anh Kết nối đến thạch anh hoặc bộ cộng hưởng
- CLK0: ở chế dộ RC, ngừ ra của OSC2, bằng ẳ tần số của OSC1 và chính là tốc độ của chu kỳ lệnh
- T1OSO: ngõ ra của bộ dao động Timer 1
- T13CKI: ngõ vào xung clock từ bên ngoài Timer 1 và Timer 3
Chân 16 – RC1/T1OSI/CCP2/UOE
- T1OSI: ngõ vào của bộ dao động timer 1
- CCP2: ngõ vào Capture2, ngõ ra Compare2, ngõ ra PWM2
- CCP1: ngõ vào Capture1, ngõ ra Compare1, ngõ ra PWM1
Chân 18 – V USB : chân nguồn USB
- SPP0: dữ liệu port song song
- SPP1: dữ liệu port song song
- PGD: mạch gỡ rối và dữ liệu lập trình ICSP
- PGC: mạch gỡ rối và xung clock lập trình ICSP
- PGM: chân cho phép lập trình điện áp thấp ICSP
Chân 34 – RB1/AN10/INT1/SCK/SCL
- SCK: ngõ vào xung clock nối tiếp đồng bộ/ ngõ ra của chế độ SPI
- SCL: ngõ vào xung clock nối tiếp đồng bộ/ ngõ ra của chế độ I 2 C
Chân 33 – RB0/AN12/INT0/FLT0/SDI/SDA
- INT0: Ngõ vào nhận tín hiệu ngắt ngoài
- SDI: dữ liệu vào SPI
- SDA: xuất/ nhập dữ liệu I 2 C
Chân 26 – RC7/RX/DT/SDO
- RX: nhận bất dồng USART
- DT: dữ liệu đồng bộ USART
- SDO: dữ liệu ra SPI
- TX: truyền bất đồng bộ USART
- CK: xung đồng bộ USRART
Các khối chức năng chính trong PIC 18F4550
1.3.1 Khối dao động xung nhịp
Mạch dao động với nhiều tùy chọn Họ vi điều khiển PIC18F2455/ 2550/
4550 có 12 tùy chọn mạch dao động, bao gồm:
- 4 chế độ dao động tinh thể hoặc cộng hưởng gốm
- 4 chế độ xung nhịp ngoài
Bộ dao động nội cung cấp xung nhịp 8MHz và mạch dao động RC cung cấp xung nhịp 31KHz, cùng với 6 lựa chọn tần số xung nhịp từ 125kHz đến 4MHz, mang đến tổng cộng 8 lựa chọn tần số xung nhịp cho người sử dụng.
Nhân tần sử dụng PLL (Phase Loop Lock) có khả năng áp dụng cho cả dao động tinh thể tần số cao và dao động ngoài, với dải tần số xung nhịp từ 4MHz đến 48MHz.
Hoạt động xung nhịp kép không đồng bộ (Asynchronous dual clock operation) cho phép khối USB hoạt động với tần số xung nhịp cao, trong khi các khối khác trong vi điều khiển hoạt động với tần số xung nhịp thấp hơn.
Theo dõi an toàn xung nhịp (Fail-Safe clock monitor) là tính năng cho phép giám sát liên tục nguồn xung nhịp chính Nếu nguồn xung nhịp chính bị ngắt, vi điều khiển sẽ tự động chuyển sang hoạt động với tần số xung nhịp thấp hơn, đảm bảo hệ thống vẫn hoạt động an toàn.
Khởi động hai tốc độ (Two-Speed Start-up) cho phép nguồn xung nhịp nội hoạt động trong quá trình reset khi khởi động hoặc khi vi điều khiển trở lại từ chế độ ngủ cho đến khi nguồn xung nhịp chính sẵn sàng Trong các chế độ HS, HSPLL, XT, và XTPLL, thạch anh dao động hoặc cộng hưởng gốm được kết nối ở chân OSC1 và OSC2, với giá trị khác nhau cho các tụ điện C1, C2 đặt cạnh thạch anh.
Vi điều khiển PIC18F4550 được trang bị khối PLL (Phase Loop Lock), cho phép khối USB hoạt động ở tần số cao trong khi xung nhịp hệ thống vẫn ở mức thấp hơn PLL hỗ trợ các chế độ dao động HSPLL, XTPLL, ECPLL và ECPIO, và có khả năng tạo ra tần số xung nhịp chuẩn 96MHz từ tần số đầu vào cố định 4MHz.
Vi điều khiển PIC18F4550 tích hợp khối dao động nội, cung cấp hai tín hiệu xung nhịp khác nhau: lối ra trực tiếp 8 MHz và lối ra qua bộ chia từ 31 KHz đến 4 MHz Nguồn dao động được lấy từ thạch anh dao động hoặc cộng hưởng gốm, được gọi là dao động ngoài Lối ra 31 KHz từ nguồn dao động nội cho phép sử dụng trong nhiều ứng dụng khác nhau.
- Timer bật nguồn (Power-up timer)
- Theo dõi an toàn xung nhịp
- Khởi động hai tốc độ (Two-Speed Start-up)
Lối ra dao động nội được chuẩn bởi nhà sản xuất nhưng có thể được người dùng tinh chỉnh thông qua thanh ghi điều chỉnh dao động (Oscillator Control Register) Việc điều chỉnh này cho phép người dùng tùy biến các chế độ dao động nội theo nhu cầu sử dụng.
Sự lựa chọn nguồn xung nhịp cho USB xác định bởi các chế độ dao động nội riêng biệt:
- Chế độ INTHS: Xung nhịp USB được cung cấp bởi dao động trong chế độ HS
- Chế độ INTXT: Xung nhịp USB được cung cấp bởi dao động trong chế độ XT
- Chế độ INTXT: Xung nhịp USB được cung cấp bởi dao động trong chế độ XT
- Chế độ INTCKO: Xung nhịp USB được cung cấp từ dao động bên ngoài thạch anh dao động/ cộng hưởng gốm
- Chế độ INTIO: xung nhịp cho USB được cung cấp vào chân OSC1/CLK1, còn chân OSC2/CLK2 có chức năng như chân I/O
- Tần số dao động cho USB là 6 MHz hoặc 48 MHz tùy thuộc vào chế độ tốc độ thấp (low speed) hay chế độ tốc độ toàn phần (full speed)
- Tần số dao động cho USB là 6 MHz hoặc 48 MHz tùy thuộc vào chế độ tốc độ thấp (low speed) hay chế độ tốc độ toàn phần (full speed)
Bộ nhớ Flash nâng cao (Enhanced Flash) được sử dụng cho bộ nhớ chương trình và bộ nhớ dữ liệu EEPROM, với khả năng xóa/ghi lên đến 100.000 lần cho bộ nhớ chương trình và 1.000.000 lần cho bộ nhớ dữ liệu Dữ liệu có thể được lưu trữ trong thời gian lên đến 40 năm mà không cần làm tươi Trong họ PIC18, có ba loại bộ nhớ khác nhau.
Theo cấu trúc Harvard, bộ nhớ chương trình và dữ liệu sử dụng hai bus riêng biệt, cho phép truy cập đồng thời hai vùng bộ nhớ EEPROM dữ liệu được coi là thiết bị ngoại vi vì được truy cập thông qua bộ thanh ghi điều khiển Vi điều khiển PIC18 có bộ đếm chương trình 21 bit, cho phép định vị đến 2 Mbyte bộ nhớ chương trình Cụ thể, PIC18F4550 có 32 Kbyte bộ nhớ flash, có khả năng chứa tối đa 16.384 lệnh từ đơn.
Vi điều khiển PIC18F2455/2550/4550 có khả năng tự lập trình, cho phép nạp chương trình vào bộ nhớ mà không cần thiết bị bên ngoài nhờ vào Bootloader Tính năng này giúp nâng cấp firmware cho các ứng dụng sử dụng vi điều khiển này Bộ nhớ chương trình Flash của PIC18FX550 đạt 32 Kbytes.
Hình 1.6 Bản đồ tổ chức bộ nhớ họ vi điều khiển PIC18F4550
Họ vi điều khiển PIC18 có 4 bộ timer: timer0, timer1, timer2 và timer3 Mỗi timer có tính năng riêng
- Định chế độ hoạt động bằng phần mềm: timer hoặc counter, 8 bit hoặc16 bit
- Bộ chia khả trình 8 bit chuyên dụng
- Nguồn xung nhịp chọn được (trong hay ngoài)
- Khả năng chọn cạnh đối với xung nhịp ngoài
- Chọn bằng phần mềm timer hay counter 16 bit
- Khả năng đọc viết thanh ghi 8 bit (TMR1H và TMR1L)
- Chọn nguồn xung nhịp trong hay ngoài
- Khối RESET hoạt động trên cơ sở xung kích sự kiện CCP
- Cờ trạng thái xung nhịp (T1RUN)
- Timer 8 bit (TMR2) và thanh ghi chu kỳ (PR2)
- Khả năng đọc viết cả 2 thanh ghi
- Lập trình bằng phần mềm cho bộ chia (1:1, 1:4, 1:16)
- Ngắt khi TMR2 gặp PR2
- Tùy chọn dùng như xung nhịp dịch cho khối MSSP
- Chọn bằng phần mềm hoạt động như là timer hoặc counter 16 bit
- Khả năng đọc ghi thanh ghi 8 bit (TMR3H và TMR3L)
- Khả năng chọn nguồn xung nhịp (trong hoặc ngoài)
- Khối RESET hoạt động trên cơ sở xung kích sự kiện CCP
1.3.4 Khối Capture/ So sánh/ PWM (CCP)
Họ vi điều khiển PIC18F2455/2550/4455/4550 có tất cả 2 khối CCP Mỗi khối chứa thanh ghi 16 bit
Cặp thanh ghi CCPRxH:CCPRxL lưu trữ giá trị 16 bit từ thanh ghi TMR1 hoặc TMR3 khi có sự kiện xảy ra tại chân CCPx tương ứng Sự kiện này được định nghĩa là một tín hiệu quan trọng trong quá trình hoạt động của hệ thống.
- Mỗi khi có cạnh lên
- Mỗi khi có cạnh xuống
- Mỗi khi có cạnh lên thứ 4
- Mỗi khi có cạnh lên thứ 16
Sự kiện được xác định bởi bit chế độ CCPxM3:CCPxM0 (CCPxCON) Khi sự kiện Capture diễn ra, bit cờ ngắt yêu cầu (CCPxIF) sẽ được SET và chỉ có thể được xóa thông qua phần mềm.
Thanh ghi 16 bit CCPRx có giá trị hằng số được so sánh với giá trị của cặp thanh ghi TMR1 hoặc TMR3 Khi giá trị của hai thanh ghi này bằng nhau, chân CCPx sẽ có những trạng thái cụ thể.
- Phát xung (cực tính dương hoặc âm)
Chân CCPx duy trì trạng thái không thay đổi, phản ánh trạng thái chốt I/O dựa trên giá trị của bit chọn chế độ (CCPxM3:CCPxM0) Khi xảy ra sự kiện so sánh bằng nhau, bit cờ ngắt CCPxIF sẽ được thiết lập ở mức 1.
Chế độ PWM (Pulse-Width Modulation: điều chế độ rộng xung)
Chân CCPx phát sinh xung PMW độ phân giải 10 bit Độ rộng xung (Duty Cycle) của xung PWM được hình thành theo minh họa hình dưới đây
Phần mềm hỗ trợ lập trình và biên dịch
Hiện nay, có nhiều nhà sản xuất trình biên dịch ngôn ngữ C cho vi điều khiển PIC, trong đó một số trình biên dịch phổ biến như CCS – C, Microchip C18, C30, Hitech PICC và IAR Embedded Workbench Những trình biên dịch này chiếm ưu thế lớn trên thị trường Việc lựa chọn một trình biên dịch phù hợp không hề đơn giản và cần dựa trên nhiều tiêu chí như giá cả, đặc điểm ngôn ngữ, thư viện hỗ trợ, IDE và hiệu suất (benchmark).
Sau khi xem xét các đánh giá về các trình biên dịch cho vi điều khiển PIC, tôi đã quyết định chọn trình biên dịch CCS PIC-C cho dự án của mình.
CCS là trình biên dịch lập trình ngôn ngữ C cho vi điều khiển PIC của hãng Microchip Các ưu điểm của CCS là:
- Kế thừa tấc cả đặc điểm của ngôn ngữ C- là ngôn ngữ cơ bản, quen thuộc mà sinh viên đã được đào tạo
Xây dựng các hàm tiện ích giúp người dùng dễ dàng sử dụng các chức năng đặc biệt của Vi điều khiển PIC, bao gồm khối ADC, PWM, RS232 và SPI.
- Có khả năng kết hợp với ngôn ngữ hợp ngữ, tạo sự mềm dẻo trong phát triển ứng dụng
- Khả năng phát triển, nâng cấp ứng dụng là dễ dàng
- Ngày càng được cập nhật với nhiều tính năng ưu việt và hiệu quả hơn
Chương trình là sự tích hợp của 3 trình biên dịch riêng biệt cho 3 dòng PIC khác nhau, đó là:
- PCB cho dòng PIC 12-bit opcodes
- PCM cho dòng PIC 14-bit opcodes
- PCH cho dòng PIC 16 và 18-bit
Tất cả ba trình biên dịch được tích hợp trong chương trình CCS, bao gồm cả trình soạn thảo và biên dịch CCS tương tự như nhiều trình biên dịch C khác cho PIC, giúp người dùng nhanh chóng làm quen với vi điều khiển PIC.
33 dự án sẽ được triển khai nhanh chóng và hiệu quả nhờ sử dụng ngôn ngữ lập trình cấp cao C Các chương trình điều khiển sẽ đạt được kết quả tối ưu thông qua việc áp dụng công nghệ tiên tiến này.
Bản hướng dẫn sử dụng phần mềm, đặc biệt là tài liệu Help bằng tiếng Anh, cung cấp thông tin chi tiết về hằng, biến, chỉ thị tiền xử lý và cấu trúc câu lệnh trong chương trình Nó cũng giới thiệu các hàm có sẵn để hỗ trợ người dùng trong quá trình sử dụng phần mềm.
Tổng kết chương 1
Vi điều khiển PIC 18F4550 là một thiết bị mạnh mẽ với nhiều chức năng, nhưng để khai thác hết tiềm năng của nó, cần có quá trình nghiên cứu kỹ lưỡng Trong đồ án này, tôi tập trung vào các tính năng chính của PIC 18F4550, đặc biệt là khả năng hỗ trợ USB tích hợp, cho phép kết nối trực tiếp với máy tính mà không cần mạch ngoài Điều này làm cho PIC 18F4550 trở thành lựa chọn lý tưởng cho đề tài Bên cạnh đó, trình biên dịch CCS được sử dụng trong đề tài này do có nhiều ưu điểm vượt trội so với các trình biên dịch khác hiện có.
PHÂN TÍCH, THIẾT KẾ HỆ THỐNG
Bài toán giám sát và điều chỉnh nhiệt độ
Đồ án này tập trung vào việc thiết kế và thi công mạch đo nhiệt độ môi trường, chuyển đổi tín hiệu thành dạng điện và truyền đến khối xử lý trung tâm Khối xử lý này có nhiệm vụ gửi thông tin về trạng thái hoạt động của thiết bị đến máy tính, cũng như nhận tín hiệu điều khiển từ máy tính để điều khiển các thiết bị ngoại vi Mạch giao tiếp với máy tính thông qua cổng USB, và giao diện điều khiển, giám sát được phát triển bằng phần mềm Labview, cho phép gửi tín hiệu điều khiển và nhận thông tin trạng thái hoạt động của thiết bị, hiển thị trên giao diện phần mềm.
Trong dải nhiệt độ từ 15°C đến 38°C, LED xanh dương sẽ sáng để báo hiệu nhiệt độ bình thường Khi nhiệt độ vượt quá 38°C, LED đỏ sẽ bật để cảnh báo và quạt sẽ tự động hoạt động nhằm giảm nhiệt độ LED đỏ sẽ tắt khi nhiệt độ hạ xuống dưới 38°C, trong khi quạt sẽ ngừng hoạt động khi nhiệt độ giảm xuống dưới 30°C Ngược lại, nếu nhiệt độ xuống dưới 15°C, LED đỏ sẽ sáng cảnh báo và đèn sẽ được bật để tăng nhiệt độ LED đỏ tắt khi nhiệt độ vượt quá 15°C, và đèn sẽ tắt khi nhiệt độ trên 20°C Tất cả các LED này được hiển thị trên giao diện máy tính.
Từ các yêu cầu chức năng, kỹ thuật của đề tài, ta xây dựng được sơ đồ khối tổng quát như sau:
Hinh 2.1 Sơ đồ khối tổng quát
KHỐI ĐIỀU KHIỂN TRUNG TÂM
KHỐI THIẾT BỊ NGOẠI VI
Khối điều khiển trung tâm
Ngày nay, các thiết bị kỹ thuật hiện đại đều sử dụng Vi xử lý và Vi điều khiển, cho thấy tầm quan trọng của việc học tập và nghiên cứu lĩnh vực này Việc nắm vững kiến thức cơ bản về Vi điều khiển giúp phát triển các ứng dụng thực tế với chi phí nghiên cứu, sản xuất và bảo trì tối thiểu.
Trên thị trường hiện nay có nhiều loại Vi điều khiển như PIC, 8051, AVR, ARM, do đó việc chọn lựa Vi điều khiển phù hợp là rất quan trọng Tôi đã quyết định chọn PIC vì nó đáp ứng đầy đủ các yêu cầu, đi kèm với bộ chuyển đổi ADC, được sử dụng rộng rãi trong các máy công nghiệp và có giá thành hợp lý Đặc biệt, vi xử lý PIC18F4550 hỗ trợ USB với các chân đầu ra tích hợp, cho phép kết nối trực tiếp với máy tính mà không cần mạch kéo hay linh kiện ngoài nào khác, hoàn toàn phù hợp cho nghiên cứu Với những lý do này, tôi đã chọn Vi điều khiển PIC18F4550 cho đề tài của mình.
Hình 2.2 Sơ đồ khối điều khiển trung tâm
Khối điều khiển trung tâm có nhiệm vụ:
- Biến đổi tín hiệu tương tự thành tín hiệu số để xử lý
- Đưa tín hiệu đến LCD để hiển thị
- So sánh với t 0 C để đưa ra tín hiệu điều khiển
- Tổng hợp nhiệt độ từ 4 cảm biến nhiệt LM35 để tính nhiệt độ trung bình
- Thực hiện việc truyền và nhận tín hiệu từ PC
Khối giao tiếp máy tính
Cổng USB (Universal Serial Bus) là một bus nối tiếp được phát triển bởi các công ty hàng đầu như Compaq, DEC, IBM, Intel, Microsoft, NEC và Nortel Mục tiêu của việc phát triển cổng USB là tạo ra một kết nối dễ dàng cho nhiều thiết bị mở rộng khác nhau USB đã trải qua nhiều phiên bản nâng cấp để cải thiện hiệu suất và khả năng tương thích.
USB 1.0, được giới thiệu vào năm 1996, là phiên bản đầu tiên của công nghệ USB, cho phép tốc độ truyền dữ liệu lên tới 12Mbit/s giữa máy tính và các thiết bị kết nối.
USB 1.1, được giới thiệu vào năm 1997, là phiên bản nâng cấp từ USB 1.0 Nó không chỉ kế thừa các tính năng của USB 1.0 mà còn hỗ trợ hai tốc độ truyền dữ liệu: 12 Mbit/s cho các thiết bị tốc độ cao (Full speed) và 1,5 Mbit/s cho các thiết bị tốc độ thấp (Low speed).
USB 2.0, được giới thiệu vào năm 2000, mang đến tính tương thích với các phiên bản trước và tốc độ cao lên tới 480Mbit/s (High-Speed) Vào tháng 12 năm 2000, công ty ECN đã giới thiệu chuẩn đầu nối kiểu mới (kiểu đầu nối B).
- USB 3.0 ra đời từ năm 2008, tốc độ có thể gấp hàng chục lần tốc độ của phiên bản USB 2.0
USB 3.1 có tốc độ truyền dữ liệu lên tới 10 Gb/giây, nhanh gấp đôi so với USB 3.0 (5 Gb/giây) và vượt trội hơn hẳn so với các chuẩn cũ như USB 2.0 (480 Mb/giây) và USB 1.1 (12 Mb/giây).
Hình 2.3 Biểu tượng của bus usb (a), cáp và cổng kết nối (b)
Các máy tính hiện đại thường được trang bị nhiều cổng USB, giúp kết nối dễ dàng với các thiết bị hỗ trợ USB như máy in, máy quét hình, camera và các thiết bị đo lường.
Từ phiên bản OEM 2.1 của Windows 95, phần mềm bắt đầu hỗ trợ một số tính năng mới Trong phiên bản Windows 98, nhiều thiết bị đi kèm với trình điều khiển (Device Driver) được tích hợp sẵn Các gói phần mềm hỗ trợ cổng USB tiếp tục được phát triển và tích hợp trong Windows Me, Windows 2000 và Windows XP, góp phần làm cho cổng USB trở nên phổ biến Một số đặc điểm nổi bật của bus USB bao gồm tính năng kết nối dễ dàng và khả năng tương thích với nhiều thiết bị khác nhau.
Dễ dàng sử dụng mà không cần lo lắng về cấu hình và cài đặt chi tiết, người dùng có thể điều khiển luồng dữ liệu thông qua bộ đệm bằng cách quản lý giao thức đã được thiết lập sẵn bên trong.
- Nhanh: giao diện không bị thắt “cổ chai” với các thiết bị truyền thông chậm
- Tin cậy: ít xảy ra do có cơ chế tự động sửa chữa lỗi
- Mềm dẻo: có thể kết nối nhiều loại thiết bị với giao diện này
- Cung cấp nguồn trên bus: điều này rất thuận tiện cho các thiết bị xách tay với dòng tiêu thụ nhỏ có thể được cung cấp thông qua bus
Hệ thống hỗ trợ cắm nóng (Plug and Play) cho phép thiết bị tự động phát hiện và gọi phần mềm cài đặt khi được kết nối, điều này khác biệt so với các cổng trước đây như LPT hay RS232.
- Kết nối nhiều thiết bị: có thể kết nối đến 127 thiết bị có cấu hình và tốc độ khác nhau trên một hệ thống bus USB
Bảng 2.2 So sánh giao diện USB với các giao diện thông dụng trên máy tính
Số thiết bị lớn nhất
Tốc độ lớn nhất Thiết bị sử dụng
Nối tiếp không đồng bộ USB 127 5m 1.5; 12;
Nối tiếp không đồng bộ RS 232 2 9 – 30.5 20÷115
Modem, Mouse, các thiết bị điều khiển khác
Nối tiếp không đồng bộ RS 485 32÷256 1200 10M
Hệ thống thu dữ liệu và điều khiển
Nối tiếp hồng ngoại IrDA 8 1.8 115M Printers, kết nối mạng
Truyền thông với vi điều khiển
Truyền thông với vi điều khiển
Truyền thông với vi điều khiển Serial (Fire
488 1024 18 8M Các thiết bị khoa học
2.3.2 Cấu trúc của giao tiếp USB
Cấu trúc cơ bản của mạng USB được tổ chức theo hình sao, bao gồm nhiều thiết bị ngoại vi, Hub và một chủ điều khiển duy nhất, thường là máy tính Chủ điều khiển hoạt động chặt chẽ với Hub gốc để mở rộng các kết nối đến chủ, tạo nên một hệ thống USB hiệu quả và linh hoạt.
Hub gốc có khả năng kết nối đến nhiều thiết bị hoặc các Hub khác Đây là thiết bị dùng để mở rộng các cổng kết nối; ví dụ, một hub có một kết nối lên máy chủ (upstream) và bốn cổng kết nối với các thiết bị bên ngoài (downstream).
Hình 2.4 Mô hình kết nối Bus của USB
Máy chủ USB nhận diện thiết bị kết nối qua việc kiểm tra liên tục các hub Khi thiết bị được cắm vào hub, hub thông báo cho máy chủ Máy chủ USB sẽ cấp phép và đặt lại cổng, sau đó yêu cầu thiết bị gửi bản mô tả Từ bản mô tả này, máy chủ biết được yêu cầu, trạng thái, loại thiết bị và lớp hỗ trợ Thiết bị sẽ được gán một địa chỉ duy nhất và phần mềm điều khiển sẽ được kích hoạt Các thiết bị có driver hỗ trợ sẽ được phân loại vào một lớp chung, cho phép hệ thống gọi phần mềm điều khiển và trao đổi dữ liệu mà không cần cài đặt thêm driver.
Khi một thiết bị thuộc lớp HID (Human Interface Device) được khai báo với hệ thống, thiết bị này sẽ được tự động nhận diện và hệ thống sẽ nạp Device Driver cần thiết để điều khiển nó Bảng 2.2 trình bày một số lớp hỗ trợ cho các thiết bị thông dụng trong hệ điều hành Windows.
Hình 2.6 Kết nối USB theo hình sao qua các Hub Bảng 2.3 Các lớp thiết bị hỗ trợ theo hệ điều hành
Class (Lớp) Thiết bị được hỗ trợ
Audio Audio, thiết bị nghe nhạc, hệ thống âm thanh
Chip/smart card interface devices
Common class (CCS) Một số thiết bị thông dụng
Communications device Modems, Telephones và các giao diện mạng
HID Các thiết bị giao tiếp người – máy như: chuột, bàn phím,v.v.…
FrDA Thiết bị hồng ngoại
Mass strorage Đĩa cứng, CD-ROM, DVD-ROM
Monitor Màn hình và các thiết bị hiển thị
Physical interface devices Joysticks và các thiết bị khác
POS terminals Máy bán hàng, máy tính tiền và các thiết bị
Power Các thiết bị giám sát và điều khiển nguồn, ví dụ như: quản lý pin
Imaging class Scanners và Cameras
Dữ liệu giữa thiết bị USB và máy tính được trao đổi thông qua bốn kiểu truyền chính: truyền điều khiển, truyền ngắt, truyền khối và truyền đồng bộ.
Truyền điều khiển (Control Transfers):
Phương pháp này thường được áp dụng để cài đặt phần cứng và gửi lệnh cho việc điều khiển thiết bị, hoạt động ở mức ưu tiên cao với khả năng tự động kiểm soát lỗi Mỗi gói tin có thể truyền tối đa 64 byte.
Khối cảm biến nhiệt độ
Các phương án lựa chọn cảm biến:
Phương án 1: Dùng Themistor: Themistor là sensor nhiệt điện trở Ưu điểm:
- Tốc độ hồi đáp nhanh với tốc độ thay đổi của nhiệt độ
- Độ nhạy khá cao ( khoảng 1%)
- Có thể tạo ra nhiều kích cỡ, phù hợp với các mục đích đo khác nhau
- Được chế tạo có giá trị điện trở mở rộng, có thể chọn để thiết kế cho phù hợp là rất dễ dàng
- Đặc tuyến R-T của Themistor không tuyến tính
Hình 2.13 Đặc tuyến nhiệt điện trở âm
Hình 2.14 Đặc tuyến nhiệt điện trở dương
Phương án 2: Dùng nhiệt kế thủy ngân có điều chỉnh được nhiệt độ Ưu điểm:
- Độ chính xác tương đối cao ( khoảng 1%)
- Dùng sau một thời gian thường bị kẹt do thủy ngân bị oxy hóa
Khi nhiệt độ lò ấp dao động gần với nhiệt độ cài đặt, tiếp điểm thủy ngân của rơle sẽ đóng ngắt liên tục, dẫn đến hiện tượng cháy rơle Nếu không có sự đóng mở liên tục này, nhiệt độ có thể vượt quá 0,5°C, trong khi yêu cầu là không được vượt quá 0,2°C.
Phương án 3: Dùng cảm biến nhiệt bằng thủy ngân Ưu điểm:
- Độ chính xác tương đối cao
- Chỉ chịu được dòng điện rất thấp, khi sử dụng bộ gia nhiệt phải thông qua rơle hoặc mạch Triac
Phương án 4: Dùng cảm biến LM35 Ưu điểm:
- Được chế tạo từ chất bán dẫn với độ nhạy cao, sai số nhỏ (0,1–0,5)%
- Ưu điểm của cảm biến nhiệt LM35 vượt trội hơn so với những phương pháp khác là được chế tạo từ chất bán dẫn
Bài viết này phân tích các phương án thiết kế mạch điều khiển nhiệt độ và lựa chọn cảm biến nhiệt LM35, một cảm biến đo nhiệt độ theo đơn vị độ C LM35 có hai dạng phổ biến: dạng IC và dạng plastic.
Hình 2.15 Kiểu IC Hình 2.16 Kiểu Plastic
- Được hiệu chỉnh trực tiếp bằng 0 C
- Hệ số chia tuyến tính +10.0 mV/ 0 C
- Phạm vi giới hạn nhiệt độ từ -55 0 C đến +150 0 C
- Phù hợp với các ứng dụng điều khiển từ xa
- Khả năng tự tản nhiệt thấp, khoảng 0.08 0 C trong điều kiện không khí là tĩnh
- Mức độ phi tuyến tiêu biểu là ±1⁄4 o C
- Trở kháng ngõ ra thấp khoảng 0.1Ω với tải 1mA
48 Ứng dụng tiêu biểu của LM35:
LM35 là cảm biến đo nhiệt độ có khả năng xuất tín hiệu điện áp tuyến tính tương ứng với nhiệt độ đầu vào, bắt đầu từ 0°C Điều này giúp LM35 vượt trội hơn so với các cảm biến tuyến tính khác được hiệu chỉnh theo nhiệt độ Kelvin (0 K).
Cảm biến nhiệt độ LM35 không yêu cầu hiệu chỉnh bên ngoài, với độ chính xác tiêu biểu là ±1⁄4 °C ở nhiệt độ phòng và ±3⁄4 °C trong khoảng -55 °C đến +150 °C Đặc điểm trở kháng ngõ ra thấp, tuyến tính và khả năng hiệu chỉnh chính xác giúp việc đọc dữ liệu và kiểm soát mạch điện trở nên đơn giản hơn.
- LM35 cú thể sử dụng nguồn đơn hoặc nguồn đụi và rỳt dũng khoảng 60 àA
Hình 2.17 Nguồn đơn đo trong phạm vi +2 0 C đến +150 0 C
Hình 2.18 Nguồn đôi đo trong phạm vi từ -55 0 C đến +150 0 C
Bảng 2.5 Thông số kỹ thuật của cảm biến nhiệt họ LM35
Mã sản phẩm Dải nhiệt độ Độ chính xác Đầu ra
LM35 -55 0 C đến +150 0 C +1.5 0 C 10mV/ 0 C LM35CA -40 0 C đến +110 0 C +1.0 0 C 10mV/ 0 C
LM35 là một cảm biến nhiệt độ IC có độ chính xác cao, với điện áp đầu ra tỷ lệ tuyến tính với nhiệt độ theo độ Celsius Cảm biến này không cần điều chỉnh bên ngoài vì đã được hiệu chỉnh sẵn Mỗi 1 độ C thay đổi tương ứng với điện áp đầu ra là 10mV.
Hình 2.19 Sơ đồ chân của cảm biến nhiệt LM35
Khối hiển thị
Hình 2.20 Sơ đồ nguyên lý khối hiển thị LCD
Hình 2.21 Hình dạng của LCD 16x2 thông dụng
Bảng 2.6 Chức năng các chân của màn hình LCD 16x2
Chân Ký hiệu Mô tả
1 V SS Chân nối đất cho LCD, khi thiết kế mạch, ta nối chân này với
GND của mạch điều khiển
2 V DD Chân cấp nguồn cho LCD, khi thiết kế mạch, ta nối chân này với VCC=5V của mạch điều khiển
3 V EE Điều chỉnh độ tương phản của LCD
Chân chọn thanh ghi (Register select) Nối chân RS với logic
“0” (GND) hoặc logic “1” (VCC) để chọn thanh ghi.
Trong chế độ "ghi", bus DB0-DB7 sẽ kết nối với thanh ghi lệnh IR của LCD, trong khi ở chế độ "đọc", nó sẽ nối với bộ đếm địa chỉ của LCD.
+ Logic “1”: Bus DB0-DB7 sẽ nối với thanh ghi dữ liệu DR bên trong LCD
Chân chọn chế độ đọc/ghi (Read/Write) Nối chân R/W với logic “0” để LCD hoạt động ở chế độ ghi, hoặc nối với logic
“1” để LCD ở chế độ đọc
Chân cho phép (Enable) Sau khi các tín hiệu được đặt lên bus DB0-DB7, các lệnh chỉ được chấp nhận khi có 1 xung cho phép của chân E.
Trong chế độ ghi, dữ liệu trên bus sẽ được LCD chấp nhận và chuyển vào thanh ghi nội bộ khi phát hiện một xung chuyển đổi từ cao sang thấp của tín hiệu chân E.
Khi ở chế độ đọc, dữ liệu từ LCD sẽ được xuất ra các chân DB0-DB7 khi có sự chuyển đổi từ mức thấp sang mức cao (cạnh lên) tại chân E Dữ liệu này sẽ được giữ trên bus cho đến khi chân E trở về mức thấp.
Tám đường của bus dữ liệu dùng để trao đổi thông tin với MPU Có 2 chế độ sử dụng 8 đường bus này :
+ Chế độ 8 bit : Dữ liệu được truyền trên cả 8 đường, với bit MSB là bit DB7.
+ Chế độ 4 bit : Dữ liệu được truyền trên 4 đường từ DB4 tới DB7, bit MSB là DB7
15 - Nguồn dương cho đèn nền
Khối nguồn
Hình 2.21 Sơ đồ nguyên lý khối nguồn Để ổn định điện áp ra, ta sử dụng IC ổn áp 7805 với giá trị đầu ra là 5V IC
7805 là một linh kiện phổ biến trong các mạch điện điều khiển, được sử dụng để cung cấp nguồn ổn định cho các mạch Nó có ưu điểm là dễ dàng ghép nối, thiết kế đơn giản và chi phí thấp, đồng thời cung cấp nguồn ra ổn định Tuy nhiên, nhược điểm của 7805 là công suất đầu ra khá thấp và hoạt động không ổn định khi có nhiễu từ bên ngoài Linh kiện này hoạt động hiệu quả trong dải nhiệt độ từ 0 đến 125 độ C.
Hình 2.22 IC ổn áp LM7805
7805 có 3 chân cho ta kết nối với nó:
- Chân 1: đây là chân cấp nguồn đầu vào cho 7805 hoạt động Dải điện áp cho phép đầu vào lớn nhất là 40V
- Chân 2 là chân nối đất
Chân 3 cung cấp điện áp đầu ra ổn định 5V, với giá trị luôn nằm trong khoảng từ 4,75V đến 5,25V.
Sơ đồ nguyên lý
2 RA1/AN1 3 RA2/AN2/VREF-/CVREF 4
6 RA5/AN4/SS/LVDIN/C2OUT 7
RB0/AN12/INT0/FLT0/SDI/SDA
33 RB1/AN10/INT1/SCK/SCL 34
RC0/T1OSO/T1CKI 15 RC1/T1OSI/CCP2/UOE 16 RC2/CCP1/P1A 17
RC4/D-/VM 23 RC5/D+/VP 24 RC6/TX/CK 25 RC7/RX/DT/SDO 26
RD0/SPP0 19 RD1/SPP1 20 RD2/SPP2 21 RD3/SPP3 22 RD4/SPP4 27 RD5/SPP5/P1B 28 RD6/SPP6/P1C 29 RD7/SPP7/P1D 30
RE0/AN5/CK1SPP 8 RE1/AN6/CK2SPP 9 RE2/AN7/OESPP 10 RE3/MCLR/VPP 1
Hình 2.23 Sơ đồ nguyên lý của hệ thống
Tổng kết chương 2
Trong quá trình thực hiện đồ án, tôi đã phân tích sơ đồ và chức năng của từng khối để đưa ra các phương án thiết kế Sau khi xem xét, tôi đã lựa chọn phương án tối ưu nhất Sơ đồ nguyên lý được xây dựng dựa trên yêu cầu và chức năng của hệ thống Chương 3 sẽ trình bày chi tiết về quá trình mô phỏng và thi công mạch.