MATHANGSPK BLOG

Chia sẽ các thủ thuật về máy tính, tin học, các kiến thức điện tử cơ bản

Chủ Nhật, 30 tháng 6, 2019

Mình đã làm máy ấp trứng tự động như thế nào - Phần 1


Qua series bài viết này mình sẽ chia sẻ cho các bạn các kiến thức mà mình thu nhặt được để làm được 1 cái máy ấp trứng tự động:
Phần 1: Giới thiệu máy ấp trứng tự động, tổng quan các chức năng của máy ấp trứng.
Phần 2: Lý thuyết cần có để thực hiện đề tài ( phần này mình sẽ trang bị cho các bạn các kiến thức cơ bản mình áp dụng trong dự án này).
Phần 3: Kết luận và các ý tưởng phát triển đề tài.

Trên đây là mình chia ra nhiều phần để các bạn đọc cảm thấy đở chán, bên cạnh đó mỗi phần chỉ cung cấp một lượng kiến thức vừa phải, mong các bạn sẽ thoải mái khi đọc series này.

Bắt đầu thôi nào!

Ở phần giới thiệu này mình sẽ giới thiệu tác dụng khi sử dụng máy ấp trứng, máy ấp trứng dựa trên nguyên lý gia nhiệt 1 vùng chứa trứng ở một nhiệt độ xấp xĩ nhiệt độ con mái ấp trứng ~37.5 độ C. Và thỉnh thoảng đặt tính của các con gà, vịt mẹ sẽ đảo trứng. Lâu lâu đảo trứng 1 lần để tránh dính trứng vào vỏ.
Dựa vào đặt tính trên ta sẽ điều khiển nhiệt độ trong vùng không gian chứa trứng vừa khoảng 37.5 độ C. (Cái này ta sẽ dùng nguyên lý giống với nguyên lý lò nhiệt để thực hiện).
Việc đảo trứng thì đơn giản hơn, chúng ta sẽ sử dụng khay đựng trứng, cứ theo chu kỳ khoảng 2h chúng ta sẽ đảo hướng khay đựng trứng một cách từ từ, chậm rãi.

* Tiếp đến là phần chức năng của mạch:
1. Mạch có chức năng cài đặt được nhiệt độ sấy, sưỡi, phạm vi hoạt động từ 30-45 độ C. Sai số 0.1 độ C. Được điều khiển bằng 3 nút nhấn (SET, UP, DOWN).


2. Điều chỉnh được thời gian đảo khay trứng.
3. Chức năng nâng cao: Thay đổi được hằng số Kp,Ki trong hàm truyền PID.

* Các kiến thức cần trang bị để hiểu sâu hơn về đề tài này:
1. Lý thuyết điều khiển tự động, cái này mình sẽ nói sơ lược về kiến thức cơ bản mình áp dụng trong đề tài này, cũng không quá phức tạp nên các bạn đừng quá lo lắng, yên tâm nhé, sẽ rất dễ hiểu thôi.
2. Điện tử công suất, nói nghe hoành tráng vậy chứ chủ yếu áp dụng một số kiến thức để hiểu được cách mình điều chỉnh công suất ngỏ ra cho bóng đèn sưởi ( Bóng đèn càng sáng --> Nhiệt độ tăng và ngược lại) và cái này quan trọng cho các bạn hiểu được vai trò sử dụng linh kiện để làm mạch, vì các bạn đọc kỹ phần này mình sẽ chia sẻ không chỉ các chức năng của linh kiện mà có thể sử dụng các linh kiện tương đương để thay thế, và rất may mắn là các linh kiện mình sử dụng trong mạch rất dễ kiếm, chúng rất phổ thông.
3. Lập trình nhúng, Khi Arduino xuất hiện thì việc lập trình nhúng trở nên rất thuận tiện, nó hỗ trợ rất nhiều thư viện của cộng đồng và các bạn không cần hiểu quá sâu về chip nhưng vẫn có thể lập trình được ở mức chạy được, còn ở một level cau hơn để debug được lỗi thì em này cũng sẽ khiến chúng ta phải đầu tư khá nhiều thời gian đấy nhé. Sau khi các bạn dùng arduino để lập trình đề tài này thì các bạn sẽ nắm được 1 số kiến thức như sau:
- Điều khiển được các Input Output trong Arduino. Sử dụng được nút nhấn để thao tác các lệnh mình mong muốn.
- Đọc tín hiệu sensor Nhiệt độ DHT22 (con này có cả nhiệt độ và độ ẩm, đắt hơn DHT11 nhưng được cái độ phân giải 0.1 độ C) nên đó là lý do mình chọn, em này đọc nhiệt độ mình thấy khá ok. Thư viện lập trình đầy đủ và dĩ nhiên mình sẽ chia sẻ mọi thứ trong series này.

- Sử dụng ngắt ngoại (External Interrupt), trong đề tài này mình sử dụng ngắt ngoại để phát hiện điểm 0 (zero) của hình sin điện xoay chiều 220VAC. Từ đó là dữ liệu để đi điều khiển độ sáng của bóng đèn, phần này mình sẽ có 1 topic riêng để nói chi tiết, đọc xong chắc chắn các bạn cũng sẽ làm được, và mình cũng sẽ nêu 1 số bug mình gặp phải để các bạn có thể tránh khi thực hành. Tham khảo bài viết này nhé các bạn
- Sử dụng ngắt nội (internal interrupt) hay ngắt timer, trong đề tài này mình sử dụng ngắt timer để đọc dữ liệu Nhiệt độ, điều khiển PID và điều khiển chu kỳ đảo trứng. Sẽ có 1 một topic chi tiết về phần này và các bạn sẽ biết lý do tại sao mình sử dụng ngắt timer chứ không để các lệnh này chạy trong vòng lặp loop().
- Hiển thị các nội dung lên màn hình LCD 16x02, ở đề tài này mình dùng thêm module LCD I2C, để tiết kiệm IO cho vi xử lý.




Không có nhận xét nào:

Đăng nhận xét

Adbox