Mục tiêu chính của đề tài là phát triển một hệ thống hoạt động tự động, sử dụng các thuật toán lưu trữ dữ liệu để phát hiện tình trạng đỗ xe trống hoặc đã đỗ.. Bãi đỗ xe thông minh mang
Mục tiêu nghiên cứu
Trước khi thực hiện đồ án này, nhóm đã thảo luận và đặt ra các mục tiêu sau:
Ứng dụng PLC S7-1200 điều khiển được mô hình
Thông qua giao diện vận hành hệ thống
Ứng dụng xử lý ảnh trong hệ thống.
Nội dung nghiên cứu
Trong phần nghiên cứu này nhóm em chia bài báo cáo làm phần:
Chương 2: Cơ sở lý thuyết
Chương 3: Tính toán và thiết kế
Chương 4: Thi công hệ thống
Chương 5: Kết quả - đánh giá - nhận xét
Chương 6: Kết luận và hướng phát triển
Giới hạn
Đối với đề tài này, nhóm xác định có một số giới hạn:
Thực hiện điều khiển bằng PLC quy mô ở việc điều khiển mô hình
Chỉ thực hiện cất/lấy xe ở 35 vị trí
Chỉ ứng dụng xử lý ảnh với các thuật toán cơ bản.
Phương pháp nghiên cứu
Dựa trên các mô hình đã nghiên cứu từ tài liệu, nhóm sẽ lập trình PLC để hoàn thiện mô hình Sau khi hoàn tất, chúng tôi sẽ thiết lập PLC nhằm thực hiện điều khiển hiệu quả Ngoài ra, việc tham khảo ý kiến từ giảng viên hướng dẫn sẽ giúp nhóm hoàn thiện mô hình đúng tiến độ.
Tổng quan về hệ thống đỗ xe thông minh
Giới thiệu về hệ thống đỗ xe thông minh
Nhóm nghiên cứu đã tìm hiểu về các loại mô hình bãi đỗ xe thông minh hiện có trên thế giới và quyết định thực hiện mô phỏng hệ thống bãi đỗ xe dạng tháp tròn Việc này được thực hiện dựa trên mô hình thực tế, đồng thời tiến hành tính toán thu nhỏ để phù hợp với khả năng thực hiện của nhóm.
Bãi đỗ xe dạng tháp trụ tròn là giải pháp quản lý không gian đỗ xe hiện đại và hiệu quả Thiết kế của hệ thống này tối ưu hóa không gian bằng cách sử dụng các tầng và cơ chế nâng hạ xe tự động.
Hệ thống đỗ xe tháp trụ tròn sử dụng cơ chế nâng hạ tự động để đưa xe lên và đặt vào các vị trí trên từng tầng, hoạt động chính xác và an toàn Giải pháp này giúp tiết kiệm không gian ngang và tạo ra nhiều chỗ đỗ xe hơn so với phương pháp truyền thống Khi cần lấy xe, người dùng chỉ cần cung cấp thông tin đặt chỗ, hệ thống sẽ nhanh chóng tìm và trả xe về vị trí xuất phát.
Các loại bãi đỗ xe thông minh trên thế giới [1*]
2.1.2.1 Bãi đỗ xe xoay vòng đứng
Hệ thống đỗ xe tự động hoạt động theo nguyên lý xoay vòng, cho phép chuyển đổi các vị trí đỗ xe, được gọi là bãi đậu xe ô tô xoay vòng đứng Thiết kế hình tháp đa tầng của bãi đậu xe này giúp tối ưu hóa không gian, cho phép đỗ nhiều xe trên diện tích hạn chế.
Hình 2.1: Bãi đỗ xe tự động hệ thống xoay vòng đứng
2.1.2.2 Bãi đỗ xe kiểu xếp hình
Bãi đỗ xe cao tầng được thiết kế theo nguyên tắc xếp hình, sử dụng các tấm pallet độc lập để tạo ra ô đỗ xe an toàn và chắc chắn Hệ thống này cho phép xếp chồng các tấm pallet, tối ưu hóa không gian Khi khách hàng lái xe vào, hệ thống tự động điều khiển các thanh trục di chuyển theo chiều dọc và ngang, sắp xếp lại vị trí các xe trước đó một cách hợp lý.
Hình 2.2: Bãi đỗ xe tự động kiểu xếp hình
2.1.2.3 Bãi đỗ xe xoay vòng ngang
Hệ thống bãi đậu xe thông minh xoay vòng ngang hoạt động dựa trên nguyên lý luân chuyển, giúp lấy xe ra khu vực thang nâng Giải pháp này tối ưu hóa không gian, phù hợp với bãi xe hình vuông và hình chữ nhật, có thể lắp đặt dưới tầng hầm Hệ thống còn tích hợp điều khiển Programmable Logic Controller để tăng cường tự động hóa và sử dụng hệ thống khóa mật khẩu để đảm bảo an toàn.
Hình 2.3: Bãi đỗ xe tự động hệ thống xoay vòng ngang
2.1.2.4 Bãi đỗ xe tự động di chuyển pallet/robot
Hệ thống bãi đậu xe thông minh hoạt động dựa trên nguyên lý băng chuyền, với việc di chuyển xe trên mỗi tầng do robot hoặc tấm pallet độc lập thực hiện Mô hình này được tối ưu cho các tầng hầm của khu chung cư và bệnh viện lớn, có khả năng chứa từ 100 đến 500 xe.
Hình 2.4: Bãi đỗ xe tự động di chuyển pallet/robot.
Bãi đỗ xe tự động ở Việt Nam
2.1.3.1 Vấn đề cấp thiết về bãi đỗ xe tự động tại Việt Nam [2*]
Hiện nay, nhiều đô thị trên thế giới, bao gồm Hà Nội, đang đối mặt với vấn đề thiếu bãi đỗ xe trầm trọng Để giải quyết nhu cầu này, các chuyên gia đã thiết kế và chế tạo hệ thống bãi đỗ xe thông minh, mang lại hiệu quả sử dụng cao mà không tốn nhiều diện tích.
Theo Công ty Khai thác điểm đỗ xe Hà Nội, hiện trên địa bàn chỉ có
Có 129 điểm đỗ xe công cộng với tổng diện tích gần 30ha, cung cấp công suất đỗ khoảng 6.000 xe ô tô, bao gồm 123 bãi đỗ trên hè đường phố và 6 điểm đỗ trong khuôn viên Tuy nhiên, diện tích này chỉ đạt 0,45% quỹ đất xây dựng đô thị dành cho giao thông tĩnh, cho thấy khả năng đáp ứng nhu cầu là rất thấp.
Hệ thống bãi đỗ xe hiện tại gặp nhiều nhược điểm, như nguy cơ mất cắp phụ tùng khi xe đỗ ở nơi không có camera an ninh và thời gian tìm chỗ đỗ trong không gian chật hẹp, gây ùn tắc Ngoài ra, việc kiểm soát khí thải và tiếng ồn khi xe di chuyển trong khu vực đỗ chưa hiệu quả Tại các bãi xe lớn, tài xế tốn nhiều thời gian để tìm chỗ đỗ và xác định vị trí xe của mình khi lấy xe Đặc biệt, bãi đỗ xe tự lái chiếm diện tích lớn, với mỗi xe ô tô chiếm trung bình 25m2, bao gồm cả diện tích đường di chuyển, gây lãng phí trong bối cảnh đất chật như ở Hà Nội hiện nay.
2.1.3.2 Các hệ thống bãi đỗ xe tự động tại Việt Nam [3*]
Trong quá trình khảo sát thực tế bãi đỗ xe tại Việt Nam và nghiên cứu các mô hình trong phòng thí nghiệm, tôi đã lựa chọn được một mô hình bãi xe phù hợp để nghiên cứu và thực hiện đề tài tốt nghiệp.
Bãi đỗ xe thông minh dạng xếp hình (Puzzle Parking) địa chỉ Vinhomes Symphony Với tổng diện tích bãi đỗ xe bán tự động là 19.000 m2, thiết kế 2 -
3 tầng, sử dụng các block 2 lớp và 3 lớp, có sức chứa lên đến 1000 xe
Hình 2.5: Bãi đỗ xe tại Vinhomes Symphony
Hệ thống đỗ xe xếp hình Puzzle Parking Golden King nằm tại 15 Nguyễn Lương Bằng, Quận 7, TP.HCM, do Công ty Cổ phần Đầu tư Phát triển Bất động sản Đông Dương vận hành Tòa nhà có vị trí đắc địa tại Khu đô thị Phú Mỹ Hưng, mang lại sự tiện lợi cho cư dân và khách hàng.
Hình 2.6: Bãi đỗ xe Golden King.
Programmable logic controller
Ưu điểm PLC
SIMATIC S7-1200 là một sản phẩm PLC linh hoạt và đáng tin cậy, cung cấp các tính năng vượt trội cho việc điều khiển và giám sát các quy trình công nghiệp hiện đại.
SIMATIC S7-1200 có những đặc điểm và tính năng đáng chú ý sau:
SIMATIC S7-1200 được thiết kế với hiệu suất và độ tin cậy cao, mang lại hoạt động ổn định và liên tục trong các môi trường công nghiệp khắc nghiệt.
Tính linh hoạt: SIMATIC S7-1200 có nhiều loại module đa dạng để phù hợp với các ứng dụng khác nhau
Với CPU mạnh mẽ, PLC 1214C DC/DC/DC có khả năng xử lý các tác vụ điều khiển và giám sát một cách nhanh chóng, mang lại hiệu suất và tốc độ xử lý tối ưu.
Lập trình linh hoạt: SIMATIC S7-1200 hỗ trợ các ngôn ngữ lập trình phổ biến như Ladder Diagram (LD), Function Block Diagram (FBD) và Structured Control Language (SCL).
Nguyên lí hoạt động của PLC
PLC hoạt động theo nguyên tắc "chu kỳ quét", bắt đầu quét từ đầu đến cuối khi được kích hoạt Quá trình này diễn ra liên tục và bao gồm nhiều bước quan trọng.
1 Bước đọc dữ liệu đầu vào (Input Scan): Trong bước này, PLC đọc trạng thái các tín hiệu đầu vào từ các module I/O Các tín hiệu này có thể đến từ cảm biến, công tắc, nút nhấn và các nguồn tín hiệu khác Dữ liệu đầu vào được gửi đến CPU để xử lý
2 Bước thực thi chương trình điều khiển (Program Execution): CPU xử lý các lệnh và chương trình điều khiển được lập trình trước CPU thực thi các phép tính logic, so sánh, và thực hiện các hoạt động điều khiển dựa trên dữ liệu đầu vào và chương trình điều khiển
3 Bước cập nhật dữ liệu đầu ra (Output Update): Sau khi CPU thực thi chương trình điều khiển, dữ liệu đầu ra được tính toán và cập nhật
4 Bước lặp lại (Repeat Cycle): Sau khi hoàn thành bước cập nhật dữ liệu đầu ra, quá trình quét được lặp lại bằng cách bắt đầu từ đầu.
Ứng dụng thực tế
Ngành công nghiệp sản xuất: PLC được sử dụng rộng rãi trong ngành công nghiệp để điều khiển các quá trình sản xuất
Hệ thống xử lý nước sử dụng PLC để điều khiển và giám sát các quy trình quan trọng, bao gồm xử lý nước thải, nhằm đảm bảo hiệu quả và an toàn trong việc quản lý tài nguyên nước.
Hệ thống điều hòa không khí và HVAC sử dụng PLC để quản lý nhiệt độ, độ ẩm và luồng khí, đồng thời điều khiển các thiết bị như quạt, van và máy nén.
Hệ thống đóng mở cửa tự động sử dụng PLC đóng vai trò quan trọng trong việc quản lý cửa tại các tòa nhà, nhà ga, sân bay và nhiều cơ sở công cộng khác, giúp nâng cao hiệu quả hoạt động và tiện nghi cho người sử dụng.
Biến tần
Ưu điểm
Sau khi tham khảo các loại biến tần trên thị trường ưu điểm của biến tần:
Kích thước nhỏ gọn: Thiết kế nhỏ gọn và nhẹ, tiết kiệm không gian lắp đặt
Dễ sử dụng: Với giao diện đơn giản và các nút điều khiển trực quan, dễ dàng cài đặt và vận hành
Hiệu suất cao của động cơ điện giúp tối ưu hóa khả năng điều khiển tốc độ, tiết kiệm năng lượng và nâng cao hiệu quả hoạt động.
Chi phí thấp: Mức giá phải chăng phù hợp với ứng dụng nhỏ và trung bình.
Nguyên lý hoạt động
Đầu vào điện AC: Biến tần nhận nguồn điện xoay chiều (AC) đầu vào từ lưới điện
Chuyển đổi AC-DC: Mạch biến tần chuyển đổi nguồn điện AC đầu vào thành nguồn điện một chiều (DC)
Điều chỉnh tần số và điện áp: Mạch điều khiển điều chỉnh tần số và điện áp đầu ra để kiểm soát tốc độ quay của động cơ điện
Chuyển đổi DC-AC: Bộ chuyển đổi DC-AC chuyển đổi nguồn điện một chiều (DC) thành nguồn điện xoay chiều (AC) cấp cho động cơ điện
Mạch điều khiển tốc độ nhận dữ liệu từ cảm biến để điều chỉnh tần số và điện áp đầu ra, từ đó đạt được tốc độ quay như mong muốn.
Biến tần điều khiển động cơ 3 pha
Nhóm đã chọn đấu nối PNP, cho phép kết nối với nguồn dương chung và loại bỏ nhu cầu về nguồn dương riêng biệt Phương pháp này thường sử dụng điện áp logic cao cho tín hiệu đầu vào, mở rộng phạm vi các tín hiệu đầu vào có thể chấp nhận Do đó, nhóm quyết định sử dụng đấu nối biến tần theo kiểu PNP Sơ đồ nối dây được trình bày như sau:
Hình 2.9: Sơ đồ nối dây biến tần theo PNP
Dựa vào sơ đồ đấu dây từ nhà sản xuất, nhóm sẽ kết nối lần lượt vào hai tiếp điểm thường mở của hai relay tại DI1 và DI2, trong khi các DI khác sẽ không được sử dụng Lý do nhóm chọn relay thay vì nút nhấn là vì relay giữ tiếp điểm thường hở khi được kích, trong khi nút nhấn chỉ giữ khi được nhấn và sẽ nhả ra ngay khi thả tay.
Đông cơ Step Motor
Ưu điểm
Động cơ bước có nhiều ưu điểm như sau:
Chính xác: Động cơ bước cung cấp khả năng điều khiển vị trí chính xác cao với góc bước cố định
Tính ổn định: Động cơ bước không chịu ảnh hưởng từ tải thay đổi và có khả năng giữ vị trí một cách ổn định
Độ tin cậy cao: Với cấu trúc đơn giản và ít bộ phận chuyển động, động cơ bước thường có tuổi thọ dài và độ bền cao
Tính linh hoạt: Động cơ bước có thể hoạt động ở nhiều chế độ, bao gồm chế độ đơn giản 2 pha và chế độ 4 pha
Đáp ứng nhanh: Động cơ bước cho phép đáp ứng linh hoạt đến các tín hiệu điều khiển và thay đổi vị trí một cách nhanh chóng.
Nguyên lý hoạt động
Động cơ bước hoạt động dựa trên nguyên lý tương tác giữa lực từ tính và cấu trúc đặc biệt của cuộn dây và rotor Khi dòng điện được cấp vào các cuộn dây stator, lực từ tính được tạo ra sẽ tác động lên rotor, khiến nó di chuyển từ vị trí này sang vị trí khác Động cơ bước được điều khiển bằng cách cung cấp dòng điện tuần tự vào các cuộn dây stator, tạo ra bước di chuyển mỗi khi dòng điện chuyển từ cuộn này sang cuộn khác Mỗi lần có dòng điện điều khiển, động cơ bước sẽ di chuyển một bước cố định.
Nguyên lý hoạt động của động cơ bước cho phép di chuyển chính xác và đáng tin cậy nhờ vào cấu hình cuộn dây stator và rotor Góc bước được xác định rõ ràng, tạo điều kiện cho khả năng điều khiển vị trí linh hoạt trong các ứng dụng điều khiển vị trí và tự động hóa.
Phương pháp điều khiển Step Motor
Để điều khiển động cơ bước, cần sử dụng các thiết bị điều khiển gọi là "driver" hoặc "bộ điều khiển động cơ bước" Driver có vai trò quan trọng trong việc cung cấp nguồn và điều khiển dòng điện vào các cuộn dây stator của động cơ bước.
Các driver động cơ bước nhận tín hiệu điều khiển từ nguồn như vi điều khiển, Arduino hoặc bộ điều khiển đặc biệt Chúng chuyển đổi và tăng áp tín hiệu này để cung cấp dòng điện phù hợp cho các cuộn dây stator.
Qua việc sử dụng driver, chúng ta có khả năng điều chỉnh vận tốc, hướng di chuyển, vị trí và các tham số khác của động cơ bước Điều này mở ra nhiều ứng dụng cho động cơ bước trong các lĩnh vực như tự động hóa, robotics, máy CNC, in 3D và nhiều ứng dụng khác.
Hình 2.11: Sơ đồ nối dây của Driver.
Động cơ AC-Servo
Ưu điểm
Động cơ AC-Servo (Servo Motor) nổi bật với nhiều ưu điểm trong các ứng dụng yêu cầu độ chính xác cao, điều khiển linh hoạt và phản hồi nhanh Một trong những điểm mạnh của động cơ AC-Servo là khả năng định vị chính xác và điều khiển vị trí, cùng với khả năng điều chỉnh tốc độ và mô-men xoắn theo yêu cầu cụ thể Động cơ này cung cấp mô-men xoắn ổn định và phản ứng nhanh với tín hiệu điều khiển, đảm bảo tính chính xác và độ tin cậy trong các ứng dụng cần sự điều khiển chính xác.
Động cơ AC-Servo kết hợp với hệ thống điều khiển điện tử (Servo Drive) mang lại khả năng điều khiển và bảo vệ đáng tin cậy Hệ thống Servo Drive cho phép tùy chỉnh các thông số như vận tốc, gia tốc và chế độ làm việc của động cơ, từ đó nâng cao tính linh hoạt và khả năng đáp ứng của hệ thống.
Nguyên lý hoạt động
Động cơ AC-Servo hoạt động dựa trên nguyên tắc cân bằng giữa các lực đối nghịch, giúp duy trì vị trí và đạt được chuyển động chính xác Nguyên lý hoạt động chủ yếu của động cơ này là sự điều chỉnh liên tục để đảm bảo hiệu suất tối ưu trong quá trình vận hành.
Hệ thống điều khiển servo drive nhận tín hiệu từ bộ điều khiển để điều chỉnh điện áp và tần số cho động cơ, nhằm kiểm soát vị trí, tốc độ và mô-men xoắn Nó cung cấp phản hồi về vị trí và trạng thái của động cơ thông qua các cảm biến như encoder.
Hệ thống điều khiển nhận tín hiệu và điều chỉnh điện áp, tần số cho động cơ, tạo ra lực đối nghịch giữa rotor và stator, từ đó sinh ra moment xoắn để khởi động động cơ Nó liên tục điều chỉnh các thông số nhằm đạt độ chính xác và phản hồi nhanh Đặc biệt, động cơ AC-Servo sử dụng cảm biến vị trí như encoder để cung cấp thông tin về vị trí và trạng thái của động cơ, giúp hệ thống điều khiển duy trì vị trí chính xác thông qua phản hồi từ cảm biến.
Phương pháp điều khiển
Để điều khiển động cơ AC-Servo, cần sử dụng bộ điều khiển gọi là servo drive hoặc servo amplifier Các servo drive sẽ nhận thông tin phản hồi từ encoder trong động cơ AC-Servo, cung cấp tín hiệu về vị trí và tốc độ của rotor Việc so sánh thông tin phản hồi với thông tin điều khiển là rất quan trọng để đảm bảo hiệu suất hoạt động của động cơ.
Các chuẩn giao tiếp và phương thức truyền dữ liệu
Chuẩn giao tiếp Ethernet
Chuẩn giao tiếp Ethernet xác định cách các thiết bị mạng giao tiếp và truyền dữ liệu qua mạng, sử dụng mô hình lớp và giao thức TCP/IP để chia sẻ thông tin giữa các máy tính và thiết bị Với kiến trúc mạng "điểm đến điểm" hoặc "điểm đến đa điểm", Ethernet cho phép nhiều thiết bị kết nối và truyền dữ liệu đồng thời Môi trường vật lý của Ethernet chủ yếu là cáp mạng như cáp đồng trục, cáp xoắn đôi, hoặc cáp quang, và cũng có thể sử dụng kết nối không dây qua công nghệ Wi-Fi Để đảm bảo tính toàn vẹn và đúng thứ tự của dữ liệu, Ethernet chia nhỏ quá trình truyền dữ liệu thành các khung (frame).
Giao thức truyền thông TCP/IP
Mô hình TCP/IP được phát triển dựa trên mô hình OSI (Open Systems Interconnection) và bao gồm nhiều lớp khác nhau, mỗi lớp đảm nhận một vai trò riêng biệt trong quá trình truyền thông mạng.
The Application Layer is the interface that interacts with software applications on computers, including web browsers, email clients, FTP (File Transfer Protocol), and DNS (Domain Name System).
Lớp giao vận (Transport Layer) là lớp đảm bảo việc truyền dữ liệu giữa các thiết bị kết nối trên mạng
Lớp mạng (Network Layer) chịu trách nhiệm quản lý địa chỉ IP và định tuyến dữ liệu giữa các mạng Giao thức IP trong lớp này xác định cách dữ liệu được chia thành các gói tin, gán địa chỉ IP cho các thiết bị, và quản lý việc định tuyến các gói tin trên mạng.
Hình 2.14: Các tầng trong giao thức TCP/IP
Lớp liên kết dữ liệu và lớp vật lý đóng vai trò quan trọng trong việc truyền dữ liệu qua các phương tiện truyền thông như cáp mạng, wifi, Ethernet và các công nghệ khác.
Giao thức truyền thông Modbus TCP/IP
Modbus hỗ trợ nhiều giao thức truyền dữ liệu, bao gồm Modbus RTU và Modbus TCP/IP Modbus RTU sử dụng giao diện serial RS-232 hoặc RS-485 với định dạng dữ liệu nhị phân và giao thức truyền thông đồng bộ Ngược lại, Modbus TCP/IP sử dụng giao thức TCP/IP để truyền dữ liệu qua mạng Ethernet.
Hình 2.15: Trồng thông Modbus TCP/IP
Modbus TCP/IP là phương thức truyền dữ liệu tiêu chuẩn Modbus qua giao diện Ethernet, cho phép truyền tải thông tin qua mạng TCP/IP Nhờ vào khả năng này, Modbus TCP/IP trở thành lựa chọn phổ biến cho các hệ thống mạng hiện đại.
Trong Modbus TCP/IP, các thiết bị giao tiếp thông qua giao thức TCP/IP để truyền dữ liệu, với mỗi thiết bị Modbus được gán một địa chỉ IP duy nhất trong mạng Ethernet Sự truyền thông giữa các trạm chủ (master) và các trạm con (slave) được thực hiện thông qua các yêu cầu (request) và phản hồi (response) dựa trên giao thức TCP/IP.
2.7 Phần mềm hỗ trợ lập trình
Tia Portal V16 là phần mềm lập trình chuyên dụng cho hệ thống kiểm soát logic chương trình (PLC) của Siemens, được phát triển bởi Siemens AG Phần mềm này cung cấp một môi trường tích hợp hoàn hảo cho việc phát triển, cấu hình và lập trình các ứng dụng PLC.
Với Tia Portal V16, người dùng có thể dễ dàng thiết kế các chương trình điều khiển phức tạp cho hệ thống tự động hóa công nghiệp Phần mềm này cung cấp giao diện đồ họa thân thiện và trực quan, cho phép người dùng tạo chương trình bằng cách kéo và thả các thành phần PLC vào mạch.
Tia Portal V16 nổi bật với khả năng tích hợp linh hoạt với các công nghệ như hệ thống SCADA và các thiết bị công nghiệp khác, giúp người dùng phát triển các ứng dụng tự động hóa phức tạp và kết nối hiệu quả với các thành phần trong hệ thống.
2.7.2 Phần mềm Visual Studio Code
Visual Studio Code (VS Code) là một IDE miễn phí, nhẹ và mạnh mẽ do Microsoft phát triển Được xây dựng trên nền tảng Electron, VS Code mang đến trải nghiệm lập trình đa nền tảng với hiệu suất cao và khả năng mở rộng linh hoạt.
VS Code hỗ trợ nhiều ngôn ngữ lập trình phổ biến như JavaScript, Python, C++, Java và PHP Nó cung cấp cú pháp màu sắc, gợi ý mã nguồn thông minh và khả năng gỡ lỗi tích hợp, giúp lập trình viên viết mã nhanh chóng và dễ dàng Ngoài ra, người dùng có thể mở nhiều cửa sổ và chia thành các khung làm việc để quản lý nhiều tệp và dự án cùng lúc.
Qt Designer là công cụ thiết kế giao diện người dùng đồ họa mạnh mẽ và linh hoạt, phát triển bởi The Qt Company Tích hợp sâu vào framework Qt, nó đóng vai trò quan trọng trong việc phát triển ứng dụng Qt, giúp lập trình viên tạo ra giao diện người dùng đẹp mắt và tương tác cho các ứng dụng đa nền tảng.
Qt Designer nổi bật với khả năng tích hợp mượt mà với C++ và Python nhờ vào framework Qt Sau khi hoàn thành việc thiết kế giao diện, người dùng có thể dễ dàng xuất mã nguồn tương ứng từ Qt Designer.
Qt Designer cho phép tích hợp giao diện thiết kế với mã nguồn hiện có, giúp bạn chỉnh sửa giao diện và mã nguồn đồng thời Điều này tạo điều kiện thuận lợi cho việc điều chỉnh và cập nhật giao diện trong quá trình phát triển.
2.8.1 Giới thiệu về ngôn ngữ Python
Python là ngôn ngữ lập trình thông dịch, nổi bật với cú pháp đơn giản và dễ hiểu Được phát triển bởi Guido van Rossum và ra mắt lần đầu vào năm 1991, Python được thiết kế nhằm đơn giản hóa quá trình lập trình và nâng cao khả năng đọc hiểu mã nguồn.
Hình 2.19: Logo ngôn ngữ Python
Python là một ngôn ngữ lập trình đa năng và linh hoạt, được ứng dụng rộng rãi trong các lĩnh vực như phân tích dữ liệu, trí tuệ nhân tạo, phát triển web và tự động hóa Nhờ vào cộng đồng lập trình viên đông đảo và sự phát triển không ngừng, Python đã khẳng định vị thế là một trong những ngôn ngữ phổ biến nhất toàn cầu.
Python nổi bật với cú pháp đơn giản và dễ đọc, giúp người mới học lập trình dễ dàng tiếp cận Ngôn ngữ này cung cấp nhiều cấu trúc dữ liệu và công cụ xử lý, cho phép lập trình viên viết mã ngắn gọn và hiệu quả, từ đó phát triển ứng dụng nhanh chóng.
Python hỗ trợ lập trình hướng đối tượng (OOP), giúp tái sử dụng mã nguồn và phát triển ứng dụng phức tạp Ngôn ngữ này đi kèm với một thư viện chuẩn phong phú cùng nhiều thư viện bên thứ ba mạnh mẽ, hỗ trợ giải quyết các vấn đề trong nhiều lĩnh vực khác nhau.
Phần mềm hỗ trợ lập trình
Phần mềm Qt Designer
Với ngôn ngữ lập trình C++ và Python, bạn có thể phát triển ứng dụng thông qua framework Qt Sau khi hoàn thành thiết kế giao diện trong Qt Designer, việc xuất mã nguồn tương ứng trở nên dễ dàng.
Qt Designer cho phép tích hợp giao diện thiết kế với mã nguồn hiện có, giúp bạn chỉnh sửa giao diện và mã nguồn cùng lúc Điều này tạo điều kiện thuận lợi cho việc điều chỉnh và cập nhật giao diện trong quá trình phát triển.
Ngôn ngữ Python
Giới thiệu về ngôn ngữ Python
Python là ngôn ngữ lập trình thông dịch, nổi bật với cú pháp đơn giản và dễ hiểu, được phát triển bởi Guido van Rossum và ra mắt lần đầu vào năm 1991 Ngôn ngữ này được thiết kế nhằm đơn giản hóa quá trình lập trình và nâng cao khả năng đọc hiểu mã nguồn.
Hình 2.19: Logo ngôn ngữ Python
Python là một ngôn ngữ lập trình đa năng và linh hoạt, được ứng dụng rộng rãi trong các lĩnh vực như phân tích dữ liệu, trí tuệ nhân tạo, phát triển web và tự động hóa Nhờ vào cộng đồng lập trình viên đông đảo và sự phát triển không ngừng, Python đã trở thành một trong những ngôn ngữ phổ biến nhất toàn cầu.
Python nổi bật với cú pháp đơn giản và dễ đọc, giúp người mới học lập trình dễ dàng tiếp cận và phát triển ứng dụng nhanh chóng Ngôn ngữ này cung cấp nhiều cấu trúc dữ liệu và công cụ xử lý, cho phép lập trình viên viết mã ngắn gọn và hiệu quả.
Python hỗ trợ lập trình hướng đối tượng (OOP), cho phép tái sử dụng mã nguồn và phát triển ứng dụng phức tạp Ngôn ngữ này cung cấp thư viện chuẩn phong phú cùng với nhiều thư viện bên thứ ba mạnh mẽ, giúp giải quyết các vấn đề trong nhiều lĩnh vực khác nhau.
Ngôn ngữ Python nổi bật với cộng đồng lập trình viên năng động và hỗ trợ mạnh mẽ Cộng đồng này đã đóng góp vào sự phát triển của nhiều thư viện và framework phổ biến như NumPy, Pandas, Django, Flask và TensorFlow, từ đó nâng cao khả năng phân tích dữ liệu, phát triển ứng dụng web và trí tuệ nhân tạo.
Python là một ngôn ngữ lập trình đa năng, dễ học và sử dụng, thu hút sự quan tâm lớn từ cộng đồng lập trình viên toàn cầu Với cú pháp đơn giản, khả năng mở rộng và các thư viện phong phú, Python trở thành công cụ lý tưởng cho việc xây dựng các ứng dụng hiệu quả, đáp ứng đa dạng các yêu cầu lập trình.
Tính ứng dụng của ngôn ngữ Python
Ngôn ngữ Python có nhiều ứng dụng đa dạng và được áp dụng trong nhiều lĩnh vực khác nhau Dưới đây là một số ví dụ tiêu biểu về ứng dụng của Python.
Python là ngôn ngữ phổ biến trong phân tích dữ liệu, với các thư viện mạnh mẽ như NumPy, Pandas và Scikit-learn Những thư viện này hỗ trợ xử lý và phân tích dữ liệu, từ thống kê đơn giản đến học máy và khoa học dữ liệu phức tạp.
Web development với Python được hỗ trợ bởi nhiều framework mạnh mẽ như Django và Flask, giúp xây dựng các ứng dụng web linh hoạt và hiệu quả Ngoài ra, Python còn được sử dụng để phát triển các ứng dụng web crawler và scraping, cho phép thu thập dữ liệu từ các trang web một cách dễ dàng.
Trí tuệ nhân tạo và Machine Learning đang ngày càng phát triển, trong đó Python đóng vai trò quan trọng nhờ vào các thư viện như TensorFlow và PyTorch Những công cụ này cung cấp khung công việc cần thiết để xây dựng và huấn luyện các mô hình học máy, mạng nơ-ron và các ứng dụng trí tuệ nhân tạo khác.
Python hỗ trợ phát triển đồ họa và game thông qua các thư viện như Pygame và Pyglet, giúp lập trình viên dễ dàng tạo ra các trò chơi đơn giản và ứng dụng đồ họa.
Python là ngôn ngữ lý tưởng cho việc tự động hóa công việc và scripting nhờ vào cú pháp đơn giản và các thư viện hỗ trợ phong phú Với Python, người dùng có thể dễ dàng tạo ra các kịch bản tự động để thực hiện các nhiệm vụ lặp đi lặp lại, xử lý tệp tin và tương tác hiệu quả với hệ thống.
Internet of Things (IoT) là một lĩnh vực mà Python đóng vai trò quan trọng nhờ vào các thư viện và framework như Raspberry Pi và MicroPython Python không chỉ giúp phát triển các ứng dụng IoT mà còn hỗ trợ kết nối và xử lý dữ liệu hiệu quả, cho phép điều khiển các thiết bị và thu thập dữ liệu từ cảm biến và module một cách dễ dàng.
Lý thuyết và phương pháp xử lý ảnh
Khái niệm ảnh kỹ thuật số
Ảnh kỹ thuật số đã cách mạng hóa việc ghi lại, lưu trữ và truyền tải thông tin hình ảnh trong thế giới công nghệ hiện đại Khác với ảnh truyền thống, ảnh kỹ thuật số thể hiện hình ảnh dưới dạng dữ liệu số, giúp chúng ta thực hiện các quá trình xử lý và chỉnh sửa một cách linh hoạt.
Ảnh kỹ thuật số là tập hợp các điểm ảnh (pixel) mã hóa thành giá trị số, biểu thị độ sáng và màu sắc tại mỗi vị trí Điểm mạnh của ảnh kỹ thuật số nằm ở tính chính xác và khả năng tái tạo màu sắc, cho phép tạo ra hình ảnh có độ phân giải cao và chất lượng gần như thật Ngoài ra, ảnh kỹ thuật số cung cấp khả năng chỉnh sửa linh hoạt mà không ảnh hưởng đến chất lượng gốc Các phần mềm như Adobe Photoshop, Lightroom, GIMP và nhiều công cụ khác cho phép thực hiện các thao tác chỉnh sửa như điều chỉnh độ tương phản, cân bằng màu sắc, loại bỏ nhiễu, tăng độ phân giải, cắt, xoay và áp dụng hiệu ứng nghệ thuật.
Cấu trúc các điểm ảnh
Hệ màu RGB (Đỏ, Xanh lá, Xanh dương) là tiêu chuẩn chủ yếu cho ảnh màu trong nhiếp ảnh số Ma trận ảnh màu thường có cấu trúc ba chiều với kích thước MxNx3, trong đó M và N đại diện cho kích thước của ảnh, còn 3 là số kênh màu.
Ma trận (R, G, B) chứa ba giá trị đại diện cho mức độ đỏ, xanh lá cây và xanh dương của mỗi điểm ảnh Những giá trị này thường nằm trong khoảng từ 0 đến 255, với 0 là màu tối nhất và 255 là màu sáng nhất.
Ảnh xám (grayscale) được biểu diễn bằng một ma trận hai chiều kích thước MxN, trong đó mỗi điểm ảnh có giá trị duy nhất từ 0 đến 255, thể hiện mức độ sáng của điểm ảnh Giá trị 0 biểu thị mức tối nhất, trong khi 255 biểu thị mức sáng nhất.
Thư viện OpenCV
OpenCV (Thư viện Xử lý Ảnh Mã Nguồn Mở) là một thư viện hàng đầu trong lĩnh vực xử lý ảnh và thị giác máy tính, được phát triển từ năm 2000.
1999, OpenCV đã trở thành một công cụ quan trọng và được ưa chuộng bởi cộng đồng nghiên cứu, phát triển và ứng dụng trên toàn thế giới
Hình 2.20: Logo thư viện OpenCV
OpenCV nổi bật với tính đa nền tảng, cho phép chạy trên nhiều hệ điều hành như Windows, macOS, Linux, iOS và Android Điều này giúp người dùng dễ dàng triển khai ứng dụng xử lý ảnh trên các nền tảng khác nhau Thư viện cũng cung cấp các giao diện lập trình ứng dụng (API) cho nhiều ngôn ngữ như C++, Python, Java và C#, giúp người dùng chọn lựa ngôn ngữ lập trình phù hợp với sở thích của mình.
OpenCV không chỉ là một thư viện xử lý ảnh và computer vision, mà còn tích hợp các công cụ phân tích và học máy Với các thuật toán học máy, OpenCV cho phép nhận dạng và phân loại đối tượng trong ảnh, xây dựng mô hình dự đoán, và áp dụng các phương pháp học sâu hiệu quả.
Các loại hình ảnh trong kỹ thuật
2.9.4.1 Ảnh RGB Ảnh "RGB" là một dạng ảnh màu phổ biến trong lĩnh vực kỹ thuật số Thuật ngữ "RGB" là viết tắt của Red, Green, Blue (đỏ, xanh lá cây, xanh dương)
- ba màu cơ bản được sử dụng để biểu diễn màu sắc trong ảnh
Trong ảnh RGB, mỗi điểm ảnh được biểu diễn bằng ba giá trị: đỏ, xanh lá cây và xanh dương Các giá trị này xác định mức độ của ba màu cơ bản trong điểm ảnh Bằng cách kết hợp các giá trị này, chúng ta có thể tạo ra nhiều màu sắc đa dạng.
Hệ màu RGB bao gồm các giá trị từ 0 đến 255, trong đó 0 biểu thị mức sáng thấp nhất và 255 biểu thị mức sáng cao nhất Bằng cách điều chỉnh các giá trị RGB, chúng ta có thể tạo ra hàng triệu màu sắc khác nhau, từ những sắc thái rực rỡ đến những màu tối mờ.
Cấu trúc ảnh RGB sử dụng ma trận hai chiều, với hàng và cột thể hiện vị trí của các điểm ảnh Mỗi phần tử trong ma trận là một giá trị RGB hoặc vector ba giá trị RGB, thể hiện màu sắc của điểm ảnh tương ứng.
Trong ảnh mức xám, mỗi điểm ảnh được biểu diễn bởi một giá trị duy nhất từ 0 đến 255, phản ánh mức độ sáng của nó Giá trị 0 tượng trưng cho màu đen hoàn toàn, trong khi giá trị 255 đại diện cho màu trắng hoàn toàn Các giá trị nằm giữa 0 và 255 thể hiện các mức sáng khác nhau từ đen đến trắng.
Ảnh mức xám, như hình 2.22 minh họa, được chuyển đổi từ ảnh RGB và thường được sử dụng trong nhiều ứng dụng như xử lý ảnh, phân tích hình ảnh và nhận dạng đối tượng Việc không cần thông tin màu sắc chi tiết giúp ảnh mức xám có kích thước nhỏ hơn, tiết kiệm không gian lưu trữ so với ảnh màu.
Cấu trúc ảnh mức xám tương tự như ảnh RGB, bao gồm một ma trận hai chiều, trong đó mỗi phần tử đại diện cho giá trị độ sáng của điểm ảnh tương ứng.
Trong ảnh nhị phân, mỗi điểm ảnh được gán giá trị đen hoặc trắng, với 0 tượng trưng cho màu đen và 1 cho màu trắng Điều này giúp ảnh nhị phân thể hiện các đối tượng và vùng quan tâm trong hình ảnh Ảnh nhị phân được ứng dụng rộng rãi trong phân tích hình ảnh, nhận dạng đối tượng và xử lý thông tin Chẳng hạn, trong viễn thám, ảnh nhị phân được dùng để phân loại đất, nước, cây cối và địa hình Ngoài ra, trong công nghệ xử lý ảnh, ảnh nhị phân hỗ trợ trong việc phát hiện cạnh, phân đoạn và nhận dạng đối tượng dựa trên đặc trưng hình học.
Hình 2.23: Chuyển đổi ảnh mức xám sang ảnh nhị phân
Ảnh nhị phân được cấu trúc dựa trên việc biểu diễn mỗi điểm ảnh bằng một bit duy nhất, cho phép giá trị 0 hoặc 1 Nhờ vào chỉ hai giá trị này, kích thước lưu trữ của ảnh nhị phân nhỏ hơn so với các định dạng ảnh khác.
Phương pháp xử lý ảnh
2.9.5.1 Chuyển đổi ảnh mức xám
Phương pháp chuyển đổi ảnh RGB sang ảnh mức xám thông qua công thức trung bình cộng là một kỹ thuật đơn giản và phổ biến Trong phương pháp này, mỗi điểm ảnh RGB được chuyển đổi thành một giá trị mức xám duy nhất, được tính bằng cách lấy trung bình cộng của giá trị đỏ (R), xanh lá cây (G) và xanh dương (B) của điểm ảnh tương ứng.
Công thức chuyển đổi như sau: [1]
Với gray là giá trị điểm ảnh sau khi biến đổi
Công thức trung bình cộng là một trong số các phương pháp chuyển đổi ảnh RGB sang ảnh mức xám, nhưng cũng cần lưu ý đến các phương pháp khác nhau như sử dụng trọng số khác nhau cho giá trị R, G, B để đạt được kết quả chuyển đổi chính xác hơn.
B để tính toán giá trị mức xám, nhằm tạo ra các kết quả phù hợp với yêu cầu cụ thể của ứng dụng và mục đích sử dụng
2.9.5.2 Chuyển đổi sang ảnh nhị phân
Chuyển đổi ảnh mức xám sang ảnh nhị phân là quá trình biến ảnh đơn sắc thành ảnh chỉ có hai giá trị: đen và trắng Phương pháp này được thực hiện bằng cách áp dụng một ngưỡng (threshold) cho từng điểm ảnh, dựa trên giá trị mức xám của điểm ảnh đó.
Phương pháp chuyển đổi này có thể được biểu diễn như sau:
Chọn một ngưỡng (threshold) cụ thể để phân tách giá trị mức xám thành hai phần: trắng và đen
Đối với mỗi điểm ảnh trong ảnh mức xám, so sánh giá trị mức xám với ngưỡng:
Nếu giá trị mức xám lớn hơn ngưỡng, gán giá trị trắng cho điểm ảnh tương ứng
Nếu giá trị mức xám nhỏ hơn hoặc bằng ngưỡng, gán giá trị đen cho điểm ảnh tương ứng
Lặp lại quá trình trên cho tất cả các điểm ảnh trong ảnh mức xám để tạo ra ảnh nhị phân mới
2.9.5.3 Nhận diện đường biên ảnh
Trong việc nhận diện đường biên ảnh, có nhiều phương pháp và thuật toán khác nhau, trong đó nhóm em chọn phương pháp Phát hiện biên Sobel Phương pháp này sử dụng hai bộ lọc Sobel: một bộ lọc cho hướng ngang và một bộ lọc cho hướng dọc Công thức cụ thể của các bộ lọc Sobel sẽ được trình bày chi tiết trong bài viết.
Bộ lọc Sobel cho hướng ngang:
Bộ lọc Sobel cho hướng dọc:
Quá trình thực hiện phương pháp Sobel edge detection bao gồm các bước sau:
1 Chuyển đổi ảnh màu sang ảnh mức xám (grayscale) nếu ảnh ban đầu là ảnh màu
2 Áp dụng bộ lọc Sobel cho ảnh mức xám theo hướng ngang và hướng dọc
3 Tính toán đạo hàm theo hướng ngang và hướng dọc bằng cách áp dụng bộ lọc Sobel cho ảnh
4 Kết hợp các đạo hàm theo hướng ngang và hướng dọc để tạo ra ảnh biên (edge image) Công thức cụ thể để tính toán giá trị của điểm ảnh trong ảnh biên là:
Với Gx và Gy là các giá trị đạo hàm theo hướng ngang và dọc, Edge được sử dụng để so sánh với ngưỡng đã được thiết lập.
5 Áp dụng một ngưỡng (threshold) để phân loại các điểm ảnh trong ảnh biên thành hai nhóm: điểm biên và điểm không biên
Quá trình này tạo ra một ảnh biên, nơi các điểm biên được làm nổi bật, giúp chúng ta dễ dàng nhận diện và phân loại các cạnh, đường viền hoặc ranh giới.
2.9.5.4 Tìm và xử lý contours của ảnh
Quá trình tìm và xử lý các đường viền (contours) của ảnh diễn ra sau khi ảnh đã được chuyển đổi từ định dạng RGB sang ảnh mức xám và đã nhận diện được các đường biên.
Để tìm contours trong ảnh nhị phân, chúng ta sử dụng thuật toán tìm contours, một phương pháp phổ biến có sẵn trong các thư viện xử lý ảnh như OpenCV Thuật toán này xác định các đường biên liên tục bằng cách tìm và kết hợp các điểm trắng liên tiếp, từ đó tạo ra các đường cong liên tục.
Xử lý contours: Sau khi tìm được contours, ta có thể thực hiện các tác vụ xử lý trên chúng Các tác vụ này bao gồm:
1 Vẽ contours: Đường biên có thể được vẽ lên ảnh gốc hoặc ảnh khác để thể hiện rõ ràng các đối tượng trong ảnh
2 Tính toán thuộc tính của contours: Các thuộc tính như diện tích, chu vi, hình dạng và tâm của các đối tượng trong contours có thể được tính toán Điều này giúp ta có cái nhìn chi tiết về các đối tượng trong ảnh và thực hiện các phân tích tiếp theo
3 Phân loại và nhận dạng: Các đặc trưng hình dạng từ contours có thể được sử dụng để phân loại và nhận dạng đối tượng trong ảnh Các thuật toán máy học và phân loại có thể được áp dụng để nhận dạng các đối tượng dựa trên hình dạng của contours
Thư viện Tesseract là một công cụ mã nguồn mở nổi bật trong lĩnh vực nhận dạng ký tự quang học (OCR) Ban đầu được phát triển bởi nhóm nghiên cứu tại Trung tâm Khoa học Máy tính và Trí tuệ Nhân tạo thuộc Đại học Công nghệ Brno, Cộng hòa Séc, Tesseract đã được Google tiếp nhận và tiếp tục phát triển, nâng cao khả năng nhận diện văn bản từ hình ảnh.
Tesseract là một công cụ mạnh mẽ được phát triển để nhận diện và trích xuất văn bản từ hình ảnh chứa ký tự, hỗ trợ nhiều ngôn ngữ và font chữ khác nhau Nó có khả năng nhận dạng ký tự trong các tình huống phức tạp, bao gồm văn bản nghiêng, mờ, nhiễu, và hình ảnh có chất lượng kém.
Thư viện Tesseract hỗ trợ tích hợp vào các dự án phần mềm thông qua nhiều ngôn ngữ lập trình như C++, Java, Python và C# Tesseract cung cấp khả năng nhận diện văn bản hiệu quả, giúp nâng cao chất lượng ứng dụng của bạn.
API mạnh mẽ cho việc tải và xử lý hình ảnh, nhận dạng ký tự, và trích xuất văn bản từ hình ảnh.
Mã QR
Đặc điểm
Mã QR là mã hai chiều được cấu tạo từ các hình vuông đen và trắng sắp xếp trong một mạng lưới Khác với mã vạch tuyến tính, mã QR có khả năng lưu trữ thông tin theo cả chiều ngang và chiều dọc, cho phép chứa một lượng lớn dữ liệu.
Mã QR có dung lượng lưu trữ linh hoạt, cho phép lưu trữ nhiều loại dữ liệu khác nhau như văn bản, URL, địa chỉ email, số điện thoại, mã sản phẩm và nhiều thông tin khác.
Mã QR sở hữu khả năng chống lỗi và khôi phục dữ liệu hiệu quả Khi một phần của mã bị mờ, mất hoặc xáo trộn do nhiễu hoặc các vấn đề kỹ thuật khác, mã vẫn có thể hoạt động bình thường.
Mã QR cho phép đọc nhanh chóng thông qua các thiết bị như điện thoại di động và máy quét mã QR Ngoài ra, mã QR có thể được tạo và đọc trên nhiều nền tảng khác nhau, bao gồm điện thoại, máy tính và các thiết bị khác.
Cấu tạo
Mã QR (Quick Response) được cấu tạo từ các yếu tố chính sau:
Vùng thám hiểm (Quiet Zone): Đây là vùng trống xung quanh mã QR, không chứa bất kỳ thông tin nào
Hình vuông gốc (Finder Patterns): Mã QR bao gồm ba hình vuông gốc, mỗi hình vuông gồm một hình vuông lớn ở giữa và hai hình vuông nhỏ bên cạnh
Hình vuông điều chỉnh trong mã QR lớn giúp nâng cao độ chính xác và dễ dàng trong việc quét mã.
Vùng dữ liệu (Data Area): Đây là vùng chứa thông tin thực sự trong mã QR
Nó bao gồm các ô (module) đen và trắng sắp xếp thành một mạng lưới hai chiều
Vùng định dạng (Format Area) là khu vực chứa các bit định dạng, bao gồm thông tin về kiểu mã QR, bộ kiểm tra lỗi và các thông số khác liên quan đến mã QR.
Mặt dừng (Timing Patterns): Mặt dừng là các hàng và cột đặc biệt trong mã
QR, giúp đồng bộ hóa quá trình quét mã.
Lý thuyết về SQL Sever
Giới thiệu
SQL Server là hệ quản trị cơ sở dữ liệu quan hệ (RDBMS) được phát triển bởi Microsoft, nổi bật với tính linh hoạt và khả năng mở rộng Nhờ những ưu điểm này, SQL Server đã trở thành một trong những hệ quản trị cơ sở dữ liệu phổ biến nhất toàn cầu.
Đặc điểm và ứng dụng
Dưới đây là một số đặc điểm chính của SQL Server:
SQL Server mang đến những tính năng mạnh mẽ cho quản lý cơ sở dữ liệu, cho phép người dùng dễ dàng tạo, xóa và sửa đổi các cơ sở dữ liệu, bảng, chỉ mục, ràng buộc và quyền truy cập.
SQL Server hỗ trợ ngôn ngữ truy vấn SQL (Structured Query Language), cho phép người dùng truy xuất và tương tác với dữ liệu trong cơ sở dữ liệu Ngôn ngữ SQL cung cấp các câu lệnh quan trọng như SELECT, INSERT, UPDATE và DELETE để thao tác hiệu quả với dữ liệu.
SQL Server đảm bảo tính toàn vẹn dữ liệu thông qua các ràng buộc như khóa chính, khóa ngoại, ràng buộc duy nhất và ràng buộc kiểm tra, giúp duy trì sự nhất quán và chính xác của dữ liệu trong cơ sở dữ liệu.
SQL Server cung cấp tính năng sao lưu và phục hồi dữ liệu, giúp người dùng tạo bản sao lưu an toàn để bảo vệ thông tin và khôi phục dữ liệu hiệu quả khi gặp sự cố.
SQL Server tích hợp nhiều công cụ phát triển như SQL Server Management Studio (SSMS) và SQL Server Data Tools (SSDT), tạo điều kiện thuận lợi cho việc quản lý và phát triển cơ sở dữ liệu một cách hiệu quả.
SQL Server có nhiều ứng dụng rộng rãi trong lĩnh vực công nghiệp và doanh nghiệp Dưới đây là một số ví dụ về ứng dụng của SQL Server:
Hệ thống quản lý cơ sở dữ liệu
Hệ thống giao dịch tài chính
Hệ thống quản lý khách hàng (CRM)
Hệ thống quản lý chuỗi cung ứng (SCM)
Hệ thống phân tích dữ liệu
SQL Server là nền tảng mạnh mẽ và linh hoạt, phổ biến trong nhiều ngành công nghiệp, giúp xây dựng và quản lý các hệ thống cơ sở dữ liệu phức tạp một cách hiệu quả.
TÍNH TOÁN VÀ THIẾT KẾ
Thiết kế cơ khí hệ thống
Thiết kế khung mô hình
3.1.2.1 Lựa chọn mô hình dạng trụ tròn
Bãi đỗ xe hình trụ là giải pháp hiện đại và thông minh cho việc quản lý không gian đỗ xe, mang lại nhiều ưu điểm vượt trội nhờ vào cấu trúc hình trụ.
Tối ưu hóa không gian là một trong những lợi ích nổi bật của bãi đỗ xe hình trụ Thiết kế trụ tròn cho phép sử dụng hiệu quả không gian xung quanh trục trung tâm, từ đó tối đa hóa số lượng chỗ đỗ xe trên diện tích hạn chế.
Bãi đỗ xe hình trụ giúp tiết kiệm thời gian với cơ chế nâng hạ xe tự động Người dùng chỉ cần đặt và lấy xe tại một điểm duy nhất, trong khi hệ thống tự động đảm nhận việc di chuyển và tạo ra chỗ đỗ xe phù hợp.
Bãi đỗ xe hình trụ hiện đại tích hợp các công nghệ thông minh như hệ thống định vị GPS hoặc RFID, giúp việc quản lý và tìm kiếm xe trở nên dễ dàng và chính xác hơn Ngoài ra, giao diện người dùng tương tác cũng được tích hợp để mang lại trải nghiệm thân thiện và tiện lợi cho người dùng Đặc biệt, hệ thống thông tin đỗ xe cũng được áp dụng để cung cấp thông tin về tình trạng đỗ xe, giúp người dùng dễ dàng tìm được chỗ đỗ phù hợp.
Bãi đỗ xe hình trụ cung cấp trải nghiệm tiện lợi và thoải mái cho người dùng nhờ cơ chế tự động Người dùng không cần phải mất thời gian tìm kiếm và di chuyển nhiều trong bãi đỗ để tìm chỗ trống.
Bãi đỗ xe hình trụ là giải pháp hiện đại giúp tối ưu hóa không gian, tiết kiệm thời gian và tăng cường an ninh Với việc tích hợp công nghệ thông minh, bãi đỗ xe này mang lại trải nghiệm tiện lợi cho người dùng, góp phần cải thiện quản lý và điều khiển bãi đỗ xe thông minh.
3.1.2.2 Tính toán thiết kế phần khung Để phù hợp nhất với mô hình xe nhóm có sẵn, nhóm đã xác định các bước cần tính toán để thiết kế được phần khung của mô hình
Xác định kích thước của một vị trí gửi xe
Xác định số tầng mong muốn thực hiện
Xác định được số vị trí gửi xe mỗi tầng
Xác định các thiết bị sẽ can thiệp trực tiếp tới kích thước
Xác định khoảng cách giữa các vị trí gửi xe tương ứng
Xác định chất liệu xây dựng mô hình
Vì quy mô của đề tài là mô hình nên chất liệu phù hợp nhất với phần khung mô hình nhóm chọn là nhựa Mica
Dựa trên kích thước xe mô hình đã có sẵn, nhóm đã xác định kích thước phù hợp cho mỗi vị trí gửi xe là 20cm x 9cm x 10.5cm (dài – ngang – cao), đây là kích thước mấu chốt của phần khung Từ kích thước này, nhóm có thể tính toán các phần còn lại của bộ khung Do cần tính thêm độ dày của vật liệu xây dựng mô hình (1cm với chiều dày mica), kích thước sau khi điều chỉnh cho một vị trí gửi xe sẽ là 20cm x 11cm x 10.5cm (dài – ngang – cao) Ngoài ra, khoảng cách giữa các vị trí gửi xe trong mô hình được đặt là 1.25cm để đảm bảo tính an toàn khi vận hành.
Hình 3.1: Bản vẽ 2D đế chỗ để xe
Hình 3.2: Bản vẽ 2D khung mô hình
Nhóm đã nghiên cứu khoảng cách tối thiểu giữa hai vị trí gửi xe, mặc dù không có kích thước cụ thể, nhưng điều này rất quan trọng cho an toàn phòng cháy chữa cháy Chúng tôi đã ước lượng kích thước này là 40cm trong thực tế, và theo tỉ lệ scale, kích thước tương ứng trên mô hình sẽ là 1.25cm.
Phần khung của hệ thống được thiết kế dưới dạng hình trụ tròn, với khoảng trống ở giữa để lắp đặt cơ cấu xoay và cơ cấu đẩy xe vào các vị trí gửi Để tiết kiệm diện tích, nhóm thiết kế đã quyết định giữ phần trống ở giữa hình tròn, tương ứng với tâm của hình trụ Khoảng trống này cần đáp ứng các yêu cầu như đủ diện tích để đặt xe vào, lấy ra, và phân bổ đều các vị trí gửi xe ở mỗi tầng, đồng thời đảm bảo khoảng cách tối thiểu giữa các xe.
Theo yêu cầu thiết kế ban đầu, mỗi tầng sẽ có 10 vị trí gửi xe, và khoảng cách giữa các vị trí này sẽ được xác định dựa trên chu vi của khoảng trống bên trong, tính theo công thức cụ thể.
Với a là chiều ngang của vị trí và s là khoảng cách tối thiểu của một vị trí
Từ kích thước chu vi trên ta có thể suy ra được đường kính của phần trống bên trong là:
Để thiết kế phần trống phù hợp với chiều dài của xe và đảm bảo chia đều cho các vị trí gửi xe, nhóm dự trù sẽ điều chỉnh chiều dài thêm 1.5 cm từ gốc vị trí gửi xe tới tâm hình tròn Do đó, kích thước đường kính phần khoảng trống sau khi chỉnh sửa sẽ được xác định cụ thể.
Dựa vào các tính toán trên ta có xác định được đường kính của hình trụ hay đường kính của hình tròn ngoài cùng:
D d b cm (3.3) Với d ' và b lần lượt là đường kính khoảng trống bên trong và chiều dài của một vị trí gửi xe
Hình 3.3: Bản vẽ 2D của phần đế khung
Hình 3.4: Bản vẽ 2D phần nắp khung
Vậy bán kính của mô hình hình trụ tròn là 84 / 2 42( cm )
Nhóm đã xác định mục tiêu ban đầu là xây dựng 5 tầng, với kích thước từng vị trí gửi xe được tính toán kỹ lưỡng Để đảm bảo tính khả thi, cần tính toán thêm độ dày của vật liệu thi công ở mỗi phần đế là 0.5 cm, cũng như chiều cao của phần dưới cùng để lắp đặt các thiết bị liên quan đến cơ cấu quay và cơ cấu đẩy một cách hợp lý.
Dưới đây là công thức tính toán chiều cao mà nhóm đã xác định:
Nhóm dự tính thiết kế thêm phần nắp và đáy cho mô hình, nhằm tăng cường độ cứng cáp Độ dày của mỗi phần sẽ là 1 cm, do đó chiều cao tổng cộng của mô hình sẽ là 82 ± 0.5 cm.
Hình 3.5: Bản vẽ 2D lần khung định hình chiều cao
Hình 3.6: Bản thiết kế 3D khung bãi đỗ hoàn thiện
Kết luận, kích thước của phần khung sau khi tính toán và cân nhắc là:
Hình trụ tròn có bán kính là 42(cm) và chiều cao là 83(cm).
Thiết kế cơ cấu đẩy
3.1.3.1 Lựa chọn cơ cấu đẩy
Hiện nay, có nhiều loại cơ cấu đẩy phổ biến trong công nghiệp, được ứng dụng rộng rãi Bài toán nhóm yêu cầu cơ cấu đẩy phải di chuyển vật theo một đường thẳng Sau khi tham khảo tài liệu và nguyên lý hoạt động của các cơ cấu đẩy, nhóm đã chọn lọc một số ví dụ tiêu biểu để trình bày.
1 Xi lanh thủy lực: Sử dụng áp suất dầu thủy lực để tạo lực đẩy và di chuyển vật theo đường thẳng
2 Băng chuyền trục vít: Sử dụng trục vít có răng cưa vít và đai truyền động để chuyển đổi chuyển động quay thành chuyển động tịnh tiến
3 Cơ cấu bi đặc: Sử dụng bộ cơ cấu và khớp nối để chuyển đổi chuyển động quay thành chuyển động tịnh tiến
4 Băng chuyền truyền động: Sử dụng băng chuyền và hệ thống truyền động để di chuyển vật theo một đường thẳng
5 Cơ cấu cam và cơ cấu tay quay: Sử dụng cam hoặc tay quay để tạo ra chuyển động tịnh tiến
6 Cơ cấu tua bin: Sử dụng tua bin và hệ thống truyền động để chuyển đổi chuyển động quay thành chuyển động tịnh tiến
Nhóm yêu cầu cơ cấu đẩy phải có khả năng ứng dụng thực tế, cụ thể là có thể đẩy xe tải trọng lớn và hoạt động hiệu quả trong điều kiện môi trường khắc nghiệt Từ các cơ cấu đẩy đã xem xét, nhóm đã chọn cơ cấu đẩy dùng băng chuyền trục vít là phương án phù hợp nhất với yêu cầu này.
Nguyên lý hoạt động của băng truyền trục vít dựa vào chuyển động quay của động cơ điện, thông qua trục vít có răng cưa vít, để tạo ra chuyển động tịnh tiến cho đai truyền động Bề mặt răng cưa vít tương tác với đai, làm cho đai di chuyển tới hoặc lùi tùy thuộc vào chiều quay của động cơ.
3.1.3.2 Tính toán thiết kế cơ cấu đẩy
Do thiết kế cơ cấu hình trụ của nhóm, đường kính khoảng trống bên trong là 36 cm, vị trí bộ khung cơ cấu phải nằm ở giữa đường tròn, yêu cầu chiều dài của cơ cấu ngắn hơn đường kính khoảng trống và cách đều hai bên Diện tích bộ khung cũng cần đáp ứng yêu cầu cách đều bốn phía so với diện tích đường tròn Bên cạnh đó, chiều dài và chiều rộng của bộ khung phải phù hợp với kích thước vị trí gửi xe Sau khi tính toán, nhóm nhận thấy chiều dài của cơ cấu chính để lấy xe phải lớn hơn 2/3 chiều dài của vị trí gửi xe để đảm bảo khả năng đẩy vào và lấy xe ra.
Nhóm thiết kế nơi để xe với 2 miếng mica rộng 3 cm ở 2 bên và khoảng trống 3 cm ở giữa Yêu cầu là cơ cấu chính phải có chiều rộng nhỏ hơn khoảng trống Cơ cấu đẩy chính được thiết kế hình chữ T với 2 đầu ngang gắn với 2 trục cùng phi, giúp trợ lực và cách đều 2 bên với trục vít, đảm bảo không ảnh hưởng đến phần quay tịnh tiến Cơ cấu này được đặt tên là cơ cấu T, là cơ cấu đẩy chính của mô hình.
Các kích thước của cơ cấu T sẽ được tính theo các công thức sau:
T là chiều dài tối thiểu của cơ cấu T (cm) và a là kích thước chiều dài bằng 2/3 chiều dài của vị trí gửi xe (cm): 2
Để tối ưu không gian trong thiết kế, nhóm đã tính toán cẩn thận và xác định rằng khoảng cách giữa bán kính đường tròn trong và bán kính của bộ khung cơ cấu là b = 2 cm Điều này đảm bảo đáp ứng đủ các yêu cầu về yếu tố vận hành.
Có được kích thước b, cũng như kích thước Từ đó ta thay vào phương trình (3.5), ta sẽ suy ra được số liệu của chiều dài của cơ cấu T:
Để tối ưu hóa việc lấy xe và đảm bảo an toàn, cơ cấu T cần có chiều dài tối thiểu 14.3 cm và chiều rộng của thanh dọc phải đạt 2.5 cm, giúp cơ cấu hoạt động hiệu quả trong việc cất và lấy xe một cách trơn tru.
Sau khi xác định kích thước của b, nhóm thể cần kết hợp với yêu cầu cách đều hai bên đường kính hình tròn trong, từ đó suy ra đường kính hay chiều dài của bộ khung cơ cấu đẩy.
Để tối ưu hóa việc cơ cấu T vào vị trí gửi xe, nhóm thiết kế chiều rộng bộ khung tương ứng với chiều rộng của vị trí gửi xe, đảm bảo khoảng cách giữa vị trí gửi xe và cơ cấu T được đồng bộ Khung của cơ cấu bao gồm động cơ và trục vít, trong đó chiều dài bộ khung để đặt trục vít được xác định là khoảng 28 cm, được gọi là chiều dài bộ khung cơ cấu chính.
Bản thiết kế 3D cho phần cơ cấu vít me và thanh trợ lực được trình bày trong Hình 3.8 Để đảm bảo thanh trục vít nằm ở giữa và cách đều hai mặt bề ngang, nhóm sẽ tiến hành tính toán các khoảng cách cần thiết.
Khoảng cách giữa tâm đường tròn gối đỡ thanh trượt tròn so với bề ngang bộ khung:
Các gối đỗ thanh trượt tròn được phân loại theo các cấp độ h1, h2, h3, h4 Để đảm bảo trục vít cách đều hai bên bộ khung, tâm của đường tròn cần phải trùng với trung điểm của bề ngang Khoảng cách giữa tâm đường tròn gối đỡ vòng bi và bề ngang của bộ khung được tính toán theo công thức cụ thể.
Với k là khoảng cách từ tâm gối đỡ đến cạnh dài của bộ khung
Có được hai khoảng cách từ (3.9), (3.10) ta suy ra được khoảng cách d từ tâm trục vít đến tâm thanh trục trợ lực như sau:
Hình 3.9: Bản vẽ 3D phần cơ cấu đẩy
Dựa vào các khoảng cách và kích thước nhóm đã tính toán, kết hợp với yêu cầu của nhóm, chúng ta có thể xác định chiều dài của cơ cấu T trùng với chiều dài vít Khối lượng dự kiến của toàn bộ cơ cấu đẩy là từ 2 đến 2.2 kg.
Thiết kế cơ cấu quay
3.1.4.1 Lựa chọn cơ cấu quay
Cơ cấu quay được thiết kế để thực hiện việc xoay ổn định 360 độ, đồng thời phải chịu được moment xoắn tương đương với cơ cấu đẩy xe vào và ra khỏi vị trí gửi.
Lựa chọn cơ cấu quay phù hợp là yếu tố quan trọng trong thiết kế và xây dựng hệ thống Quyết định này cần dựa trên việc đánh giá kỹ lưỡng các yếu tố kỹ thuật và yêu cầu hoạt động của ứng dụng Trước tiên, cần xác định rõ yêu cầu vận hành như tốc độ quay, độ chính xác, độ tin cậy và tuổi thọ của cơ cấu quay Điều này đảm bảo cơ cấu quay hoạt động ổn định và đáp ứng các yêu cầu cần thiết.
Khi lựa chọn cơ cấu quay, cần xem xét các loại như động cơ điện, động cơ servo, bánh răng và cam, mỗi loại đều có ưu điểm và hạn chế riêng Việc lựa chọn phù hợp phụ thuộc vào yêu cầu kỹ thuật cụ thể, bao gồm khả năng tải, độ chính xác và tốc độ quay.
Kích thước và trọng lượng của cơ cấu quay là yếu tố quan trọng cần được xem xét để đảm bảo phù hợp với không gian và cấu trúc tổng thể của ứng dụng Việc đánh giá vị trí lắp đặt, hạn chế không gian và hệ thống kết cấu là cần thiết Ngoài ra, độ tin cậy và yêu cầu bảo trì cũng rất quan trọng; cần đánh giá tuổi thọ, khả năng hoạt động liên tục và khả năng chống mài mòn, hư hỏng của cơ cấu quay Đảm bảo rằng cơ cấu quay có thể duy trì hiệu suất cao trong thời gian dài thông qua việc xem xét các yêu cầu bảo trì và sửa chữa là điều cần thiết.
Từ các yếu tố trên nhóm quyết định sử dụng động cơ điện để vận hành cơ cấu quay của mô hình
3.1.4.2 Tính toán thiết kế cơ cấu quay
Cơ cấu đẩy là một phần quan trọng của cơ cấu quay, do đó nhóm thiết kế đã tạo ra một khối mica hình vuông kích thước 15x15 cm để kết nối hai cơ cấu này Ở giữa khối mica có một lỗ tròn đường kính 1cm, và bề dày của bộ khung được chọn là 1cm nhằm tăng cường độ chắc chắn cho phần kết nối giữa cơ cấu quay và cơ cấu đẩy.
Trong thiết kế khung đã xác định, nhóm dự tính sẽ đặt trục xoay tại tâm mô hình Do đó, động cơ Servo được lựa chọn cần có khả năng chịu tải trọng tương đương với khoảng cách bằng bán kính của phần trống đã được tính toán trong thiết kế khung.
Để cố định động cơ trên cơ cấu quay, nhóm thiết kế đã thực hiện việc tính toán khoảng cách của bộ khung cố định động cơ Các khoảng cách này được nhóm tiến hành tính toán một cách chi tiết và chính xác.
Chiều dài và chiều rộng của bộ khung cố định được nhóm thiết lập là 8.5x25.5 cm, phù hợp với không gian thiết kế mô hình Trên bộ khung, nhóm đã tạo hai lỗ với đường kính lần lượt là 1cm và 1.3cm Bề dày của bộ khung cố định được chọn là 1cm để tăng cường độ chắc chắn.
Tâm của đường tròn có đường kính 1cm trùng với tâm của đế đỡ cơ cấu quay, cho phép tính khoảng cách từ tâm này đến chiều rộng của bộ khung là 7.5cm Đồng thời, tâm của đường tròn có đường kính 1.3cm cách tâm của đường tròn 1cm một khoảng 13.75cm và nằm trên một đường thẳng nối từ tâm đường tròn 1cm.
Hình 3.11: Bản vẽ 2D phần nối trục
Kết hợp các bộ khung trên, nhóm sẽ có được bản phác thảo 3D của cơ cấu quay được nhóm sử dụng trong mô hình
Hình 3.12: Bản thiết kế 3D cơ cấu quay
Khối lượng của cơ cấu quay theo dự tính của nhóm là: 3.4-3.6(kg).
Thiết kế cơ cấu nâng hạ
3.1.5.1 Lựa chọn cơ cấu nâng hạ
Sau khi nghiên cứu và tham khảo nhiều tài liệu, nhóm đã xác định được nhiều loại cơ cấu nâng hạ phổ biến, được ứng dụng rộng rãi trong cả công nghiệp và dân dụng Dưới đây là một số cơ cấu đáng chú ý.
1 Cơ cấu nâng hạ bằng xi lanh thủy lực: Được sử dụng phổ biến để nâng và hạ các tải trọng nặng Cơ cấu này sử dụng áp lực chất lỏng tạo ra bởi bơm thủy lực để tạo lực nâng mạnh mẽ và ổn định
2 Cơ cấu nâng hạ bằng cáp và guồng: Sử dụng hệ thống cáp, máy kéo và nguồng để tăng giảm chiều cao của các phương tiện hoặc tải trọng Đây là cơ cấu thường được sử dụng trong thang máy, cẩu và các hệ thống nâng hạ trong công nghiệp và xây dựng
3 Cơ cấu nâng hạ bằng ốc vít: Sử dụng ốc vít và vòng tròn trượt để tạo lực nâng và hạ Cơ cấu này thường được sử dụng trong các thiết bị y tế, máy móc chính xác và các ứng dụng dân dụng khác
4 Cơ cấu nâng hạ bằng cần cẩu: Sử dụng cần cẩu và cần cẩu điều khiển để nâng và hạ các tải trọng lớn Cơ cấu này được sử dụng rộng rãi trong công nghiệp xây dựng, vận chuyển và cảng biển
5 Cơ cấu nâng hạ bằng bơm khí: Sử dụng áp suất khí nén để tạo lực nâng và hạ Cơ cấu này thường được sử dụng trong các ứng dụng dân dụng như ghế nâng hạ, giường nâng hạ và các thiết bị y tế
Nhóm đã ưu tiên việc điều khiển chính xác vị trí và độ cao giữa các tầng của hệ thống gửi xe Sau khi cân nhắc kỹ lưỡng, nhóm quyết định chọn cơ cấu thang máy làm phương tiện nâng hạ cho mô hình, và bắt đầu tiến hành tính toán, đo đạc cũng như thiết kế phần cơ cấu nâng hạ.
3.1.5.2 Tính toán thiết kế cơ cấu nâng hạ
Nhóm nhận thấy không gian trên khung mô hình không đủ để lắp đặt các thiết bị liên quan đến cơ cấu nâng hạ Do đó, nhóm đã quyết định thiết kế thêm một phần bên cạnh khung để có thể lắp đặt các thiết bị của cơ cấu một cách hợp lý.
Hình 3.13: Bản vẽ 2D phần Mica mở rộng
Nhóm thiết kế sẽ tạo ra một đối trọng hình hộp gồm 6 miếng mica ghép lại, bên trong chứa các thanh tạ để điều chỉnh khối lượng phù hợp với tải trọng Kích thước của hộp đối trọng được thiết kế là 12x6.5x24 cm.
Hình 3.14: Bản vẽ 2D phần Mica đối trọng
Sau khi, kết nối các phần đã thiết kế 2D, nhóm đã phác thảo được bản vẽ 3D của cơ cấu nâng hạ của mô hình
Hình 3.15: Bản thiết kế 3D phần mở rộng của cơ cấu nâng hạ
3.2.1 Yêu cầu thiết kế phần điện
Khi thiết kế hệ thống điện cho mô hình bãi đỗ xe tự động, cần chú trọng đến một số yếu tố cơ bản để đảm bảo hoạt động hiệu quả và an toàn Những yếu tố này bao gồm việc lựa chọn thiết bị chất lượng, đảm bảo tính ổn định của nguồn điện, và thiết lập các biện pháp bảo vệ an toàn cho người sử dụng và phương tiện.
Nguồn điện ổn định
Hệ thống dây và cáp
Bảo vệ quá dòng và quá áp
3.2.2 Sơ đồ khối và chức năng của từng khối
Hình 3.16: Sơ đồ khối tổng quan
Chức năng của từng khối:
Khối nguồn trong hệ thống bãi đỗ xe thông minh đóng vai trò quan trọng trong việc cung cấp nguồn điện ổn định và đáng tin cậy cho các thiết bị khác Nó bao gồm bộ chuyển đổi nguồn và bộ điều chỉnh điện áp, cùng với các thành phần bảo vệ như cầu chì và cầu dao, nhằm đảm bảo an toàn và ổn định cho toàn bộ hệ thống.
Bộ điều khiển trung tâm: Đây là "bộ não" của hệ thống bãi đỗ xe thông minh
Bộ điều khiển trung tâm là thiết bị quản lý và điều khiển hoạt động của hệ thống, bao gồm kiểm soát lưu lượng phương tiện và quản lý thông tin đỗ xe Nó tương tác với người dùng và các khối khác trong hệ thống, sử dụng phần mềm và công nghệ để cung cấp các tính năng như định vị xe, điều khiển cửa vào/ra, hiển thị thông tin và tính toán phí đỗ xe.
Khối vận chuyển là phần quan trọng trong việc di chuyển các phương tiện trong bãi đỗ xe, sử dụng các thiết bị như cần cẩu, hệ thống nâng hạ hoặc robot Thiết kế của khối này cần phải chính xác và an toàn để đảm bảo việc vận chuyển xe diễn ra hiệu quả và ổn định.
Khối nhận dạng xe là công nghệ quan trọng trong việc xác định và nhận dạng các phương tiện đỗ tại bãi đỗ xe Nó sử dụng các thiết bị như camera, cảm biến và hệ thống nhận dạng biển số hoặc hình ảnh để thu thập dữ liệu về các phương tiện.
Các khối trong hệ thống bãi đỗ xe thông minh dạng trụ đóng vai trò quan trọng, đảm bảo sự tương tác và tích hợp chính xác Điều này giúp hệ thống hoạt động hiệu quả và ổn định, tạo ra môi trường đáng tin cậy và thuận tiện cho người sử dụng.
3.2.3 Chọn thiết bị cho từng khối
Thiết kế phần điện
Sơ đồ khối và chức năng của từng khối
Hình 3.16: Sơ đồ khối tổng quan.
Chọn thiết bị cho từng khối
Khối nguồn trong hệ thống bãi đỗ xe thông minh đóng vai trò quan trọng trong việc cung cấp nguồn điện ổn định và đáng tin cậy cho các thiết bị khác Nó bao gồm các thành phần như bộ chuyển đổi nguồn, bộ điều chỉnh điện áp, cùng với các thiết bị bảo vệ điện như cầu chì và cầu dao, nhằm đảm bảo an toàn và ổn định cho toàn bộ hệ thống.
Bộ điều khiển trung tâm: Đây là "bộ não" của hệ thống bãi đỗ xe thông minh
Bộ điều khiển trung tâm là thành phần quan trọng trong hệ thống, đảm nhiệm việc quản lý và điều khiển hoạt động như kiểm soát lưu lượng phương tiện và quản lý thông tin đỗ xe Nó tương tác với người dùng và các khối khác trong hệ thống thông qua phần mềm và công nghệ tiên tiến, cung cấp các tính năng như định vị xe, điều khiển cửa vào/ra, hiển thị thông tin và tính toán phí đỗ xe một cách hiệu quả.
Khối vận chuyển có nhiệm vụ chính là di chuyển các phương tiện trong bãi đỗ xe, sử dụng các thiết bị như cần cẩu, hệ thống nâng hạ hoặc robot Thiết kế của khối này cần phải chính xác và đảm bảo an toàn, nhằm thực hiện việc vận chuyển xe một cách hiệu quả và ổn định.
Khối nhận dạng xe là công nghệ quan trọng giúp xác định và nhận diện các phương tiện đỗ trong bãi đỗ xe Bằng việc sử dụng camera, cảm biến và hệ thống nhận dạng biển số hoặc hình ảnh, khối này thu thập dữ liệu chính xác về các phương tiện.
Các khối trong hệ thống bãi đỗ xe thông minh dạng trụ đóng vai trò quan trọng trong hoạt động tổng thể Sự tương tác và tích hợp chính xác giữa các khối này đảm bảo hiệu quả và ổn định của bãi đỗ xe, tạo ra môi trường đáng tin cậy và thuận tiện cho người sử dụng.
3.2.3 Chọn thiết bị cho từng khối
3.2.3.1 Khối nguồn Để cấp nguồn cho toàn bộ hệ thống, nhóm sử dụng nguồn tổ ong 24V 5A có tác dụng biến đổi nguồn điện xoay chiều 220VAC thành 24VDC vì đa số các thiết bị điện nhóm dùng có nguồn áp 24VDC
Điện áp ngõ vào: 185 – 260 VAC
Điện áp ngõ ra: 24VDC
Ngoài ra, để đảm bào an toàn về mặt đóng ngắt điện nhóm chọn MCB
Cụ thể ở mô hình này nhóm sử dụng CB TaiAN JAYA TJ636 C32
Hình 3.18: CB TaiAN JAYA TJ636 C32
Điện áp định mức: 230VAC
Dòng cắt ngắn mạch: 6kA
3.2.3.2 Bộ điều khiển trung tâm Để lập trình vận hành cho toàn bộ hệ thống, nhóm sử dụng CPU của siemen để điều khiển chính, bên cạnh đó nhóm còn sử dụng 3 driver tương ứng với 3 động cơ Cụ thể như sau:
CPU: Nhóm sử dụng CPU S7-1200 1214C DC/DC/DC để phù hợp với nhu cầu điều khiển của mô hình
Hình 3.19: CPU S7-1200 1214C DC/DC/DC Bảng 3.1: Thông số CPU S7-1200 1214C DC/DC/DC [4]
Kích thước vật lý (mm) 110x100x75
Bộ nhớ làm việc 50 kB
Bộ nhớ giữ lại 2 kB
Kiểu số 14 ngõ vào / 10 ngõ ra
Các bộ đếm tốc độ cao 6 Đơn pha 3 tại 100 kHz
PROFINET 1 cổng truyền thông Ehternet
Tốc độ thực thi tớnh toỏn thực 18 às/lệnh
Tốc độ thực thi Boolean 0,1 às/lệnh
Tiếp đến để điều khiển được động cơ Step NEMA 17, nhóm sử dụng driver DM542 để điều khiển
Hình 3.20: driver DM542 Bảng 3.2: Thông số Driver DM542 [6]
Tên thông số Thông số Điện áp hoạt động 20~50 VDC
Dòng điện đầu ra Max 4.2A
Dòng tín hiệu logic 7~16 mA
Tần xung 0~200kHz Điện trở cách ly 500MΩ
Ngoài ra, nhóm còn phải điều khiển động cơ Servo, vì thế nên nhóm chọn driver MR-j2S-10A để phù hợp với việc điều khiển
Hình 3.21: driver MR-j2S-10A Bảng 3.3: Thông số Driver MR-J2S-10A [8]
STT TÊN THÔNG SỐ THÔNG SỐ
1 Điện áp cấp vào driver 200-230 (V)
2 Dòng điện cấp vào driver 0.9 (A) - 3 phase
3 Tần số biến đổi cho phép ±5%
4 Chức năng điều khiển Speed, position, torque
5 Công suất đầu ra định mức 0.1(kW)
Để điều khiển động cơ 3 pha, nhóm cần sử dụng biến tần siemen V20 với dòng điện đầu ra 1.1 (A) Việc lựa chọn biến tần này là kết quả của quá trình nghiên cứu nhằm đảm bảo hiệu quả trong việc điều khiển động cơ cuối cùng.
Bảng 3.4: Thông số biến tần V20 [9]
Tên thông số Thông số Điện áp đầu vào 1 pha 220VAC
Dòng điện đầu vào 4.5A Điện áp đầu ra 3 pha 220VAC
Khối vận chuyển của nhóm sẽ được trang bị ba loại động cơ: một động cơ Step NEMA 17 cho cơ cấu đẩy, một động cơ Servo Mitsubishi HC-KFS13 cho cơ cấu quay, và một động cơ 3 pha Bonfiglioli BN63C4 cho cơ cấu nâng hạ.
Nhóm sử dụng động cơ Step NEMA 17 trong cơ cấu đẩy, mang lại ưu điểm nổi bật về khả năng điều khiển chính xác vị trí và duy trì vị trí ổn định.
Hình 3.23: Đông cơ Step NEMA 17
Bảng 3.5: Thông số động cơ Step NEMA 17 [5]
Tên thông số Thông số
Cường độ định mức 1.5A
Góc quay mỗi bước là 1.8 độ với điện áp định mức 24VDC Để đảm bảo điều khiển chính xác từng vị trí trong cơ cấu quay, động cơ servo Mitsubishi HC-KFS13 được lựa chọn nhờ vào các ưu điểm nổi bật của nó.
Hình 3.24: Động cơ Servo HC-KFS13 của Mitsubishi
Bảng 3.6: Thông số động cơ Servo HC-KFS13.[7]
STT TÊN THÔNG SỐ THÔNG SỐ
1 Moment xoắn định mức 0.32 (N.m)
3 Tốc độ quay định mức 3000 (rpm)
4 Tốc độ quay tối đa 4500 (rpm)
5 Công suất định mức 0.1(kW)
6 Dòng điện định mức 0.71(A)
8 Tốc độ hồi tiếp của Encoder 131072
9 Điện áp định mức 220 (V)
Để tính toán thông số cân nặng của cơ cấu đẩy cho động cơ servo, cần biết trọng lượng là 2.2 kg và chiều dài tối đa từ tâm mô hình thiết kế là 15.5 cm Dựa vào hai thông số này, nhóm sẽ tiến hành các phép tính cần thiết.
Dưới đây là một số công thức tính toán: [2]
Ta có, moment xoắn của động cơ nên sẽ suy ra được tại khoảng cách
15.5( cm )động cơ sẽ chịu được tải là:
Vậy khoảng cách 15.5( cm ) tính từ tâm của động cơ tức tâm của mô hình thì động cơ sẽ chịu được một tải có khối lượng:
So sánh với khối lượng của cơ cấu đẩy thì thấy khối lượng mà động cơ có thể tải không đủ
Nhóm quyết định lắp thêm hộp số với tỷ lệ gấp 50 lần so với động cơ, nghĩa là mỗi vòng quay của trục động cơ tương đương với 1/50 vòng của trục hộp số Điều này cũng đồng nghĩa với việc moment xoắn sẽ tăng gấp 50 lần so với moment xoắn của động cơ.
Hợp số có hình dạng và các thông số sau:
Hình 3.25: Hộp số ATG PGX44-H-50
Bảng 3.7: Thông số hộp số ATG PGX44-H-50
STT TÊN THÔNG SỐ THÔNG SỐ
1 Tốc độ đầu vào định mức 3000 (rpm)
2 Tốc độ đầu vào tối đa 6000 (rpm)
4 Moment xoắn đầu ra định mức 14 (N.m)
5 Lực xuyên tâm tối đa 720(N)
6 Lực dọc trục tối đa 360 (N)
Tức rằng tại khoảng cách 15.5( cm )hộp số sẽ chịu được tải là:
Vậy khối lượng hộp số sẽ chịu được ở khoảng cách đó là:
Cơ cấu nâng hạ là phần cuối cùng trong nhóm sử dụng động cơ, và việc chọn động cơ có công suất phù hợp là rất quan trọng để nâng hạ tải trọng mô hình Do đó, nhóm đã quyết định chọn động cơ 3 pha Bonfiglioli BN63 C4.
Hình 3.26: Động cơ 3 pha Bonfiglioli BN63 C4
Bảng 3.8: Thông số động cơ 3 pha Bonfiglioli BN63 C4.[3]
Tên thông số Thông số
Công suất động cơ 0.25kW/50Hz Điện áp 230VAC
Để chọn động cơ ba pha với tốc độ quay 1340 RPM, cần tính toán khối lượng của hai cơ cấu nâng hạ và đối trọng đã được thiết kế Nhóm đã dự tính khối lượng này dựa trên thông số của các động cơ, hộp số và các thiết bị liên quan Theo dữ liệu ước tính từ hai phần thiết kế, khối lượng tải của động cơ ba pha được xác định từ khối lượng của hai cơ cấu.
Tuy số liệu trên có thể không hoàn toàn chính xác nhưng cũng sẽ sai lệch trong khoảng có thể tính toán của nhóm
Sơ đồ nối dây
Mô hình bãi đỗ xe thông minh dạng trụ nhóm được thiết kế với hai động cơ sử dụng nguồn áp 220VAC, bao gồm động cơ 3 pha Bonfiglioli BN63 C4 và động cơ Servo Mitsubishi HC-KFS13 Mạch động lực của hai động cơ này sẽ được nhóm vẽ chung trong một sơ đồ để đảm bảo tính đồng bộ và hiệu quả trong hoạt động.
Sơ đồ mạch động lực của động cơ 3 pha và Servo được mô tả trong Hình 3.28 Nhóm sử dụng Inverter Siemen V20 để điều khiển động cơ 3 pha, với nguồn áp cấp 1 pha 220VAC để biến tần hoạt động Đầu ra của V20 cung cấp điện áp 3 pha 220VAC, được kết nối trực tiếp với động cơ 3 pha Bonfiglioli BN63 C4 Để đảm bảo an toàn, động cơ và mạch sẽ được bảo vệ khỏi ngắn mạch bằng MCB TaiAN JAYA TJ636 C32.
Nhóm đã sử dụng driver MR-J2S-10A để điều khiển động cơ Servo Mitsubishi HC-KFS13, với nguồn áp 220VAC cấp vào driver Đầu ra của driver bao gồm hai sợi cáp: một sợi cáp 4 dây nhỏ cung cấp 220VAC trực tiếp cho động cơ Servo và một sợi cáp 8 dây kết nối với bộ Encoder tích hợp trong động cơ Đối với động cơ Step NEMA 17, do yêu cầu nguồn áp chỉ từ 20 đến 50 VDC, nhóm đã thiết kế một mạch động lực riêng biệt.
Động cơ Step NEMA 17 được điều khiển bởi driver DM542, với sơ đồ mạch động lực được thể hiện trong hình 3.29 Driver DM542 hoạt động hiệu quả trong khoảng nguồn áp nhất định, đảm bảo hiệu suất tối ưu cho động cơ.
20 ~ 50 VDC Đầu ra của driver sẽ gồm 4 ngõ ra tương ứng với 2 cặp dây của
2 cuộn dây được cấu tạo ở bên trong động cơ Step NEMA 17 Nhóm đấu 2 cuộn dây có trong động cơ với các ngõ ra phù hợp của driver DM542
Tất cả thiết bị trong nhóm điều khiển và vận hành hệ thống được điều khiển thông qua CPU 1214C DC/DC/DC, dẫn đến việc nhóm thiết lập mạch nối dây PLC phù hợp.
Để cấu hình mạch nối dây PLC, cần kết nối các ngõ vào và ra với nguồn 24VDC Cụ thể, các ngõ 3L+ và L+ sẽ được đấu vào nguồn dương 24VDC, trong khi 3M và M sẽ kết nối với nguồn 0VDC Đối với ngõ vào, nhóm lựa chọn phương pháp đấu nối theo kiểu “Source”, vì vậy ngõ 1M sẽ được đấu lên nguồn dương 24VDC Ngoài ra, ngõ ra I0.0 và I0.1 cũng sẽ được kết nối tương ứng.
Bộ Encoder đếm xung có 2 dây pha và 2 dây nguồn âm dương, cần đấu nối với 24VDC và 0VDC để hoạt động Ngõ vào I0.2 và I0.3 được kết nối với nút Start và Stop tương ứng Đầu còn lại của nút nhấn được đấu với nguồn 0VDC.
Ngõ ra của PLC được sử dụng để điều khiển ba động cơ, trong đó Q0.0 và Q0.1 kết nối với nguồn dương của hai relay, với nguồn âm đấu vào 0VDC Tiếp điểm thường hở của cả hai relay được kết nối với 24VDC từ biến tần V20, điều khiển động cơ 3 pha qua DI1 và DI2 Ngõ ra Q0.2 và Q0.3 điều khiển động cơ Step thông qua driver DM542, với Q0.2 đấu vào chân Pulse+ và Q0.3 vào chân DIR+ của driver, trong khi Pulse- và DIR- được kết nối với 0VDC Q0.4 và Q0.5 cũng kết nối với driver MR-j2S-10A, với Q0.4 vào chân Pulse và Q0.5 vào chân DIR, sử dụng hai trở 2.2kΩ Driver MR-j2S-10A còn có chân VCC đấu vào 24VDC và VDD vào 0VDC Cuối cùng, Q0.6 được kết nối với đèn hiệu, với chân còn lại đấu vào 0VDC.
Thiết kế tủ điện
Sau khi tiến hành đo đạc thiết bị và số lượng cần thiết, nhóm đã quyết định sử dụng tủ điện với kích thước 50cm x 60cm x 22cm Dựa trên kích thước này, nhóm tiếp tục phát thảo cách bố trí và khoảng cách giữa các thiết bị trong mô hình.
Để tối ưu hóa không gian và tính thẩm mỹ của tủ điện, nhóm đã sử dụng bốn máng nhựa đi dây 20x20mm dài 38cm và một máng nhựa 40x40mm dài 54cm Bố cục tủ được chia thành ba phần: CPU, Driver và Terminal Block Máng nhựa 40x40mm được đặt sát mép bên trái tủ điện Phần CPU nằm ở phía trên cùng, với máng nhựa đầu tiên đặt sát mép tủ và cách CPU 2cm để thuận tiện cho việc đi dây CPU cũng được bố trí cách đều hai bên tủ điện MCB được đặt cách máng nhựa đầu tiên 3cm và cách CPU 5cm Phần relay sẽ được lắp đặt tiếp theo.
Hai relay được đặt sát nhau và cách máng nhựa 3.5cm, cách CPU khoảng 4cm Đối với phần Driver, nhóm sẽ đặt máng nhựa thứ hai cách CPU 2cm Inverter V20 sẽ được đặt cách đều hai bên tủ điện và cách máng nhựa thứ hai 2.9cm Driver MR-j2S-10A sẽ được đặt cách V20 5cm và cách máng nhựa thứ hai 2cm, như hình vẽ Driver DM542 cũng được đặt tương tự, cách đều máng nhựa thứ hai 4cm và cách V20 6cm, theo hình vẽ.
Cuối cùng, nhóm sẽ lắp ghép hai thanh Terminal Block ngang và đặt chúng sát nhau, cách đều hai bên tủ điện Máng nhựa thứ ba sẽ được đặt cách Inverter V20 khoảng 3cm, trong khi máng nhựa cuối cùng sẽ được đặt sát mép dưới của tủ điện Hai thanh terminal sẽ được đặt cách máng nhựa thứ ba khoảng 4,5cm Nguồn tổ ong sẽ được lắp lên phần khung bên mép phải của tủ điện, đảm bảo cách đều tất cả các mặt trong tủ điện như hình vẽ.
Nhóm thiết kế bố trí thiết bị không chỉ nhằm mục đích dễ dàng cho việc đi dây và nâng cao tính thẩm mỹ, mà còn để đảm bảo rằng các thiết bị có đủ không gian thoáng mát để tỏa nhiệt Sau khi hoàn thành việc phác họa và bố trí, nhóm đã tiến hành vẽ mô hình 3D cho tủ.
Hình 3.32: Thiết kế 3D của tủ điện.
Lưu đồ giải thuật
Nguyên lý hoạt động của hệ thống
Dựa vào yêu cầu trên nhóm đã phân tích hệ thống thành ba quy trình chính trong toàn bộ quá trình của hệ thống
Sau khi xe vào vị trí, nhấn nút cho phép để camera ghi lại hình ảnh và xử lý Chỉ khi nhận diện được biển số, thông tin mới được gửi đến PLC PLC sẽ tính toán vị trí xe, gửi thông tin đến các vị trí gần nhất theo thứ tự cho đến khi hết một tầng, sau đó tiếp tục vào các vị trí trống tương tự Sau khi hoàn tất tính toán, PLC sẽ gửi lại số nguyên cho máy tính để in QR Thông tin này cùng với phiếu giữ xe sẽ được in ra và lưu trữ trên SQL Server để người giám sát cung cấp cho khách hàng.
Giao diện giám sát sẽ hiển thị khung quét mã QR trên thẻ giữ xe của khách Sau khi phân tích mã QR, số nguyên sẽ được gửi tới PLC để lấy xe tại vị trí tương ứng Thông tin xe được truy xuất từ SQL Server để tính toán số tiền cần thanh toán, và hóa đơn sẽ được in ra cùng với thông tin liên quan trước khi xe được trả Đồng thời, thông tin xe cũng sẽ được lưu trên SQL Server trong bảng dữ liệu lịch sử và xóa khỏi bảng dữ liệu xe.
Quá trình xử lý mất thẻ và truy xuất:
Nhóm sẽ đơn giản hóa và kết hợp quy trình truy xuất dữ liệu liên quan đến xe Giao diện sẽ hiển thị khung nội dung cho việc truy xuất xe, bao gồm cả xe đã gửi và đã lấy Khi giám sát viên nhập biển số xe, dữ liệu sẽ được truy xuất từ SQL Server theo thời gian gần nhất Nếu xe đang trong hệ thống bãi đỗ, thông tin hiển thị sẽ bao gồm biển số, ngày giờ vào và vị trí gửi xe Ngược lại, nếu biển số xe đã được lấy, thông tin sẽ hiển thị biển số, ngày giờ gửi, ngày giờ lấy, chi phí và vị trí gửi xe đã được lấy Giám sát viên có thể chọn in thẻ hoặc hóa đơn tương ứng, và nếu khách đồng ý lấy xe, có thể thực hiện quét mã và các bước như trong quy trình lấy xe.
Lưu đồ giải thuật
Dựa vào nguyên lý nói trên, nhóm đã thiết kế ra được các lưu đồ tương ứng với ba quá trình chính
Lưu đồ quá trình xe vào hệ thống:
Hình 3.33: Lưu đồ giải thuật truy xuất thông tin Python
Hình 3.34: Lưu đồ giải thuật cất xe Python Hình 3.35: Lưu đồ giải thuật cất xe PLC
Hình 3.36: Lưu đồ giải thuật lấy xe Python Hình 3.37: Lưu đồ giải thuật lấy xe PLC
Giới thiệu
Phần thi công mô hình là bước quan trọng trong quá trình thực hiện dự án xây dựng, đòi hỏi sự chuyên nghiệp, kiên nhẫn và tinh thần sáng tạo Với quy trình và kỹ thuật phù hợp, phần thi công mô hình đóng vai trò then chốt trong việc tạo ra các công trình đẹp, chính xác và có tính ứng dụng cao.
Nhóm sẽ tiến hành thi công mô hình này dựa trên cơ sở lý thuyết cùng các tính toán và thiết kế đã được thực hiện ở chương 2 và chương 3, chia thành các phần để thi công lần lượt.
Thi công cơ khí: Ở phần này nhóm sẽ tiến hành lắp ráp khung mô hình sau khi đã thiết kế và cắt Mica ra từng mảnh
Thi công phần điện được thực hiện dựa trên sơ đồ nối dây tổng quát và sơ đồ tủ điện Nhóm thi công sẽ tiến hành đấu nối theo sơ đồ đã được phê duyệt, đồng thời điều chỉnh khoảng cách để đảm bảo việc đi dây điện được hợp lý và an toàn.
Thi công chương trình điều khiển là quá trình thực hiện dựa trên các phần mềm lập trình như Tia Portal và VS Code Những phần mềm này đóng vai trò quan trọng trong việc phát triển và triển khai các chương trình điều khiển hiệu quả.
Thi công giao diện giám sát và điều khiển được thực hiện bằng cách sử dụng phần mềm Qt Designer kết hợp với lập trình ngôn ngữ Python, nhằm tối ưu hóa chương trình điều khiển.
4.2 Danh sách các thiết bị thi công
Bảng 4.1: Dánh sách có thiết bị thi công
THIẾT BỊ SỐ LƯỢNG CHI PHÍ
Gối đỡ thanh trượt tròn phi 8 4 56.000
Gối đỡ bạc đạn tuyến tính phi 8 2 102.000
Vít me phi 8 1 37.000 Đai ốc vít me phi 8 1 12.000
Khớp nối động cơ Step 1 14.000
Gá đỡ động cơ Step 1 20.000 Động cơ Step NEMA 17 1 149.000
Gối đỡ vòng bi phi 5 2 70.000
Gối đỡ vòng bi phi 10 2 72.000
Khớp nối mặt bích 2 60.000 Động cơ 3 pha Bonfiglioli 1 2.500.000
Driver MR-j2S-10A và động cơ Servo 1 1.400.000
Nút nhấn nhả 2 52.000 Đèn hiệu 1 4.000 Đầu cosse bít đầu 30 7.000 Đầu cosse kim 50 75.000 Đầu cosse chữ Y 200 60.000
Gối đỡ vòng bi ngang phi 10 2 100.000
Gối đỡ ti trượt tròn phi 10 1 20.000
Phần đế của mô hình được làm từ tấm gỗ đúc kích thước 120 x 80 cm, và được trang bị 6 bánh xe nhỏ ở dưới chân để dễ dàng di chuyển.
Dựa trên các phần chuẩn bị trước cho thi công cơ khí, nhóm đã xác định một số yêu cầu cần thiết để đảm bảo quá trình thi công diễn ra đúng theo lộ trình mà nhóm đã đề ra.
Thi công lắp đặt phần khung mô hình chắc chắn
Lắp đặt sao cho các vị trí gửi xe có cùng kích thước
Thi công phần cơ khí của các cơ cấu có thể hoạt động ổn định
Sử dụng có thiết bị liên quan để hỗ trợ thi công
Lập được bảng báo cáo các thiết bị đã sử dụng
4.3.2 Thi công khung mô hình
Dựa vào thiết kế 3D của khung, nhóm đã chuyển sang bảng vẽ 2D để cắt Mica và lắp ráp các phần vào đế khung Để thi công lắp đặt, cần có một bề mặt chắc chắn để cố định các bộ phận Nhóm đã sử dụng tấm gỗ đúc kích thước 120 x 80 cm làm phần đế, và dưới chân tấm gỗ sẽ được gắn 6 bánh xe nhỏ để dễ dàng di chuyển mô hình.
Với phần khung dựa vào thiết kế trước ta có các phần được cắt Mica như sau:
Ngoài ra còn có phần nắp và đế của bộ khung cũng được tiến hành cắt Mica
Ta đặt tấm đế Mica lên tấm gỗ và cố định bằng các thanh nhôm kích thước 2x2(cm) với chiều cao 84(cm) Mục đích của các thanh nhôm này là đảm bảo độ chắc chắn cho toàn bộ khung.
Hình 4.1: Cố định đế của bộ khung
Tiếp theo, chúng ta lắp ráp các mảnh cắt Mica để tạo thành một cột gồm 5 chuồn chồng lên nhau Thiết kế phần đế khung đã được đục các lỗ tương ứng, giúp việc lắp ghép các mảnh trở nên dễ dàng Để tăng độ ổn định cho hai tấm vách của cột, nhóm thiết kế một tấm Mica hình chữ nhật liên kết hai tấm vách với đế khung.
Hình 4.2: lắp đặt phần thân vào đế khung
Tương tự như 8 cột còn lại, quá trình lắp đặt sẽ được thực hiện theo quy trình đã mô tả Sau khi hoàn tất việc lắp đặt 9 cột, chúng ta sẽ đậy nắp lại để cố định các cột và liên kết mô hình thành một khối vững chắc Cuối cùng, để hoàn thiện mô hình, chúng ta sẽ lắp hai mảnh mica vào các vách của một cột, tạo thành các vị trí tương ứng cho khu vực gửi xe.
Hình 4.3: Lắp đặt đế vị trí gửi xe
4.3.3 Thi công cơ cấu đẩy
Dựa trên thiết kế ở chương 3, nhóm tiến hành lắp đặt cơ cấu đẩy với phần đế làm từ Mica, được khoan lỗ để lắp đặt thiết bị và kết nối với cơ cấu quay Đầu tiên, lắp đặt cơ cấu vít me và đai ốc, sau đó cố định cơ cấu bằng hai gối đỡ vòng bi ở đầu và cuối trục vít mẹ, đảm bảo trục vít me nằm ở giữa theo chiều ngang của đế cơ cấu.
Để lắp đặt động cơ Step, cần đảm bảo tâm động cơ trùng với tâm trục vít me Để trục vít me chuyển động song song với trục động cơ, cần lắp thêm một khớp nối cứng giữa hai trục Cuối cùng, cố định động cơ để đảm bảo hoạt động ổn định.
Hình 4.4: Đặt động cơ Step vào cơ cấu đẩy
Trong quá trình cố định động cơ, nhóm đã lắp thêm giá đỡ trục động cơ Step, nhưng giá đỡ này thấp hơn so với phần đế của cơ cấu Để khắc phục, nhóm đã cắt thêm một tấm Mica và cố định nó thấp hơn với phần đế của cơ cấu.
Tiến hành lắp đặt cơ cấu T theo thiết kế đã nêu, sử dụng các thiết bị như hai thanh trượt tròn, bốn gối đỡ thanh trượt tròn, hai con trượt vuông và các phần cắt Mica Lắp phần cắt Mica của cơ cấu T với đai ốc của cơ cấu vít me, sau đó cố định hai bên của cơ cấu T với hai con trượt vuông tương ứng.
Hình 4.5: Lắp đặt cơ cấu T vào cơ cấu đẩy
4.3.4 Thi công cơ cấu quay
Trước khi lắp đặt các thiết bị liên quan đến cơ cấu quay ta cần tạo được phần khung của cơ cấu quay
Thi công cơ khí
Thi công khung mô hình
Dựa vào bảng thiết kế 3D của phần khung, nhóm đã chuyển sang bảng vẽ 2D để cắt Mica và lắp ráp từng phần vào đế của bộ khung Để thi công lắp đặt các bộ phận khung, cần một bề mặt vững chắc để đặt và cố định các bộ phận Nhóm đã sử dụng tấm gỗ đúc với kích thước 120 x 80 cm làm phần đế, và dưới chân tấm gỗ này sẽ được gắn thêm 6 bánh xe nhỏ để dễ dàng di chuyển mô hình.
Với phần khung dựa vào thiết kế trước ta có các phần được cắt Mica như sau:
Ngoài ra còn có phần nắp và đế của bộ khung cũng được tiến hành cắt Mica
Ta đặt tấm đế Mica lên tấm gỗ và cố định bằng các thanh nhôm kích thước 2x2(cm) có chiều cao 84(cm) Mục đích của các thanh nhôm này là tăng cường độ chắc chắn cho toàn bộ khung.
Hình 4.1: Cố định đế của bộ khung
Tiếp theo, chúng ta lắp ráp các mảnh cắt Mica để tạo thành một cột gồm 5 chuồn chồng lên nhau Với thiết kế phần đế khung đã được đục các lỗ tương ứng, việc lắp ráp các mảnh trở nên dễ dàng hơn Để tăng độ ổn định cho hai tấm vách của cột, nhóm thiết kế một tấm Mica hình chữ nhật liên kết hai tấm vách với đế khung.
Hình 4.2: lắp đặt phần thân vào đế khung
Cùng với 8 cột còn lại, quy trình lắp đặt sẽ được thực hiện tương tự như đã mô tả Sau khi hoàn tất việc lắp đặt đủ 9 cột, chúng ta sẽ tiến hành đậy nắp để cố định các cột và liên kết chúng thành một khối thống nhất Cuối cùng, để hoàn thiện mô hình, cần lắp hai mảnh Mica đế vào các vách của một cột, tạo thành các vị trí tương ứng cho khu vực gửi xe.
Hình 4.3: Lắp đặt đế vị trí gửi xe.
Thi công cơ cấu đẩy
Dựa vào thiết kế ở chương 3, nhóm tiến hành lắp đặt cơ cấu đẩy với phần đế làm từ Mica, được khoan lỗ để lắp đặt thiết bị và kết nối với cơ cấu quay Đầu tiên, lắp đặt cơ cấu vít me và đai ốc, sau đó cố định bằng hai gối đỡ vòng bi ở đầu và cuối trục vít mẹ, đảm bảo trục vít me nằm ở giữa theo chiều ngang của đế cơ cấu.
Để lắp đặt động cơ Step, cần đảm bảo tâm động cơ trùng với tâm trục vít me Để trục vít me chuyển động song song với trục động cơ, cần lắp thêm một khớp nối cứng giữa trục vít me và trục động cơ Cuối cùng, tiến hành cố định động cơ để đảm bảo hoạt động ổn định.
Hình 4.4: Đặt động cơ Step vào cơ cấu đẩy
Trong quá trình cố định động cơ, nhóm đã lắp thêm giá đỡ trục động cơ Step, nhưng phần giá đỡ này thấp hơn so với phần đế của cơ cấu Để khắc phục, nhóm đã tiến hành cắt thêm một tấm Mica và cố định nó thấp hơn với phần đế của cơ cấu.
Tiến hành lắp đặt cơ cấu T theo thiết kế yêu cầu, sử dụng các thiết bị như hai thanh trượt tròn, bốn gối đỡ thanh trượt tròn, hai con trượt vuông và các phần cắt từ Mica Sau đó, kết nối phần cắt Mica với đai ốc của cơ cấu vít me Cuối cùng, cố định hai bên của cơ cấu T với hai con trượt vuông tương ứng để đảm bảo tính ổn định và chính xác trong quá trình hoạt động.
Hình 4.5: Lắp đặt cơ cấu T vào cơ cấu đẩy.
Thi công cơ cấu quay
Trước khi lắp đặt các thiết bị liên quan đến cơ cấu quay ta cần tạo được phần khung của cơ cấu quay
Bắt đầu bằng việc cố định hai thanh nhôm định hình 2 x 2(cm) dài 85(cm) bằng ke góc, cùng với hai thanh nhôm định hình khác có kích thước và chiều dài 15(cm) Nhóm cũng lắp thêm một tấm mica đã được đục lỗ để đảm bảo sự cố định chắc chắn cho hai thanh nhôm khung của cơ cấu này.
Hình 4.6: lắp đặt thêm phần Mica vào cơ cấu quay
Tiếp theo, chúng ta lắp đặt động cơ và hộp số vào khung, sử dụng cơ cấu hai puly giống nhau cùng với dây đai thời gian để đảm bảo chuyển động quay chính xác.
Hai puly và dây đai thời gian có các đặc điểm sau:
1 Puly GT2, 60 răng, bước răng 2mm, trục 8mm
Độ rộng dây đai cho phép: 1(cm)
2 Vòng dây đai GT2 200mm:
Với các thông số vòng dây đai:
Nhóm đã sử dụng hai puly có cùng bước răng, nhưng đường kính lỗ của puly không khớp với đường kính trục, do đó cần tiến hành tiện lại lỗ của puly Để cố định hai puly vào cơ cấu, nhóm cần thêm hai tấm Mica để đặt và cố định chúng lên khung của cơ cấu.
Hình 4.9: Hai puly lắp đặt vào cơ cấu quay
Để đảm bảo sự ổn định cho trục xoay chính của cơ cấu khi lắp đặt động cơ Servo, cần thiết phải bổ sung một số thiết bị hỗ trợ, trong đó hai gối đỡ vòng bi trục ngang đóng vai trò quan trọng.
Với phần gối đỡ ti trượt tròn được cố định trên trục xoay nhóm sử dụng để kết nối cơ cấu quay với cơ cấu đẩy
Cơ cấu quay được kết nối với cơ cấu nâng hạ thông qua việc lắp đặt các bánh xe, cho phép trượt lên xuống trên thanh nhôm định hình cố định khung Ngoài ra, các tấm Mica cũng được nhóm thiết kế bổ sung để đảm bảo các bánh xe được cố định chắc chắn với cơ cấu quay.
Hình 4.10: Cơ cấu bánh xe và Mica để đinh cơ cấu quay vào khung.
Thi công cơ cấu nâng hạ
Dựa trên thiết kế từ chương 3, nhóm sẽ thực hiện lắp đặt cơ cấu nâng hạ với các bước cụ thể Đầu tiên, nhóm sẽ thi công phần mở rộng bên cạnh khung mô hình như đã định Việc cố định các thanh nhôm sẽ đảm bảo tính chắc chắn cho phần mở rộng này Ngoài ra, nhóm cũng sẽ sử dụng ke góc và bắt ốc thẳng xuống phần gỗ đỡ ở dưới đế mô hình để tăng cường độ ổn định.
Với phần nhôm định hình nhóm sử dụng là 6 thanh với kích thước 3 x 3 (cm) và 2 thanh kích thước 2 x 2 (cm) cả hai đều có kích thước dài 84(cm)
Nhóm đã lắp đặt phần đối trọng và đặt các thanh tạ vào bên trong vỏ hộp đối trọng Để đảm bảo đối trọng được cố định khi nâng hạ, nhóm đã sử dụng cơ cấu bánh xe và các tấm Mica tương ứng.
Hình 4.11: Cơ cấu bánh xe và Mica để cố định đối trọng
Nhóm đã tiếp tục cố định các ke góc ở phần trên của thanh nhôm định hình để lắp đặt tấm Mica, nhằm bố trí các thiết bị liên quan đến cơ cấu nâng hạ.
Nhóm tiến hành lắp đặt các thiết bị theo thứ tự, bắt đầu với động cơ 3 pha, được cố định bằng ốc M5 và tấm Mica được thiết kế bổ sung.
Hình 4.12: Động cơ 3 pha đặt lên tấm Mica
Tiến hành lắp đặt gối đỡ vòng bi để hỗ trợ thanh trục kết nối với động cơ Ở giữa thanh trục, puly được cố định để truyền động quay cho nhiều thiết bị cùng lúc Để đảm bảo sự kết nối giữa trục động cơ và thanh trục, cần sử dụng hai khớp nối mặt bít: một khớp cố định với trục động cơ và một khớp cố định với thanh trục, đồng thời hai khớp nối này cũng sẽ được kết nối với nhau.
Hình 4.13: Lắp đặt các thiết bị liên quan trên trục quay
Để lắp đặt Encoder vào thanh trục, nhóm đã thiết kế một mảnh Mica nhỏ cố định trên mặt Mica mở rộng, từ đó giữ Encoder vững chắc trên tấm Mica nhỏ này.
Hình 4.14: Nối Encoder vào trục quay
Theo tính toán, nhóm sẽ sử dụng sợi chỉ dùng để thả diều để kết nối nâng hạ phần cơ cấu quay với đối trọng
Hình 4.15: Nối dài khoảng cách để cơ cấu nâng hạ được hoạt động
Dựa trên bản vẽ thiết kế và vị trí các thiết bị đã được tính toán, nhóm tiến hành thi công mô hình bằng cách lắp đặt các thiết bị phần CPU vào tủ điện Các thiết bị này bao gồm CPU 1214C DC/DC/DC, MCB và hai relay, được cố định bằng thanh ray nhôm kích thước 35x7.5 mm và dài 35 cm Sau khi cố định xong, nhóm sẽ thực hiện đi dây trong hai máng nhựa đã được bố trí theo thiết kế Dây sẽ được đi theo nguyên tắc: ngõ vào của thiết bị cùng chiều với ngõ ra PLC sẽ được đi trong máng thứ nhất, trong khi ngõ nào cùng chiều với ngõ ra của PLC sẽ được đi trong máng thứ hai.
Hình 4.16: Thiết bị liên quan CPU được lắp đặt lên tủ điện
Trong phần thi công, việc bố trí các thiết bị driver được thực hiện theo bản thiết kế bố cục Thay vì sử dụng thanh trượt như ở bố cục CPU, nhóm tiến hành taro lỗ cho tủ điện để bắt ốc các thiết bị driver, nhằm tăng độ chắc chắn Nguyên tắc đấu dây của bố cục này tương tự như bố cục CPU: dây của hai thiết bị driver còn lại cùng phía với ngõ cấp nguồn của Inverter V20 sẽ nằm trong máng thứ hai, trong khi dây của hai thiết bị driver cùng phía với ngõ ra của Inverter V20 sẽ nằm trong máng thứ ba Driver MR-j2S-10A kết nối với động cơ Servo qua hai sợi cáp, một sợi cho dây động cơ và một sợi cho encoder tích hợp trong động cơ Cáp động cơ được đi trong máng thứ hai và nối với driver, trong khi sợi còn lại được đi bên trong máng thứ ba Các dây của driver DM542 sẽ được quấn chung với các dây từ nguồn tổ ong và đi thẳng ra ngoài tủ điện.
Hình 4.17 minh họa quá trình lắp đặt các thiết bị của khối điều khiển Trong bố trí cuối cùng của tủ điện, nhóm thiết kế đã sử dụng ba thanh terminal ghép ngang Các dây đấu vào terminal được phân chia theo nguyên tắc: Dây từ PLC, driver và nguồn tổ ong sẽ được đi trong máng thứ ba và kết nối vào hàng trên của terminal, trong khi dây từ các thiết bị còn lại sẽ được đi trong máng thứ tư và đấu vào hàng dưới của terminal.
Hình 4.18: Tầng các domino trong tủ điện
Các sợi dây được bố trí trong bốn máng nhựa 20x20mm, đồng thời kết nối với máng chính 40x40mm và đi ra ngoài tủ điện Để phân biệt các dây, nhóm đã in các tag tên cho các ngõ ra và thiết bị, sau đó bọc ở phần đầu dây trước khi nối với thanh terminal.
Ngoài các thiết bị chính, nhóm còn lắp đặt thêm hai nút nhấn và một đèn báo hiệu trên nắp tủ điện Về phần đi dây, các dây của đèn và hai nút nhấn sẽ được quấn chung trong dây lòng gà, đi vào máng chính 40x40mm, qua máng thứ tư và đấu vào hàng dưới của thanh terminal tương ứng với các ngõ ở hàng trên.
Hình 4.19: Các nút nhấn và đèn báo được lắp trên tủ điện
4.5 Thi công chương trình điều khiển PLC
Chương trình điều khiển vận hành của mô hình cần đáp ứng các yêu cầu cơ bản về điều khiển động cơ, giao diện giám sát và bảo mật Do đó, nhóm đã xác định các yêu cầu cụ thể cho chương trình điều khiển.
Chương trình điều khiển động cơ cần đảm bảo sự chính xác và đồng bộ giữa các động cơ để đạt được hiệu quả hoạt động mượt mà Nhóm sẽ sử dụng phần mềm Tia Portal V16 để lập trình điều khiển cho ba động cơ.
Trong chương trình điều khiển động cơ, có hai phương pháp nhóm chọn để điều khiển Cụ thể như sau:
Phương pháp đầu tiên là điều khiển cấp tín hiệu xung và tín hiệu điều hướng cho driver, từ đó điều khiển động cơ thông qua các tín hiệu này Phương pháp này thường được áp dụng cho động cơ Step và động cơ Servo Để triển khai phương pháp này, cần cấu hình chương trình điều khiển, chú ý đến các cửa sổ cấu hình quan trọng trong quá trình thiết lập.
Cửa sổ general cho phép nhóm điều khiển cấp xung cho driver, từ đó driver có thể cung cấp xung cho động cơ Nhóm sẽ chọn PTO và đơn vị đo vị trí là mm.
Hình 4.20: Giao diện config chính động cơ
Thi công chương trình điều khiển PLC
Chương trình điều khiển vận hành của mô hình cần đáp ứng các yêu cầu cơ bản liên quan đến điều khiển động cơ, giao diện giám sát và bảo mật Dựa trên đó, nhóm đã đề ra các yêu cầu cụ thể cho chương trình điều khiển.
Chương trình điều khiển động cơ cần đảm bảo sự chính xác và đồng bộ giữa các động cơ để hoạt động mượt mà và hiệu quả Nhóm sẽ sử dụng phần mềm Tia Portal V16 để lập trình điều khiển cho ba động cơ.
Trong chương trình điều khiển động cơ, có hai phương pháp nhóm chọn để điều khiển Cụ thể như sau:
Phương pháp đầu tiên là điều khiển cấp tín hiệu xung và tín hiệu điều hướng cho driver, nhằm điều khiển động cơ thông qua các tín hiệu này Phương pháp này thường được áp dụng cho động cơ Step và động cơ Servo Để thực hiện phương pháp này, cần cấu hình chương trình điều khiển, đặc biệt chú ý đến các cửa sổ cấu hình quan trọng.
Cửa sổ general cho phép người dùng điều khiển cấp xung cho driver, từ đó driver sẽ cung cấp xung cho động cơ Nhóm sẽ chọn PTO và thiết lập đơn vị đo vị trí là mm.
Hình 4.20: Giao diện config chính động cơ
Cửa sổ driver cho phép nhóm chọn Pulse 2 cho ngõ ra Q0.2 và Q0.3 để cấp xung và điều hướng động cơ Step, trong khi Pulse 3 tương ứng với ngõ ra Q0.4 và Q0.5 cho động cơ Servo Đối với loại Single, nhóm sẽ chọn PTO (Pulse A và hướng B).
Hình 4.21: Cài đặt phần cứng cấp xung cho động cơ
In the Mechanics window, the "Pulse per motor revolution" parameter indicates the number of pulses required for the motor to complete one full rotation, with the team selecting 3200 for the Step motor and 1000 for the Servo motor The "load movement per motor" refers to the diameter of the motor shaft, measured in millimeters, with the team opting for 5.0 mm for the Step motor and 1000 mm for the Servo motor Additionally, the "permitted direction of rotation" has been set to both directions for both motors, allowing for bi-directional movement.
Hình 4.22: Khai báo các thông số của động cơ
Phần lập trình điều khiển động cơ, nhóm sử dụng bốn khối chính là MC_Power, MC_Home, MC_MoveJog và MC_MoveAbsolute
Khối MC_Power cho phép động cơ hoạt động, trong khi khối MC_Home xác định vị trí hiện tại của vật thể như vị trí ban đầu Mặc dù hai khối này không can thiệp nhiều vào phần điều khiển, nhưng chúng là điều kiện cần thiết để chương trình điều khiển động cơ hoạt động bình thường.
Hình 4.23: Khối nguồn và khối home của động cơ
Khối MC_MoveJog là công cụ quan trọng để điều chỉnh vị trí của động cơ một cách thủ công Trong quá trình kiểm tra và vận hành, nếu xảy ra lỗi, khối này giúp đưa động cơ về vị trí mong muốn Chân EN cho phép khối hoạt động, trong khi chân Axis giúp điều khiển theo cấu hình động cơ đã cài đặt Chân JogForward và chân Backward điều khiển động cơ quay thuận và ngược lại Chân Velocity quy định tốc độ động cơ với đơn vị mm/s, với giá trị 15.0 cho động cơ Step và 100.0 cho động cơ Servo.
Hình 4.24: Khối di chuyển thuận nghịch động cơ
Khối MC_MoveAbsolute cho phép đặt vị trí tuyệt đối để động cơ tự động di chuyển đến đó Chân Position xác định khoảng cách mong muốn tính từ điểm ban đầu, đơn vị là mm Chân Velocity điều khiển tốc độ động cơ, với giá trị 15.0 mm/s cho động cơ Step và 200.0 mm/s cho động cơ Servo Chân Axis giúp khối hoạt động theo cấu hình động cơ đã cài đặt Cuối cùng, chân Execute cho phép động cơ di chuyển đến vị trí tuyệt đối đã chỉ định một cách tự động.
Phương pháp điều khiển động cơ ba pha quay thuận và quay nghịch sử dụng nút nhấn được thay thế bằng PLC điều khiển hai thiết bị Relay tại ngõ ra Q0.0 và Q0.1 Để đảm bảo chính xác trong việc điều khiển vị trí di chuyển của động cơ, cần cấu hình Encoder đếm xung tốc độ cao HSC.
Ta sẽ cấu hình cho khối CTRL_HSC ở trong Device Configuration, tìm mục HSC1 và chọn vào Enable this high-speed counter Mục Function, ta chọn như hình:
Hình 4.25: Cài đặt nhận tín hiệu Encoder
Sau khi cài đặt ở mục HSC1, chọn Digital inputs và vào Channel 0 và 1 tương ứng với ngõ vào I0.0 và I0.1 Trong phần Input filter, chọn 0.1 microsec, điều này có nghĩa là tốc độ và thời gian xử lý của hai ngõ vào này sẽ là 0.1 microsec.
Hình 4.26: Khối đọc tín hiệu Encoder
4.6 Chương trình điều khiển các thiết bị vận hành khác
Bên cạnh PLC S7-1200, nhóm còn có lập trình trên máy tính bằng phần mềm
VS Code hỗ trợ ngôn ngữ Python, cho phép nhóm phát triển khả năng điều khiển các thiết bị như máy in, giao diện người dùng, lưu trữ thông tin lên SQL Server và tạo mã QR.
Trước khi bắt đầu lập trình với ngôn ngữ Python trong VS Code, bạn cần tích hợp Python vào môi trường này Để tạo một file mới, hãy nhấn chuột phải và chọn "new file" Sau khi nhập tên file, nhớ thêm phần mở rộng ".py" để có thể lập trình hiệu quả.
Hình 4.27: Giao diện VS Code dùng để lập trình với ngôn ngữ Python
Trước khi bắt đầu lập trình chính, cần thêm các thư viện cần thiết Đầu tiên, sử dụng "Command Prompt" để cài đặt thư viện bằng lệnh "pip install tên thư viện" Nhập lần lượt các tên thư viện để hoàn tất quá trình cài đặt.
Câu lệnh được sử dụng để thêm các thư viện trên chương trình chính là
Để bắt đầu, chúng ta cần nhập các thư viện cần thiết Sau khi đã thêm các thư viện, chúng ta sẽ tạo các chương trình con bằng cú pháp “def tênchươngtrình()” Cuối mỗi chương trình con, chúng ta có thể sử dụng câu lệnh “return giátrịmuốnđượctrả” để trả về các dữ liệu mà chúng ta muốn sử dụng khi gọi chương trình con đó.
Thi công giao diện giám sát và điều khiển
Lập trình hiển thị cho giao diện
Hình 4.31: Sơ đồ quy trình xử lý ảnh
Việc sử dụng thư viện OpenCV giúp việc chuyển đổi các loại ảnh và xác định contours trở nên dễ dàng và khả thi.
Với ảnh đầu vào được chụp ban đầu ta tiến hành cắt hình với khung hình còn lại là khung hình chứa biến số
Hình 4.32: Hình ảnh chụp từ camera và được cắt
Dựa vào hình ảnh đã cắt, chúng ta tiến hành từng bước theo lưu đồ giải thuật Ảnh RGB ban đầu sẽ được chuyển đổi thành ảnh mức xám theo công thức đã nêu ở chương 2 Dưới đây là ví dụ về quá trình chuyển đổi từ ảnh RGB sang ảnh mức xám.
Hình 4.33: Ảnh gốc được chuyển sang ảnh mức xám.
Thi công quy trình xử lý ảnh
Hình 4.31: Sơ đồ quy trình xử lý ảnh
Việc sử dụng thư viện OpenCV giúp việc chuyển đổi các loại ảnh và xác định contours trở nên khả thi và hiệu quả.
Với ảnh đầu vào được chụp ban đầu ta tiến hành cắt hình với khung hình còn lại là khung hình chứa biến số
Hình 4.32: Hình ảnh chụp từ camera và được cắt
Dựa vào hình ảnh đã cắt, chúng ta thực hiện từng bước theo lưu đồ giải thuật Ảnh RGB ban đầu sẽ được chuyển đổi thành ảnh mức xám theo công thức đã đề cập trong chương 2 Dưới đây là ví dụ về quá trình chuyển đổi sáng ảnh sang mức xám.
Hình 4.33: Ảnh gốc được chuyển sang ảnh mức xám
Sau khi chuyển đổi ảnh sang mức xám, bước tiếp theo là chuyển đổi từ ảnh mức xám sang ảnh nhận dạng đường biên với mức ngưỡng 150, theo công thức đã được nêu.
Hình 4.34: Ảnh mức xám chuyển đổi sang ảnh nhận dạng đường biên
Từ ảnh nhận dạng đường biên ta tiến hành chuyển đổi sang ảnh nhị phân với mức ngưỡng là 190
Hình 4.35: Ảnh nhận dạng đường biên chuyển đổi sang ảnh nhị phân
Sau khi chuyển đổi từ ảnh RGB gốc sang ảnh nhị phân, chúng ta sẽ xác định các contours dựa trên ảnh nhị phân và vẽ các contours này lên ảnh gốc.
Hình 4.36: Xác định các contours có trong ảnh và vẽ lại
Dựa vào các contours đã có, chúng ta sẽ cắt riêng phần khung biển số Sử dụng công thức tính toán gần đúng về diện tích của contours, chúng ta xác định contour nào thuộc về biển số Hình ảnh được sử dụng để cắt có kích thước contour như hình trên và được chuyển đổi sang ảnh mức xám.
Hình 4.37: Cắt ảnh biển số dựa trên contour xác định
Sau khi đã cắt được khung biển số, ta sẽ tiếp tục tiến hành chuyển đổi một lần nữa sang ảnh nhị phân với mức ngưỡng là 110
Hình 4.38: Các ký tự của biển số qua các quá trình xử lý
Dựa vào hình ảnh cuối cùng này ta đã có thể chuyển đổi sang thành chữ và số dựa vào thư viện pytesseract
Cuối cùng, kết quả đạt được sau khi xử lý một tấm ảnh được chụp từ camera sẽ là một dữ liệu kiểu String “94L 78910”
KẾT QUẢ - NHẬN XÉT - ĐÁNH GIÁ
Kết quả nghiên cứu
Nhóm nghiên cứu đã thành công trong việc phát triển mô hình bãi đỗ thông minh, đặc biệt là bãi đỗ xe thông minh dạng trụ tròn, thông qua đề tài đồ án tốt nghiệp này.
Nhóm nghiên cứu không chỉ tập trung vào các thuật toán điều khiển mô hình bãi đỗ xe thông minh mà còn tiếp thu các phương pháp điều khiển khác Qua đề tài này, nhóm có thể xác định hướng đi cho các nghiên cứu liên quan đến điều khiển bằng PLC.
Nhóm nghiên cứu không chỉ tập trung vào mô hình và phương thức điều khiển mà còn khám phá nhiều ứng dụng và phát triển hiện tại trên thế giới, bao gồm giao diện giám sát và điều khiển cũng như các phương thức truyền thông với thiết bị điều khiển.
Kết quả thi công cơ khí
Nhóm đã hoàn thành thiết kế và thi công một bộ khung cho hệ thống bãi đỗ xe trụ tròn với tỷ lệ thu nhỏ đã được tính toán Bộ khung được làm từ chất liệu Mica và nhôm định hình, đảm bảo độ chắc chắn, tuy nhiên vẫn còn một số thiếu sót trong việc tính toán khoảng cách lắp đặt các thiết bị hỗ trợ điều khiển Đối với khung mô hình, nhóm đã thực hiện tính toán dựa trên mô hình thực tế và thiết kế bản vẽ 3D tương ứng với kích thước đã thu nhỏ, từ đó dễ dàng xuất bản vẽ 2D để cắt Mica và lắp ráp thành công phần khung.
Thông qua đồ án, nhóm đã xác định cách tính toán các thông số cần thiết để lựa chọn động cơ và thiết bị liên quan, phục vụ cho việc thiết kế và thi công các cơ cấu điều khiển như cơ cấu quay, cơ cấu đẩy và cơ cấu nâng hạ Đối với cơ cấu đẩy, nhóm đã dựa vào kích thước khung mô hình để tính toán khoảng cách mà cơ cấu này cần đáp ứng Ngoài ra, nhóm cũng đã nghiên cứu cách thức hoạt động của động cơ Step và cơ cấu Vít me tương ứng.
Hình 5.1: Cơ cấu đẩy hoàn thiện
Cơ cấu quay là một trong những cơ cấu quan trọng nhất, yêu cầu độ chính xác cao Nhóm đã nghiên cứu nguyên lý hoạt động của động cơ Servo và thực hiện thi công một cơ cấu quay hoàn chỉnh dựa trên các tính toán về moment xoắn của động cơ.
Hình 5.2: Cơ cấu quay hoàn thiện
Nhóm đã thành công trong việc thi công thêm các phần khung liên quan đến cơ cấu nâng hạ, giúp nó hoạt động và lắp đặt hiệu quả Qua quá trình tính toán và thiết kế, nhóm đã hiểu rõ cách vận hành của cơ cấu nâng hạ có đối trọng, từ đó lựa chọn động cơ 3 pha phù hợp.
Hình 5.3: Cơ cấu nâng hạ hoàn thiện
Nhóm đã thực hiện tính toán và thiết kế bộ khung cho hệ thống bãi đỗ xe cùng với các cơ cấu điều khiển liên quan Dựa trên các tính toán này, nhóm đã hoàn thiện thi công các cơ cấu và khung đã thiết kế.
Hình 5.4: Toàn bộ phần cơ khí được hoàn thiện
5.3 Kết quả thi công phần điện
Sau khi hoàn tất thiết kế và thi công phần điện, nhóm đã thành công trong việc kết nối và vận hành hệ thống Đặc biệt, nhóm cũng chú trọng đến độ an toàn điện, đảm bảo tuân thủ các yêu cầu an toàn ban đầu đã đề ra.
Các thiết bị vận hành cần được cố định và đặt cách nhau một khoảng an toàn để đảm bảo rằng khi một thiết bị xảy ra sự cố, nó sẽ không ảnh hưởng đến các thiết bị khác Hơn nữa, trong cùng một bộ thiết bị, cần có khoảng cách giữa các thiết bị để đảm bảo khả năng tản nhiệt, kéo dài tuổi thọ và giúp các thiết bị điện hoạt động trơn tru, đạt công suất tối đa.
Các sợi dây trong mô hình được nhóm đấu nối và sắp xếp gọn gàng trong các máng nhựa đã được bố trí sẵn trong tủ Thiết bị điều khiển đã được cố định trên tủ theo bố cục thiết kế, đảm bảo quá trình vận hành diễn ra suôn sẻ mà không gặp trục trặc về điện Hệ thống điện hoạt động ổn định và hiệu quả.
Hình 5.5: Tủ điện sau khi được hoàn thiện
5.4 Kết quả thiết kế giao diện điều khiển và giám sát
Nhóm đã sử dụng phần mềm Qt Designer để thiết kế thành công một giao diện giám sát và điều khiển cơ bản, giúp người vận hành trong ngành công nghiệp có thể sử dụng một cách hiệu quả.
Người vận hành có thể chủ động cho phép xe vào và lấy xe ra thông qua giao diện Nhóm đã thành công trong việc thi công giao diện tiện lợi cho người sử dụng và kết nối trao đổi tín hiệu với PLC S7.
1200 giúp cho việc vận hành được ổn định hơn
Hình 5.6: Giao diện khi cho xe vào
Hình 5.7: Giao diện khi lấy xe ra
Ngoài ra, nhóm còn thiết kế giao diện có thể giúp người sử dụng truy xuất được dữ liệu thông qua việc lưu trữ dữ liệu trên SQL Server
Hình 5.8: Giao diện khi truy xuất xe đang ở trong hệ thống
Hình 5.9: Giao diện khi truy xuất xe đã được lấy ra
Nhóm đã hoàn thành thiết kế giao diện giám sát và điều khiển, cho phép người vận hành theo dõi thông tin xe ra vào hệ thống và truy xuất dữ liệu xe khi cần thiết Giao diện này hoạt động song song với PLC, mang lại hiệu quả cao trong việc quản lý và giám sát.
5.5 Kết quả vận hành hệ thống
Nhóm đã thành công trong việc điều khiển động cơ Step tự động đến vị trí tuyệt đối đã đặt Bên cạnh đó, nhóm cũng lập trình điều khiển động cơ Servos quay đến vị trí mong muốn và tự di chuyển về vị trí ban đầu Kết hợp với điều khiển động cơ 3 pha, nhóm đã điều khiển ba động cơ quay để lấy xe từ vị trí vào, tính toán và di chuyển đến các vị trí gửi xe còn trống gần nhất Dựa trên nguyên tắc này, nhóm đã lập trình thành công ba động cơ dựa trên dữ liệu từ Python để lấy xe từ các vị trí hợp lý và trả xe tại vị trí đầu vào.
Nhóm đã thành công trong việc thiết lập giao tiếp giữa Tia Portal và Python, cho phép gửi và nhận dữ liệu giữa hai hệ thống lập trình điều khiển và xử lý dữ liệu Dữ liệu nhận từ Tia Portal đã được xử lý trên Python và lưu trữ thành công trên SQL Thông tin lưu trữ bao gồm ngày giờ, số vị trí, biển số, trạng thái và chi phí Để đảm bảo an toàn thông tin, nhóm đã phát triển phương pháp in dữ liệu số vị trí xe dưới dạng mã QR cho khách hàng Dưới đây là các số liệu thu thập được sau quá trình vận hành hệ thống.
Bảng 5.1: Kết quả vận hành
Vận hành hệ thống Số liệu
Quá trình gửi xe gần nhất mất 30 giây để hoàn thành, trong khi gửi xe xa nhất cần 60 giây Tương tự, khi lấy xe ra, thời gian cho vị trí gần nhất cũng là 30 giây, còn vị trí xa nhất là 60 giây.
Quá trình xử lý mất thẻ 90s để hoàn thành quá trình Quá trình truy xuất dữ liệu 10s để hoàn thành quá trình
Nhóm nghiên cứu đã thu thập số liệu sau nhiều lần thử nghiệm và nhận thấy rằng thời gian hoàn thành quá trình gửi xe và lấy xe ra có thể được điều chỉnh Việc thay đổi thời gian này có thể thực hiện bằng cách điều chỉnh tốc độ của ba động cơ, tăng hoặc giảm tùy theo yêu cầu về thời gian hoàn thành.
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
Kết quả thiết kế giao diện điều khiển và giám sát
Nhóm đã sử dụng phần mềm Qt Designer để thiết kế thành công một giao diện giám sát và điều khiển cơ bản, giúp người vận hành trong lĩnh vực công nghiệp có thể sử dụng hiệu quả.
Người vận hành có thể chủ động quản lý việc gửi và lấy xe thông qua giao diện được thiết kế tiện lợi Đội ngũ đã hoàn thành việc thi công giao diện sử dụng và kết nối trao đổi tín hiệu với PLC S7, đảm bảo hệ thống hoạt động hiệu quả.
1200 giúp cho việc vận hành được ổn định hơn
Hình 5.6: Giao diện khi cho xe vào
Hình 5.7: Giao diện khi lấy xe ra
Ngoài ra, nhóm còn thiết kế giao diện có thể giúp người sử dụng truy xuất được dữ liệu thông qua việc lưu trữ dữ liệu trên SQL Server
Hình 5.8: Giao diện khi truy xuất xe đang ở trong hệ thống
Hình 5.9: Giao diện khi truy xuất xe đã được lấy ra
Nhóm đã hoàn thành thiết kế giao diện giám sát và điều khiển, cho phép người vận hành theo dõi thông tin về xe ra vào hệ thống Giao diện này hoạt động song song với PLC, giúp dễ dàng truy xuất dữ liệu xe khi cần thiết.
Kết quả vận hành hệ thống
Nhóm đã thành công trong việc điều khiển động cơ Step tự động đến vị trí tuyệt đối đã đặt Bên cạnh đó, nhóm cũng lập trình điều khiển động cơ Servos để quay đến vị trí mong muốn và tự di chuyển về vị trí ban đầu Kết hợp với điều khiển động cơ 3 pha, nhóm đã điều khiển ba động cơ quay theo nguyên tắc lấy xe từ vị trí vào, tính toán và di chuyển đến các vị trí gửi xe trống gần nhất Dựa trên nguyên tắc này, nhóm đã lập trình thành công ba động cơ sử dụng dữ liệu từ Python để lấy xe từ các vị trí hợp lý và trả xe tại vị trí đầu vào.
Nhóm đã thành công trong việc giao tiếp giữa Tia Portal và Python, cho phép gửi và nhận dữ liệu giữa hai phần lập trình điều khiển và xử lý dữ liệu Các dữ liệu nhận từ Tia Portal đã được xử lý trên Python và lưu trữ thành công trên SQL Dữ liệu lưu trữ bao gồm ngày giờ, số vị trí, biển số, trạng thái và chi phí Để đảm bảo bảo mật, nhóm đã phát triển phương pháp in dữ liệu số vị trí xe dưới dạng QR cho khách hàng Dưới đây là các số liệu nhóm thu hoạch được sau quá trình vận hành hệ thống.
Bảng 5.1: Kết quả vận hành
Vận hành hệ thống Số liệu
Quá trình đỗ xe gần nhất mất 30 giây để hoàn tất, trong khi đỗ xe xa nhất cần 60 giây Tương tự, khi ra khỏi vị trí đỗ xe gần nhất, xe cũng chỉ mất 30 giây, còn ra tại vị trí xa nhất sẽ tốn 60 giây.
Quá trình xử lý mất thẻ 90s để hoàn thành quá trình Quá trình truy xuất dữ liệu 10s để hoàn thành quá trình
Nhóm nghiên cứu đã thu thập số liệu qua nhiều lần thử nghiệm và nhận thấy rằng thời gian hoàn thành quá trình gửi và lấy xe có thể được điều chỉnh Bằng cách thay đổi tốc độ của ba động cơ, thời gian hoàn thành có thể tăng hoặc giảm tùy thuộc vào yêu cầu cụ thể.
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
Hướng phát triển
Để khắc phục các mặt hạn chế, cũng như đề xuất phương hướng phát triển, nhóm đề ra những phương pháp sau:
Thay đổi kích thước thiết kế của phần đế động cơ 3 pha giúp mở rộng diện tích, tạo điều kiện để lắp đặt thêm một hộp số phía trước trục động cơ Sự điều chỉnh này sẽ khắc phục các sai số của bộ đếm xung HSC trong quá trình động cơ 3 pha hoạt động.
Thay thế bộ đếm xung HSC bằng cảm biến quang tại mỗi tầng trong hệ thống sẽ loại bỏ hoàn toàn sai số của HSC Điều này cho phép lập trình động cơ quay dừng khi chạm tiếp điểm, từ đó đơn giản hóa quá trình lập trình.
Nhóm đề xuất cải tiến cơ cấu nâng hạ bằng cách chuyển từ nguyên lý thang máy sang sử dụng xi lanh thủy lực, nhằm tối ưu hóa không gian hệ thống Việc áp dụng xi lanh thủy lực mang lại nhiều lợi ích cho sự phát triển và hiệu quả hoạt động.
Nhóm cần thay đổi phương pháp lập trình xử lý ảnh cơ bản sang phương pháp "Machine Learning" Việc áp dụng công nghệ này sẽ tối ưu hóa chương trình xử lý ảnh, giúp phần nhận dạng biển số xe hoạt động hiệu quả hơn trong mọi môi trường, điều kiện thời tiết và ánh sáng.