NHIỆM VỤ ĐỒ ÁN
Nhiệm vụ của đề tài là tập trung vào tìm hiểu Thiết kế và điều khiển hệ
thống ổn định nhiệt độ cho lò ấp trứng loại nhỏ, nội dung của đề tài bao gồm:
Khảo sát và phân tích hệ thống lò ấp trứng, yêu cầu nhiệt độ của lò.
Thiết kế cơ cấu phần cứng nhằm thu thập nhiệt độ và điều khiển sự ổn
định nhiệt.
Lập trình điều khiển ổn định nhiệt cho lò.
Viết báo cáo tổng kết đồ án.
1
LỜI CAM ĐOAN
Tôi xin cam đoan cuốn đồ án này do chính tôi nghiên cứu. Hệ thống phần
cứng và chương trình phần mềm do tôi thiết kế và xây dựng. Các thông tin số
liệu trong đồ án là hoàn toàn trung thực, chính xác và có nguồn gốc rõ ràng.
Trong quá trình nghiên cứu tôi có tham khảo một số tài liệu có trong danh mục
tài liệu tham khảo được liệt kê cuối đồ án.
Sinh viên
Nguyễn Văn Huân
2
MỤC LỤC
NHIỆM VỤ ĐỒ ÁN............................................................................................1
LỜI CAM ĐOAN................................................................................................2
MỤC LỤC ..........................................................................................................3
DANH MỤC HÌNH ẢNH ...................................................................................5
LỜI NÓI ĐẦU ....................................................................................................7
2.3.1. Khối cảm biến(LM35).......................................................................43
2.3.2. Khối Nguồn.......................................................................................44
2.3.3. Khối hiển thị LCD.............................................................................45
2.3.4. Khối xử lí trung tâm KIT STM32F051R8T6 .....................................47
CHƯƠNG 3: THIẾT KẾ HỆ THỐNG VÀ KẾT QUẢ THỰC NGHIỆM..........49
3.1. Thiết kế hệ thống.....................................................................................49
3.1.1. Sơ đồ mạch nguyên lí từng khối ........................................................49
3.1.2. Sơ đồ tổng thể hệ thống.....................................................................51
3.3 Chương trình hệ thống..............................................................................52
3.4. Kết quả hệ thống .....................................................................................55
3.5. Đánh giá kết quả......................................................................................56
KẾT LUẬN.......................................................................................................57
TÀI LIỆU THAM KHẢO .................................................................................58
4
DANH MỤC HÌNH ẢNH
Hình 1.1. Chíp ARM thế hệ thứ nhất M1.............................................................8
Hình 1.2 Biểu đồ các giai đoạn phát triển của STM32 .......................................11
Hình 1.3 Đặc điểm cuả bốn nhánh trong họ STM32 ..........................................14
Hình 1.4. Sự phát triển của STM32 ...................................................................15
Hình 1.5. Biểu đồ thể hiện tốc độ xử lí của các chip STM32.............................15
Hình 1.6. Cấu trúc các dòng chip STM32 .........................................................16
Hình 1.7. Hình ảnh kit STM32F0 .....................................................................17
Hình 1.8. Thông số kỹ thuật của kit STM32F0 ..................................................18
Hình 1.9. Sơ đồ khối STM32F0-Discovery........................................................19
Hình 1.10. Mặt trên của KIT STM32F0.............................................................21
Hình 1.11. Mặt dưới của KIT STM32F051R8T6 ...............................................22
Hình 1.12. Nạp chương trình CN2 ....................................................................23
Hình 1.39. Kết quả dịch chương trình................................................................41
Hình 2.1. Sơ đồ khối hệ thống đo nhiệt hiển thị LCD ........................................43
Hình 2.2. Sơ đồ chân cảm biến LM35................................................................43
Bảng 2.3. Chức năng chân LCD 16x2................................................................45
Hình 2.4. Bảng chức năng các chân LCD ..........................................................46
Hình 2.5. Kết nối LCD 16x2 với VĐK ..............................................................47
Hình 2.6. KIT STM32F051R8T6 ......................................................................47
Hình 3.1. Mạch nguyên lí khối cảm biến ...........................................................49
Hình 3.2. Sơ đồ mạch nguyên lí khối vi điều khiển............................................50
Hình 3.3. Mạch nguyên lí khối hiển thị LCD .....................................................50
Hình 3.4. Sơ đồ tổng thể hệ thống......................................................................51
Hình 3.5. Sơ đồ mạch nguyên lý........................................................................51
Hình 3.6. Hệ thống đo nhiệt độ sử dụng cảm biến LM35...................................55
6
LỜI NÓI ĐẦU
Trong hoạt động sản xuất nông nghiệp hiện nay, việc tự động hóa khâu
sản xuất là rất quan trọng. Nhiều năm trở lại đây, có rất nhiều ứng dụng của vi
điều khiển vào hoạt động chăn nuôi, …Một trong những yếu tố quan trọng của
ngành nông nghiệp chăn nuôi gia cầm là khâu sản xuất con giống, để nâng cao
chất lượng sản xuất đòi hỏi phải có những côn giống tốt nhất. Từ thực tế thấy
được tầm quan trọng của việc ấp nở con giống từ trứng gia cầm và đặc biệt là
việc ổn định nhiệt độ lò ấp trứng. Vì thế em đã lựa chọn đề tài “Thiết kế và điều
khiển hệ thống ổn định nhiệt độ cho lò ấp trứng loại nhỏ”.
Trong quá trình hoàn thành đề tài do kinh nghiệm và kiến thức còn hạn
chế nên em không tránh khỏi những thiếu sót. Em rất mong nhận được sự chỉ
bảo, góp ý của các thầy cô để báo cáo của em được hoàn thiện hơn
Em xin chân thành cảm ơn các thầy cô giáo trong trường Đại học Công
8
các cờ trạng thái của bộ vi xử lý. Có thể nói ARM2 là bộ vi xử lý 32-bit khả dụng
đơn giản nhất trên thế giới, chỉ gồm 30.000 transistor. Sự đơn giản như vậy có
được nhờ ARM không có vi chương trình và cũng giống như hầu hết các CPU
vào thời đó, không hề chứa cache. Vì có cấu trúc đơn giản nên ARM có đặc điểm
tiêu thụ công suất thấp đồng thời vẫn đảm bảo tính năng vượt trội so với các
dòng vi xử lí khác. Thế tiếp theo là ARM3, ARM3 được tạo ra với 4KB cache và
có chức năng được cải thiện tốt hơn các thế hệ trước đó.
Vào những năm cuối thập niên 80, hãng máy tính Apple Computer bắt đầu
hợp tác với Acorn để phát triển các thế hệ lõi ARM mới và kết quả của sự hợp
tác này là sự ra đời của thế hệ ARM6
Hiện tại thì ARM vẫn tiếp tục phát triển, cập nhật kiến trúc này một cách
toàn diện hơn. Hiện nay phiên bản được sử dụng phổ biến đó là phiên bản ARM7
và đã và đang phát triển phiên bản ARM8 sử dụng điện toán xử lý 64 bít.
Trong vài năm trở lại đây, một trong những xu hướng chủ yếu của các
thiết kế với vi điều khiển là sử dụng các chip ARM7 và ARM9 như một vi điều
khiển đa dụng. Ngày nay các nhà sản xuất IC đưa ra thị trường hơn 240 dòng vi
điều khiển sử dụng lõi ARM. Tập đoàn ST Microelectronic vừa cho ra mắt dòng
STM32, vi điều khiển đầu tiên dựa trên nền lõi ARM Cortex-M3 thế hệ mới do
hãng ARM thiết kế, lõi ARM Cortex-M3 là sự cải tiến của lõi ARM7 truyền
thống. Dòng STM32 thiết lập các tiêu chuẩn mới về hiệu suất, chi phí, cũng như
khả năng đáp ứng của ứng dụng tiêu thụ năng lượng thấp và tính điều khiển thời
gian thực khắt khe.
1.1.2. Cortex là gì
Dòng ARM Cortex là một bộ xử lí thế hệ mới đưa ra một kiến trúc chuẩn
cho nhu cầu đa dạng về công nghệ. Không giống như các chip ARM khác, dòng
Cortex là một lõi xử lí hoàn thiện, đưa ra một chuẩn CPU và kiến trúc hệ thống
- Cortex-M4: Đây là thế hệ thứ 3 của STM32 bao gồm các chip
STM32F3, STM32F4
10
Hình 1.2 Biểu đồ các giai đoạn phát triển của STM32
1.2.2. Tính ưu việt
Ngoại vi của STM32 giống như những vi điều khiển khác, có hai bộ
chuyển đổi ADC, timer, I2C, SPI, USB và RTC. Tuy nhiên mỗi ngoại vi trên đều
có đặc tính riêng. Ví dụ như bộ ADC 12 bit có gắn một cảm biến nhiệt độ để tự
động điều chỉnh khi nhiệt độ thay đổi và hỗ trợ nhiều mode chuyển đổi. Mỗi bộ
timer có bốn khối capture compare, mỗi khối timer có thể kiên kết với các khối
timer khác để tạo ra một mảng các timer tinh vi. Một timer cao cấp chuyên hỗ trợ
điều khiển động cơ, với 6 đầu vào PWM với dead time lập trình được và một
đường break input sẽ buộc tín hiệu PWM sang một trạng thái an toàn đã được cài
sẵn. Ngoại vi nối tiếp SPI có một khối kiểm tổng CRC bằng phần cứng cho 8 và
16 word hỗ trợ tích cực cho giao tiếp thẻ nhớ SD hoặc MMC.
STM32 có hỗ trợ thêm 7 kênh DMA(Direct Memory Access). Mỗi kênh có
thể dùng để truyền dữ liệu đến các thanh ghi ngoại vi hoặc từ các thanh ghi ngoại
vi đi với kích thước từ (word ) dữ liệu truyền có thể là 8/16 hoặc 32 bit. Mỗi ngoại
vi có thể có một bộ điều khiển DMA đi kèm dùng để gửi hoặc đòi dữ liệu theo yêu
cầu. Một bộ phận sử bus nội và ma trận bus tối thiểu hóa sự tranh chấp bus giữa
truy cập dữ liệu thông qua CPU và các kênh DMA. Điều đó cho phép các đơn vị
DMA hoạt động linh hoạt, dễ dùng và tự động điều khiển các luồng dữ liệu bên
trong vi điều khiển.
11
12
Ngoài ra một sự kiện chống giả mạo sẽ tự động xóa dữ liệu được lưu trên SRAM
được nuôi bằng nguồn pin.
1.2.5. Phát triển phần mềm
Nếu bạn đã sử dụng một vi điều khiển dựa trên lõi ARM, các công cụ phát
triển đã được hỗ trợ tập lệnh Thumb-2 và dòng Cortex. Ngoài ra ST cũng cung cấp
một thư viện điều khiển thiết bị ngoại vị, một thư viện phát triển USB như một thư
viện ANSI C và mã nguồn đó là tương thích với các thư viện trước đó được công bố
cho vi điều khiển ARM7 và ARM9. Có rất nhiều RTOS mã nguồn mở và thương
mại và middleware (TCP/IP, hệ thống tập tin,.v.v..) hỗ trợ cho họ Cortex. Dòng
Cortex-M3 cũng đi kèm một hệ thống gỡ lối hoàn toàn mới gọi là CodeSight. Truy
cập vào hệ thống CodeSight thông qua cổng Debug (Debug Access Port ), cổng này
hỗ trợ kết nối chuẩn JTAG hoặc giao diện 2 dây (serial wire -2 Pin), cũng như cung
cấp trình điều khiển chạy gỡ lối, hệ thống CodeSight trên STM32 cung cấp một data
watchpoint và một công cụ theo dõi(instrucmentation trace). Công cụ này có thể gửi
thông tin về ứng dụng được lựa chọn đến công cụ gỡ lối. Điều này có thể cung cấp
thêm các thông tin gỡ lối và cũng có thể sử dụng trong quá trình thử nghiệm phần
mềm.
1.2.6. Dòng Performance và Access của STM32
Họ STM32 có hai nhánh đầu tiên riêng biệt: dòng Performance và dòng
Access. Dòng Performance tập hợp đầy đủ các thiết bị ngoại vi và chạy với xung
nhịp tối đa 72Mhz. Dòng Access có các thiết bị ngoại vi ít hơn và chạy với tốc độ
xung nhịp là 32Mhz. Quan trọng hơn là cách bố trí chân (pins layout) và các kiểu
đóng gói chíp (package type) là như nhau giữa dòng Access avf dòng
Performance. Điều này cho phép các phiên bản của STM32 được hoán vi mà
không cần sửa đổi hay sắp xếp lại footprint (mô hình chân của chip trong công cụ
layout bo mạch). Trên PCB (Printed Circuit Board ).
- Cung cấp các ứng dụng mạnh mẽ và khả năng kết nối với nhiều giao
diện ngoại vi.
1.4. So sánh giữa các dòng ARM
Những dòng chip thế hệ sau có tốc độ xử lý cao hơn, RAM và bộ nhớ lớn
hơn.
Hình 1.4. Sự phát triển của STM32
Tốc độ xử lý của chip ngày càng tăng :
Hình 1.5. Biểu đồ thể hiện tốc độ xử lí của các chip STM32
So sánh cấu hình các dòng chip:
- Dòng stm32F0xx là dòng chip cơ bản, không được tích hợp nhiều phần
cứng, phù hợp với các ứng dụng cơ bản.
15
- Các dòng chip stm32F1xx đến stm32F4xx có tích hợp USB2.0 , Ethenet,
CAN, audio –camera.
Hình 1.6. Cấu trúc các dòng chip STM32
1.5. Giới thiệu kit STM32F0
Bộ STM32F0 giúp ta khám phá các tính năng thiết bị và để phát triển các
ứng dụng một cách dễ dàng. Nó được dựa trên vi điều khiển STM32F051R8T6,
một loạt vi điều khiển STM32F0 32-bit ARM ® Cortex ™ -M0, và bao gồm một
công cụ ST-LINK/V2 nhúng gỡ lỗi, đèn LED, nút bấm và một board nguyên
mẫu.
16
- Chiều dài kít là 88.9 mm
- Khoảng các giữa các chân là 2.54 mm
18
1.5.2 Cấu trúc phần cứng STM32F0
Kit
STM32F0-Discovery
được
thiết
kế
trên
vi
điều
khiển
STM32F051R8T6 bao gồm LQFP 64 pin. Hình 2.2 minh họa các kết nối giữa
các thiết bị ngoại vi của nó và STM32F051R8T6 (ST-LINK/V2, nút bấm, đèn
LED và kết nối )
Hình 1.9. Sơ đồ khối STM32F0-Discovery
Thông qua sơ đồ có thể xác định vị trí các tính năng trên KIT STM32F0.
Pin 1 CN2, CN3, P1 và P2 kết nối được xác định bởi một hình vuông.
20
Hình 1.10. Mặt trên của KIT STM32F0
Đây là sơ đồ kích thước và khoảng cách các chân trên KIT, đây là thông
số rất quan trọng giúp người thiết kế tạo ra thư viện mạch nguyên lý và mạch in
cho linh kiện.
21
Hình 1.11. Mặt dưới của KIT STM32F051R8T6
1.5.3.2. Sử dụng ST-LINK/V2 nạp chương trình cho kit STM32F0
Các chương trình và gỡ lỗi công cụ ST-LINK/V2 được tích hợp trên
STM32F0-DICOVERY. Các ST-LINK/V2 có thể được sử dụng theo 2 cách khác
nhau theo các trạng thái jumper (xem bảng 2):
• Chương trình / gỡ lỗi MCU trên board,
• Chương trình / gỡ lỗi một MCU trong board ứng dụng ngoài bằng cách
sử dụng một cáp kết nối với kết nối SWD CN3.
Các ST-LINK/V2 chỉ hỗ trợ nạp cho các thiết bị SWD STM32.
Để nạp chương trình cho kit STM32F0 ta cần cắm vào hai jumper trên
CN2 như hình dưới đây:
22
Hình 1.12. Nạp chương trình CN2
- VDDA = 2,0-3,6 V: Bên ngoài cung cấp điện tương tự cho ADC, cài đặt
lại các khối, RCS và PLL (điện áp tối thiểu được áp dụng cho VDDA là 2,4 V khi
ADC và DAC được sử dụng). Mức điện áp VDDA phải luôn luôn lớn hơn hoặc
bằng mức điện áp VDD và phải được cung cấp đầu tiên.
- VBAT = 1,65-3,6 V: Cung cấp điện cho RTC, bên ngoài đồng hồ dao
động 32 KHz .
- Các POR giám sát chỉ cung cấp điện áp VDD. Trong giai đoạn khởi
động nó là cần thiết rằng VDDA nên đến đầu tiên và lớn hơn hoặc bằng VDD.
- Các màn hình PDR cả VDD và điện áp cung cấp VDDA, tuy nhiên
người giám sát cung cấp điện VDDA có thể bị vô hiệu hóa (bằng cách lập trình
một chút Lựa chọn chuyên dụng) để giảm điện năng tiêu thụ nếu thiết kế ứng
dụng đảm bảo rằng VDDA cao hơn hoặc bằng VDD.
- Cơ quan quản lý có ba chế độ hoạt động: chính (MR), năng lượng thấp
(LPR) và điện xuống.
- MR được sử dụng trong chế độ hoạt động bình thường (Run)
- LPR có thể được sử dụng trong ngưng chế độ mà nhu cầu điện giảm
- Công suất xuống được sử dụng trong chế độ chờ: sản lượng điều là trở
kháng cao: mạch hạt nhân được hỗ trợ xuống, lôi kéo không tiêu thụ (nhưng nội
dung của sổ đăng ký và SRAM bị mất)
- Điều này luôn được kích hoạt sau khi thiết lập lại. Nó bị vô hiệu hóa ở
chế độ chờ, cung cấp trở kháng đầu ra cao.
- Trong chế độ ngủ , chỉ có CPU được dừng lại. Tất cả các thiết bị ngoại vi
tiếp tục hoạt động và có thể thức dậy CPU khi một ngắt / sự kiện xảy ra
- Dừng chế độ đạt được mức tiêu thụ điện năng rất thấp trong khi giữ lại
nội dung của SRAM và đăng ký . Tất cả các đồng hồ trong lĩnh vực 1,8 V được
dừng lại, PLL, HSI RC và dao động tinh thể HSE bị vô hiệu hóa . Các điều chỉnh
điện áp cũng có thể được đặt trong hoặc bình thường hoặc trong chế độ điện năng
thấp. Thiết bị này có thể được đánh thức từ chế độ dừng của bất cứ dòng nào exti
25