4.4.1 Lưu đồ giải thuật
a, Lưu đồ chương trình chính
Hình 4.12: Lưu đồ chương trình chính
Theo hình 4.12, khi bắt đầu cấp nguồn, chương trình sẽ tiến hành khởi tạo các port bao gồm: Giao tiếp với LCD, module thời gian thật DS1307, cảm biến hồng ngoại và cảm biến áp lực, các phím nhấn, led, buzzer báo động và các biến được sử dụng trong chương trình. Giao diện ban đầu, chương trình sẽ cho phép người sử dụng lựa chọn loại
Khởi tạo hệ thống
Chọn loại bơm tiêm, nhập thể tích thuốc, hiển thị trên màn hình LCD và điều khiển động cơ. Kiểm tra cảm biến hồng ngoại Nhập thời gian, thể tích thuốc và hiển thị trên LCD Điều khiển động cơ, kiểm tra lỗi và đưa cảnh báo.
Đ
S Bắt đầu
CHƯƠNG 4. THI CÔNG HỆ THỐNG
bơm tiêm và nhập lượng thuốc được rút trong bơm tiêm với giao diện hiển thị là màn hình LCD với 2 thông số loại bơm tiêm và thể tích thuốc, với các thông số cài đặt chương trình sẽ điều khiển động cơ đến vị trí lắp bơm tiêm. Sau khi lắp bơm tiêm vào thiết bị đồng thời vi điều khiển sẽ nhận được tín hiệu từ hồng ngoại, chương trình sẽ cho phép nhập thể tích và thời gian, số liệu và chế độ hoạt động của thiết bị với giao diện thiển thị màn hình LCD. Với thống số nhập từ người sử dụng chương trình sẽ xử lí tính toán và điều khiển động cơ đúng với giá trị cài đặt, trong quá trình bơm chương trình liên tục kiển tra lỗi, báo động cho người sử dụng nếu có sự cố xảy ra. Khi kết thúc quá trình bơm chương trình sẽ quay về lại giao diện ban đầu lựa chọn loại bơm tiêm và thể tích thuốc.
b, Lưu đồ con chọn loại bơm tiêm, nhập thể tích thuốc, hiển thị LCD và điều khiển động cơ
Hình 4.13: Lưu đồ con chọn loại bơm tiêm, nhập thể tích thuốc, hiển thị LCD và điều
khiển động cơ
Nhìn vào hình 4.13, đầu tiên là nhập loại bơm tiêm sử dụng để bơm thuốc, vì đề tài chỉ giới hạn sử dụng được 2 loại bơm tiêm loại 10ml/cc và 20ml/cc và mặc định của thiết bị là loại 10ml/cc. Giá trị thể tích thuốc khi nhập vào chính là lượng thuốc có trong ống tiêm, các thông số về loại bơm tiêm sử dụng và lượng thuốc có trong ống tiêm sẽ được
Hiển thị LCD Xử lí tính toán và điều khiển động cơ. Chọn loại bơm tiêm và nhập giá trị thể tích thuốc Nút nhấn LẤY_THUỐC Đ S Bắt đầu
hiển thị trên màn hình LCD. Khi nhấn nút LẤY_THUỐC chương trình sẽ điều khiển đầu đẩy bơm tiêm đến vị trí lắp bơm tiêm với những thông số cài đặt.
c, Lưu đồ chương trình con chọn loại bơm tiêm và nhập giá trị thể tích thuốc
Hình 4.14: Lưu đồ chương trình con chọn loại bơm tiêm và nhập thể tích thuốc
Nút nhấn XI_LANH cho phép người sử dụng lựa chọn loại bơm tiêm sử dụng, cụ thể là thay đổi biến TT_XI_LANH với loại 10ml/cc tương ứng với biến TT_XI_LANH = 1 và loại 20ml/cc tương ứng với biến TT_XI_LANH = 0 chương trình sẽ phụ thuộc vào trạng trái của biến này để tính toán xử lí giá trị cho loại bơm tiêm được lựa chọn. Hai nút nhấn VALUE UP và VALUE DOWN sẽ lần lượt có chứ năng tăng và giảm thể
Nút nhấn XI_LANH TT_XI_LANH = 0 TT_XI_LANH = 1 nút nhấn VALUE UP nút nhấn VALUE DOWN LUU_LUONG_BD++ LUU_LUONG_BD-- Hiển thị LCD S Đ S S Đ Đ Bắt đầu Kết thúc
CHƯƠNG 4. THI CÔNG HỆ THỐNG
tích thuốc muốn cài đặt. Giá trị loại bơm tiêm và thể tích thuốc có trong bơm tiêm sẽ được hiển thị trên màn hình LCD và chương trình sẽ hoạt động với giá trị đã cài đặt.
d, Lưu đồ chương trình con xử lí tính toán điều khiển động cơ
Hình 4.15: Lưu đồ chương trình con xử lí tính toán và điều khiển động cơ
Sau khi hoàn tất việc nhập loại bơm tiêm và thể tích thuốc có trong ống tiêm, chương trình sẽ khởi tạo 2 biến để sử dụng cho mục đích điều khiển động cơ là BUOC_TT là biến được tính toán và giá trị tính toán sẽ phụ thuộc vào loại bơm tiêm đang được sử dụng. BUOC_CHAY sẽ là biến nhằm mục đích tạo ra số xung đúng với số bước yêu cầu. kết thúc quá trình màn hình LCD hiển thị giao diện nhập giá trị về thời
TT_XI_LANH = 1
Tính toán giá trị BUOC_TT theo loại bơm tiêm
10ml/cc Khởi tạo biến BUOC_TT = 0 và BUOC_CHAY = 0
Tính toán giá trị BUOC_TT theo loại bơm tiêm
20ml/cc
BUOC_CHAY nhỏ hơn BUOC_TT
Hiển thị giao diện LCD cho quá trình
bơm thuốc
Điều khiển động cơ và BUOC_CHAY++ Đ Đ S S Bắt đầu Bắt đầu
gian và thể tích cho quá trình bơm thuốc. Khi chương trình nhận được tín hiệu từ cảm biến hồng ngoại, chương trình sẽ cho phép cài đặt nhập giá trị thời gian và thể tích cho quá trình bơm thuốc cho bệnh nhân.
e, Chương trình con nhập thời gian, thể tích thuốc và hiển thị trên LCD
Hình 4.16: Chương trình con nhập thời gian, thể tích thuốc và hiển thị trên LCD
Nút nhấn THỜI GIAN Nút nhấn THỂ TÍCH Nút nhấn VALUE UP Nút nhấn VALUE DOWN Tăng thể tích hoặc thời gian Giảm thể tích hoặc thời gian Nút nhấn OK Tính toán và hiển thị LCD S S Đ Đ S Đ Đ S Đ S
Kiểm tra giá trị
Đ
S Bắt đầu
CHƯƠNG 4. THI CÔNG HỆ THỐNG
Hai phím nhấn THỜI GIAN và THỂ TÍCH tạo giao diện giao tiếp với người sử dụng cho phép lựa chọn nhập giá trị thời gian và thể tích. Phím VALUE UP, VALUE DOWN lần lượt tăng và giảm giá trị thời gian và thể tích. Việc tăng và giảm giá trị được thực hiện trong 2 chương trình con. Sau khi nhập giá trị, phím nhấp OK cho phép chương trình kiểm tra các giá trị cài đặt từ người sử dụng, nếu giá trị cài đặt hợp lí chương trình sẽ tín toán và lưu giá trị cài đặt.
f, Chương trình con tăng và giảm thể tích hoặc thời gian
Hình 4.17: Chương trình con tăng và giảm thể tích hoặc thời gian
Khi nhấn nút THỜI GIAN hoặc THỂ TÍCH biến TT_NDL sẽ thay đổi trạng trái, mức thấp “0” nhập giá trị cho thể tích và mức cao “1” nhập giá trị cho thời gian. Sau khi cài đặt nhập giá trị hoàn tất chương trình sẽ điều khiển động cơ kiểm tra lỗi và đưa ra cảnh báo.
Quá trình nhập thông số hoàn thành, chương trình sẽ điều khiển động cơ với các thông số cài đặt, dưới đây là lưu đồ chương trình con điều khiển động cơ, kiểm tra lỗi và đưa ra cảnh báo. TT_NDL=1 Tăng thời gian Tăng thể tích Hiển thị LCD TT_NDL=1 Giảm thời gian Giảm thể tích Hiển thị LCD Đ S Đ S Bắt đầu Bắt đầu Kết thúc Kết thúc
g, Lưu đồ chương trình con điều khiển động cơ, kiểm tra lỗi và cảnh báo
Hình 4.18: Lưu đồ chương trình con điều khiển động cơ, kiểm tra lỗi và cảnh báo
Kiểm tra hồng ngoại Nút nhấn start Nút nhấn stop SO_BUOC_BOM nhỏ hơn SO_BUOC Khởi tạo SO_BUOC_BOM=0 SO_BUOC=0
Điều khiển động cơ
Kiểm tra ADC
Tạm dừng động cơ và báo hiệu SO_BUOC_BOM++ S S Đ S Đ Đ S Đ Dừng động cơ và báo hiệu Đ Bắt đầu Kết thúc
CHƯƠNG 4. THI CÔNG HỆ THỐNG
Biến SO_BUOC là biến được tính toán dựa vào thể tích thuốc bơm cho bệnh nhân, loại bơm tiêm được sử dụng, từ đó sẽ xác định được số bước động cơ quay để đẩy được lượng thuốc đúng như yêu cầu sử dụng. Biến SO_BUOC_BOM sẽ là biến chạy đại diện cho từ bước quay của động cơ. Khi nhấn nút START chương trình sẽ cho phép quá trình bơm bắt đầu, trong mỗi bước bơm, chương trình liên tục kiểm tra sự có mặt của bơm tiêm bằng cách xác nhận tín hiệu hồng ngoại trả về, và đồng thời sẽ đọc tín hiệu ADC của cảm biến áp lực để kiểm tra phát hiện lỗi bị nghẽn trong suốt quá trình bơm. Khi quá trình bơm kết thúc chương trình sẽ dừng động cơ và báo hiệu.
4.4.2 Phần mềm lập trình cho vi điều khiển
Giới thiệu về phần mềm CCS
CCS là trình biên dịch lập trình ngôn ngữ C cho vi điều khiển PIC của hãng Microchip. Chương trình tích hợp của 3 trình biên dich riêng biết cho 3 dòng PIC là:
- PCB cho dòng PIC 12‐bit opcodes - PCM cho dòng PIC 14‐bit opcodes - PCH cho dòng PIC 16 và 18‐bit
Tất cả 3 trình biên dich này đuợc tích hợp lại vào trong một chương trình bao gồm cả trình soạn thảo và biên dịch là CCS. Giống như nhiều trình biên dich C khác cho PIC, CCS giúp cho người sử dụng nắm bắt nhanh được vi điều khiển PIC và sử dụng PIC trong các dự án. Giao diện như hình 4.19.
Hình 4.19: Giao diện chính của phần mềm CCS
1
2
- 1: Vùng lệnh và chức năng của chương trình ví dụ như tạo: project, compile chương trình, build, …
- 2: Vùng sử dụng để lập trình.
- 3: Vùng thông báo các lỗi sảy ra trong quá trình biên dịch sẽ được thông báo ở vùng này.
Giới thiệu phần mềm nạp Pickit 2 v2.6
PICKit2 Programmer / Debugger là sản phẩm chính hãng được Microchip phát triển, và hiện nay đã trở nên rất thông dụng trong cộng đồng PIC.
Đặc điểm của PICKit 2: - Chi phí thấp
- Có khả năng program / debug hầu hết các chip PIC và EEPROM - Tốc độ cực nhanh và tiện dụng
- Có thể nạp trực tiếp trên MPLAB hoặc phần mềm PICKit 2 v2.61.
Nhóm sử dụng phần mềm PICKit 2 programmer để nạp chương trình và module pickit TM2 kết nối vi điều khiển đang sử dụng hình xxx. Chương trình (Programmer) phép nạp cho tất cả các PIC được hỗ trợ liệt kê trong file PICKit2 Readme. Giao diện chương trình nạp như sau.
CHƯƠNG 4. THI CÔNG HỆ THỐNG
Khi phần mềm PICkit 2 được mở đầu tiên, nó sẽ nhận ra kết nối với chip bởi việc hiển thị ID của chip, hoặc trên phần mềm náy chọn Tools => Check Communication.
Hình 4.21: Pickit2 nhận được ID và loại chip đang sử dụng
Sau khi nhận được tín hiệu kết nối và loại chip sử dụng, tiến hành nạp chương trình cho vi điều khiển bằng cách vào File => import hex => lựa chọn và mở file chương trình nạp cho vi điều khiển.
Sau khi đã lựa chọn file nạp chương trình cho pic nháy chọn Write để tiến hành nạp chương trình cho Pic. Màn hình trên phần mền sẽ hiển thị quá trình nạp và báo hiệu chương trình đã nạp thành công chương trình cho vi điều khiển hoặc báo lỗi không nạp được chương trình cho vi điều khiển bởi một số lí do nào đó. Có thể chọn Erase để xóa các dữ liệu bên trong Pic trước khi nạp.
Hình 4.23: Nạp thành công chương trình cho vi điều khiển
Hình 4.24: Báo lỗi chương trình không nạp được vào vi điều khiển
Lưu ý: Khi nạp chương trình cho vi điều khiển bằng pickit2 mà không gắn nguồn ngoài cho mạch vi điều khiển thì hãy tích vào VDD PICkit 2 “On” như hình 4.25. Việc này sẽ giúp nguồn được cấp vào vi điều khiển để có thể đọc được dữ liệu nạp.
CHƯƠNG 4. THI CÔNG HỆ THỐNG
Hình 4.25: Cho phép cấp nguồn từ Pickit2
Chú ý: dòng dới hạn của pickit2 là 100mA nếu dòng điện sử dụng trong mạch vi điều khiển vượt quá giới hạn dòng này thì cổng USB sẽ bị ngắt, nên sử dụng nguồn ngoài để cấp cho mạch vi điều khiển.
4.5 TÀI LIỆU HƯỚNG DẪN SỬ DỤNG, THAO TÁC
4.5.1 Tài liệu hướng dẫn sử dụng
Các thông số của thiết bị.
- Sử dụng 2 loại bơm tiêm 20ml/cc và 10ml/cc.
- Tốc độ bơm nhanh nhất 1 phút bơm 5ml cho loại xi lanh 10ml/cc và 1 phút bơm 6ml cho loại xi lanh 20ml/cc.
- Tốc độ bơm chậm nhất 30 phút bơm 1ml cho loại xi lanh 10ml/cc và 30 phút bơm 1ml cho loại xi lanh 20ml/cc.
- Độ phân giải 1ml cho bơm tiêm 10ml/cc và 2ml cho loại bơm tiêm 20ml/cc. - Hiệu chỉnh thời gian với độ phân giải 1 phút khi nhập giá trị cho phút và 1
giờ khi nhập giá trị cho giờ.
Phát hiện khắc phục các sự cố có thể xảy ra.
- Báo hiệu bằng loa khi có sự cố phát hiện nghẽn hoặc kết thúc thúc thời gian bơm thuốc.
- Dừng hoạt động của thiết bị khicó sự cố rơi bơm tiêm trong quá trình bơm. - Có nguồn pin dự phòng khi có sự cố mất điện và đồng thời báo hiệu mức năng
lượng còn lại khi sử dụng.
- Làm mát động cơ khi hoạt động, hạn chế ảnh hưởng về nhiệt cho thiết bị. -
Bảng 4.3: chức năng của các phím nhấn tương ứng với các kí hiệu trên bàn phím.
Kí hiệu nút nhấn Tên nút nhấn Chức năng
XI LANH Lựa chọn bơm tiêm sử dụng, có 2 loại bơm tiêm loại 10ml/cc và 20ml/cc.
LOA Tắt báo động cho thiết bị.
THỂ TÍCH Chọn nhập lưu thuốc cần bơm cho quá trình điều trị.
ĐẨY TỚI Đuổi lượng bọt khí ra khỏi ống dây dẫn và có chức năng bơm nhanh cho thiết bị. ĐẨY LÙI di chuyển phần đầu đẩy bơm đến vị trí đặt
bơm tiêm.
THỜI GIAN Chọn nhập thời gian bơm thuốc cho quá trình điều trị.
VALUE UP Tăng giá trị.
VALUE DOWN
Giảm giá trị.
OK Lưu giá trị.
START Bắt đầu quá trình bơm thuốc
STOP Tạm dừng quá trình bơm thuốc.
CHƯƠNG 4. THI CÔNG HỆ THỐNG
Hình 4.26: Kí hiệu chức năng của nút nhấn
Dưới đây là các thao tác sử dụng và giao diện giao tiếp với người dùng của thiết bị bơm tiêm điện.
Bước 1: Cấp nguồn cho hệ thống.
Bước 2: Chọn loại bơm tiêm sử dụng và lắp bơm tiêm vào thiết bị. Bước 3: Cài đặt thông số cho quá trình bơm.
Bước 4: Lưu thông số cài đặt, bắt đầu quá trình bơm hoặc dừng quá trình bơm. Bước 5: Kết thúc quá trình bơm và tái khởi động thiết bị.
4.5.2 Quy trình thao tác
Hình 4.27: Lưu đồ các bước sử dụng bơm tiêm điện
Bật nguồn.
Chọn loại bơm tiêm sử dụng và lắp bơm tiêm vào
thiết bị.
Kết thúc quá trình bơm thuốc và tái
khởi động thiết bị.
Bắt đầu quá trình bơm thuốc hoặc
dừng quá trình bơm. Cài đặt, lưu thông
Có 3 giai đoạn để sử dụng thiết bị là: Trước khi đặt ống tiêm vào thiết bị, sau khi đặt ống tiêm vào thiết bị và trong quá trình bơm thuốc.
a, Giai đoạn 1 trước khi đặt bơm tiêm vào trong thiết bị
Sau khi khởi động cấp nguồn cho hệ thống tiến hành chọn loại bơm tiêm sử dụng, nhập giá trị thể tích thuốc và lắp bơm tiêm vào thiết bị, thao tác với bán phím thể hiện ở quy trình thao tác như hình 4.28.
Hình 4.28: Quy trình thao tác nút nhấn ở giai đoạn 1
Bước 1: Chọn loại bơm tiêm sử dụng và nhập giá trị thể tích thuốc.
Sử dụng phím XILANH để lựa chọn bơm tiêm sử dụng, có hai loại bơm tiêm 10ml/cc và 20ml/cc, mặc định của hệ thống sẽ nhận diện loại 10ml/cc. Sau khi lựa chọn loại bơm tiêm sử dụng, cần nhập giá trị thể tích thuốc có trong ống tiêm bằng cách sử dụng 2 phím VALUE UP và VALUE DOWN, nhấn phím ĐẨY LÙI để thiết bị điều khiển đầu đẩy bơm tiêm đến đúng vị trí lắp.
Bước 2: Lắp bơm tiêm vào thiết bị, lắp đúng vào các rảnh và khớp nối có trên khung của thiết bị.
Chú ý: Phải lắp bơm tiêm đúng vào vị trí hệ thống mới cho phép người dùng nhập và cài đặt thông số, nếu hệ thống không hiển thị thống số cần cài đặt trên màn hình người sử dụng cần kiểm tra lại vị trí lắp bơm tiêm.
b, Giai đoạn 2 sau khi đặt bơm tiêm vào trong thiết bị
Thao tác với nút nhấn của giai đoạn 2 thể hiện ở hình 4.29.
Hình 4.29: Quy trình tthao tác nút nhấn ở gia đoạn 2