khác nhau, bao gồm kiến trúc máy tính kiến trúc vi xử lý và vi kiến trúc, thiết kế hệthống bộ nhớ, trình biên dịch, bộ lập lịch/hệ điều hành, và hệ thống thời gian thực.Hợp nhất 2 yếu tố
Trang 1BỘ CÔNG THƯƠNG TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP TP HỒ CHÍ MINH
KHOA CÔNG NGHỆ ĐIỆN TỬ
Trang 2Phụ lục
Phần 1 Tổng quan và đặt vấn đề 3
1.1.Vai trò, ý nghĩa của việc làm tiểu luận 3
1.2 Tình hình nghiên cứu thiết kế Hệ thống nhúng cho các ứng dụng hiện nay 3
1.3 Phương pháp nghiên cứu 4
1.4 Tên đề tài 4
Phần 2 Xác định yêu cầu và xây dựng kiến trúc cho hệ thống 5
2.1 Phân tích xác định yêu cầu cho mô hình kiến trúc hệ thống 5
2.2 Các thành phần Lựa chọn các phần tử cho các chức năng theo yêu cầu kiến trúc 5
2.3 Mô tả hệ thống a Hồ sơ đặc tả (specification) của quy trình thiết kế hệ thống 9
b Phân tích và lập bẳng mô tả về 5 vấn đề cơ bản của hệ thống nhúng của đề tài trên bao gồm: constraints, functions, real-time system, concurrent systems, reactive systems 12
c Mô tả chức năng, thành phần và nguyên lý hoạt động của hệ thống nhúng .13 Phần 3 Thiết kế chi tiết 15
3.1 Thiết kế phần cứng a Sơ đồ khối chi tiết 15
b Sơ đồ nguyên lý 15
c Các module phần cứng cần lập trình điều khiển và các thông số cần thiết để test được 16
3.2 Thiết kế phần mềm a Lựa chọn phần mềm và ngôn ngữ lập trình 22
b Lưu đồ giải thuật 23
Lưu đồ Chương trình chính 23
Lưu đồ các chương trình con cho các module 24
3.3 Chương trình Source code Chuong trình chính và chương trình con 26
3.4 Kết quả mô phỏng 30
Phần 4 Đánh giá và đề xuất 34
a Tự đánh giá kết quả hệ thống thiết kế có đáp ứng các yêu cầu nhiệm vụ đã xây dựng hay không? Ư nhược điểm 34
b Đề xuất hướng phát triển của đề tài cho phù hợp với công nghệ mới 34
Tài liệu tham khảo 35
2
Trang 3Phần 1 Tổng quan và đặt vấn đề 1.1.Vai trò, ý nghĩa của việc làm tiểu luận
- Việc làm tiểu luận có vai trò và ý nghĩa quan trọng trong quá trình học tập và nghiêncứu của một sinh viên
- Là cách để sinh viên thể hiện kiến thức và kỹ năng của mình: Việc làm tiểu luận yêucầu sinh viên phải nghiên cứu, phân tích và trình bày các thông tin và ý tưởng một cáchlogic và rõ ràng Đây là cơ hội để sinh viên thể hiện được khả năng tư duy, phân tích vàsuy luận của mình
- Giúp sinh viên rèn luyện kỹ năng nghiên cứu: Việc làm tiểu luận đòi hỏi sinh viênphải có kỹ năng nghiên cứu để tìm kiếm và thu thập các thông tin cần thiết Việc tìmkiếm, đánh giá và sử dụng các nguồn tài liệu khác nhau là một kỹ năng quan trọng màsinh viên cần phải rèn luyện để có thể áp dụng trong nhiều lĩnh vực khác nhau sau này
- Giúp sinh viên phát triển kỹ năng viết: Việc viết tiểu luận yêu cầu sinh viên phải sửdụng ngôn ngữ phù hợp và truyền đạt ý tưởng một cách rõ ràng và hiệu quả Đây là cơhội để sinh viên rèn luyện kỹ năng viết và trình bày bài văn một cách chính xác và súctích
- Là cơ hội để sinh viên thực hành khả năng làm việc độc lập: Việc làm tiểu luận yêucầu sinh viên phải làm việc độc lập, tổ chức thời gian và quản lý công việc một cáchhiệu quả Đây là cơ hội để sinh viên thực hành và rèn luyện khả năng làm việc độc lập
là máy tính mục đích chung), không như máy tính cá nhân (PC), một hệ thống nhúngthực hiện các nhiệm vụ được xác định trước trong những yêu cầu rất cụ thể Bởi vì hệthống được thiết kế riêng cho một nhiệm vụ cụ thể, những kĩ sư thiết kế có thể tối ưu
nó, làm giảm kích thước và chi phí của sản phẩm Hệ thống nhúng thông thường đượcsản xuất hàng loạt với hàng triệu sản phẩm, vì thế tổng chi phí tiết kiệm được có thể rấtlớn dù cho chi phí tiết kiệm trên mỗi sản phẩm là nhỏ
- Một vài ví dụ của hệ thống nhúng bao gồm ATMs, điện thoại di động, máy in, máyđiều hòa nhiệt độ, máy giặt, …
- Lĩnh vực nghiên cứu hệ thống nhúng là một lĩnh vực có tiềm năng phong phú bởi vì
nó kết hợp 2 yếu tố Đầu tiên, kĩ sư thiết kế hệ thống luôn luôn có quyền điều chỉnh cảthiết kế phần cứng và thiết kế phần mềm, không giống như tính toán trên máy tính mụcđích chung Thứ hai, hệ thống nhúng được xây dựng dựa trên các rất nhiều lĩnh vực
Trang 4khác nhau, bao gồm kiến trúc máy tính (kiến trúc vi xử lý và vi kiến trúc, thiết kế hệthống bộ nhớ), trình biên dịch, bộ lập lịch/hệ điều hành, và hệ thống thời gian thực.Hợp nhất 2 yếu tố trên có nghĩa là những rào cản giữa các lĩnh vực trên có thể đượcxóa bỏ, tận dụng được sức mạnh tổng hợp của các lĩnh vực và hệ quả là sự tối ưu hệthống đạt được còn lớn hơn tổng những phần đơn lẻ trên hợp lại.
- Một thử thách với hệ thống nhúng là làm sao mang tới hiệu năng được dự đoán tốt.Rất nhiều hệ thống nhúng (ví dụ hệ thống chống bó cứng trên xe hơi) có yêu cầu vềthời gian thực; nếu tính toán không được hoàn thành trước thời hạn, hệ thống sẽ đượccoi là thất bại, và có thể làm tổn hại đến người sử dụng Không may, rất nhiều tínhnăng tăng cường hiệu năng mà làm cho máy tính cá nhân có tốc độ nhanh hơn lại đồngthời làm cho hệ thống khó có thể dự đoán được hiệu năng một cách chính xác Nhữngtính năng đó bao gồm pipelined và lệnh out-of-order đang được áp dụng trong các vi
xử lý, cũng như cache trong hệ thống bộ nhớ Vì thế thử thách cho những người nghiêncứu hệ thống nhúng là phải phát triển những cách thức tiếp cận để thiết kế những hệthống tốc độ cao với hiệu năng có thể dự đoán dễ dàng, hoặc tăng sự do lường chínhxác những hệ thống phức tạp nhưng nhanh đang tồn tại
1.3 Phương pháp nghiên cứu
- Phương pháp nghiên cứu tiểu luận là những cách thức giúp tác giả bài nghiên cứu thuthập số liệu, kiến thức hoặc thông tin nhằm tìm ra một hệ thống tri thức từ thực tiễn.Nghiên cứu tiểu luận nhằm giúp tìm ra quy luật của các sự vật hoặc hiện tượng liênquan đến chủ đề lựa chọn, từ đó xây dựng nên một khung lý thuyết mới, hoặc sàng lọcloại bỏ giả thuyết của một đề tài khoa học
- Các phương pháp nghiên cứu tiểu luận mà nhóm sử dụng được chia thành 2 nhóm:
+ Phương pháp nghiên cứu lý thuyết, phân tích - tổng hợp lý thuyết
+ Phương pháp nghiên cứu thực tiễn, phân tích tổng hợp phương pháp nghiêncứu
Trang 5Phần 2 Xác định yêu cầu và xây dựng kiến trúc cho hệ thống 2.1 Phân tích xác định yêu cầu cho mô hình kiến trúc hệ thống
- Yêu cầu của hệ thống nhúng:
+ Đối tượng: Lò nướng điện
+ Điều khiển được nhiệt độ lò nướng 100 – 200 độ C (Thông qua việc truyềnđiện vào 2 thanh tản nhiệt trong lò -> tạo ra nhiệt độ)
+ Điều khiển được thời gian lò hoạt động
+ Hiển thị nhiệt độ trong lò theo thời gian thực lên LCD (thông qua cảm biếnnhiệt độ trong lò)
+ Phát sáng đèn trong lò để quan sát thức ăn được nấu bên trong
+ Phát chuông báo để người dùng biết lò đã chạy hết thời gian hoạt động
2) Cảm biến nhiệt độ PT100 WZPT-291 5x100x2M - A6H15
- Mã: Cảm biến nhiệt độ PT100 loại 3 dây
- Dải nhiệt độ đo: 0 - 450 độ C
- Đầu dò: 5x20cm
- Dây dài: 2 mét
Trang 63) Còi báo hiệu SFM-27 (Buzzer HYT-3015B 3-24V)
Trang 75) Núm vặn hẹn giờ: Hẹn giờ cơ DKJ-90 2 chân
- Thời gian hẹn giờ: 1-90 phút
Trang 87) Đèn sợi đốt 40W
- Nguồn nuôi: 220V
- Công suất hoạt động: 40W
- Nhiệt độ chịu đựng: tối đa 500 độ C
8) Rờ le: Module Relay 3V-5 chân 220V 10A JQC3F-03VDC-C
- Điện áp điều khiển: 3 – 3.3V
- Điện áp tiếp điểm common tối đa: 28VDC / 250VAC
- Chân thường đóng / thường hở: NC / NO
- VCC, GND: nguồn chung
- VSS, VDD: nguồn của relay
8
Trang 91 Khả năng điều khiển nhiệt độ trong lò
2 Khả năng điều khiển thời gian lò hoạt động
3 Khả năng hiển thị nhiệt độ trong lò
4 Khả năng điều khiển đèn trong lò khi hoạt động
5 Khả năng điều khiển chuông báo khi lò hết hoạt động
Specification 1 Vi điều khiển: STM32F103R6- Nguồn nuôi 2 - 3.6Vdc
- Xung clock tối đa: 72 MHz
- 26/37/51 cổng I/O
- GPIO ngõ ra 3.3 Vdc
2 Bộ nhớ RAM/ROM: sử dụng có sẵn trong VĐK
- 10 Kbytes SRAM
- 32 Kbytes Flash memory
- 2 bộ chuyển đổi ADC1 ADC2
- Hỗ trợ FreeRTOS
Trang 103 Cảm biến nhiệt độ: Cảm biến nhiệt độ PT100 WZPT-2915x100x2M - A6H15
- Đo nhiệt độ bên trong lò nướng, dải đo nhiệt độ từ 0 – 450 độ C
4 Còi báo hiệu: SFM-27
- Nguồn cấp 3V-24V dc, phát tiếng ngắt quãng cho đến không cònnguồn cấp
- Báo hiệu khi lò hết thời gian hoạt động
5 Núm vặn điều khiển nhiệt độ: Công tắc điều khiển nhiệt độ lònướng 50-200 độ C 220V 16A
- Để chọn nhiệt độ cho lò hoạt động
6 Núm vặn hẹn giờ: Hẹn giờ cơ 90 phút DKJ-90 2 chân
- Để chọn thời gian hoạt động cho lò điện (max 90 phút)
7 Đèn: Đèn sợi đốt 40W
- Phát sáng bên trong lò khi hoạt động, để người dùng quan sát thức
ăn bên trong
8 LCD 16x2:
- Hiển thị nhiệt độ trong lò
9 Rờ le: Module Relay 3V-5 chân 220V 10A JQC3F-03VDC-C
- Dùng để điều khiển, cho phép / ngắt dòng điện xoay chiều chạyqua 2 thanh tản nhiệt và đèn sợi tóc
- Điện áp để chuyển kênh rờ le là 3V
+ Điều khiển nhiệt độ trong lò, ngắt tín hiệu điều khiển đến rờ-le ,chuyển kênh, không cho dòng diện chạy qua 2 thanh tản nhiệt khinhiệt độ đã đạt mức cài đặt
+ Đọc được cảm biến nhiệt độ trong lò, truyền tín hiệu điều khiểnđến rờ le, chuyển kênh, cho phép dòng điện chạy qua lại 2 thanhtản nhiện khi nhiệt độ trong lò đã giảm xuống thấp hơn 10 độ C
so với mức cài đặt ban đầu (để duy trì nhiệt độ trong lò)
10
Trang 11+ Điều khiển rờ le, cho phép điện truyền vào bóng đèn, phát sángđèn trong suốt quá trình lò hoạt động
+ Điều khiển chuông báo kêu khi hết thời gian hẹn giờ của lò+ Hiển thị nhiệt độ trong lò lên LCD
- Giải thuật điều khiển:
+ Nhận tín hiệu điều khiển thời gian từ núm vặn để biết lò đang ởtrong trạng thái hoạt động
+ Truyền tín hiệu điều khiển vào rờ le, chuyển kênh, để cho phépdòng điện xoay chiều đi qua các thanh tản nhiệt
+ Truyền tín hiệu điều khiển vào rờ le, cho phép truyền dòng điệnvào đèn, phát sáng đèn khi lò hoạt động
+ Hiển thị nhiệt độ đo trong lò lên LCD theo thời gian thực+ Đọc cảm biến nhiệt độ để xác định được nhiệt độ trong lò Nếunhiệt độ trong lò đã đạt đến mức cài đặt, ngắt tín hiệu điều khiểnđến rờ le, chuyển kênh, không cho điện chạy qua 2 thanh tảnnhiệt
+ Đọc cảm biến nhiệt độ, nếu mà nhiệt độ đã giảm xuống 10 độ sovới nhiệt độ cài đặt, mà lo vẫn đang trong thời gian hoạt động thìtruyền tín hiệu điều khiển đến rờ le, chuyển kênh, để cho phépđiện chạy qua các thanh tản nhiệt để duy trì nhiệt độ trong lò.+ Khi giá trị điện áp tại nút vặn thời gian trả về 0 thì ngắt tín hiệuđiều khiển tới 2 rờ le, không cho điện chạy qua nữa, dừng hoạtđộng của lò Đồng thời, truyền tín hiệu tới chuông để báo lò đãhoạt động hết thời gian
Test
Application - Platform: STM32F103R6+ Kiểm tra hoạt động của các nút vặn, LCD có hiển thị đúng
nhiệt độ trong lò
+ Kiểm tra cảm biến nhiệt độ có hoạt động hay không
+ Kiểm tra khi lò hoạt động, có ngắt khi nhiệt độ đã đạt tới mứccài đặt hay không, có hoạt động lại khi nhiệt độ đạt ngưỡng haykhông
+ Kiểm tra xem đèn có sáng trong suốt quá trình lò hoạt độnghay không
+ Kiểm tra xem lò có ngắt hoạt động, không cho điện truyền qua
2 thanh tải và đèn khi thời gian hẹn giờ đã hết hay không+ Kiểm tra xem lò có phát chuông báo khi hết thời gian hoạtđộng hay không
b Phân tích và lập bẳng mô tả về 5 vấn đề cơ bản của hệ thống nhúng của
Trang 12đề tài trên bao gồm: constraints, functions, real-time system, concurrent systems, reactive systems.
Constraint - Tuổi thọ cao (thường hoạt động ở nhiệt độ cao)
- Chống rỉ, chống dính, chống bẩn (do dùng để nấu nướng thựcphẩm)
- Hoạt động ổn định
Fuction - Đảm bảo lò nướng phải chạy đúng thời gian hẹn giờ
- Đảm bảo lò nướng ngắt không cho dòng điện chạy qua 2 thanh tảnnhiệt khi nhiệt độ đã đạt mức điều khiển và cho phép dòng điệnchạy lại qua 2 thanh tản nhiệt khi nhiệt độ đã giảm xuống thấp hơnnhiệt độ cài đặt 10 độ C (để duy trì nhiệt độ trong lò)
- Đảm bảo đèn trong lò luôn sáng khi lò hoạt động
- Đảm bảo hiển thị được nhiệt độ trong lò theo thời gian thực lênLCD
- Đảm bảo dừng hoạt động của lò và phát chuông báo khi đã chạyhết thời gian hẹn giờ
Real time
system - Cảm biến, đo được nhiệt độ ở trong lò theo thời gian thực
Concurrent
system - Hệ thổng phải đồng thời quản lý được các tác vụ sau:+ Kiểm tra thời gian hẹn giờ và nhiệt độ trong lò
+ Ngắt điện chạy qua 2 thanh nhiệt khi nhiệt độ đạt mức cài đặt vàcho phép điện chạy qua lại khi nhiệt độ giảm xuống mức ngưỡng+ Cho phép đèn trong lò sáng trong suốt thời gian hoạt động+ Hiển thị nhiệt độ trong lò lên LCD theo thời gian thực
+ Ngắt hoạt động của lò khi hết thời gian hẹn giờ, tắt đèn và phátchuông báo
- Ngắt hoạt động của lò khi thời gian nút vặn hẹn giờ trả về 0
c Mô tả chức năng, thành phần và nguyên lý hoạt động của hệ thống nhúng
- Mô tả hệ thống :
12
Trang 13+ Hệ thống bao gồm một module sử dụng vi điều khiển STM32F103R6, có khảnăng điều khiển nhiệt độ và thời gian hoạt động của lò nướng điện.
+ Có khả năng duy trì nhiệt độ khi lò nướng hoạt động, ngắt không cho điệnchạy qua 2 thanh tản nhiệt khi nhiệt độ trong lò đạt mức điều khiển và cho phép điệnchạy qua lại 2 thanh tản nhiệt khi nhiệt độ giảm xuống mức ngưỡng (thấp hơn nhiệt độcài đặt 10 độ C)
+ Có gắn đèn sáng trong lò khi lo hoạt động và có chuông báo hiệu khi lò hếtthời gian hoạt động
+ Hiển thị nhiệt độ trong lò theo thời gian thực
+ Hệ thống sử dụng điện lưới 220V
Sơ đồ chức năng
- Nguyên lý hoạt động:
+ Lò sẽ hoạt động khi đã vặn núm chọn nhiệt độ và thời gian
+ Khi lò hoạt động, VĐK truyền tín hiệu điều khiển xuống rờ le nối đèn để chophép dòng diện chạy qua, làm đèn phát sáng, đồng thời truyền tín hiệu điều khiểnxuống rờ le nối 2 thanh tản nhiệt, cho phép điện chạy qua, khiến 2 thanh tản nhiệt nónglên và tạo ra nhiệt độ
+ Trong suốt thời gian hoạt động, cảm biến đọc nhiệt đồ trong lò, truyền vềVĐK để hiển thị lên LCD nhiệt độ trong lò theo thời gian thực
Trang 14+ Đọc giá trị cảm biến nhiệt độ trong lò, nếu thấy nhiệt độ đã lớn hơn hoặc bằngnhiệt đồ cài đặt từ nùm vặn nhiệt độ, VĐK ngắt tín hiệu truyền đến rờ le nối 2 thanhtản nhiệt, không cho dòng điện chạy qua 2 thanh nữa, để tránh nhiệt độ tăng quá mứccài đặt.
+ Đọc giá trị cảm biến nhiệt độ trong lò, nếu thấy nhiệt độ đã giảm xuống thấphơn 10 độ C so với nhiệt đồ cài đặt từ nùm vặn nhiệt độ, VĐK truyền lại tín hiệu đến
rờ le nối 2 thanh tản nhiệt, cho phép dòng điện chạy qua 2 thanh lại, để duy trì nhiệt độtrong lò
+ Khi giá trị điện áp của núm vặn thời gian trả về 0, VĐK xác định lò đã hếthoạt động, ngắt tín hiệu truyền đến 2 rờ le nối đèn và nối 2 thanh tản nhiệt, dừng hoạtđộng của lò và đồng thời truyền tín hiệu đến chuông báo trong vòng 3 giây để báo hiệucho người dùng lò đã hết thời gian hoạt động
14
Trang 15Phần 3 Thiết kế chi tiết 3.1 Thiết kế phần cứng
a Sơ đồ khối chi tiết
b Sơ đồ nguyên lý
Sơ đồ nguyên lý (Altium)
Trang 16Sơ đồ nguyên lý – mô phỏng (Protues)
c Các module phần cứng cần lập trình điều khiển và các thông số cần thiết
để test được
1) Nút vặn điều khiển nhiệt độ
- Sử dụng biến trở để lập trình mô phỏng, đặt mức 75% ứng với 100 độ C, 50% ứngvới 150 độ C
16
Trang 17- Kênh 1 của ADC1 (chân PB0), tần số clock CPU = 8MHz, ADC prescaler = 4MHz,thời gian lấy mẫu = 7,5 chu kỳ
2) Nút vặn điều khiển thời gian DKJ-90
- Sử dụng biến trở để mô phỏng, mức 100% tương ứng với nút vặn đang ở mức 0s, béhơn 100% tức mức vặn đang ở mức từ 1 phút đến 90 phút
Trang 18- Kênh 2 của ADC1 (chân PC0), tần số clock CPU = 8MHz, ADC prescaler = 4MHz,thời gian lấy mẫu = 28.5 chu kỳ
3) LCD 16x2
- Lập trình GPIO output 8 chân của STM32 ứng với 8 chân data của LCD
- 3 chân GPIO output ứng với 3 chân điều khiển LCD, RS, RW, E
18
Trang 19- 8 chân data GPIO output đến LCD (PA0 đến PA7)
- 3 chân điều khiển GPIO output đến LCD (PC13 đến PC15)
4) Chuông báo SFM-27
- Lập trình 1 chân GPIO output của STM32 cấp áp 3,3V cho còi hoạt động