Nguyễn Văn Hòa, Bộ môn Điều khiển tự động hóa, Trường Đại học Bách khoa Hà nội, tôi đã tiến hành nghiên cứu đề tài “ Nghiên cứu, Chế tạo bộ điều khiển đa năng trên cơ sở công nghệ PSoC ”
Trang 1-
VŨ VĂN LIỆU
THIẾT KẾ, CHẾ TẠO BỘ ĐIỀU KHIỂN ĐA NĂNG TRÊN CƠ SỞ CÔNG NGHỆ PSoC
Chuyên ngành: Điều khiển và Tự động hóa
LUẬN VĂN THẠC SĨ KHOA HỌC
NGƯỜI HƯỚNG DẪN KHOA HỌC
Ts Nguyễn Văn Hòa
Hà Nội – Năm 2011
Trang 2MỤC LỤC
DANH MỤC BẢNG BIỂU 4
DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ 4
CHƯƠNG 1: TỔNG QUAN BỘ ĐIỀU KHIỂN ĐA NĂNG 10
1.1 Giới thiệu chung về bộ điều khiển đa năng 10
1.2 Tổng quan một số thiết bị điều khiển đa năng tại Việt nam 10
1.3 Đánh giá các sản phẩm đã có 12
1.4 Đề xuất giải pháp bộ điều khiển đa năng 12
1.4.1 Bộ điều khiển đa năng có thể thay đổi cấu hình 12
1.4.2 Bộ điều khiển đa năng có thể thực hiện giao tiếp người và máy 13
1.4.3 Bộ điều khiển đa năng xử lý được nhiều loại tín hiệu vào/ ra 13
1.4.4 Tín hiệu ra của bộ điều khiển đa năng 16
1.4.5 Bộ điều khiển đa năng thực hiện được các cấu trúc điều khiển và luật điều khiển đa dạng 16
CHƯƠNG 2 : NGHIÊN CỨU TÌM HIỂU CÔNG NGHỆ PSoC 19
2.1 Cấu trúc chi tiết bên trong chip PSoC 19
2.1.1 Bộ vi xử lý – CPU 20
2.1.2 Ngắt và các bộ điều khiển ngắt 21
2.1.3 Các cổng vào ra đa chức năng 22
2.1.4 Các bộ dao động 23
2.1.5 Sleep And Watchdog 25
2.2 Hệ chương trình tự động thiết kế chip và Ngôn ngữ lập trình Assembler và C của PSoC 28
2.2.1 Tạo một dự án trong PSoC DESIGNER 29
2.2.2 Quản lý dự án 31
2.2.3 Thiết kế cấu hình chip PSoC 32
CHƯƠNG 3: NGHIÊN CỨU THIẾT KẾ BỘ ĐIỀU KHIỂN ĐA NĂNG 38
3.1 Cơ sở lý thuyết bộ điều khiển PID 38
3.2 Thiết kế phần cứng bộ điều khiển đa năng 40
Trang 33.2.1 Sơ đồ khối bộ điều khiển đa năng 40
3.2.2 Lựa chọn chip xử lý trung tâm 41
3.2.3 Thiết kế mạch giao tiếp người và máy trong mạch đa năng 45
3.2.4 Thiết kế mạch đọc tín hiệu vào dòng- áp liên tục và hiển thị LCD 46
3.2.5 Thiết kế mạch truyền thông với máy tính 49
3.2.6 Thiết kế mạch đo nhiệt độ với bộ điều khiển đa năng 51
3.3 Sơ đồ phần cứng mạch điều khiển đa năng 55
3.4 Thiết kế phần mềm chức năng cho bộ điều 56
3.4.1 Sơ đồ cấu trúc các chương trình bộ điều khiển đa năng 56
3.4.2 Menu chính 56
3.4.3 Menu chọn tín hiệu vào ra của bộ điều khiển 57
3.4.4 Menu chọn luật điều khiển và tham số bộ điều khiển 58
3.4.5 Lưu đồ khối một số hàm trong chương trình 59
3.4.6 Chương trình phần mềm bộ điều khiển đa năng 65
CHƯƠNG 4: ỨNG DỤNG BỘ ĐIỀU KHIỂN ĐA NĂNG TRONG ĐO VÀ ĐIỀU KHIỂN NHIỆT ĐỘ LÒ NUNG 66
4.1 Thiết kế mạch điều khiển nhiệt độ 66
4.2 Mô hình hóa hệ thống, lựa chọn luật điều khiển và xác định các tham số 67
4.2.1 Mô hình hóa hệ thống 67
4.2.2 Lựa chọn luật điều khiển và xác định tham số điều khiển 69
4.3 Một số hình ảnh ứng dụng bộ điều khiển đa năng trong điều khiển lò nhiệt 72 CHƯƠNG 5: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN CỦA ĐỀ TÀI 73
5.1 Kết luận và Kiến nghị 73
5.2 Tài liệu tham khảo 75
5.3 Phụ lục 76
Trang 4DANH MỤC BẢNG BIỂU
Bảng 1 1: Các bộ điều khiển đa năng của hãng OMRON 11
Bảng 2 1: Các thanh ghi của CPU: 20
Bảng 2 2: Các thanh ghi của bộ điều khiển ngắt 21
Bảng 2 3: Các thanh ghi cấu hình cổng vào ra đa chức năng 22
Bảng 2 4: Các thanh ghi của Sleep và watchdog 25
DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ Hình 1 1: Cấu trúc chuẩn hóa các đại lượng đo lường 13
Hình 1 2: Mô tả một vào ra của hệ thống 16
Hình 1 3: Sơ đồ cấu trúc điều khiển SISO 18
Hình 1 4: Sơ đồ cấu trúc điều khiển hệ MISO 18
Hình 1 5: Sơ đồ cấu trúc hệ điều khiển CASCADE 18
Hình 2 1: Sơ đồ khối kiến trúc PSoC 19
Hình 2 2: Sơ đồ khối kiến trúc PSoC 19
Hình 2 3: Sơ đồ khối hoạt động của bộ điều khiển 21
Hình 2 4: Sơ đồ khối của một chân vào ra đa chức năng 23
Hình 2 5: Tạo bộ dao động ngoài 25
Hình 2 6: Biểu đồ dẫy các sự kiện đánh thức hệ thống 26
Hình 2 7: vWatchdog reset 28
Hình 2 8: Giao diện Device Edittor 31
Hình 2 9: Giao diện Debuger 32
Hình 2 10: Kết nối User module với thiết bị ngoại vi 35
Hình 3 1: Cấu trúc hệ thống điều khiển số 39
Trang 5Hình 3 2: Sơ đồ khối các module trong Bộ điều khiển đa năng 40
Hình 3 3: Sơ đồ chân PSoC 8CY29466 43
Hình 3 4: Mạch nguyên lý giao tiếp người và máy 45
Hình 3 5: Mạch giáo tiếp đọc tín hiệu ADC trong PSoC 46
Hình 3 6: Sơ đồ kết nối Interconect view mạch đọc dữ liệu liên tục 48
Hình 3 7: Mạch giao tiếp PSoC với máy tính 49
Hình 3 8: Sơ đồ kết nối Interconect view mạch truyền dữ liệu với máy tính 50
Hình 3 9: Đường đặc tính nhiệt độ của các cặp nhiệt 51
Hình 3 10: Nhiệt điện trở PT100 52
Hình 3 11: Mối quan hệ điện trở phụ thuộc nhiệt độ 52
Hình 3 12: Mạch nguyên lý đầu vào đo nhiệt độ 53
Hình 3 13: Cấu trúc các module sử dụng đo nhiệt độ 53
Hình 3 14: Sơ đồ Interconect view mạch đo nhiệt độ 54
Hình 3 16: Các chế độ hoạt động của bộ điều khiển đa năng 56
Hình 4 1: Sơ đồ khối của mạch điều khiển lò nhiệt 66
Hình 4 2: Thiết bị cầm tay Tempstick 67
Trang 6MỞ ĐẦU
Đất nước ta đang trong thời kỳ công nghiệp hóa- hiện đại hóa, một trong những yếu tố đẩy nhanh tiến trình đó là việc học tâp, nghiên cứu ứng dụng những thành tựu về công nghệ của thế giới vào điều kiện thực tiễn của Việt nam Trên thế giới hiện nay công nghệ thiết kế chế tạo các chip điều khiển đang là hướng phát triển mới nhất hiện quy tụ vào một số công nghệ là ASIC (Application Specific Integrated Circuit), FPGA (Field Programmable Gate Array) và CSoC (Configurable System on Chip), nhưng nổi trội nên trong đó công nghệ PSoC
PSoC là một từ viết tắt của cụm từ tiếng anh Programmable System on Chip nghĩa là hệ thống khả trình trên chíp Các chíp chế tạo theo công nghệ PSoC cho phép thay đổi được cấu hình đơn giản bằng cách gán chức năng cho các khối tài nguyên có sẵn trên chíp Hơn nữa nó còn có thể kết nối tương đối mềm dẻo các khối chức năng với nhau hoặc giữa các khối chức năng với các cổng vào ra Chính vì vậy
mà PSOC có thể thay thế cho rất nhiều chức năng nền của một số hệ thống cơ bản chỉ bằng một đơn chíp Thành phần của chíp PSOC bao gồm các khối ngoại vi số và tương tự có thể cấu hình được, một số vi xử lý 8 bít, bộ nhớ chương trình (EFROM) lập trình được và bộ nhớ RAM khá lớn
Để lập trình hệ thống, người sử dụng được cung cấp một phần mềm lập trình được Phần mềm thiết kế được xây dựng trên cơ sở hướng đối tượng với cấu trúc module hoá Mỗi khối chức năng là một module mềm Việc lập trình thông qua một
số thư viện chuẩn Người lập trình thiết lập cấu hình trên chip chỉ đơn giản bằng cách muốn chip có những chức năng đó và thả vào khối tài nguyên số hoặc tương
tự, hoặc cả hai tuỳ theo từng chức năng Việc thiết lập ngắt trên chân nào, loại ngắt
là gì, các chân vào ra được kích hoạt ở chế độ như thế nào đều tuỳ thuộc vào việc thiết lập của nguời lập trình khi thiết lập và lập trình cho PSOC
Với khả năng đặt cấu hình mạnh mẽ và phần mềm lập trình linh hoạt, thiết điều khiển sử dụng công nghệ PSoC có thể được gói trọn trên một chip duy nhất Chính vì lí do đó, hãng sản xuất chip nổi tiếng Cypress MicroSystems đã không gọi
Trang 7sản phẩm của mình là vi điều khiển (µC) như truyền thống mà gọi là “ Thiết bị
PSoC”, với hy vọng rằng người sử dụng sẽ có được những thiết bị điều khiển có giá
rẻ, kích thước nhỏ gọn, và thiết bị điều khiển PSoC sẽ thay thế được hầu hết các thiết bị dựa trên vi xử lý hoặc vi điều khiển đã có từ trước tới nay
Được sự hướng dẫn của thầy giáo Ts Nguyễn Văn Hòa, Bộ môn Điều khiển
tự động hóa, Trường Đại học Bách khoa Hà nội, tôi đã tiến hành nghiên cứu đề tài
“ Nghiên cứu, Chế tạo bộ điều khiển đa năng trên cơ sở công nghệ PSoC ”
với mục đích là:
Nghiên cứu làm chủ công nghệ PSoC và tìm hiểu công cụ phần cứng, phần mềm cho phát triển các chip điều khiển trên cơ sở các chip PSoC
Thiết kế, chế tạo bộ điều khiển đa năng
Thử nghiệm bộ điều khiển đa năng điều khiển lò nhiệt
CÁC NỘI DUNG NGHIÊN CỨU CHÍNH:
CHƯƠNG 1 – TỔNG QUAN VỀ BỘ ĐIỀU KHIỂN ĐA NĂNG
Giới thiệu chung về bộ điều khiển đa năng
Tổng quan một số thiết bị điều khiển đa năng tại việt nam
- Thiết bị điều khiển đa năng của hãng OMRON
- Thiết bị điều khiển đa năng của hãng SIEMENS
Đánh giá các sản phẩm đã có
Đề xuất giải pháp bộ điều khiển đa năng sử dụng công nghệ PSoC
CHƯƠNG 2 -NGHIÊN CỨU TÌM HIỂU CÔNG NGHỆ PSoC
Cấu trúc chi tiết bên trong PSoC
- Bộ vi xử lý- CPU
- Ngắt và các bộ điều khiển ngắt
Trang 8- Các cổng vào ra đa chức năng
- Các bộ dao động
- Chức năng Sleep và Watchdog
Hệ chương trình tự động thiết kế chip và ngôn ngữ lập trình PSoC
- Tạo một dự án trong thiết kế
- Quản lý dự án
- Thiết kế cấu hình chip PSoC
CHƯƠNG 3- NGHIÊN CỨU THIẾT KẾ BỘ ĐIỀU KHIỂN ĐA NĂNG
Cơ sở lý thuyết bộ điều khiển PID
Thiết kế phần cứng bộ điều khiển đa năng
- Sơ đồ khối bộ điều khiển đa năng
- Lựa chọn chip xử lý trung tâm của bộ điều khiển đa năng
- Thiết kế mạch giao tiếp người và máy trong mạch đa năng
- Thiết kế mạch đọc tín hiệu vào là dòng-áp liên tục và hiển thị LCD
- Thiết kế mạch truyền thông với máy tính qua cổng nối tiếp
- Thiết kế mạch đo nhiệt độ
Thiết kế các menu chức năng và xây dựng lưu đồ giải thuật chương trình
- Thiết kế menu chọn cấu trúc hệ điều khiển
- Menu chọn tín hiệu vào ra
- Menu chọn luật điều khiển và xác định tham số điều khiển
CHƯƠNG 4- ỨNG DỤNG BỘ ĐIỀU KHIỂN ĐA NĂNG TRONG ĐO VÀ ĐIỀU KHIỂN NHIỆT ĐỘ LÒ NHIỆT
Thiết kế mạch điều khiển nhiệt độ
- Sơ đồ khối chức năng mạch điều khiển nhiệt độ
- Sơ đồ nguyên lý mạch điều khiển nhiệt độ
Mô hình hóa hệ thống điều khiển nhiệt độ lò nhiệt
- Mô hình hóa hệ thống
- Lựa chọn luật điều khiển và xác định tham số điều khiển
Trang 9+ Lưu đồ điều khiển PID lò nhiệt + Xác định tham số bộ PID
CHƯƠNG 5: KẾT QUẢ VÀ KIẾN NGHỊ
Trang 10CHƯƠNG 1: TỔNG QUAN BỘ ĐIỀU KHIỂN ĐA NĂNG
1.1 Giới thiệu chung về bộ điều khiển đa năng
Bộ điều khiển đa năng là gì ?
Hiện nay trong lĩnh vực điều khiển và tự động hóa, một bộ điều khiển được gọi là đa năng nếu nó thỏa mãn được các yêu cầu sau đây:
Sử dụng cho nhiều loại tín hiệu vào và tín hiệu ra khác nhau cho các đối tượng trong công nghiệp
Có thể điều khiển nhiều hệ thống khác nhau như hệ SISO, MISO, CASCADE…
Điều khiển hệ thống có cấu trúc theo nhiều vòng điều khiển, Sử dụng nhiều luật điều khiển( PID, điều khiển tầng, điều khiển mờ, điều khiển trình tự, điều khiển thích nghi,…) tùy theo từng loại đối tượng
Hiện nay trên thị trường có rất nhiều loại sản phẩm của nhiều hãng sản xuất khác nhau Tuy nhiên, theo các yêu cầu như trên thì hầu hết các sản phẩm này vẫn chưa đáp ứng đầy đủ, có một vài dòng sản phẩm chủ yếu được dùng để điều khiển đối tượng thông dụng trong công nghiệp ví dụ như điều khiển nhiệt độ, điều khiển mức,… không phải là điều khiển đối tượng bất kì, tuy nhiên chúng lại được sản xuất với mục đích là một thiết bị điều khiển đa năng tích hợp trong các hệ thống lớn như PLC S7-200/300 của Siemens, CMP1A của Omron, …
1.2 Tổng quan một số thiết bị điều khiển đa năng tại Việt nam
Hiện tại thị trường Viêt nam, một thị trường giàu tiềm năng cho các lĩnh vực điều khiển tự động hóa của các thiết bị đơn lẻ phục vụ quy mô sản xuất vừa và nhỏ
Có thể kể ra một vài dòng sản phẩm của các hãng sản xuất lớn trên thế giới như Omron, Siemens, Delta, ABB, Rockwell,… Ta sẽ xem một vài bộ điều khiển có thể được xem là đa năng như Bảng 1.1
Trang 11Bảng 1 1: Các bộ điều khiển đa năng của hãng OMRON
Thông dụng: nhóm E5CSZ Nguồn: 100-240 VAC ( 24VDC)
- Hoặc 2 bộ PID có auto-tuning
Đầu ra điều khiển: Một bộ tiếp điểm thường mở 1A-250VAC
Đa năng: E5AZ/EZ
- Hoặc 2 bộ PID có auto-tuning
Đầu vào multi-input:
- Nhận tín hiệu vào tương tự 0-25mA,
4-25mA, 0-10V
- Nhận đầu vào 0-50mV hoặc cảm biến
nhiệt không tiếp xúc
Đầu ra cảnh báo: bộ tiếp điểm thường
hở 1A-250VAC
Truyền thông RS-485
Cao cấp: E5CN Các loại đầu vào đa chức năng
- Các model có đầu vào nhiệt:
+ Cặp nhiệt: K,J,T,E,L,U,N,R,S hoặc
B + Nhiệt điện trở bạch kim: Pt100 + Cảm biến nhiệt không tiếp xúc
- Model có đầu vào Analog:
+ Đầu vào dòng: 4 đến 20mA hoặc 0 đến 20mA
+ Đầu vào điện áp: 1 đến 5V, 0 đến 5V hoặc 0 đến 10V
Hiển thị LED 11 thanh, đổi 3 màu, lấy mẫu 250ms
Có sẵn cổng giao diện USB (dùng cáp E58-CIFQ1 USB-Serial để kết nối với phần mềm CX-Thermo với tốc độ 38.4 kbs trên máy tính mà không cần phải có module truyền thông)
Trang 12Các sản phẩm đều có khả năng tích hợp với mạng công nghiệp thông qua các giao thức truyền thông công nghiệp Sản phẩm ứng dụng trong các mạng công nghiệp đồng bộ giữa các thiết bị trong toàn hệ thống là hướng đi đúng của các nhà sản xuất, nhưng các sản phẩm này ứng dụng trọng phạm vi vừa và nhỏ, đòi hỏi yêu cầu xử lý, giao tiếp linh hoạt thì chức năng giao tiếp mạng thường không sử dụng hiệu quả, khó khăn trong việc giao tiếp với các thiết bị nhỏ lẻ Từ đó có thể kết luận rằng sản phẩm bộ điều khiển cho các ứng dụng nhỏ thường bị bỏ qua không được quan tâm phát triển
Đa số các sản phẩm này được ứng dụng cho mục đích là để điều khiển một đối tượng nhất định( Là nhiệt độ, động cơ AC…) rất ít sản phẩm sử dụng để điều khiển đối tượng bất kì
Về giá thành các thiết bị do các hãng sản xuất thường rất cao trong những ứng dụng nhỏ gây lãng phí chi phí đầu tư của doanh nghiệp, đơn vị sản xuất
Do đó nếu ta có thể nghiên cứu, chế tạo ra sản phẩm có khả năng điều khiển một đối tượng bất kì, với chất lượng và giá cả hợp lý thì sản phẩm rất có ý nghĩa trong sản xuất, nâng cao hiệu quả ứng dụng công nghệ trong tự động hóa sản xuất
1.4 Đề xuất giải pháp bộ điều khiển đa năng
Với những tìm hiểu và đánh giá ở trên ta có thể nghĩ tới việc nghiên cứu, chế tạo một thiết bị điều khiển đa năng với những yêu cầu sau:
1.4.1 Bộ điều khiển đa năng có thể thay đổi cấu hình
- Cấu hình 1 : 16 kênh đầu vào ADC 12 bit, 8 bit DI, 8 bit DO, cổng điều
khiển truyền thông không đồng bộ UART
Trang 13- Cấu hình 2 : 14 kênh đầu vào ADC 12 bit, 2 kênh DAC 8 bit, 8 bit DI, 8
bit DO, cổng điều khiển truyền thông không đồng bộ UART
- Cấu hình 3 : 8 bộ Timer/Counter 16 bit
1.4.2 Bộ điều khiển đa năng có thể thực hiện giao tiếp người và máy
Giao tiếp người và máy với bộ điều khiển đa năng là quá trình:
- Thu thập kiểm tra trạng thái logic ON/OFF của các biến cần kiểm tra
- Nhận lệnh điều khiển từ người điều khiển bẳng các bàn phím, nút nhấn, công tắc start, stop,
- Cảnh báo trạng thái hoạt động của hệ thống, đèn báo hoạt động, báo dừng, đèn báo lỗi
1.4.3 Bộ điều khiển đa năng xử lý được nhiều loại tín hiệu vào/ ra
1.4.3.1 Đầu vào là tín hiệu dòng- áp liên tục
Trong lĩnh vực điều khiển các hệ thống công nghiệp, tín hiệu tương tự cần xử
lý lại thường là các tín hiệu không điện như nhiệt độ, độ ẩm, áp suất, lưu lượng, khối lượng…Vì vậy cần phải có một thiết bị trung gian để chuyển các tín hiệu này
về tín hiệu điện áp hoặc tín hiệu dòng điện Thiết bị này được gọi là các đầu đo hay cảm biến
Hình 1 1: Cấu trúc chuẩn hóa các đại lượng đo lường
Trong khi đó tín hiệu từ các cảm biến đưa ra lại không đúng theo chuẩn Vì vậy người ta cần phải dùng thêm một thiết bị chuyển đổi để đưa chúng về chuẩn công nghiệp Thiết bị này được gọi là các Transmiter
Kết hợp các đầu cảm biến và các thiết bị chuyển đổi này thành một bộ cảm biến hoàn chỉnh, thường gọi tắt là thiết bị cảm biến, hay chính xác là thiết bị đo và chuyển đổi đo (Transducer)
Có 2 loại chuẩn phổ biến là chuẩn điện áp và chuẩn dòng điện
chuyển đổi
Đại lượng cần
đo
Tín hiệu liên tục chuẩn hóa
Trang 14- Điện áp : (0÷10)V, (0÷5)V, ±5V…
- Dòng điện : (4÷20)mA, (0÷20)mA, ±10mA…
Bộ điều khiển đa năng được thiết kế có khả năng xử lý các tín hiệu liên tục từ các thiết bị đo và chuyển đổi đo như trên
1.4.3.2 Đầu vào của bộ điều khiển là nhiệt độ
Nhiệt độ là thành phần chủ yếu trong hệ thống thu thập dữ liệu Do vậy, nếu chọn lựa thiết bị đo lường nhiệt độ chính xác ta có thể tiết kiệm chi phí năng lượng, tăng độ an toàn và giảm thời gian kiểm tra… thiết bị đo lường nhiệt độ thường dùng
là cảm biến nhiệt độ, cặp nhiệt điện, nhiệt điện trở, thermistors… là những loại cảm biến nhiệt độ thông thường Việc lựa chọn thiết bị để hoạt động chính xác tùy thuộc
và nhiệt độ tối đa, tối thiểu cần đo, độ chính xác và những điều kiện về môi trường
Ta khảo sát một số đặc điểm của các cảm biết nhiệt độ trên :
Thermocouple( Cặp nhiệt điện)
Ưu điểm :
- Là thành phần tích cực, tự cung cấp công suất
- Đơn giản, chi phí rẻ
Trang 15- Chi phí cao
- Phải cấp nguồn dòng
- Lượng thay đổi ∆R nhỏ
- Điện trở tuyệt đối thấp
- Tự gia tăng nhiệt
- Nhiệt độ đo dưới 200 0 C
- Cần cung cấp nguồn cho cảm biến
Trang 16Trong nội dung luận văn này, Bộ điều khiển đa năng sử dụng trong công nghiệp, với dải nhiệt độ đo lớn, độ thay đổi nhỏ nên chúng ta sử dụng loại Thermocouple và Nhiệt điện trở để đo nhiệt độ
1.4.4 Tín hiệu ra của bộ điều khiển đa năng
Tín hiệu điểu khiển đầu ra của bộ điều khiển đa năng tuân theo các quy luật điều khiển là :
Rơ le điều khiển 3 vị trí có vòng trễ
Điều khiển độ rộng xung
Điều khiển liên tục theo dòng điện
Điều khiển liên tục theo điện áp
1.4.5 Bộ điều khiển đa năng thực hiện được các cấu trúc điều khiển và
luật điều khiển đa dạng
1.4.5.1 Các cấu trúc điều khiển
Một hệ thống kỹ thuật được mô tả tổng quát như hình 1.2 :
Hệ thống kỹ thuật x1, x2, ,xn
Các phương pháp để TBĐK tạo ra tín hiệu điều khiển bao gồm:
- Điều khiển theo chương trình: là tín hiệu điều khiển được tạo ra từ chương trình định sẵn trong TBĐK
Trang 17- Phương thức bù nhiễu: Tín hiệu điều khiển hình thành khi xuất hiện nhiễu loạn tác động vào hệ thống Tín hiệu điều khiển này phát ra nhằm
bù lại sự tác động của nhiễu giữ cho giá trị ra của đại lượng cần điều chỉnh không đổi
- Điều khiển theo sai lệch: Đây là phương pháp điều khiển phổ biến nhất trong các hệ thống, tín hiệu điều khiển được hình thành do có sự sai lệch giữa giá trị mong muốn và giá trị đo được của đại lượng cần điều chỉnh
Các tín hiệu ra:
Tín hiệu ra của hệ thống y1(t), …, ys(t) là kết quả thu được khi tác động tín hiệu điều khiển lên đối tượng điều khiển ( ĐTĐK)
Những dạng mô tả hệ thống công nghiệp phổ biến:
Trong các hệ thống công nghiệp hiện đại ngày này một hệ thống được mô tả thành những dạng cơ bản như:
- Hệ thống chỉ có một tín hiệu vào và một tín hiệu ra gọi là SISO( Chữ viết tắt Single Input- Single Output)
- Hệ thống có nhiều tín hiệu vào và nhiều tín hiệu ra gọi là MIMO ( Chữ viết tắt Multil Input- Multil Output)
Thay đổi đi một chút ta sẽ có thêm các mô hình khác như:
- Mô hình nhiều tín hiệu vào một tín hiệu ra gọi là MISO( Multil Input- Single Output)
- Mô hình một tín hiệu vào nhiều tín hiệu ra gọi là SIMO( Single Input- Multil Output)
Kết luận:
Từ việc khảo sát các phương pháp để TBĐK tạo ra tín hiệu điều khiển trong các hệ thống công nghiệp Bộ điều khiển đa năng xây dựng một số cấu trúc hệ điều khiển như hình
Hệ thống SISO
Trang 18
Hình 1 3: Sơ đồ cấu trúc điều khiển SISO
Hệ thống MISO ( Có tác động của nhiễu và bù nhiễu)
-Hình 1 4: Sơ đồ cấu trúc điều khiển hệ MISO
Hệ CASCADE( Ghép nối nhiều vòng điều khiển)
Trang 19CHƯƠNG 2 : NGHIÊN CỨU TÌM HIỂU CÔNG NGHỆ PSoC
2.1 Cấu trúc chi tiết bên trong chip PSoC
Cấu trúc bên trong PSoC được trình bày như hình 2.1 bao gồm:
- Cấu trúc vi xử lý
- Hệ thống khối vào ra số
- Hệ thống khối vào ra tương tự
- Một số khối tái nguyên bổ xung khác
Hình 2 1: Sơ đồ khối kiến trúc PSoC
Trang 202.1.1 Bộ vi xử lý – CPU
Có 5 thanh ghi điều khiển hoạt động chính của CPU Những thanh ghi này bị
tác động bởi những lệnh khác nhau Người sử dụng có thể truy cập trực tiếp vào các
thanh ghi này thông qua không gian bộ nhớ các thanh ghi Các thanh ghi của CPU
được cho trong bảng 2.1:
Bảng 2 1: Các thanh ghi của CPU:
Flags (Thanh ghi cờ) CPU_F Program Counter (Thanh ghi đếm chương trình ) CPU_PC
Accumulator (Thanh ghi chứa) CPU_A
Stack Pointer (Thanh ghi con trỏ) CPU_SP
Index (Thanh ghi chỉ số) CPU_X
Bộ đếm chương trình là một thanh ghi 16 bit (CPU_PC): Nó cho phép người
lập trình truy cập trực tiếp vào toàn bộ không gian bộ nhớ chương trình trên chíp
(16 kbytes đối với thành viên lớn nhất)
Thanh ghi chứa (Accumulator): Là một thanh ghi đa mục đích, nó thường
được sử dụng để lưu giữ kết quả của bất cứ một lệnh nào sử dụng chế độ địa chỉ
nguồn
Thanh ghi chỉ số được dùng để lưu giữ giá trị Offset (độ lệch) trong chế độ
địa chỉ chỉ số Tiêu biểu là nó được dùng để địa chỉ một khối dữ liệu bên trong
không gian nhớ dữ liệu
Thanh ghi con trỏ Stack (Stack Pointer) lưu giữ địa chỉ của đỉnh ngăn Stack
trong không gian dữ liệu Nó bị tác động bởi những lệnh như là PUSH, POP,
LCALL, RETI và RET Nói chung là tất cả những lệnh có liên quan đến Stack của
phần mềm nó cũng có thể ảnh hưởng bởi lệnh SWAP và lệnh ADD
Thanh ghi cờ (Flags): Có ba bit trạng thái: bit cờ không –Zero Flag bit [1];
bit cờ nhớ – Carry Flag bit[2]; bit Supervisory State [3] Bít cho phép ngắt toàn
cục- Global Interrupt Enable bit[0] được dùng để cho phép hoặc cấm toàn bộ các
ngắt Các cờ trên bị ảnh hưởng bởi lệnh toán học, những lệnh logic vv…
Trang 212.1.2 Ngắt và các bộ điều khiển ngắt
Các thanh ghi điều khiển ngắt
Bảng 2 2: Các thanh ghi của bộ điều khiển ngắt
Mô tả cấu trúc của bộ điều khiển ngắt
Hình 2 2: Sơ đồ khối hoạt động của bộ điều khiển
- Interrupt Source: Nguồn ngắt (bộ định thời, các chân vào ra đa chức năng)
- Interrupt Taken or INT_CLRx Write: Thi hành ngắt hoặc xoá ngắt
- INT_MSKx: Lập mặt nạ che ngắt
- Post Interrupt: Thông báo ngắt
- Pending Interrupt: Ngắt chờ
- Priority Encoder: Bộ mã hoá mức ưu tiên của ngắt
- GIE(CPU_F[0]): Cho phép ngắt toàn cục (Global Interrupt Enable)
- Interrupt Request: Yêu cầu ngắt
Trang 222.1.3 Các cổng vào ra đa chức năng
Cổng vào ra đa chức năng cung cấp cho CPU một giao diện với bên ngoài
Chúng đòi hỏi một số lượng lớn thanh ghi cấu hình để hỗ trợ cho nhiều hoạt động
vào/ ra bao gồm cả số và tương tự
Bảng 2 3: Các thanh ghi cấu hình cổng vào ra đa chức năng
Address Name Bit
0,xxh PRTxDM2 Driver Mode 2 (Thanh ghi hoạt động chế độ 2) RW:FF
1,xxh PRTxDM0 Driver Mode 0 (Thanh ghi hoạt động chế độ 0) RW:00
1,xxh PRTxDM1 Driver Mode 1 (Thanh ghi hoạt động chế độ 1) RW:FF
1,xxh PRTxIC0 Interrupt Control 0 (Thanh ghi điều khiển ngắt 0) RW:00
1,xxh PRTxIC1 Interrupt Control 1 (Thanh ghi điều khiển ngắt 1) RW:00
Các cổng vào đa chức năng đều có độ rộng là 8 bit/1cổng Mỗi một cổng
vào/ra bao gồm 8 khối GPIO giống hệt nhau Mỗi một khối GPIO đều được kết nối
với bit có số thứ tự tương ứng trong địa chỉ và thanh ghi Bởi vậy, những thanh ghi
trong bảng 2.3 thực sự chỉ dành cho một cổng (bao gồm 8 khối GPIO) Trong đó
thì vị trí của các bit sẽ chỉ rõ là khối GPIO nào trong 8 khối được điều khiển với
cổng vào ra
Trang 23Mỗi một khối GPIO có thể được sử dụng cho những kiểu vào ra sau:
- Vào ra số (Vào ra số điều khiển bởi phần mềm)
- Vào ra toàn cục (Vào ra cho các khối PSoC số)
- Vào ra tương tự (Vào ra cho các khố PSoC tương tự)
Hình 2 3: Sơ đồ khối của một chân vào ra đa chức năng
2.1.4 Các bộ dao động
Bộ tạo dao động chính bên trong (IMO-Internal Main Oscillator)
Đầu ra của bộ IM0 có 2 loại, một loại là SYSCLK có thể là nguồn xung nhịp 24MHz ở bên trong hay nguồn xung nhịp bên ngoài, một loại là SYSCLK2x có tần
số xung nhịp gấp đôi SYSCLK Khi không có đầu vào chính xác cao từ bộ dao động thạch anh 32KHz thì độ chính xác của nguồn xung nhịp 24/48MHz ở bên trong sẽ là +/- 2,5% đối với giải nhiệt độ và hai mức điện áp hoạt động (3.3V+/- 0.3V và 5.0V+/- 5%) Không cần thêm một thành phần bên ngoài nào để đạt được mức độ chính xác này
Trang 24Có một lựa chọn để chốt pha của bộ dao động bên trong này sang bộ dao động thạch anh bên ngoài Vì thế việc lựa chọn thạch anh và độ chính xác của nó quyết định tính chính xác của bộ dao động ngoài Bộ dao động thạch anh bên ngoài cần phải ổn định trước khi chốt tần số dao động của bộ dao động chính bên trong vào nguồn xung nhịp này
Bộ IMO có thể được khoá khi sử dụng nguồn xung nhịp bên ngoài Bởi vậy, mạch nhân đôi tần số (SYSCLK2x) có thể được ngắt để tiết kiệm năng lượng cho
hệ thống Lưu ý rằng khi sử dụng nguồn xung nhịp bên ngoài, nếu như SYSCLK2x được cần đến thì IMO không thể bị khoá
Bộ dao động tốc độ thấp nội tại (ILO-Internal Low Speed Oscillator) ILO là bộ phát xung nhịp nội tại tốc thấp 32KHz Nó có khả năng sinh ra ngắt để đánh thức chế độ ngủ và reset lại đồng hồ Watchdog Bộ tạo dao động này cũng được sử dụng như là một nguồn xung nhịp cho các khối số
Bộ ILO có thể hoạt động ở ba chế độ: chế độ bình thường, chế độ nguồn giảm hoặc chế độ tắt (Không sử dụng) Chế độ bình thường tiêu thụ nhiều năng lượng hơn cho độ chính xác của tần số xung nhịp Chế độ nguồn giảm luôn luôn được dùng khi chíp đang ở trạng thái nguồn giảm (nghỉ) và có thể được lựa chọn khi chíp đang hoạt động, nhưng nó sẽ phát ra một nguồn xung nhịp có độ chính xác kém hơn so với chế độ bình thường
Bộ tạo dao dộng thạch anh 32KHz (ECO)
Mạch tạo dao động thạch anh 32 KHZ cho phép người sử dụng thay thế bộ tạo dao dộng bên trong (ILO) với một bộ tạo dao động bên ngoài với độ chính xác
cao hơn, giá thành thấp và năng lượng tiêu hao ít
Mạch tạo dao động thạch anh sử dụng một thạch anh rẻ và hai tụ nhỏ là thành phần bên ngoài Tất cả các thành phần khác đều nằm trong chíp PSoC Bộ dao động thạch anh có thể cấu hình để cung cấp một tham chiếu đến bộ tạo dao động bên trong (IMO) trong chế độ PLL (Phase Lock Loop) để tạo ra nguồn xung nhịp hệ thống 24 MHz với độ chính xác cao hơn
Trang 25Chân XTALIN và chân XTALOUT hỗ trợ kết nối với thạch anh 32.768 KHz Để có thể sử dụng bộ dao động thạch anh bên ngoài thì bit 7 của thanh ghi điều khiển bộ dao động OSC_CR0 cần phải được đặt =1 (mặc định là 0) (Xem hình 2-6)
Hình 2 4: Tạo bộ dao động ngoài
2.1.5 Sleep And Watchdog
Bảng 2 4: Các thanh ghi của Sleep và watchdog
Mục đích của chế độ nghỉ là để giảm năng lượng tiêu thụ trung bình của hệ thống đến mức có thể Hệ thống đi vào chế độ được khởi tạo và điều khiển bởi chương trình Trong trạng thái này, CPU được dừng lại ở một biên giới lệnh và bộ phát xung nhịp 24/48 MHz, modun bộ nhớ Flash và giả band-gap giảm năng lượng tiêu thụ Khối PSoC duy nhất còn hoạt động là bộ phát xung nhịp 32KHz (Bên trong hoặc bên ngoài) Khối PSoC bấm giờ từ sự lựa chọn xung nhịp 32KHz và mạch theo dõi điện áp cung cấp
Các khối PSoC tương tự có hai chế độ giảm nguồn được điều khiển bởi vi chương trình và độc lập với trạng thái nghỉ Khối Continuous Timer Analog có thể vẫn hoạt động, từ khi chúng không yêu cầu nguồn xung nhịp Tuy nhiên, khối Analog SC sẽ không hoạt động từ lúc nguồn xung nhịp nội tại cung cấp cho chúng ngừng hoạt động
Hệ thống có thể chỉ được đánh thức khỏi chế độ nghỉ bằng một yêu cầu ngắt hoặc sự kiện reset hệ thống Đồng hồ nghỉ cung cấp những ngắt định kỳ để cho
Trang 26phép hệ thống thức dậy, thăm dò ngoại vi, thực hiện chức năng thời gian thực và sau đó lại vào chế độ nghỉ lần nữa ngắt của chân GPIO, ngắt theo dõi nguồn, ngắt của cột khối tương tự, và nguồn xung nhịp hay xung nhịp 32K ở bên trong được sử dụng làm mẫu để đồng bộ hoá những ngắt có thể được dùng để đánh thức hệ thống dậy
Mạch định thời Watchdog được thiết kế để sinh ra một ngắt cứng của chíp sau một khoảng thời gian được lập trình trước Trừ khi nó phục vụ một cách định kỳ trong vi chương trình Chức năng này sẽ reset hệ thống nếu như CPU hoạt động sai
Nó cũng có thể reset nếu như hệ thống bị treo
Một khi bộ định thời Watchdog được mở thì nó có thể bị đóng từ một sự kiện reset bên ngoài (XRES) hay một sự kiện reset nguồn (POR Một reset của bộ định thời Watchdog sẽ vẫn để Watchdog hoạt động Bởi vậy, nếu Watchdog được sử dụng trong một ứng dụng thì tất cả các mã (bao gồm cả mã khởi đầu) cần phải được viết như thể là Watchdog đang được mở
Đánh thức hệ thống
Một hệ thống đã ở trạng thái nghỉ thì sự kiện duy nhất có thể đánh thức hệ thống là một ngắt Bit cho phép ngắt toàn cục trong thanh ghi CPU_F không cần thiết phải được set Bất cứ một ngắt không bị che nào đều có thể đánh thức hệ thống dậy Một lựa chọn cho CPU là có thi hành ngắt đó hay không sau khi hệ thống bị đánh thức
Hình 2 5: Biểu đồ dẫy các sự kiện đánh thức hệ thống
Trang 27Dãy sự kiện đánh thức hệ thống được đồng bộ với xung nhịp 32kHz với mục đích tạo độ trễ khi khởi động lại, cho phép Module bộ nhớ Flash có đủ thời gian để khôi phục lại mức năng lượng hoạt động trước khi CPU phát ra lệnh đọc đầu tiên Một lý do khác cho sự trễ đó là để cho phép IMO, Bandgap, mạch LVD/POR có thời gian ổn định trước khi đi vào hoạt động Dãy sự kiện đánh thức hệ thống được chỉ ra trong hình 2-7 và được mô tả như sau:
- Khi một ngắt đánh thức xảy ra và được đồng bộ hóa với sườn âm của xung nhịp 32kHz
- Tại sườn dương tiếp theo của xung nhịp, tín hiệu giảm nguồn hệ thống được đảo lại Module bộ nhớ Flash, IMO và mạch bandgap được cấp năng lượng ở trạng thái hoạt động bình thường
- Tại sườn dương tiếp theo của xung nhịp 32kHz, giá trị chính xác định rõ ràng của POR và LVD đã ổn định và được lấy mẫu
- Tại sườn âm tiếp theo của xung nhịp 32kHz (sau khoảng 15us), tín hiệu BRQ được bộ lệnh nhớ mạch logic nghỉ Trên sườn tiếp theo của CPUCKL, tín hiệu BRA được đảo lại bởi CPU và lệnh thi hành tiếp tục Thời gian đánh thức hệ thống là từ 75 đến 105us
Bộ định thời Watchdog(WDT)
Tại thời điểm khởi động chíp, WDT khởi đầu là bị đóng Bit PORS trong thanh ghi điều khiển hệ thống sẽ điều khiển mở WDT Tại lúc khởi động bit PORS khởi đầu được đặt là 1, nó chỉ rõ rằng hoặc sự kiện POR hay XRES đã xảy ra WDT được mở bằng cách xoá bit PORS Một khi bit này được xoá và bộ định thời watchdog đi vào hoạt động thì nó sẽ không thể bị đóng (vì bit PORS không thể được set lên 1 bởi vi chương trình, nó chỉ có thể bị xoá) Cách duy nhất để vô hiệu hoá chức năng watchdog sau khi nó đã được mở là thông qua POR hay XREF Mặc
dù WDT bị vô hiệu hoá từ lúc POR hay XREF cho đến hết mã khởi đầu, nhưng toàn bộ mã chương trình nên được viết như thể là nó đang được mở (WDT cần phải được xoá một cách định kỳ) Lý do là vì trong mã khởi đầu sau sự kiện WDR
Trang 28(watchdog reset), bộ định thời watchdog được mở và tất cả các mã chương trình cần phải biết điều này
Hình 2 6: Watchdog reset
Một khi được cho phép thì WDT cần phải xoá một cách định kỳ bởi vi chương trình Điều này được thực hiện với một lệnh viết vào thanh ghi RES_WDT Lệnh viết này là một giá trị không phụ thuộc, vì thế bất cứ lệnh ghi nào đều xóa bộ định thời watchdog Nếu vì một lý do nào đó mà vi chương trình không xóa watchdog trong khoảng thời gian lựa chọn thì mạch WDT sẽ sinh ra một WDR (watchdog reset) tới chíp
2.2 Hệ chương trình tự động thiết kế chip và Ngôn ngữ lập trình Assembler
và C của PSoC
Để lập trình cho hệ thống sử dụng các chip PSoC, người sử dụng được cung cấp một phần mềm lập trình được Phần mềm thiết kế được xây dựng trên cơ sở hướng đối tượng với cấu trúc module hoá PSoC DESIGNER là một phần mềm lập trình cho các chip do hãng MicroChip Xpress phát triển
Sau khi cài đặt trên màn hình destop xuất hiện biểu tượng:
Đây là một công cụ mạnh với nhiều thư viện hỗ trợ cấu hình các tính năng cần thiết và các thư viện hàm phong phú cho các hệ thống điều khiển Việc thiết kế phần mềm gồm 2 bước:
Cấu hình hệ thống cho chip PSoC những tính năng cần thiết
Viết phần mềm điều khiển cho chip PSoC
Trang 292.2.1 Tạo một dự án trong PSoC DESIGNER
Để lập trình cho chip có những chức năng mong muốn thì trước hết ta phải tạo một thư mục cho dự án để chứa các File của dự án
Khởi động double click vào biểu tượng này trên màn hình sẽ xuất hiện
Tạo một dự án mới bằng cách truy nhập vào hộp thoại ta chọn ‘start new project’
Trang 30
Sau đó đánh tên của project và chọn nơi đặt project
Sau đó suất hiện bảng hỏi project này chưa tồn tại ,có muốn tạo nó không,ta chọn YES
Chọn loại chip PSoC ta định sử dụng,ở đây ta chọn loại CY8C27443 và ngôn ngữ lập trình là ngôn ngữ C
Sau khi biết cách tạo một dự án cho chip PSoC ta tìm hiểu cách quản lý dự án
Trang 312.2.2 Quản lý dự án
PSoC DESIGNER bao gồm 3 phần: Device Edittor, Application, Debuger Giao diện được chia thành nhiều cửa sổ khác nhau phụ thuộc vào việc ta đa ở trong phần nào trong 3 phần trên
Nếu đang ở trong phần Device Edittor thì ta sẽ thấy một cửa sổ User Module, Một cửa sổ lựa chọn User Module, Một cửa sổ quản lý tài nguyên và hai cửa sổ thông tin
về User Module là cửa sổ sơ đồ khối và một cửa sổ tài liệu về module được lựa chọn Để vào Device Edittor ta nhấn vào nút trên thanh công cụ Giao diện Device Edittor như Hình 2.8
Hình 2 7: Giao diện Device Edittor
Để vào phần Application Edittor ta nhấn vào nút ta sẽ thấy giao diện Application Edittor như Hình 1.11 gồm một cửa sổ dự án, một cửa số chính hiển thị nội dung của File đang được mở và một cửa sổ trạng thái đầu ra
để hiển thị các thông báo về lỗi nếu có vấn đề về mã nguồn trong quá trình biên dịch
Trang 32Để vào Debuger ta ấn vào nút thì ta sẽ thấy giao diện giống như giao diện phần Application Edittor nhưng có thêm cửa số watch variable như Hình 2.9
Hình 2 8: Giao diện Debuger
2.2.3 Thiết kế cấu hình chip PSoC
Lựa chọn User Module
Lựa chọn các User Module là bước đầu tiên cần phải làm sau khi tạo một dự án Một User module là một chức năng được cấu hình trước Một khi nó được sử dụng thì nó sẽ hoạt động như một ngoại vi trên chip
Sau khi ta chọn User module, click chuột vào biểu tượng Interconect View để đi đến các kết nối bên trong
Trang 33Sau khi click vào Interconect View cửa sổ sau đây được lựa chọn:
Để thay đổi các tham số của khối PWM16_1 Ta click chuột phải vào khối đó sau
đó lựa chọn Place thì một cửa sổ sau sẽ hiện ra
Trang 34
Từ cửa sổ này ta ta điền các tham số vào Để biết thêm chi tiết về các tham số này các bạn có thể tìm hiểu trong Datasheet của khối
Trang 35Kết nối khối PWM16 với thiết bị ngoại vi: Kết nối tín hiệu đầu ra CompareOut của khối PWM16 đến chân đầu ra P1[0] như hình 2.9
Hình 2 9: Kết nối User module với thiết bị ngoại vi
Sau khi thiết lập song các thông số của các Usermodul thì ta phải ‘Generate Application’ (phát mã cho quá trình viết mã ) bằng cách chọn nút công cụ:
Sau khi đã hoàn thành việc đặt các tham số và kết nối đầu ra ta bắt đầu viết code Phía bên trái của cửa sổ Application Editor là những file được tạo ra Click vào file main.c từ Source Files để mở cửa sổ chương trình chính Từ đây ta viết code vào bằng cách gọi các hàm
Trang 36
Dịch và nạp chương trình vào chip: Sau khi code được viết ta click vào biểu
tượng Build
Khi code không bị lỗi thì file LED_blink1.hex được tao ra Ta click chuột vào biểu
tượng để nạp chương trình vào chip
Bảng 2 5: So sánh chức năng chip PSoC với các chip vi điều khiển khác
Tốc độ xung nhịp 24 Mhz( sử dụng thạch anh) 24Mhz thay đổi dễ dàng
Khuếch đại thuật toán Không tích hợp 1 loại có thể lập trình hệ
số khuếch đại
Bộ định thời và bộ đếm 3 bộ lên tới 16 bits Từ 2 đến 8 bộ
Bộ điều chế độ rộng xung Không tích hợp Từ 2 đến 8 bộ
Trang 37lên tơis 2.304 bytes Chế độ hoạt động của
Khả năng thay đổi cấu
chạy Lập trình cho Chip từ PC Qua cổng COM hoặc bộ nạp Gián tiếp chuẩn ISSP
Nhìn vào bảng so sánh trên ta thấy bên cạnh những tính năng ưu việt thì chip PSoC vẫn còn tồn tại một số nhược điểm như không hỗ trợ giao tiếp với bộ nhớ ngoài, không thể sử dụng quá nhiều tính năng cùng một lúc do hạn chế về không gian chứa tài nguyên khối PSoC số và tương tự, nhưng trong những ứng dụng điều khiển đối tượng công nghiệp yêu cầu lưu trữ, và số lượng biến vào ra nhiều không phải là yếu tố quan trọng nhất, với những hệ thống cần theo dõi và xử lý nhiều biến người ta thường chia nhỏ các tham số điều khiển để tối ưu được hệ thống, tránh nhiễu tác động qua lại ảnh hưởng giữa các tín hiệu điều khiển, và quan trọng nhất là
dễ dàng sửa chữa và thay thế khi có sự cố xảy ra mà không làm ảnh hưởng nhiều đến các quá trình khác của hệ thống điều khiển
Trang 38CHƯƠNG 3: NGHIÊN CỨU THIẾT KẾ BỘ ĐIỀU KHIỂN ĐA NĂNG
3.1 Cơ sở lý thuyết bộ điều khiển PID
Luật PID tính toán đưa ra tín hiệu điều khiển dựa theo ba thành phần khác nhau
là thành phần tỷ lệ P (Proportional action), thành phần tích phân I (Integral action)
và thành phần vi phân D(Derivative action) Bộ điều khiển PID được coi là lý tưởng vì:
- Khối tỉ lệ (P) trong bộ điều khiển luôn phục tùng và thực hiện chính xác nhiệm vụ được giao, nếu sai lệch đầu vào lớn, thì tiến hiệu điều chỉnh u(t) càng lớn
- Khối tích phân (I) trong bộ điều khiển có nhiệm vụ tích lũy kinh nghiệm để thực hiện tốt nhiệm vụ, nếu sai lệch e(t) chưa bằng không thì PID vẫn còn tạo tín hiệu điều khiển
- Khối vi phân(D) luôn có sáng kiến và phản ứng nhanh nhạy với thay đổi tình huống của tín hiệu vào Nếu có sựa thay đổi của sai lệch e(t) càng lớn thì phản ứng thích hợp của u(t) càng nhanh
Bộ điều khiển PID được mô tả bằng hàm mô hình vào ra:
e(t): tín hiệu đầu vào
u(t): tín hiệu đầu ra
Trang 39Trong ứng dụng kĩ thuật vi xử lý, các biến đầu vào và đầu ra được đo trong từng thời điểm và chuyển đổi thành dạng số thông qua bộ chuyển đổi tương tự- số ( Analog to Digital Converter) Bởi vậy phương trình luật điều khiển PID cũng được
số hóa và được đặt trọng hệ thống điều khiển số như sau :
Hình 3 1: Cấu trúc hệ thống điều khiển số
Xác định mô hình không liên tục của bộ điều khiển PID số, ta sẽ đi từ mô hình liên tục của nó trong miền thời gian :
Trang 403.2 Thiết kế phần cứng bộ điều khiển đa năng
3.2.1 Sơ đồ khối bộ điều khiển đa năng
Bộ điều khiển đa năng được thiết kế gồm các khối như hình vẽ 3.1
Nhiệt điện trở: Cu, Pt
Giao tiếp hiển thị:
LED 7 thanh LCD LED đơn
Giao tiếp thẻ nhớ
PSoC xây dựng chương trình:
- Thiết lập hệ điều khiển:SISO, MISO
- Thiết lập tín hiệu vào/ ra
- Thiết lập vòng
- Thiết lập thuật điều khiển P, PI, PID và cài
điều khiển đặt các tham số điều khiển
Điều khiển ra:
Hình 3 2: Sơ đồ khối các module trong Bộ điều khiển đa năng
Chức năng của các khối như sau:
Khối xử lý trung tâm: Có chức năng xử lý toàn bộ các hoạt động của bộ điều khiển đa năng, bao gồm các hoạt động
- Thiết lập chọn các hệ thống điều khiển như: SISO, MISO, CASCADE
- Thiết lập chọn các tín hiệu vào/ra cho bộ điều khiển đa năng
- Thiết lập chọn các vòng điều khiển và các luật điều khiển cho bộ điều khiển
đa năng
Khối giao tiếp người và máy
- Ra lệnh cho hệ thống hoạt động theo yêu cầu của người sử dụng như các
phím bấm Menu, phím chọn Menu, phím nhấn tăng- giảm menu
- Hiển thị trạng thái hoạt động của hệ thống như bằng các đèn Led báo trạng
thái: đèn led báo hoạt động, đèn led báo dừng, đèn led báo lỗi