THI CÔNG HỆ THỐNG

Một phần của tài liệu Thiết kế và thi công mô hình cửa hàng giặt sấy tự động phục vụ (Trang 57)

4.2.1. Thi công mạch điện

a. Thi công mạch giao tiếp với Arduino MEGA

Mạch giao tiếp với Arduino MEGA được vẽ bằng phần mềm Altium, là mạch in một lớp.

Mạch gồm các rào đực để gắn Arduino MEGA2560 và truyền nhận dữ liệu với các phần khác trong hệ thống. Jack cắm DC cái làm nhiệm vụ nhận nguồn từ adapter 5V để cấp cho Arduino MEGA2560 và module giảm áp AMS1117.

Sau khi đã thiết kế được mạch in thì tiến hành mô phỏng 3D:

Hình 4.2. Sơ đồ bố trí linh kiện mạch giao tiếp

Từ mô phỏng 3D trên Altium có thể thấy các linh kiện có khoảng cách giữa các linh kiện tương đối đầy đủ. Tuy nhiên, việc sắp xếp các linh kiện trong mạch chưa được tối ưu, còn nhiều khoảng trống chưa hợp lí.

b. Thi công mạch công suất

Vì số tải là trong mô hình giới hạn số lượng là bốn nên cần thi công bốn mạch công suất. Mỗi mạch là một phần riêng biệt giao tiếp với một tải .

Hình 4.3. Sơ đồ mạch in mạch công suất

Để đảm bảo cách điện thì các đường mạch có điện áp cao (220V) không được phủ mass. Đồng thời để dử công suất thì các đường mạch này có độ rộng 150 mils (3.81mm).

Sau khi đã thiết kế mạch in cho mạch thì tiến hành mô phỏng 3D để tiện cho việc thi công mạch sau này.

Hình 4.4. Sơ đồ bố trí linh kiện mạch công suất

Mạch gồm ba module là: RC522, relay 1 kênh, ACS712.

Tiến hành thiết kế mạch in một lớp cho mạch nhập thông tin bằng phần mềm chuyên vẽ mạch điện là Altium:

Hình 4.5. Sơ đồ mạch in mạch nhập thông tin

Các đường tín hiệu có động rộng 20 mils (0.508mm), đường mạch có độ rộng 40 mils (1.016 mm). Mạch được phủ mass để hạn chế nhiễu tín hiệu giữa các linh kiện với nhau. Các jump dùng để đặt Arduino vào mạch và truyền nhận dữ liệu đến các thành phần khác trong mạch như: LCD, buzzer và module RFID RC522.

Sau khi đã thiết kế xong mạch in của mạch nhập thông tin thì chọn chế độ xem 3D của Altium để xem bố trí các linh kiện trên mạch. Buzzer đặt khá sát module I2C nên cần chú ý khi thi công mạch để tránh làm hư hỏng các linh kiện. LCD được cố định trên mạch nhờ bốn ốc được gắn trên mạch qua các lỗ đã được khoan sẵn.

4.2.2. Lắp ráp và kiểm tra a. Mạch công suất a. Mạch công suất

Hình 4.7. PCB của mạch công suất

Sau khi đã thiết kế PCB thì tiến hành làm mạch in PCB. Để tiết kiệm chi phí, nhóm đã làm mạch in bằng cách thủ công. Để giao tiếp với bốn tải cần tới bốn board mạch. Khi rửa mạch cần chú ý đến kích thước của các đường mạch dữ liệu để tránh làm đứt đường mạch.

Sau đó tiến hành gắn các linh kiện và gắn các module lên mạch. Khi hàn cần chú ý cẩn thận các chân jump vì khoảng cách nhỏ có thể gây chập cháy mạch.

Hình 4.8. Mạch công suất sau khi hàn linh kiện

Hàn các chân jump giao tiếp trước, cần cẩn thận để tránh làm ngắn mạch các chân này do kích thước chân của chúng rất nhỏ. Sau đó hàn tiếp led, điện trở và buzzer lên mạch. Trong quá trình này cần chú ý đến chân âm (-), dương (+) của led và buzzer. Cuối cùng là hàn công tắc nguồn của tải. Vì kích thước chân của linh kiện lớn nên lượng thiết hàn cần nhiều và thời gian nung nóng lâu.

Hình 4.9. Mặt trên của mạch công suất

b. Mạch điều khiển

Khi đã thiết kế xong PCB thì tiến hành làm mạch in bằng cách thủ công, hạn chế làm đứt các đường mạch tín hiệu có tiết diện nhỏ.

Hình 4.10. PCB của mạch điều khiển

Mạch sử dụng nhiều jump nên khi khoan lỗ cần chọn mũi khoan đúng với kích thước của chân linh kiện.

Sau khi rửa mạch, để tránh việc mạch bị oxi hóa cần phủ một lớp nhựa thông lỏng lên bề mặt.

Sau khi hàn các jump và jack DC thì tiến hành gắn Arduino MEGA2560 và module giảm áp AMS1117. Vì số lượng chân của Arduino MEGA là rất nhiều cho nên cần cẩn thận để tránh làm hư hỏng các chân giao tiếp ngoại vi của nó.

c. Mạch nhập thông tin

Sau khi đã thiết kế mạch in thì tiến hành làm PCB bằng cách thủ công. Sau khi rửa mạch cần phủ một lớp nhựa thông lỏng lên bề mặt để tránh tình trạng oxi hóa của mạch khi đặt trong không khí.

a, Trước khi hàn b, Sau khi hàn

Hình 4.12. PCB của mạch nhập thông tin trước và sau khi hàn linh kiện

Sau đó tiến hành hàn các jump và buzzer lên mạch, trong lúc này cần tránh làm ngắn mạch các chân giao tiếp.

Hình 4.13. Mạch nhập thông tin khi đã hoàn thành

d. Kiểm tra các mạch đã thi công

Sau khi đã hoàn thiện các mạch thì cần phải kiểm tra xem mạch có đúng yêu cầu không. Đồng thời khắc phục những sai sót do quá trình thi công gây ra. Tiến hành thực hiện theo các bước:

- Bước 1: Kiểm tra mối hàn thiếc ở những chân linh kiện với đường mạch .

- Bước 2: Kiểm tra đường dây mạch liên kết các linh kiện với nhau.

- Bước 3: Cấp nguồn vào kiểm tra nguồn ở chân vào, chân ra của module giảm áp, nguồn vào ở các chân nguồn của board Arduino.

- Bước 4: Nạp chương trình cơ bản vào vi điều khiển và kiểm tra xem có hoạt động tốt không.

- Bước 5: Dùng vi điều khiển xuất tín hiệu điều khiển xem có kích được relay không.

Bảng 4.1. Kết quả kiểm tra

Đối tượng kiểm tra Kết quả thu được

Mối hàn linh kiện Các mối hàn tiếp xúc tốt, chất lượng chưa đồng đều

Đường mạch in Còn một vài đường mạch bị đứt nét do quá trình thi công và đã được khắc phục

Nguồn Điện áp do adapter khoảng 5-5.1V, điện áp đầu ra của module ASM1117 đúng 3.3V

Mạch công suất Module relay có thể đóng khi có tín hiệu điều khiển, tuy nhiên một số lần bị ảnh hưởng bởi nhiễu

Mạch điều khiển Mạch chạy ổn định, không bị nóng

4.3. THI CÔNG MÔ HÌNH

Sau khi đã thi công các mạch điều khiển, mạch công suất và mạch thông tin thì tiến hành kết nối các phần lại với nhau.

Do các linh kiện và bo mạch dễ bị hư hỏng do các tác động từ bên ngoài nên nhóm đã làm thêm một hộp bảo vệ cho hệ thống. Đồng thời còn làm cho hệ thống gọn nhẹ, dễ di chuyển và lắp đặt.

4.4. LẬP TRÌNH HỆ THỐNG 4.4.1. Lưu đồ giải thuật 4.4.1. Lưu đồ giải thuật

a. Lưu đồ giải thuật Arduino MEGA2560

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

Bắt đầu

Khởi tạo Serial,

RFID, SPI, các chân I/O Relay bật Đọc cảm biến dòng Quét mã thẻ Xử lí chuỗi TT ngõ vào = N Đ S S Bật Relay Run_stop Kết thúc Đ

Hình 4.15. Lưu đồ giải thuật chương trình chính Arduino MEGA2560

Giải thích lưu đồ:

Khi khởi động hệ thống, Arduino MEGA2560 tiến hành khởi tạo tốc độ giao tiếp Serial với máy tính, tốc độ giao tiếp SPI với module RFID và các chân vào ra để giao

tiếp với module relay, cảm biến dòng và buzzer. Sau đó kiểm tra xem relay có bật không, nếu có thì tiến hành đọc cảm biến dòng, ngược lại thì cho quét thẻ để lấy ID và gửi qua cổng Serial. Nhận dữ liệu từ máy tính và tiến hành tách chuỗi, nếu trong chuỗi nhận về có kí tự “N” thì tiến hành bật relay và chạy chương trình con Run_stop rồi kết thúc.

 Lưu đồ giải thuật chương trình con quét mã thẻ: Giải thích lưu đồ:

Khi được gọi, chương trình kiểm tra xem có thẻ hay không, nếu có tiến nhận mã thẻ và bật chuông để báo hiệu thẻ đã được đọc thành công. Sau đó gửi chuỗi mã thẻ qua cổng Serial để lưu vào cơ sở dữ liệu và xử lí.

Đọc mã thẻ

Có thẻ mới

Thẻ đã đọc

Bật chuông Gửi dữ liệu qua

cổng Serial Kết thúc Đ Đ S S

Hình 4.16. Lưu đồ chương trình con đọc mã thẻ

 Lưu đồ giải thuật chương trình con đọc cảm biến dòng:

Khi được gọi, chương trình tiến hành đọc dữ liệu từ ADC, sau đó tính toán giá trị của dòng điện hiệu dụng theo công thức: Arms = Vrms/độ nhạy cảm biến dòng. Sau đó kiểm tra xem nếu giá trị của dòng điện hiệu dụng bé hơn hoặc bằng 0.15 thì gán biến

b. Lưu đồ giải thuật Arduino UNO

 Lưu đồ giải thuật chương trình chính: Giải thích lưu đồ:

Khi khởi động hệ thống, Arduino UNO tiến hành khởi tạo tốc độ giao tiếp Serial với máy tính, tốc độ giao tiếp SPI với module RFID, khởi tạo LCD và các chân vào ra để buzzer. Sau đó thực hiện việc quét mã thẻ và gửi qua cổng Serial. Nhận dữ liệu từ máy tính và tiến hành xử lí chuỗi rồi hiển thị thông tin khách hàng ra màn hình LCD. Nếu hết thời gian hiển thị thông tin khách hàng thì tiến hành reset LCD rồi thực hiện vòng lặp mới. Đọc cảm biến dòng Đọc ADC Tính Arms=Vrms/ độ nhạy cảm biến Arms <= 0.15 Cb_dong = 0 Cb_dong = 1 Kết thúc Đ S Bắt đầu Khởi tạo Serial,

SPI, LCD, các chân I/O Quét mã thẻ Xử lí chuỗi Millis-timeX > 3000 Reset LCD Kết thúc S Đ

 Lưu đồ chương trình con Quét mã thẻ: Tương tự như chương trình của MEGA2560.

 Lưu đồ chương trình con xử lí chuỗi:

Khi được gọi, chương trình kiểm tra xem có dữ liệu truyền từ máy tính về không. Nếu có thì tiến hành tách chuỗi đó và hiển thị các thông tin ra màn hình LCD. Ngược lại thì tiếp tục kiểm tra lại từ đầu.

Bắt đầu Kết thúc Nhận dữ liệu từ cổng Serial Tách chuỗi và hiển thị ra LCD S Đ

Hình 4.19. Chương trình con Xử lí chuỗi

c.Lưu đồ giải thuật C#

 Lưu đồ giải thuật chương trình quản lý: Giải thích chương trình:

Khi chương trình vừa khởi động, form quản lí khách hàng sẽ khởi động. Nếu sử dụng form thì kết nối với cơ sở dữ liệu để truy xuất thông tin khách hàng. Đồng thời kiểm tra xem dữ liệu có khớp với dữ liệu từ Arduino UNO gửi lên hay không. Nếu đúng thì cập nhật dữ liệu và kết thúc. Ngược lại thì tiếp tục kiểm tra lại từ đầu.

Khi sử dụng form thông tin khách hàng, chương trình sẽ tiến hành truy xuất cơ sở dữ liệu. Sau đó tiếp hành so sánh với dữ liệu gửi lên từ Arduino UNO. Nếu đúng thì cho phép sửa chữa các thông tin khách hàng và cập nhật cơ sở dữ liệu. Nếu sai thì thực hiện

Bắt đầu

Quản lý khách hàng Thông tin khách hàng Nạp tiền

Kết nối cơ sở dữ liệu với Arduino UNO

Kết nối cơ sở dữ liệu với Arduino UNO

Kết nối cơ sở dữ liệu với Arduino UNO

Kiểm tra dữ liệu từ Arduino UNO

Kiểm tra dữ liệu từ Arduino UNO

Kiểm tra dữ liệu từ Arduino UNO

Hiện thông tin và cập nhật dữ liệu

Cho phép thêm , sửa, xóa thông tin trong cơ sở dữ

liệu

Nạp tiền vào tài khoản cho khách hàng Kết thúc Cập nhật dữ liệu Cập nhật dữ liệu Đ S S S Đ Đ Đ Đ Đ S S S

Hình 4.20. Lưu đồ giải thuật chương trình quản lý

 Lưu đồ giải thuật chương trình vận hành Giải thích lưu đồ:

Khi chương trình vừa khởi động xong thì tiến hành thiết lập kết nối đến cơ sở dữ liệu. Sau đó tiến hành kiểm tra dữ liệu từ Arduino, nếu sai thì tiếp tục kiểm tra. Ngược lại, nếu có dữ liệu từ Arduino truyền về thì tiếp tục kiểm tra có mã thẻ có khớp với thông tin có trong cơ sở dữ liệu hay không. Nếu không thì không cho bật máy, ngược lại nếu thông tin khách hàng có trong cơ sở dữ liệu thì gửi tín hiệu cho phép cho Arduino MEGA cho phép máy giặt hoạt động và cập nhật trạng thái hoạt động của máy giặt rồi kết thúc.

Bắt đầu

Kết nối cơ sở dữ liệu với Arduino UNO

Điều khiển Arduino MEGA không cho máy giặt hoạt động Kiểm tra dữ liệu từ

Arduino UNO

Kiểm tra thông tin hành khách

Cập nhật dữ liệu của các máy giặt hoạt động Gửi dữ liệu lại Arduino MEGA cho phép máy giặt

hoạt động Kết thúc Đ Đ S S

Hình 4.21. Lưu đồ giải thuật chương trình vận hành

4.4.2. Phần mềm lập trình cho máy tính

a. Giới thiệu C# và phần mềm lập trình Visual Studio

C# là một ngôn ngữ lập trình hướng đối tượng (object-oriented) và có thể được sử dụng với cho nhiều mục đích khác nhau (general purpose). C# là ngôn ngữ được phát triển bởi Microsoft và là ngôn ngữ được sử dụng phổ biến trong khuôn khổ .NET

Sử dụng C# chúng ta có thể xây dựng được các ứng dụng phần mềm chạy trên hệ điều hành Windows, các ứng dụng web service, các ứng dụng mobile, các ứng dụng về database và rất nhiều loại dụng khác nữa.

Để tạo project mới, ta vào File/New/Project hoặc tổ hợp phím tắt Ctrl + Shift + N, sau đó đặt tên project, nơi lưu trữ và chọn OK để hoàn thành.

Hình 4.22. Tạo project trong Visual Studio

Sau đó, chương trình sẽ xuất hiện giao diện cho phép chúng ta thiết kế giao diện bằng cách sử dụng các đối tượng có sẵn cùng với các thuộc tính tương ứng.

Sau khi chọn các sự kiện xảy ra, sẽ mở ra giao diện cho phép chúng ta lập trình như sau:

Hình 4.24. Giao diện lập trình trong Visual Studio

Sau khi lập trình xong, chúng ta thực hiện kiểm tra lỗi , sau đó tiến hành Debug bằng cách chọn Start và chạy chương trình.

b. Phần mềm SQL Server Management Studio

SQL Server là một hệ quản trị cơ sở dữ liệu quan hệ (Relational Database Management System (RDBMS) ) sử dụng câu lệnh SQL (Transact-SQL) để trao đổi dữ liệu giữa máy Client và máy cài SQL Server. Một RDBMS bao gồm databases, database engine và các ứng dụng dùng để quản lý dữ liệu và các bộ phận khác nhau trong RDBMS.

SQL Server được tối ưu để có thể chạy trên môi trường cơ sở dữ liệu rất lớn

(Very Large Database Environment) lên đến Tera-Byte và có thể phục vụ cùng lúc cho hàng ngàn user. SQL Server có thể kết hợp “ăn ý” với các server khác như Microsoft Internet Information Server (IIS), E-Commerce Server, Proxy Server….

Hình 4.25. Kết nối Server

Để tạo CSDL mới, tạo chuột phải vào Database/New DataBase, chương trình sẽ xuất hiện ra giao diện, đặt tên và chọn OK để tạo Database.

Hình 4.26. Tạo database mới

Tạo bảng

Để tạo bảng mới, ta vào Database chọn Database cần tạo, sau đó chuột phải vào

Hình 4.27. Khởi tạo bảng mới

Để tạo truy vấn mới vào các bảng, ta chọn chuột phải Script Table As, chọn truy vấn muốn thực hiện, chọn New Query Editor Windows và thực hiện.

Cơ sở dữ liệu SQL gồm 3 bảng:  Lưu thông tin đăng nhập hệ thống

Hình 4.29. Bảng quanly

Bảng này chứa các thông tin đăng nhập vào hệ thống của người quản lý: tài khoản, mật khẩu,…

 Lưu dữ liệu thẻ khách hàng

Hình 4.30. Bảng data_KhachHang

Bảng này chứa các thông tin cơ bản của mỗi khách hàng ứng với mỗi tài khoản người sử dụng: mã số nhận diện (ID), họ và tên , ngày tháng năm sinh, giới tính, tiền trong tài khoản,…

 Lưu trữ lịch sử hoạt động của thiết bị vận hành

Bảng này chứa các thông tin về các lần hoạt động gần đây của hệ thống: số máy,

Một phần của tài liệu Thiết kế và thi công mô hình cửa hàng giặt sấy tự động phục vụ (Trang 57)