Professional Documents
Culture Documents
Đ Án 2 - TD20B
Đ Án 2 - TD20B
HCM
KHOA ĐIỆN – ĐIỆN TỬ VIỄN THÔNG
-----🙞🙜🕮🙞🙜-----
Trong bối cảnh khoa học và kỹ thuật ngày càng phát triển, con người đã
và đang chứng kiến những bước tiến lớn trong nhiều lĩnh vực, thực hiện
những công việc trước đây có vẻ là không thể. Mục tiêu chung của những nỗ
lực này là phục vụ nhu cầu ngày càng cao của cuộc sống, tạo ra môi trường
sống tiện nghi và đầy đủ. Trong đó, lĩnh vực nghiên cứu về hệ điều khiển tự
động là một trong những hướng phát triển toàn cầu quan trọng trong những
năm gần đây.
Ở Việt Nam, nghiên cứu về hệ điều khiển tự động, đặc biệt là sử dụng bộ điều
khiển PID và vi điều khiển Arduino, đã đạt được những tiến bộ đáng kể. Các
nghiên cứu tập trung vào việc cải tiến thuật toán PID và tích hợp chúng vào
nền tảng của vi điều khiển Arduino. Kết quả là sự phát triển của các ứng dụng
điều khiển nhiệt độ, robot, đèn giao thông, và nhiều ứng dụng khác. Các dự án
cũng đã thử nghiệm kết hợp PID và Arduino với IoT và Machine Learning.
Tuy đã có những thành tựu, nhưng vẫn tồn tại những thách thức như tối ưu
hóa PID cho ứng dụng phức tạp, đào tạo nguồn nhân lực và xây dựng phần
cứng phù hợp. Với mong muốn thực hiện một dự án vừa sức, nhóm nghiên
cứu quyết định thực hiện đề tài "Điều khiển và giám sát nhiệt độ lò ấp
trứng sử dụng PID ". Dự án này tập trung vào ứng dụng của bộ điều khiển
PID để duy trì và giám sát nhiệt độ của lò ấp trứng. Đồng thời, nhóm sẽ tập
trung vào việc sử dụng cảm biến nhiệt độ công nghiệp PT100 để đảm bảo độ
chính xác và ổn định trong quá trình điều khiển nhiệt độ.
CHƯƠNG 1. TỔNG QUAN
Ở chương này, nhóm em sẽ trình bày lý do chọn đề tài, cũng như tính cấp thiết,
tình hình nghiên cứu, mục tiêu, phương pháp nghiên cứu. Từ đó, người đọc sẽ dần
hiểu được nguyên nhân, thực trạng cũng như phương án giải quyết của nhóm.
Trước đây, phương pháp truyền thống trong việc ấp trứng bằng tay không còn đáp
ứng được nhu cầu về số lượng cũng như chất lượng giống. Điều này trở thành một
thách thức nặng nề đối với ngành chăn nuôi, đặc biệt là khi sự cần thiết của chất lượng
cao đang ngày càng được đánh giá cao. Để giải quyết vấn đề này, việc áp dụng công
nghệ ấp trứng nhân tạo bằng máy ấp công nghiệp trở thành một giải pháp tối ưu.
Lò ấp trứng công nghiệp không chỉ giúp gia tăng số lượng trứng nở mà còn đảm bảo
chất lượng giống với hiệu suất cao. Phương pháp này không chỉ áp dụng cho gia cầm
như gà, vịt mà còn mở rộng ra ấp trứng cho các loài chim như bồ câu, chim cút, thậm
chí cả cho các loài động vật bò sát như rùa, cá sấu, mang lại sự linh hoạt và đa dạng
trong quá trình sản xuất.
Sự kết hợp giữa công nghệ và kiến thức chăn nuôi chính là điểm mạnh của lò ấp
trứng công nghiệp, giúp nâng cao năng suất, chất lượng sản phẩm và hiệu quả kinh tế.
Chính vì vậy mà nhóm chúng em đã đặt ra mục tiêu chế tạo lò ấp trứng hiện đại, đáp
ứng đầy đủ các yếu tố kỹ thuật và môi trường, từ đó góp phần vào sự phát triển bền
vững của ngành chăn nuôi tại Việt Nam.
Ở chương này, nhóm nghiên cứu sẽ phân tích, khái quát về những vấn đề cơ sở
như: Tìm hiểu về lò ấp trứng, Tìm hiểu về PID, Mạch phát hiện điểm 0, Mạch kích
triac, vi xử lý Arduino Uno R3, tìm hiểu MAX31865 và PT100, phần mềm Arduino
IDE, phần mềm proteus v.v… Từ đó, dẫn dắt người đọc đến những nội dung trực quan
và chi tiết hơn của đề tài.
Dựa trên các yếu tố của việc ấp trứng tự nhiên do gia cầm thực hiện, máy ấp trứng
đưa ra các giải pháp kỹ thuật tương tự. Với các ưu thế hơn hẳn về sản lượng ấp cho
một mẻ trứng. Trong đề tài này, nhóm thực hiện xin giới thiệu về cấu trúc tổng quát
của máy ấp trứng được nhóm tổng kết sau quá trình tham quan thực tế và tham khảo
tài liệu.
Các loại trứng gia cầm khác nhau có các yêu cầu khác nhau về nhiệt độ, độ ẩm và
thời gian ấp nở. Về cơ bản, máy ấp trứng tự động gồm bốn khâu: nhiệt độ, đảo trứng,
độ ẩm và thông gió, các thông số kỹ thuật đều được điều chỉnh bằng mạch bán dẫn và
vi điện tử. Để có giống khỏe mạnh, tỷ lệ nở cao, máy phải giải quyết được triệt để bốn
khâu trên.
Khâu nhiệt độ đóng vai trò quan trọng nhất, quả trứng ấp không đủ nhiệt thì phôi sẽ
không phát triển. Đề giữ nhiệt, các vỏ máy được thiết kế dày và có chức năng cách ly
tốt, góp phần lưu nhiệt khi mất điện. Trong máy có các hệ thống dây điện trở, có chức
năng sinh nhiệt, mỗi dây có công suất tùy thuộc vào thể tích vủa lồng ấp. Để đóng,
ngắt mạch điện và dây điện trở sinh nhiệt, có thể sử dụng relay điện từ không tiếp
điểm, dung triac công suất lớn, bộ đóng ngắt hoạt đọng với độ tin cậy cao.
Khâu đảo trứng là khâu thứ hai trong quá trình ấp. Thông thường trứng được đảo
vài giờ một lần, một lần kéo dài khoảng 10 phút. Việc đảo trứng thực hiện chậm vì
tránh hiện tượng va đập làm hư trứng. Dàn đảo sẽ dảo với một góc không quá 60° hoặc
thấp hơn tùy vào thiết kế của giá để trứng.
Một quả trứng bình thường chứa 6,5% đến 6,6% lượng nước. Trong qua trình tiếp
nhiệt độ để phát triển thành con giống, lượng nước sẽ bị bay hơi dần. Máy ấp trứng
phải có hệ thống cung cấp độ ẩm tự động và điều chỉnh được tùy ý. Thông thường máy
ấp có giàn phun nước tự động để giữ cho độ ẩm không thay đổi tùy thuốc vào từng giai
đoạn của trứng.
Thông gió là phần không thể thiếu trong quá trình ấp. Các quạt thông gió phải gắn
với cửa chớp mở tự động mỗi khi quạt hoạt động. Việc gắn với cửa chớp là để đảm
bảo việc cách ly với môi trường bên ngoài, đảm bảo việc giữ nhiệt. Việc thông gió có
thể kết hợp với việc giảm nhiệt cho máy ấp.
Thùng máy thường có dạng hình hộp bằng gỗ và có thể bọc tôn, nhôm ngoài mặt đáy
để tăng cứng vững, có cửa lớn phía trước để đưa trứng vào ra, có cửa kính để quan sát
trong máy, nhiệt kế, ẩm kế; có cửa sổ phía sau để mở và chăm sóc máy bên trong.
Ngoài ra còn có cửa thoát gió, thoát khí thải trong máy.
Giàn là một bộ khung, thường bằng kim loại, để đặt các khay trứng, có thể xoay
nghiêng bên phải, bên trái để đảo trứng. Giàn thường có 2 kiểu: giàn trống và giàn
tầng.
Khay xếp trứng ấp (khay ấp) thường hình chữ nhật, bằng gỗ, kim loại hoặc nhựa có
những thanh ngăn giữ trứng. Khe giữa các thanh có thể thay đổi rộng hẹp để phù hợp
kích thước to nhỏ của các loại trứng.
Khay xếp trứng nở (khay nở) cũng hình chữ nhật, có đáy bằng lưới thép (lỗ vuông
hoặc tròn). Khi tới ngày nở trứng được chuyền từ các khay ấp sang khay nở để việc nở
của trứng được dễ ràng. Khi đảo trứng, các khay ấp sẽ nghiêng cùng với khung giàn
một góc 45° - 47° so với mặt ngang, lần lượt theo 2 phía đối xứng.
+ Bằng nước nóng: nước đun ngoài đổ vào bình tạo nhiệt đặt trong máy, phía trên.
+ Nước nóng đun bằng đèn dầu: nước nóng lưu thông theo ống dẫn trong máy bằng
cách đối lưu để cấp nhiệt cho trứng.
+ Bằng điện: dùng các dây điện trở đốt nóng, khi có dòng điện qua sẽ toả nhiệt cho
máy. Bộ điều nhiệt thường gồm một bộ cảm biến nhiệt đặt trong máy, tác động vào bộ
đóng ngắt mạch điện cung cấp cho dây điện trở tạo nhiệt. Ở máy ấp trứng bằng nước
nóng và đun đèn dầu thường dùng bộ cảm biến nhiệt kiểu bầu ête để tác động vào bộ
phận đóng mở ống khói nóng của đèn dầu đun nước, nhờ đó mà tự động điều nhiệt
được.
c. Bộ tạo ẩm
+ Dẫn nước hay đồ nước vào máng tạo ẩm đặt trong máy để nước bốc hơi tạo ẩm.
Cách này thủ công, đơn giản, không đảm bảo tốt yêu cầu độ ẩm ổn định, khó điều ẩm
tốt được.
+ Vung nước qua cánh quạt trong máy, nước từ bình chứa đặt cao hay từ mạng ống
cung cấp chung của trại, qua van nước, ống dẫn vào bầu, để rồi theo ống dẫn hàn dọc
các cánh quạt gió mà vung ra xung quanh, xuyên qua các lỗ nhỏ của vành lưới thép
bao xung quanh, sẽ tạo thành lớp sương mù gây ẩm trong máy.
Bộ thông gió ở các máy ấp trứng đều là quạt hướng trục, lắp ở giữa thành sau bên
trong máy. Cửa hút gió được bố trí gần trục quạt có nắp điều gió, điều chỉnh độ mở
bằng tay. Cửa thoát gió thường bố trí trên nóc máy hay ở thành trước máy, có nắp điều
gió, đóng mở bằng tay.
e. Bộ đảo trứng
- Động cơ điện quay: dùng cho mọi kiểu giàn trứng, thường gồm động cơ điện,
bộ giảm tốc, bộ truyền động và cụm tiếp điểm cuối.
- Dây kéo: dùng ở một số máy ấp trứng cỡ nhỏ, trong đó khay trứng có các đùa
tròn xoay được, quấn một dây chung sao cho khi đảo, ta kéo một đầu dây thì
các đũa xoay đủ để khay trứng xoay theo một góc nào đó.
- Tay quay: dùng ở máy ấp trứng có giàn trống, dùng tay quay trống nghiêng
một góc 45° - 47° (so với mặt nằm ngang) lần lượt cả hai phía theo từng thời
gian quy định.
Thường bao gồm: những bộ khởi động từ, những cụm tiếp điểm tổng, những rơle
điện từ, cầu chì, nút bấm, cụm đầu nối điện, chuông đèn báo hiệu.
- Ưu điểm:
+ Không phải lo lắng về việc bị mất điện đột ngột làm hỏng trứng.
+ Không phải quan tâm chỉnh đúng nhiệt độ hoặc độ ẩm. Khi trứng đã nở ra, con
mái ấp sẽ chăm sóc lũ con.
- Nhược điểm:
+ Một con mái chỉ có thể ấp được một số ít trứng trong một lứa.
Thực chất là việc sắp các kệ trứng xen kẽ giữa các bóng đèn, trong một không gian
rộng.
- Ưu điểm:
- Nhược điểm:
+ Khả năng trứng nở phụ thuộc vào kinh nghiệm người làm việc.
+ Công suất tiêu thụ thấp, giảm được một lượng lớn nhân công.
+ Có khả năng tự động hóa 1 phần. Người sử dụng có thể cài các chế độ tự động
theo một số phần mềm định sẵn, thực hiện giám sát hoạt động.
- Nhược điểm:
+ Không có khả năng báo lỗi và hoạt động khi mất điện.
+ Hoạt động trong một một quy mô nhỏ khoảng 1000 trứng.
+ Cần người giám sát hiệu chỉnh khi hệ thống hoạt động.
Đây là một hệ thống hoàn toàn tự động. Tất cả các thông số được nhập vào một lần
và sẽ được xử lý trong suốt quá trình làm việc:
- Ưu điểm:
+ Tỉ lệ nở cao.
+ Hoạt động liên tục, có nguồn dự phòng, thông báo khi có xự cố.
- Nhược điểm:
P – Proportional: Đây là phương pháp dùng để điều chỉnh tỉ lệ và tạo ra các tín
hiệu điều chỉnh tỷ lệ với phần sai lệch đầu vào dựa vào thời gian để lấy mẫu.
I – Integral: Đây là tích phân của sai số dựa vào thời gian lấy mẫu. Nó cũng là
một phương pháp dùng để điều chỉnh nhằm tạo ra tín hiệu điều chỉnh sao cho độ
sai lệch sẽ giảm tới 0. Từ đó, chúng ta cũng biết chính xác được tổng sai số tức
thời theo thời gian hoặc các sai số tích lũy ở quá khứ. Khi mà thời gian càng
ngắn thì việc điều chỉnh tích phân sẽ càng mạnh. Tương tương với đó chính là
độ lệch sẽ càng thấp.
D – Dervative: Đây là vi phân sai lệch. Nó cùng để tạo ra các tín hiệu điều chỉnh
sao cho tốc độ và tỷ lệ thay đổi sai lệch đầu vào. Thời gian càng dài thì phạm vi
để điều chỉnh vi phân sẽ càng lớn. Điều này cũng tương ứng với bộ điều chỉnh
có thể đáp ứng tốt những thay đổi từ đầu vào càng nhanh chóng.
2.3.2. Lịch sử ra đời của PID:
Cầu diot(D1): Dùng để chỉnh lưu dòng điện xoay chiều thành một
chiều.
Diot Zener 5V(ZD1): Diode Zener thể hiện tính năng ổn áp khi
được phân cực nghịch. Ban đầu, khi phân cực nghịch, dòng qua
diode rất bé . Nhưng nếu tăng điện áp ngược lên 1 giá trị nào đó (Vz)
thì dòng tăng mạnh trong khi điện áp giữa 2 đầu diode gần như
không đổi.
Giá trị hiệu dụng khi qua cầu Diot: U hd =220− ( 0 ,7 × 2 )=218 , 6(V )
U −5 V
hd 218 ,6 V −5 V
Giá trị điện trở: I R = 10 k = 4
≈ 0 , 02( A)
10
• CYMOC3023(U5): có tác dụng cung cấp cách ly điện và chuyển đổi tín
hiệu điều khiển từ dạng ánh sáng thành tín hiệu điện để kích hoạt kích triac
chính.
Hình 10 MOC3023 DIP-6 Triac Driver Optocoupler
• TRIAC BTA16(Q1): điều khiển dòng điện và công suất đầu ra của các
thiết bị điện thông qua việc điều chỉnh xung điện điều khiển áp dụng lên chân
Gate của nó.
Thông số kĩ thuật:
- Điện áp cực đại: 600V
- Dòng điện thuận cực đại: 16A
- Điện áp điều khiển mở van: 1.5V
- Dòng điều khiển mở van: 100mA
- Nhiệt độ làm việc: -40 OC ~ 125 OC
Hình 12 Sơ đồ chân Triac BTA16 - 600B
Power
LED: Có 1 LED được tích hợp trên bảng mạch và được nối vào chân D13. Khi
chân có giá trị mức cao (HIGH) thì LED sẽ sáng và LED tắt khi ở mức thấp
(LOW).
VIN: Chân này dùng để cấp nguồn ngoài (điện áp cấp từ 7-12VDC).
5V: Điện áp ra 5V (dòng điện trên mỗi chân này tối đa là 500mA).
3V3: Điện áp ra 3.3V (dòng điện trên mỗi chân này tối đa là 50mA).
GND: Là chân mang điện cực âm trên board.
IOREF: Điệp áp hoạt động của vi điều khiển trên Arduino UNO và có thể đọc
điện áp trên chân IOREF. Chân IOREF không dùng để làm chân cấp nguồn.
Bộ nhớ
Vi điều khiển ATmega328:
Trên Board Arduino Uno R3 có 14 chân Digital được sử dụng để làm chân đầu vào
và đầu ra và chúng sử dụng các hàm pinMode(), digitalWrite(), digitalRead(). Giá
trị điện áp trên mỗi chân là 5V, dòng trên mỗi chân là 20mA và bên trong có điện trở
kéo lên là 20-50 ohm. Dòng tối đa trên mỗi chân I/O không vượt quá 40mA để tránh
trường hợp gây hỏng board mạch.
Serial: 0 (RX) và 1 (TX): Được sử dụng để nhận dữ liệu (RX) và truyền dữ liệu
(TX) TTL.
Ngắt ngoài: Chân 2 và 3.
PWM: 3, 5, 6, 9 và 11 Cung cấp đầu ra xung PWM với độ phân giải 8 bit bằng
hàm analogWrite ().
SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Các chân này hỗ trợ giao tiếp
SPI bằng thư viện SPI.
LED: Có 1 LED được tích hợp trên bảng mạch và được nối vào chân D13. Khi
chân có giá trị mức cao (HIGH) thì LED sẽ sáng và LED tắt khi ở mức thấp
(LOW).
TWI/I2C: A4 (SDA) và A5 (SCL) hỗ trợ giao tiếp I2C/TWI với các thiết bị
khác.
Arduino Uno R3 có 6 chân Analog từ A0 đến A5, đầu vào cung cấp độ phân giải là
10 bit.
2.7. Tổng quan về PT100:
2.7.1. PT100 là gì?
Cảm biến Pt100 là một loại cảm biến nhiệt độ dạng nhiệt điện trở
( RTD). Cảm biến nhiệt độ Pt100 được cấu tạo từ kim loại Platinum. Nó có giá
trị điện trở khi ở 0 độ C là 100 Ohm.
Do đó, ý nghĩa của Pt100 chính là biểu thị rằng điện trở danh nghĩa của
Platinium (vật liệu cấu tạo cảm biến) tại 0 độ C sẽ là 100 ohm (Ω).
2.6.2 Nguyên lý hoạt động PT100
PT100 sử dụng điện trở của RTD để đo nhiệt độ. Khi nhiệt độ tăng, điện trở
của RTD tăng theo một quy luật cụ thể. Cảm biến PT100 được sử dụng rộng rãi
trong các ứng dụng đo nhiệt độ chính xác, như trong các hệ thống kiểm soát
nhiệt độ công nghiệp, phòng thí nghiệm, thiết bị y tế, và các ứng dụng khoa học
và nghiên cứu khác. Hai giá trị được sử dụng rộng rãi nhất cho alpha (∝) là
0.00385 và 0.00392, tương ứng với tiêu chuẩn IEC 751 (PT100) và tiêu chuẩn
SAMA.
Hình 14 Mối tương quan giữa nhiệt độ và điện trở
Phương trình RTD / PT100
R = R 0 [1 + A t + B t 2 + C (t – 100) t 3 ]
PT-385
R0 100.0000
A 3.9083E-3
B -5.775E-7
C -4.183E-12
R0 100.0000
A 3.9083E-3
B -5.775E-7
C 0
Trong đó:
R0 = Điện trở của PT100 ở 0 °C
A, B, C = Hệ số phương trình thu được từ các tiêu chuẩn được liệt kê dưới đây.
Các giá trị tính toán và phương trình PT-100 được lấy từ các tiêu chuẩn sau: IEC
60751:2008, ASTM E1137-08(2020), and JIS C 1604:1997
Đường cong điện trở so với nhiệt độ có tính tuyến tính hợp lý, nhưng có một số
độ cong, được mô tả bởi phương trình Callendar-Van Dusen ở hình trên.
Ở đề tài lần này, nhóm nghiên cứu sử dụng kết nối cảm biến PT100 loại 2 dây
với MAX31865.
Dải đo trung bình của cảm biến PT100 dây dao động khoảng -40 đến 250 độ C,
maximum có thể lên đến 400 độ C.
2.6.3 Cấu tạo của cảm biến PT100 RTD
Cảm biến nhiệt độ Pt100 gồm có 6 phần:
MAX31865 giao tiếp Arduino đọc PT100 bằng Mạch chuyển tín hiệu RTD to
Digital PT100/PT1000 được sử dụng để khuếch đại và chuyển tín hiệu từ các loại cảm
biến Platinum RTD như PT100/PT1000 sang Digtal chuẩn giao tiếp SPI để có thể dễ
dàng giao tiếp với Vi điều khiển, mạch có chất lượng linh kiện và gia công tốt, độ bền
và độ ổn định cao, phù hợp cho các ứng dụng đo nhiệt độ cần độ chính xác cao sử
dụng PT100/PT1000.
3V3 - đây là chân đầu ra 3.3V từ bộ điều tiết áp, ta có thể lấy tối đa 100mA từ đây nếu
cần.
GND - chân mass chung cho nguồn và logic.
SCK - Đây là chân SPI Clock, là một chân INPUT của chip.
SDO - đây là chân Serial Data Out / Microcontroller In Sensor Out, dùng để gửi dữ
liệu từ MAX31865 đến bộ xử lý Arduino.
SDI - đây là chân Serial Data In / Microcontroller Out Sensor In, dùng để gửi dữ liệu
từ bộ xử lý (Arduino) của ta đến MAX31865.
CS - đây là chân Chip Select, khi có mức thấp, sẽ bắt đầu một truyền thông SPI. Đây
là một chân đầu vào của chip.
Đây là một phần mềm Arduino chính thống, giúp cho việc biên dịch mã trở nên dễ
dàng, ngay cả một người bình thường không có kiến thức kỹ thuật cũng có thể làm
được.
Khi người dùng viết mã và biên dịch, IDE sẽ tạo file Hex cho mã. File Hex là các file
thập phân Hexa được Arduino hiểu và gửi đến bo mạch bằng cáp USB. Mỗi bo
Arduino đều được tích hợp một bộ vi điều khiển, bộ vi điều khiển sẽ nhận file Hex và
chạy theo mã được viết.
IDE trong Arduino IDE là phần có nghĩa là mã nguồn mở. Nghĩa là phần mềm này
miễn phí cả về phần tải về lẫn phần bản quyền. Người dùng có quyền sửa đổi, cải tiến,
phát triển, nâng cấp theo một số nguyên tắc chung được nhà phát hành cho phép mà
không cần xin phép ai, điều mà họ không được phép làm đối với các phần mềm nguồn
đóng.
Tuy là phần mềm mã nguồn mở nhưng khả năng bảo mật thông tin của Arduino IDE là
vô cùng tuyệt vời, khi phát hiện lỗi nhà phát hành sẽ vá nó và cập nhật rất nhanh khiến
thông tin của người dùng không bị mất hoặc rò rỉ ra bên ngoài.
+ Sử dụng ngôn ngữ lập trình C/C++ thân thiện với các lập trình viên
Arduino IDE sử dụng ngôn ngữ lập trình C/C++ rất phổ biến trong giới lập trình. Bất
kỳ đoạn code nào của C/C++ thì Arduino IDE đều có thể nhận dạng, giúp các lập trình
viên thuận tiện trong việc thiết kế chương trình lập cho các bo mạch Arduino.
Arduino có một module quản lý bo mạch, nơi người dùng có thể chọn bo mạch mà họ
muốn làm việc cùng và có thể thay đổi bo mạch thông qua Menu. Quá trình sửa đổi
lựa chọn cũng liên tục tự động cập nhật để các dữ liệu có sẵn trong bo mạch và dữ liệu
sửa đổi đồng nhất với nhau. Bên cạnh đó, Arduino IDE cũng giúp bạn tìm ra lỗi từ
code mà bạn viết, qua đó giúp bạn sửa lỗi kịp thời tránh tình trạng bo mạch Arduino
làm việc với code lỗi quá lâu dẫn đến hư hỏng hoặc tốc độ xử lý bị giảm sút.
Arduino IDE tích hợp với hơn 700 thư viện, được viết và chia sẻ bởi nhà phát hành
Arduino Software và thành viên trong cộng đồng Arduino. Mọi người có thể tận dụng
chúng cho dự án của riêng mình mà không cần phải bỏ ra bất kỳ chi phí nào.
Nút kiểm tra chương trình (Verify): giúp dò lỗi phần code định truyền xuống bo
mạch Arduino.
Nút tải đoạn code vào bo mạch Arduino (Upload): giúp nhập đoạn code vào bo
mạch Arduino.
Vùng lập trình: người dùng sẽ viết chương trình tại khu vực này.
Thanh Menu: gồm những thẻ chức năng nằm trên cùng như File, Edit, Sketch,
Tools, Help.
+ Hỗ trợ đa nền tảng như Windows, MacOS, Linux
Arduino IDE hoạt động trên 3 hệ điều hành phổ biến nhất. Đó là Windows, Mac OS
và Linux. Nhờ vậy, người dùng có thể truy cập vào phần mềm ở bất cứ đâu, bất cứ khi
nào. Ngoài ra, người dùng có thể truy cập vào công cụ từ đám mây. Điều này cho phép
các nhà lập trình lựa chọn tạo và lưu dự án của mình trên đám mây. Hoặc họ có thể
xây dựng chương trình trên máy tính và upload nó lên bo mạch Arduino.
Hình 15 Giao diện làm việc trên phần mềm Arduino IDE
Hình 16 Giao diện làm việc trên phần mềm Arduino IDE
a. Vẽ sơ đồ nguyên lý
Bạn có thể dễ dàng vẽ được các sơ đồ mạch điện tử trên Proteus một cách dễ dàng
và nhanh chóng. Bạn lấy linh kiện mong muốn từ thư viện của Proteus, sau đó kết nối
các linh kiện lại với nhau để tạo ra một mạch điện tử hoàn chỉnh.
b. Mô phỏng
Khả năng ứng dụng chính của Proteus là mô phỏng, phân tích các kết quả từ các
mạch nguyên lý. Proteus giúp người sử dụng có thể thấy trước được mạch thiết kế
chạy đúng hay sai trước khi thi công mạch.
Các công cụ phục vụ cho việc phân tích mạch có độ chính xác khá cao như vôn kế
đo điện áp, ampe kế đo dòng điện, máy đao động ký.
Đối với các bạn yêu thích điện tử thì đây là công cụ tuyệt vời. Nó giúp cho các bạn
tự học, tự nghiên cứu và thiết kế thử các mạch điện tử và chạy mô phỏng để kiểm tra
kết quả từ đó rút ra được những bài học hữu ích.
Ngoài ra, trong quá trình thiết kế mạch in bạn cũng có thể xem hình 3D. Tính năng
này rất hữu ích, nó cho phép bạn thiết ra những board mạch in đẹp theo mong muốn
của mình.
2.8.3 Ưu và nhược điểm của Proteus
Ưu điểm:
- Dễ dàng chỉnh sữa các đặc tính của linh kiện trên sơ đồ nguyên lý.
- Hỗ trợ kiểm tra lỗi thiết kế trên sơ đồ nguyên lý. Có thể xem và lưu lại phần báo
lỗi
- Phần mềm chạy mô phỏng và phân tích các tính chất của một mạch điện một cách
chính xác.
- Proteus cung cấp cho người sử dụng công cụ biên dịch cho các họ vi xử lý như
MSC51, AVR, HC11, …qua đó tạo ra các tập tin .hex dùng để nạp cho vi xử lý và
tạp tin .dsi dùng để xem và chạy kiểm tra từng bước trong quá trình mô phỏng.
- Phần mềm cung cấp rất nhiều mô hình linh kiện có chức năng mô phỏng, từ các
vi điều khiển thông dụng đến các link kiện ngoại vi như LED, LCD, Keypad, cổng
RS232… cho phép người sử dụng mô phỏng từ một hệ vi điều khiển hoàn chỉnh
đến việc xây dựng phần mềm cho hệ thống đáp ứng các giao thức vật lý. Ngoài ra,
Proteus còn cho phép bạn tự tạo link kiện tương tác động do đó bạn có thể thực
hiện các mô phỏng có tương tác giống như hoạt động của một mạch thật.
Nhược điểm
Ở chương này, nhóm nghiên cứu sẽ tiến hành phân tích sơ đồ khối, lưu đồ thuật
toán, sơ đồ nguyên lý hệ thống, chạy code – nạp code, cũng như đấu nối thực tế và
kiểm thử thực tế. Từ đó, người đọc chắc chắn có thể hiểu sâu về hướng đi và quá trình
thực hiện của nhóm, đồng thời nhìn thấy rõ những kết quả mà nhóm nghiên cứu đạt
được.
3.1. Yêu cầu của hệ thống – Sơ đồ khối – Chức năng của các khối:
3.1.1. Yêu cầu của hệ thống
Hệ thống phải thoả yêu cầu sau:
- Ấp được nhiều loại trứng khác nhau như vịt, gà, cút, rùa….
- Nhiệt độ ấp trứng khoảng tầm 35 đến 40 độ C, sai số 2%.
- Hệ thống đáp ứng nhanh ít vọt lố POT < 5%.
- Sensor đo được nhiệt độ từ 0 đến 100 độ C.
- Làm việc với điện áp 220V/ 50 HZ.
- Công suất: ấp 50 - 100 trứng một lần.
- Hiển thị nhiệt độ lên màn hình máy tính.
- Có thể cài đặt nhiệt độ theo yêu cầu.
Biến PID_p là biến tỷ lệ, sai số càng lớn thì PID_p càng lớn và ngược lại.
Biến PID_i là biến tích phân, biến này sẽ bắt đầu cộng dồn khi sai số bé
hơn 3.1 độ C. Vì khi gần đạt ngưỡng nhiệt độ đặt, PID_p sẽ rất nhỏ dẫn
đến không đủ nhiệt độ cấp cho buồng, khi này PID_i sẽ được tăng lên và
đảm bảo nhiệt độ sẽ vẫn tăng đều, tránh vọt lố.
PID_d là biến đạo hàm, đây là biến sẽ được so sánh với biến trước đó, nếu
nhiệt độ có sự thay đổi lớn một cách đột ngột, PID_d sẽ đóng vai trò đảm
bảo công suất đầu ra cho bóng đèn, giúp cho hệ thống không bị tăng hay
giảm nhiệt độ đột ngột.
Các hệ số Kp, Ki, Kd sẽ được chọn qua quá trình thử nghiệm thực tế.
Chương trình con đọc nhiệt độ từ PT 100 thông qua môđun max 31865 dùng thư viện
max31865.h đọc nhiệt độ 10 lần, mỗi lần đọc 100ms sau 1 giây tính PID điều khiển
được trình bày như hình dưới đây:
Hình . Lưu đồ giải thuật chương trình đọc nhiệt độ
Chương trình con PID điều khiển thời gian kích triac được trình bày như hình dưới
đây:
Hình . Lưu đồ giải thuật chương trình điều khiển PID
Chương trình con điều khiển kích triac qua đó thay đổi độ sáng bóng đèn được trình
bày như hình dưới đây:
Hình . Lưu đồ giải thuật chương trình kích triac
Chương trình đọc thông số máy tính gửi sang Arduino được trình bày như hình dưới
đây:
Hình 4.5 Lưu đồ giải thuật chương trình đọc giá trị nhận được từ seriport
3.3. Sơ đồ nguyên lý toàn bộ hệ thống và Layout PCB
Sơ đồ nguyên lý và sơ đồ Layout PCB cho toàn bộ hệ thống được nhóm nghiên
cứu vẽ trên phần mềm Proteus.
Sau khi thiết kế xong mạch PCB ta có thể xem trước mạch ở chế độ 3D.
Hình 22 Mặt trước board
Đề tài đã giải quyết được vấn đề sấy ớt đề ra. Dựa trên các yêu cầu thiết kế và tiêu
chí đánh giá chất lượng nhận thấy lò sấy đã đáp ứng tốt đúng như mong đợi.
Nhiệt độ dao động quanh vị trí đặt mong muốn, tuy nhiên trong khoảng thời gian
đầu còn chưa ổn định với sai số nhỏ trong khoảng cho phép (theo tiêu chuẩn sai số
2%).
Quy mô lò sấy còn nhỏ, chưa tính tới độ ẩm trong khi ấp.
[2] Nguyễn Văn Đông Hải (2021), “Tự động hóa trong dân dụng và công nghiệp-Lập
trình với Arduino, Raspberry và MatLab”, NXB Thanh niên, Việt Nam.
[3] Nguyễn Văn Đông Hải (2021), “Lập trình Arduino từ cơ bản đến nâng cao”, NXB
Thanh niên, Việt Nam.