Sơ đồ mạch điện điều khiển

Một phần của tài liệu Thiết kế và thi công mô hình bãi giữ xe thông minh (Trang 63)

 Mạch đảo chiều động cơ điện 1 chiều dùng 2 relay trung gian.

Hình 3.33: Mạch đảo chiều động cơ điện 1 chiều

Tương tự cho relay 3 và relay 4.

 Mạch đấu dây driver và động cơ bước.

50

3.8. Lập trình điều khiển.

Sơ đồ hoạt động của hệ thống.

Hệ thống có 2 chế độ hoạt động chính là chế độ tự động và chế độ điều khiển bằng tay. Sơ đồ hoạt động của hệ thống ở chế độ điều khiển bằng tay được trình bày trong hình 3.36, sơ đồ hoạt động ở chế độ tự động được trình bày trong hình 3.37.

- Chế độ điều khiển bằng tay:

Bắt đầu Bấm On Chọn chế độ Hand Chọn vị trí Đưa xe vào bãi Bấm gửi xe Bấm lấy xe Chọn vị trí Lấy xe ra Kết thúc Đ Đ S Đ Đ S S S

Hình 3.35: Sơ đồ hoạt động của hệ thống ở chế độ điều khiển bằng tay

Ở chế độ điều khiển bằng tay, ta bấm ON và chọn chế độ điều khiển là “Hand”. Sau đó ta chọn chế độ gửi xe vào hoặc lấy xe ra. Tiếp theo ta chọn vị trí muốn gửi hoặc lấy xe ra, hệ thống sẽ tiến hành gửi xe vào bãi giữ xe hoặc lấy xe ra tương ứng với vị trí mà ta đã chọn trước đó.

51 - Chế độ điều khiển tự động:

Bắt đầu Bấm On Chọn chế độ Auto Lấy xe ra Đ S S Quẹt thẻ Truy cập CSDL Mã thẻ đã tồn tại trong CSDL? Xóa mã thẻ và biển số khỏi CSDL Đ Đ Kết thúc Chụp ảnh biến số và nhận dạng Gửi xe vào bãi vị trí trống gần nhất Thêm mã thẻ và biển số vào CSDL S

Hình 3.36: Sơ đồ hoạt động của hệ thống ở chế độ điều khiển tự động

Để chọn chế độ điều khiển tự động, ta bấm ON và chọn chế độ điều khiển là “Auto”. Lúc này ta chỉ việc quẹt thẻ là hệ thống sẽ tự động hoạt động. Nếu quẹt thẻ lần đầu, hệ thống sẽ kiểm tra và biết mã thẻ chưa có trong CSDL, nó sẽ hiểu là mình muốn gửi xe vào. Khi đó hệ thống sẽ tiến hành chụp ảnh và nhận dạng biển số xe,

52 lưu mã thẻ và biển số xe vào vị trí ô trống gần nhất trong CSDL và điều khiển đưa xe vào vị trí trống gần nhất trong bãi. Ngược lại nếu quẹt thẻ lần 2, hệ thống sẽ kiểm tra và biết được là mã thẻ đã có trong CSDL rồi, nó sẽ hiểu là ta muốn lấy xe ra. Khi đó hệ thống sẽ xóa mã thẻ và biển số xe đó khỏi CSDL và điều khiển lấy xe ra.

Sơ đồ giải thuật tối ưu vị trí gửi xe.

Bắt đầu Quẹt thẻ Truy cập CSDL Mã thẻ đã tồn tại trong CSDL? Vị trí trống != null Đọc vị trí mã thẻ Xóa mã thẻ khỏi CSDL Đọc vị trí của ô mã thẻ trống đầu tiên Thêm mã thẻ vào vị trống đó Kết thúc Đ S

Hình 3.37: Sơ đồ giải thuật tối ưu vị trí gửi xe

Tối ưu vị trí gửi xe chỉ hoạt động trong chế độ điều khiển tự động. Khi ta quẹt thẻ, hệ thống sẽ tiến hành kiểm tra mã thẻ đã có trong CSDL chưa. Nếu mã thẻ đã có trong CSDL rồi thì hệ thống sẽ tiến hành đọc về vị trí của mã thẻ đó để điều khiển PLC lấy xe ra đúng vị trí đó đồng thời xóa mã thẻ đó ra khỏi CSDL. Nếu hệ thống phát hiện thẻ đó chưa có trong CSDL thì nó sẽ đọc vị trí trống đầu tiên trong CSDL để thêm mã thẻ vào đó. Trong trường hợp hệ thống đã đầy, nó sẽ không tìm được vị trí trống trong CSDL mà trả về giá trị là NULL. Khi đó ta sẽ hiển thị thông báo hệ thống đã đầy và kết thúc chu trình vòng lặp.

53  Sơ đồ giải thuật nhận dạng và xử lý biển số xe.

Sơ đồ giải thuật nhận dạng và xử lý biển số xe được trình bày trong hình 3.38. - Khi webcam nhận được lệnh chụp ảnh từ C#, nó sẽ chụp và gửi ảnh qua máy tính, ảnh đó sẽ được lưu giữ trong C# để xử lý ở các bước sau.

Hình 3.38: Sơ đồ giải thuật nhận dạng và xử lý biển số xe

- Sau khi có hình ảnh gửi về từ webcam, chương trình sẽ tiến hành tách biển số xe ra khỏi hình. Sau khi xử lý chương trình sẽ trả về ảnh của biển số xe với kích thước là 500x500 pixel.

- Sau khi có được ảnh của biển số xe, chương trình sẽ lấy đường viền của các ký tự bao gồm chữ và số trong đó nhờ vào đặc điểm là biển số xe sẽ có nền màu trắng và ký tự màu đen.

- Sau đó chương trình sẽ tiến hành cắt các ký tự của biển số xe ra.

- Tiếp theo chương trình sẽ xử lý các ký tự cắt ra từ biển số xe đó, trả về các ký tự dạng số (mã ASCII) từ hình ảnh nhờ vào thư viện Emgu CV.

- Cuối cùng chương trình sẽ sắp xếp các ký tự đã được nhận dạng trước đó với vị trí giống như biển số đã chụp.

54  Giải thuật sơ đồ điều khiển PLC.

Giải thuật sơ đồ điều khiển PLC được trình bày trong hình 3.39.

PLC được lập trình thực hiện tuần tự các chuỗi công việc. Ứng mỗi trạng thái State, ta thực hiện viết riêng khối FB hoặc FC để điều khiển.

Toàn bộ chương trình điều khiển được chia nhỏ thành các khối FC và FB mang một nhiệm vụ cụ thể riêng và được quản lý chung bởi những khối OB. Kiểu lập trình này rất phù hợp cho những bài toán phức tạp, nhiều nhiệm vụ và lại rất thuận lợi cho việc sửa chữa sau này. Quan hệ giữa các khối FC, FB và OB được trình bày trong hình 3.40.

Bắt đầu State 0 State 1 State 2 State 4 State 40 State 41 State 42 State 3 State 5 State 50 State 51 State 52 Chọn chế độ Gửi xe Lấy xe Chọn vị trí lấy xe

Đưa cánh tay tới vị trí lấy xe Chọn vị trí gửi xe

Lấy xe khỏi vị trí In

Đưa xe tới vị trí gửi Lấy xe khỏi vị trí gửi

Đưa xe tới vị trí Out Đưa xe vào vị trí gửi

Kết thúc Đưa cánh tay về vị trí ban đầu

Đưa xe vào vị trí Out và đưa cánh tay về vị trí ban đầu

55

Hình 3.40: Sơ đồ mối quan hệ giữa FB, FC và OB1 Khối State 0: chọn chế độ Auto hoặc chế độ Hand

State 0 Auto

Hand

State

Hình 3.41: Khối State 0

- Input: chế độ auto, chế độ hand. - Output: State.

Khi nhấn nút “Auto” thì cho phép hoạt động State 2 và State 3. Khi nhấn nút “Hand” thì cho phép hoạt động State 1.

Khối State 1: chọn chế độ gửi xe hoặc chế độ lấy xe.

State 1 Gửi xe

Lấy xe

State

Hình 3.42: Khối State 1

- Input: chế độ gửi xe, chế độ lấy xe. - Output: State.

56 Khi nhấn nút “Lấy xe” thì cho phép hoạt động State 3.

Khi state=2, chương trình nhảy vào thực hiện khối State 2.

Khối State 2: chọn vị trí để gửi xe.

State 2 Chọn vị trí gửi xe State Góc quay Tầng Hình 3.43: Khối State 2

- Input: chọn vị trí cất xe.

- Output: state=4, góc quay, tầng.

Hình 3.44: Sơ đồ các vị trí trong mô hình

- Góc quay có thể là: 0; 90; -90; 180. - Tầng có thể là: 2; 3

Như vậy, khi chọn vị trí 1: (2;0), vị trí 2: (2;90) ,vị trí 7: (3;-90), vị trí 8: (3;180),…các giá trị sẽ được Move vào ô nhớ như hình trên. Đồng thời cho phép hoạt động State 4.

Khối State 4: Gọi các khối FB để thực hiện lấy xe khỏi vị trí In, đưa xe tới vị trí gửi, đưa xe vào vị trí gửi, quay lại vị trí ban đầu và set vị trí đó lên 1. Quay lại trạng thái chờ ban đầu để cất xe vào/ lấy xe ra.

57

Hình 3.45: Khối State 4

Thực hiện xong khối trên, Output cho state=40.

Khi State = 40: cho thực hiện khối %FB1 để đưa xe tới vị trí gửi.

Hình 3.46: Khối State 40

Thực hiện xong khối trên, Output cho state=41.

58

Hình 3.47: Khối State 41

Thực hiện xong khối trên, Output cho state=42.

Khi State = 42: cho phép thực hiện khối %FB3 để quay lại vị trí ban đầu.

Hình 3.48: Khối State 42

Thực hiện xong khối trên, Output cho state=43.

Khi State = 43: set vị trí đó lên 1 và quay lại trạng thái chờ ban đầu để cất xe

vào/ lấy xe ra.

Tương tự,khi state=2, chương trình nhảy vào thực hiện khối State .

59

Khối State 5: gọi các khối FB để thực hiện di chuyển tới vị trí lấy xe, lấy xe khỏi vị

trí gửi, đưa xe tới vị trị Out, đưa xe vào vị trí out, quay lại vị trí ban đầu và reset vị trí đó về 0. Quay lại trạng thái chờ ban đầu để cất xe vào/ lấy xe ra.

Khi State = 5: cho phép thực hiện khối %FB4 để di chuyển tới vị trí lấy xe.

Hình 3.49: Khối state 5

Thực hiện xong khối trên, Output cho state=50.

Khi State = 50: cho thực hiện khối %FB5 để lấy xe khỏi vị trí gửi.

Hình 3.50: Khối state 50

Thực hiện xong khối trên, Output cho state=51.

60

Hình 3.51: Khối state 51

Thực hiện xong khối trên, Output cho state=52.

Khi State = 52: cho phép thực hiện khối %FB3 để đưa xe vào vị trí Out và

đưa cánh tay về vị trí ban đầu.

Hình 3.52: Khối state 52

Thực hiện xong khối trên, Output cho state=53.

Khi State = 53: reset vị trí đó về 0 và quay lại trạng thái chờ ban đầu để cất

xe vào/ lấy xe ra.

61

1

2

3

4

Hình 3.53: Thiết kế phần mềm giám sát trên WINCC

Ở không gian làm việc của màn hình WINCC (1), ta có thể kéo thả các đối tượng như hình ảnh, chữ viết (2) hoặc các thành phần như nút nhấn, I/O (3) và các đối tượng điều khiển vào để thiết kế màn hình điều khiển và giám sát như ý muốn.

Thiết kế giao diện giám sát Webserver.

Như đã giới thiệu về HTML và AWP trong chương 2 – Cơ sở lý thuyết thì ta có thể đọc dữ liệu từ PLC, ghi dữ liệu xuống PLC và thay thế giá trị dạng số bằng dạng văn bản nhờ AWP. Cụ thể:

- Để đọc giá trị từ PLC ta sử dụng cú pháp: :=<Tên biến>:

Ví dụ: Đọc giá trị từ ô nhớ I0.5 thì ta sẽ dùng: :=I0.5: - Để ghi giá trị xuống PLC:

Trước hết ta cần phải khai báo biến muốn ghi giá trị bằng cú pháp:<!-- AWP_In_Variable Name='<Tên biến>' -->

Sau đó dùng một form với phương thức POST để ghi giá trị vào biến. Chẳng hạn:

Form text input:

62

<form method="post">

<p><Dòng mô tả>: <input name='<Tên biến>' type="text"> </p>

</form>

Form select:

<!-- AWP_In_Variable Name='<Tên biến>' --> <form method="post">

<select name='[Tên biến]'>

<option value=:[Tên biến]:> </option>

<option value=[Giá trị 1]>[Tùy chọn 1]</option> <option value=[Giá trị 2]>[Tùy chọn 2]</option> </select>

<input type="submit" value="[Tên nút nhấn]"> </form>

- Để thay thế giá trị số bằng văn bản: Ví dụ ta có 2 trạng thái của 1 biến là 0

và 1 nhưng ta muốn hiển thị là “ON” và “OFF” lên màn hình thì ta sẽ dùng Enum. Để sử dụng được Enum, ta cần phải khai báo:

<!-- AWP_Enum_Def Name='<Tên Enum>'

Values='<Giá trị 1>:”Văn bản 1”,<Giá trị 2>:”Văn bản 2”’-->

Sau đó xác định biến nào sử dụng Enum này:

<!-- AWP_Enum_Ref Name='<Tên biến>' Enum='<Tên Enum>' -->

Ví dụ:

<!-- AWP_Enum_Def Name='BitStatus' Values='0:"OFF",1:"ON"' --> <!-- AWP_Enum_Ref Name='"Động cơ ra"' Enum='BitStatus' -->

63 Click phải vào PLC cần kích hoạt, chọn Properties

Hình 3.54a: Các bước để kết nối và sử dụng Web Server

Cửa sổ cấu hình PLC hiện ra, click chọn mục Webserver, sau đó check vào ô Enable Web server on this module để kích hoạt.

64 Click OK để tiếp tục:

Hình 3.54c: Các bước để kết nối và sử dụng Web Server

Tại mục User-defined webpage, click chọn đường dẫn đến thư mục chứa file HTML.

Hình 3.54d: Các bước để kết nối và sử dụng Web Server

65

Hình 3.54e: Các bước để kết nối và sử dụng Web Server

Click chọn Generate blocks để TIA Portal có thể đóng gói dữ liệu web thành các Datablock. Cuối cùng chọn OK để hoàn tất quá trình khai báo.

Sau đó Click OK ở cửa sổ cấu hình để hoàn tất.

Hình 3.54f: Các bước để kết nối và sử dụng Web Server

66

Chương 4:

THI CÔNG HỆ THỐNG 4.1. Phần cứng.

Theo những dữ liệu đã thiết kế ban đầu thì hệ thống sử dụng các thiết bị sau:

Bảng 4.1: Danh sách các thiết bị.

STT Tên thiết bị Số lượng

1 PLC S7 – 1200 CPU 1212C DC/DC/DC 1

2 Động cơ 12VDC có hộp giảm tốc JGY370 160RPM 1

3 Động cơ 5VDC có hộp giảm tốc GA12 – N120 1

4 Động cơ bước NEMA size 57 1.8 step 1

5 Mạch driver động cơ bước TB6600 4.5A 1

6 Công tắc hành trình 1A – 125VAC 4

7 Cảm biến hồng ngoại phát hiện vật cản E3F-DS10C4 5

8 Arduino Uno R3 1

9 Module RFID MFRC522 NFC 13.56MHz 1

10 Nguồn tổ ong 12VDC – 30A 1

11 Nguồn tổ ong 5VDC 1

12 Nguồn 24VDC 6EP1332-2BA20 Siemens 1

13 Relay trung gian Omron 4

14 Webcam Logitech C270 720p 1

Yêu cầu của hệ thống là bãi giữ xe có hình tháp trụ tròn nên nhóm em sử dụng nhôm định hình 20x20mm để làm bộ khung cho mô hình.

In 3D các khối được thiết kế trên Solidworks để kết nối các linh kiện lại với nhau tạo thành các cơ cấu truyền động.

Thiết kế tay nâng cho hệ thống.

67

Hình 4.2: Cơ cấu tay nâng lên xuống

Mô hình tổng quan của hệ thống:

68 Mô hình hoàn chỉnh sau khi lắp đặt:

Hình 4.4: Mô hình hoàn chỉnh của hệ thống

Trong hệ thống này sử dụng 3 động cơ: động cơ 12VDC JGY370 dùng để di chuyển tay nâng lên xuống qua các tầng gửi xe, động cơ 5VDC GA12 – N120 dùng để di chuyển tay nâng ra vào để lấy hoặc gửi xe và động cơ bước để xoay tay nâng qua trái hoặc phải cho đúng vị trí. Để giới hạn hành trình lên xuống và vào ra của tay nâng thì nhóm em có sử dụng 2 công tắc hành trình để đặt ở đầu và cuối mỗi hành trình. Có một cảm biến hồng ngoại phát hiện vật cản ở mỗi tầng để xác định vị trí của tay nâng đang ở tầng nào, 2 cảm biến quang ở ô IN và OUT để phát hiện có xe.

Thi công bảng điện cho hệ thống:

Dựa vào các mạch kết nối đã được thiết kế ở chương 3, nhóm em thực hiện lắp ráp mạch điện của hệ thống.

69

Hình 4.5: Bảng điện của hệ thống

Trong đó:

- Khối phía trên cùng là khối nguồn gồm có các nguồn 24VDC 6EP1332- 2BA20 Siemens, nguồn tổ ong 12VDC và 5VDC.

- Khối ở giữa là khối xử lý trung tâm gồm có 1 PLC S7-1200 CPU 1212C/DC/DC/DC.

- Khối dưới cùng gồm có các relay trung gian và driver cho động cơ bước TB6600.

4.2. Phần mềm

4.2.1. Chương trình Arduino đọc thẻ RFID.

Ở đây nhóm em sử dụng thư viện mã nguồn mở MFRC522 để đọc dữ liệu mã

Một phần của tài liệu Thiết kế và thi công mô hình bãi giữ xe thông minh (Trang 63)