Thời gian qua, nhờ nhận được sự quan tâm dìu dắt cũng như dạy bảo tận tâm
của quý thầy cô trong trường, khoa và thầy cô Bộ môn Vật lý Điện tử mà chúng em
mới có thể hoàn thành tốt khóa học. Em xin chân thành gửi lời cảm ơn tới tất cả các
thầy cô!
Đặc biệt, trong thời gian thực hiện đề tài khóa luận tốt nghiệp: “Thiết kế
mạch điều khiển ổn nhiệt và hiển thị nhiệt trong mô hình máy ấp trứng”, em đã
nhận được sự hướng dẫn, hỗ trợ tận tình của thầy Tống Thanh Nhân, giảng viên Bộ
môn Vật lý Điện tử. Qua đây em cũng xin gửi lời tri ân sâu sắc tới thầy.
Tp. Hồ Chí Minh, tháng 6 năm 2009
Nguyễn Ngọc Phương
i
Lời cảm ơn i
Mục lục ii
Danh sách các hình v
Danh sách các bảng viii
Lời mở đầu 1
Chương 1: TỔNG QUAN VỀ VI ĐIỀU KHIỂN VÀ KHẢO SÁT VI
ĐIỀU KHIỂN ATMEGA 16 2
1.1 Giới thiệu về AVR 2
1.2 Đặc điểm của AVR 2
1.2.1. Kiến trúc RISC 2
1.2.2. Bộ phận ngoại vi 3
1.2.3. Tốc độ xung clock 3
1.2.4. Bộ nhớ chương trình 4
1.2.5. Khả năng lập trình được 4
1.2.6. Điện áp sử dụng 5
1.3 Vi điều khiển Atmega 16 5
Chương 2: TỔNG QUAN VỀ PLC VÀ KHẢO SÁT PLC CP1L 8
2.1 Tổng quan về PLC 8
2.1.1 Khái niệm về PLC 8
2.1.2 Đặc điểm của PLC 8
4.2 Phần cứng và các mạch giao tiếp 49
4.2.1 Mạch ổn áp tạo nguồn 5V 49
4.2.2 Mạch cảm biến nhiệt LM35 50
4.2.3 Mạch hiển thị LCD 54
4.2.4 Mạch cảm biến vị trí(cảm biến hồng ngoại) 58
4.2.5 Mạch điều khiển đổi chiều động cơ DC 59
4.2.6 Giao tiếp giữa các thiết bị với PLC 61
4.3 Phần mềm và kết quả thực hiện 64
iii
4.3.1 Chương trình viết bằng phần mềm CX-
programer để điều khiển, ổn định nhiệt và điều khiển
hoạt động của động cơ 64
4.3.2 Chương trình viết bằng phần mềm
codevisionAVR để hiển thị nhiệt và truyền tín hiệu
tới PLC 65
4.3.3 Những kết quả đạt được 70
4.4 Tổng kết và hướng phát triển 72
Tài liệu tham khảo 73
iv
Danh sách các hình
Hình 1.1 So sánh thời gian thực hiện 2 lệnh ở các bộ xử lý khác nhau 4
Hinh 1.2 Hình biểu đồ khối bên trong của Atmega16 6
Hình 1.3 Sơ đồ chân của Atmega16 7
Hình 2.1 Sơ đồ khối bên trong PLC 9
Hình 2.2 Sơ đồ khối cấu trúc bên trong PLC 11
Hình 2.3 Mạch cách ly quang 12
Hình 2.4 Mạch logic trình tự 15
Hình 2.5 Mạch logic tổ hợp 15
Hình 2.6 Sơ đồ Grafcet 16
Hình 2.7 Biểu diễn một số trạng thái trong Grafcet 16
Hình 3.19 43
Hình 3.20 44
Hình 3.21 44
Hình 3.22 45
Hình 3.23 45
Hình 3.24 46
Hình 3.25 46
Hình 3.26 47
Hình 4.1 Sơ đồ nguyên lý mạch ổn áp 50
Hình 4.2 Mạch nguồn thực hiện 50
Hình 4.3 Cảm biến LM35 50
Hình 4.4 Mạch hoạt động LM35 51
Hình 4.5 Mạch khuếch không đảo tín hiệu ra dùng Op-Ampl LA 324(sử
dụng một Op-Ampl chân 1,2,3) 52
Hình 4.6 Sơ đồ chân op-ampl LA 324 52
Hình 4.7 Sơ đồ chuyển đổi nhiệt độ thành điện thế 53
Hình 4.8 Mạch thực hiện được LM35 53
Hình 4.9 Sơ đồ nguyên lý mạch hiển thị LCD 54
Hình 4.10 Chuyển đổi ADC 54
vi
Hình 4.11 LCD 16x2 55
Hình 4.12 Mạch hiển thị ra LCD thực hiện 57
Hình 4.13 Phản xạ tia hồng ngoại tại các bề mặt 58
Hình 4.14 Mạch thu phát hồng ngoại 58
Hình 4.15 Mạch thực hiện thu phát hồng ngoại 59
Hình 4.16 Mạch cầu H điều khiển đổi chiều động cơ 59
Hình 4.17 Sơ đồ nguyên lý mạch relay 60
Hình 4.18 Mạch relay điều khiển đổi chiều động cơ thực hiện 60
Hình 4.19 Sơ đồ giao tiếp các thiết bị 61
Hình 4.20 Kết nối ngõ vào PLC 62
30 trứng.
Đề tài được chia làm các phần như sau:
Chương 1: TỔNG QUAN VỀ VI ĐIỀU KHIỂN VÀ KHẢO SÁT VI ĐIỀU
KHIỂN ATMEGA 16.
Chương 2: TỔNG QUAN VỀ PLC VÀ KHẢO SÁT PLC CP1L
Chương 3: GIỚI THIỆU VỀ PHẦN MỀM CODEVISIONAVR, PHẦN
MỀM CX-PROGRAMER
Chương 4: MỤC TIÊU ĐỀ TÀI VÀ ỨNG DỤNG
1
Chương 1: TỔNG QUAN VỀ VI ĐIỀU KHIỂN VÀ KHẢO SÁT VI ĐIỀU
KHIỂN ATMEGA 16.
1.1 Giới thiệu về AVR
Vi điều khiển AVR thuộc họ vi điều khiển do Atmel (Na Uy) sản xuất
(Atmel cũng là nhà sản xuất các vi điều khiển họ 89C51). Đây là họ vi điều khiển
được chế tạo theo kiến trúc RISC (Reduced Intruction Set Computer) có cấu trúc
khá phức tạp. Ngoài các tính năng như các họ vi điều khiển khác, nó còn tích hợp
nhiều tính năng mới rất tiện lợi cho người thiết kế và lập trình. Sự ra đời của AVR
bắt nguồn từ yêu cầu thực tế là hầu hết khi cần lập trình cho vi điều khiển, chúng ta
thường dùng những ngôn ngữ bậc cao HLL (Hight Level Language) để lập trình
ngay cả với loại chíp xử lí 8 bit trong đó ngôn ngữ C là ngôn ngữ phổ biến nhất.
Tuy nhiên, khi biên dịch thì kích thước đoạn mã sẽ tăng nhiều so với dùng ngôn
ngữ Assembly. Hãng Atmel nhận thấy rằng cần phải phát triển một cấu trúc đặc biệt
cho ngôn ngữ C để giảm thiểu sự chênh lệch kích thước mã đã nói trên. Và kết quả
là họ vi điều khiển AVR ra đời với việc làm giảm kích thước đoạn mã khi biên dịch
và thêm vào đó là thực hiện lệnh đúng đơn chu kỳ máy với 32 thanh ghi tích lũy và
đạt tốc độ nhanh hơn các họ vi điều khiển khác từ 4 đến 12 lần.
1.2 Đặc điểm của AVR
So với các chíp vi điều khiển khác, AVR có nhiều đặc tính hơn hẳn, hơn cả
trong tính ứng dụng (dễ sử dụng) và đặc biệt là về chức năng. Gần như chúng ta
không cần lắp thêm bất kỳ linh kiện phụ nào khi sử dụng AVR, thậm chí không cần
chế độ rộng xung (PWM), . . . Đặc điểm này được xem là nổi bật so với nhiều vi
điều khiển khác vì trong khi nhiều bộ xử lý khác phải tạo bộ truyền nhận UART
hoặc giao diện SPI bằng phần mềm hay “máy ảo” thì trên vi điều khiển AVR lại
được thực hiện bằng phần cứng
1.2.3. Tốc độ xung clock
Hoạt động với tốc độ đồng hồ lên đến 16 Mhz. So với các vi điều khiển khác
thì vi điều khiển trong họ Atmel có tần số xung nhịp cho phép tương đối cao, cụ thể
là trong khoảng 6 đến 16 Mhz tuỳ theo từng loại cụ thể. Xung nhịp do bộ dao động
tạo ra cũng chính là xung nhịp của hệ thống, không hề phải cho qua bộ chia tần như
trong trường hợp các vi điều khiển ra đời trước đó, nên kéo theo tốc độ xử lý lệnh
3
tương đối cao. Kết hợp với khả năng thực hiện lệnh trong một chu kỳ xung nhịp, vi
điều khiển AVR có khả năng đạt đến tốc độ xử lý 16MIPS (16 triệu lệnh trong một
giây).
Hình 1.1 So sánh thời gian thực hiện 2 lệnh ở các bộ xử lý khác nhau.
1.2.4. Bộ nhớ chương trình
Bộ nhớ chương trình và dữ liệu đều được tích hợp ngay trên chíp. Trên chíp
vi điều khiển AVR có tới 3 công nghệ bộ nhớ khác nhau:
- Bộ nhớ EPROM xoá được kiểu flash (luôn luôn lập trình mới được) dùng
cho mã chương trình mà người dùng có thể tự lập trình được.
- Bộ nhớ EEPROM hay PROM xoá được bằng điện, nhưng nội dung bộ nhớ
vẫn giữ nguyên sau khi tắt điện áp ngồn. Chương trình người dùng có thể lập trình
trong thời gian thực khi hệ thống đang hoạt động.
- Bộ nhớ RAM tĩnh (SRAM) dùng cho các biến, nội dung của bộ nhớ sẽ mất
đi khi tắt điện áp nguồn. Ngoài ra, vi điều khiển AVR có tới 32 thanh ghi, tất cả
được nối trực tiếp với khối ALU và được trao đổi trực tiếp trên vùng địa chỉ bộ nhớ,
cụ thể là 32 ô đầu tiên của bộ nhớ (0x00 đến 0xFF) tương ứng với các thanh ghi làm
việc R0 đến R31.
1.2.5. Khả năng lập trình được
Do cách thiết kế và công nghệ bộ nhớ được sử dụng mà các vi điều khiển có
-Một bộ đếm thời gian thực với bộ dao động riêng biệt.
- 1 bộ so sánh analog.
- 4 kênh điều chế độ rộng xung PWM.
- Có 8 kênh ADC 10 bit.
5
- 1 bộ định thời Watchdog lập trình được với bộ dao động trong chíp riêng
biệt.
-Điện áp sử dụng: Atmega16L (2.7-5.5V), Atmega16 (4.5-5.5V).
-Tốc độ xử lý :Atmega16L (0-8MHz), Atmega16 (0-16MHz).
Hinh 1.2 hình biểu đồ khối bên trong của Atmega16
6
Hình 1.3 Sơ đồ chân của Atmega16
- Hai chân VCC, GND: Cấp nguồn cho vi điều khiển.
- Chân Reset: Đây là chân reset cứng khởi động lại mọi hoạt động của hệ
thống.
- Hai chân XTAL1, XTAL2 các chân tạo bộ dao động ngoài cho vi điều
khiển, các chân này được nối với thạch anh (hay sử dụng loại 4M), tụ gốm (22p).
- Chân Vref thường nối lên 5v (Vcc), nhưng khi sử dụng bộ ADC thì chân
này được sử dụng làm điện thế so sánh, khi đó chân này phải cấp cho nó điện áp cố
định.
- Chân Avcc thường được nối lên Vcc nhưng khi sử dụng bộ ADC thì chân
này được nối qua 1 cuộn cảm lên Vcc với mục đích ổn định điện áp cho bộ biến đổi.
- Atmega 16 là loại vi điều khiển 8 bit chế tạo theo kiến trúc RISC. Kết hợp
với khả năng thực hiện lệnh trong một chu kỳ xung nhịp, vi điều khiển Atmega 16
có khả năng đạt đến tốc độ xử lý 1MIPS (1triệu lệnh trong 1giây)
7
Chương 2 TỔNG QUAN VỀ PLC VÀ KHẢO SÁT PLC CP1L
2.1 Tổng quan về PLC
2.1.1 Khái niệm về PLC
PLC (Programmable Logic Controller) là một thiết bị điều khiển logic lập
khối vào và khối ra của PLC cho phép nó kết nối trực tiếp đến những cơ cấu tác
động có công suất nhỏ ở ngõ ra và những mạch chuyển đổi tín hiệu ở ngõ vào, mà
không cần các mạch giao tiếp hay rơ-le trung gian. Tuy nhiên, cần phải dùng mạch
điện tử công suất trung gian khi PLC điều khiển những thiết bị có công suất lớn.
Về phần cứng PLC tương tự như máy tính truyền thông và có nhiều ưu điểm
thích hợp cho điều khiển trong công nghiệp:
• Khả năng kháng nhiễu tốt.
• Cấu trúc dạng modul cho phép dễ thay thế, tăng khả năng (nối thêm modul
mở rộng vào/ra ) và thêm chức năng (nối thêm modul chuyên dùng).
• Việc kết nối dây và mức điện áp tín hiệu ở ngõ vào và ngõ ra được chuẩn
hóa.
• Ngôn ngữ lập trình chuyên dùng – ladder, intrustion va function chart –dễ
hiểu và dễ sử dụng.
• Thay đổi chương trình điều khiển dễ dàng.
9
Bảng 2.1 Bảng so sánh đặc tính kỹ thuật giữa những hệ thống điều khiển:
Chỉ tiêu so sánh Rơ- le Mạch số Máy tính PLC
Giá thành từng chức
năng
Khá thấp Thấp Cao Thấp
Kích thước vật lý Lớn Rất gọn Khá gọn Rất gọn
Tốc độ điều khiển Chậm Rất chậm Khá nhanh Nhanh
Khả năng chống
nhiễu
Xuất sắc Tốt Khá tốt Tốt
Lắp đặt Mất thời
gian thiết kế
và lắp đặt
Mất thời
gian thiết
được cập nhật và lưu vào bộ nhớ đệm. Sau đó, trạng thái ngõ ra trong bộ nhớ đệm
được dùng để đóng/mở các 'tiếp điểm' kích hoạt các thiết bị tương ứng. Như vậy, sự
hoạt động của các thiết bị được điều khiển hoàn toàn tự động theo chương trình
trong bộ nhớ. Chương trình được nạp vào PLC thông qua thiết bị lập trình chuyên
dùng.
10
Hình 2.2 sơ đồ khối cấu trúc bên trong PLC
2.1.3.1 Bộ xử lý trung tâm
Bộ xử lý trung tâm (CPU-Central Processing Unit) điều khiển và quản lý tất
cả hoạt động bên trong PLC. Việc trao đổi thông tin giữa CPU, bộ nhớ và khối
vào/ra được thực hiện thông qua hệ thống bus dưới sự điều khiển của CPU. Một
mạch dao động thạch anh cung cấp xung clock tần số chuẩn cho CPU, thường là 1
hay 8MHz, tùy thuộc vào bộ xử lý sử dụng. Tần số xung clock xác định tốc độ hoạt
động của PLC và được dùng để thực hiện sự đồng bộ cho tất cả phần tử trong hệ
thống.
2.1.3.2 Bộ nhớ
Tất cả PLC đều có các loại bộ nhớ sau:
ROM(Read only Memory)
RAM( Random Access Memory)
EEPROM ( Electronic Erasable Programmable
Read only Memory)
11
Với sự tiến bộ của công nghệ chế tạo bộ nhớ nên hầu như các PLC đều dùng
bộ nhớ EEPROM. Trường hợp ứng dụng cần bộ nhớ lớn hơn có thể chọn lựa giữa
bộ nhớ RAM ca nguồn pin nuôi và bộ nhớ EEPROM. Ngoài ra, PLC cần thêm bộ
nhớ RAM cho các chức năng khác như: bộ đệm để lưu trạng thái của các ngõ vào
và ngõ ra, bộ nhớ tạm cho tác vụ định thì, tác vụ đếm, truy xuất cờ.
Dung lượng bộ nhớ: Đối với PLC loại nhỏ thương bộ nhớ có dung lượng cố
định, thường là 2k. Dung lượng này là đủ đáp ứng cho khoảng 80% hoạt động điều
khiển trong công nghiệp. Do giá thành bộ nhớ liên tục giảm, các nhà sản xuất PLC
2.2.1 Đại số Boole
Bảng 2.2 Bảng các cổng và phép toán đại số Boole
13
Định lý đại số Boole
Giao hoán : A.B = B.A
A+B = B+A
Kết hợp :
A.B.C = (A.B).C = A.(B.C)
A+B+C = (A+B)+C = A+(B+C)
Phân phối :
A.(B+C) = A.B+B.C
(A+B).(C+D) = A.C+A.D+B.C+B.D
Định lý De Morgan :
Một số đẳng thức hữu dụng :
2.2.2 Các hệ mạch logic
- Các phép toán và định lý của đại số Boole giúp cho thao tác các biểu thức
logic. Trong kỹ thuật thực tế là nối các cổng logic của các mạch logic lại với nhau
(theo kết cấu đã tối giản nhất nếu có).
-Để thực hiện một bài toán điều khiển phức tạp, số mạch logic sẽ phụ thuộc
vào số lượng đầu vào và cách giải quyết bằng loại mạch logic nào, sử dụng các
phép toán hay định lý nào. Đây là một bài toán tối ưu nhiều khi có không chỉ có một
lời giải.
14
-Tùy theo loại mạch logic mà việc giải các bài toán có những phương pháp
khác nhau. Về cơ bản mạch logic được chia làm hai loại:
+Mạch logic trình tự
+Mạch logic tổ hợp
Mạch trình tự hay còn gọi là mạch dãy (sequential circuits) là mạch trong đó
trạng thái của tín hiệu ra không những phụ thuộc vào tín hiệu vào mà còn phụ thuộc
vào trình tự tác động của tín hiệu vào, có nghĩa là có nhớ trạng thái.
Chẳng hạn việc chuyển tiếp giữa các trạng thái 3 và 4 được thực hiện khi tác
động lên biến b.
Chuyển tiếp giữa trạng thái 5 và 6 được thực hiện ở sườn tăng của biến c.
Chuyển tiếp giữa trạng thái 7 và 8 được thực hiện ở sườn giảm của biến d.
Chuyển tiếp giữa trạng thái 9 và 10 sẽ xảy ra sau 2s kể từ có tác động cuối
cùng của trạng thái 9 được thực hiện.
Hình 2.8 Chuyển tiếp trạng thái trong Grafcet
2.2.3.3 Phân nhánh trong Grafcet
Có hai loại phân nhánh là rẽ nhánh và song song.
Sơ đồ rẽ nhánh:
Hình 2.9 Sơ đồ rẽ nhánh
Ở hình 2.9 a, giả sử trạng thái 1 đang hoạt động. Nếu trạng thái 1 thỏa mãn
điều kiện chuyển tiếp t12 thì trạng thái 2 hoạt động, hoặc nếu trạng thái 1 thỏa mãn
điều kiện chuyển tiếp t13 thì trạng thái 3 hoạt động.
17