Lưu đồ giải thuật

Một phần của tài liệu Đồ án tốt nghiệp Kỹ thuật y sinh: Thiết kế và thi công hệ thống chăn sưởi cho bệnh nhân sau phẫu thuật (Trang 84 - 92)

Chương 4. THI CÔNG HỆ THỐNG

4.3. LẬP TRÌNH HỆ THỐNG

4.3.1. Lưu đồ giải thuật

Lưu đồ giải thuật chương trình vòng tay đo thân nhiệt bệnh nhân Chương trình được mô tả bằng lưu đồ ở hình 4.23 có quy trình hoạt động đơn giản khi chỉ nhận nhiệt độ đo được từ cảm biến thì vi điều khiển Wemos D1 Mini có nhiệm vụ gửi dữ liệu đó về hệ thống điều khiển trung tâm. Quá trình hoạt động được tóm tắt như hình trên.

Trước tiên cần khai báo tất cả thư viện cần dùng, khởi tạo serial để theo dõi, khởi tạo I2C và cấu hình wifi. Sau đó vi điều khiển sẽ kết nối với wifi đã được khai báo trước đó, nếu kết nối thành công thì sẽ tiếp tục bước kế tiếp, nếu không thành công sẽ quay lại bước kết nối wifi. Tiếp theo chương trình sẽ khởi tạo cảm biến, nếu cảm biến được khởi tạo sẽ tiếp tục không sẽ quay lại bước khởi tạo đến khi thành công. Cảm biến sẽ đọc nhiệt độ đo được từ bệnh nhân và quá trình đọc được diễn ra trong vòng lặp. Nếu đọc giá trị nhiệt độ thành công sẽ tiến hành chuyển đổi từ độ F sang độ C. Tiếp tục kiểm tra xem kết nối wifi thành công chưa, nếu không kết nối được sẽ quay lại bước đầu tiên lúc kết nối wifi. Sau đó tiến hành khởi tạo HTTP Client và gửi dữ liệu nhiệt độ qua hệ thống Server thông qua giao thức POST request và chương trình kết thúc.

CHƯƠNG 4. THI CÔNG HỆ THỐNG

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 67

Hình 4.23 Lưu đồ giải thuật chương trình vòng tay

CHƯƠNG 4. THI CÔNG HỆ THỐNG

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 68

Lưu đồ giải thuật chương trình của hệ thống điều khiển trung tâm

Chương trình chính

Hình 4.24 Lưu đồ giải thuật chương trình chính

CHƯƠNG 4. THI CÔNG HỆ THỐNG

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 69

Giải thích:

Chương trình chính được điều khiển bằng ESP8266 và được mô tả như bằng lưu đồ hình 4.24. Khi chương trình bắt đầu, trước tiên phải khai báo tất cả thư viện của các linh kiện dùng cho hệ thống. Khởi tạo serial, I2C để tiện cho việc theo dõi thông số trong lúc lập trình và hiển thị lên LCD. Khởi tạo cấu hình wifi để vi điều khiển có thể kết nối wifi và hoạt động hệ thống. Do hệ thống có thêm ứng dụng điện thoại để hiển thị thông số theo dõi nên cần khởi tạo thêm cấu hình Firebase, cuối cùng là khai báo các chân kết nối vật lý của các linh kiện như cảm biến, SSR,... với vi điều khiển.

Vì hệ thống sử dụng phương thức điều khiển chính là PID nên cần gán biến setpoint bằng một giá trị cụ thể để thư viện PID có thể tự động tính toán, ở hệ thống của đề tài này nhóm đặt giá trị setpoint = 37 và biến toggleState dùng cho chương trình con nút nhấn bằng 0. Sau đó chương trình tiếp tục khởi tạo LCD, cảm biến và cấu hình PID. Vì sử dụng vi điều khiển là ESP8266 và cần gửi dữ liệu đến Firebase và ứng dụng điện thoại nên hệ thống bắt buộc phải kết nối wifi và bao gồm bước kiểm tra kết nối wifi, nếu kết nối được hệ thống mới có thể tiếp tục hoạt động.

Chương trình tiến hành thiết lập máy chủ Server để dữ liệu từ vòng tay có thể gửi qua và thiết lập Firebase để gửi dữ liệu lên ứng dụng điện thoại. Sau đó chương trình con thực hiện nhiệm vụ nhận dữ liệu từ vòng tay gửi qua. Hệ thống hoạt động PID dựa trên nhiệt độ từ vòng tay được gán là biến input nên chương trình cần cập nhật thời gian thực và yêu cầu nhiệt độ để thư viện PID có thể tính toán auto, cụ thể là công việc tính toán sai số của output bằng hiệu giữa input và setpoint. Tính toán PID trong hệ thống này được thực hiện bằng việc sử dụng thư viện trong IDE. Vì lúc đầu đã khai báo trên hệ thống biến toggleState = 0 nên khi chương trình đi đến kiểm tra biến nếu toggleState = 0 thì tiến hành chạy chương trình con kiểm tra nút nhấn.

Trong chương trình con đó có kiểm tra có nút giữ nút Up thì khi đó toggleState trong chương trình chính sẽ được so sánh bằng 1 và hệ thống sẽ hoạt động bằng chương trình con lấy dữ liệu PID đã được tính toán để điều khiển SSR cho thanh gia nhiệt.

Cùng với đó chương trình sẽ thực hiện chương trình con đọc nhiệt độ từ chăn và vẫn trong vòng lặp nhận nhiệt độ từ vòng tay, cập nhật lên LCD và Firebase cuối cùng là kết thúc chương trình.

CHƯƠNG 4. THI CÔNG HỆ THỐNG

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 70

Chương trình con tiếp nhận dữ liệu từ Client

Hình 4.25 Lưu đồ giải thuật chương trình con tiếp nhận dữ liệu từ Client Giải thích:

Khi dữ liệu từ vòng tay gửi về, vi điều khiển của hệ thống chính sẽ tiến hành đọc dữ liệu đó và kiểm tra dữ liệu gửi về có phải biến data hay không, nếu đúng sẽ tiếp tục đọc dữ liệu và tính toán chuyển dữ liệu nhiệt độ từ độ F sang độ C. Tiếp đến gửi phản hồi đã nhận được dữ liệu đến Client và kết thúc.

Chương trình con kiểm tra nút nhấn

Chương trình được tóm tắt bằng lưu đồ hình 4.26. Đầu tiên thực hiện trước hai chương trình con gồm đọc cảm biến từ chăn và tiếp nhận dữ liệu từ Client. Khi đã có hai dữ liệu nhiệt độ từ hai chương trình con trên thì chương trình tiến hành kiểm tra xem có nhấn nút Up không, nếu đúng giá trị setpoint sẽ tăng thêm 0.5oC. Nếu sai

CHƯƠNG 4. THI CÔNG HỆ THỐNG

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 71

chương trình sẽ kiểm tra tiếp nút Down có được nhấn không, nếu nhấn nút Down sẽ giảm setpoint xuống 0.5oC, không nhấn sẽ đi đến bước hiển thị các dữ liệu nhiệt độ và setpoint lên LCD. Sau đó khi kiểm tra đến việc có nhấn giữ nút Start không, nếu có nhấn giữ sẽ tiến hành kết thúc chương trình con và đi đến chương trình chính khi cho biến toggleState = 1, nếu không nhấn giữ chương trình con sẽ tiến hành vòng lặp, quay về bước kiểm tra toggleState = 0 đến khi nào một trong hai nút được nhấn giữ thì mới cho hệ thống hoạt động.

Hình 4.26 Lưu đồ giải thuật chương trình con kiểm tra nút nhấn

CHƯƠNG 4. THI CÔNG HỆ THỐNG

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 72

Chương trình con đọc cảm biến chăn

Hình 4.27 Lưu đồ giải thuật chương trình con đọc cảm biến chăn Giải thích:

Chương trình bắt đầu bằng việc gửi lệnh đọc dữ liệu từ cảm biến, sau đó đọc tất cả các nhiệt độ từ các cảm biến, cụ thể ở hệ thống này nhóm sử dụng năm cảm biến nên chương trình sẽ đọc tuần tự cảm biến từ một đến năm. Sau khi có thể năm dữ liệu nhiệt độ chương trình sẽ tiến hành tính nhiệt độ trung bình của tất cả cảm biến để tối ưu hóa cho việc theo dõi và cuối cùng là kết thúc.

Chương trình con gửi dữ liệu lên Firebase

Chương trình gửi dữ liệu lên Firebase được thực hiện theo quy trình mô tả ở hình 4.28. Khi kết nối Firebase quá trình này sẽ được kiểm tra liên tục, nếu kết nối thành công sẽ gửi các dữ liệu gồm hai dữ liệu nhiệt độ, biến toggle và setpoint lên, nếu không thành công chương trình sẽ quay lại bước kết nối với Firebase. Trong quá trình gửi dữ liệu chương trình kiểm tra gửi dữ liệu thành công hay không. Nếu không sẽ thông báo gửi thất bại và đi thẳng đến kết thúc, nếu thành công sẽ gửi thông báo gửi dữ liệu thành công. Sau khi ứng dụng bên MIT App Inventor đã được kết nối với Firebase thông qua FirebaseToken và URL thì sẽ lấy dữ liệu từ Realtime Database và

CHƯƠNG 4. THI CÔNG HỆ THỐNG

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 73

kiểm tra liên tục xem dữ liệu có được làm mới không. Lấy dữ liệu được cập nhật liên tục hiển thị lên ứng dụng và kết thúc chương trình.

Hình 4.28 Lưu đồ giải thuật chương trình con gửi dữ liệu lên Firebase

CHƯƠNG 4. THI CÔNG HỆ THỐNG

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 74

Chương trình con PID điều khiển SSR

Hình 4.29 Lưu đồ giải thuật chương trình con PID điều khiển SSR Giải thích:

Sau khi PID đã tính toán được output thì chương trình sẽ lấy output so sánh với 128. Vì đầu ra của bộ điều khiển thường có giá trị trong khoảng từ 0 đến 255 khi sử dụng bộ điều khiển với độ phân giải 8 bit, giá trị 128 tương đương với 50% của 255, là một giá trị trung bình trong dải đầu ra từ 0 đến 255. Khi giá trị đầu ra của PID đạt hoặc vượt qua 128, nó có nghĩa là tín hiệu điều khiển đã vượt qua ngưỡng 50%, relay sẽ được bật. Ngược lại, khi dưới ngưỡng 50%, relay sẽ tắt. Đây là một cách đơn giản để phân định giữa hai trạng thái on/off dựa trên đầu ra của PID. Ví dụ output là giá trị được so sánh giữa setpoint và input, nếu khoảng cách giá trị giữa hai thông số này nhỏ thì sự sai lệch (error) nhỏ, đầu ra của PID cũng có thể nhỏ, phụ thuộc vào các thành phần P, I, và D. Nếu output nhỏ hơn 128, relay sẽ tắt và ngược lại.

Một phần của tài liệu Đồ án tốt nghiệp Kỹ thuật y sinh: Thiết kế và thi công hệ thống chăn sưởi cho bệnh nhân sau phẫu thuật (Trang 84 - 92)

Tải bản đầy đủ (PDF)

(132 trang)