4.1.1 Thiết kế hệ thống cơ khí
Hệ thống bãi đỗ xe tự động kiểu xoay vòng đứng đƣợc mô phỏng thiết kế trên phần mềm SolidWorks 2016.
* Khung hệ thống
Khung hệ thống đƣợc chọn làm bằng vật liệu nhôm định hình theo cơ cấu đứng với hai thành để tăng kết cấu chịu lực cho hệ thống.
Kích thƣớc nhƣ sau:
Hình 4.2 Thông số kích hước khung hệ thống
Hình 4.3 Nhô định hình
- Ƣu, nhƣợc điểm của nhôm định hình Ƣu điểm:
+ Chịu lực tốt: Đây à thanh nhôm hợp kim có thiết kế khoang rỗng giúp tăng độ cứng và chiều dài của nhôm.
+ Độ thẩm mỹ cao: Khi làm bằng nhôm định hình có tính thẩm mỹ cao, vách nhôm tuy có độ dày mỏng hơn các thƣơng hiệu khác nhƣơng ại có kết cấu lớn hơn giúp tăng tính thẩm mỹ mà vẫn đảm bảo khả năng chịu lực bên trong
+ Cách nhiệt và cách âm tốt: Có thể chịu nhiệt độ cao, các phần tử nhôm liên kết chặt chẽ cũng giúp cách âm tốt hơn.
+ Trọng ƣợng nhẹ: Có thể làm giảm tải trọng và sức ép cho công trình, giúp dễ dàng vận chuyển.
+ Dễ dàng lắp ráp: Không cần khoan lỗ để liên kết các thanh nhôm với nhau để xây dựng hệ thống có thể sử dụng ke góc giúp liên kết các thanh nhôm vẫn có thể giữ cho hệ thống chắc chắn.
Nhƣợc điểm:
+ Chƣa có nhiều mẫu mã cho khách hàng lựa chọn.
+ Sau nhiều năm sử dụng nhôm định hình cần đƣợc bảo dƣỡng. + Chi phí cao.
*Hệ truyền động
Hệ truyền động bao gồm pallet và hệ thống xích. 8 pallet có cấu tạo từ xốp cứng có tác dụng mô phỏng Pallet trong hệ thống bãi đỗ xe trong thực tế. Mỗi pa et đƣợc đánh số từ 1 đến 8 và gắn trực tiếp vào hệ thống xích truyền động. Hệ thống dây xích truyền động là hệ thống truyền tải động lực cho toàn bộ hệ thống. Hệ thống dây xích đƣợc cấu tạo từ 2 vòng dây xích và 4 bánh răng dọc theo khung thép. Các bánh răng đƣợc sắp xếp đối xứng nhau để tạo chuyển động dễ dàng của các pallet.
* Hệ thống xích và bánh răng
* Pallet
Hình 4.5 Thông số pallet
* Hệ thống động lực
Hệ thống động lực của hệ thống là một bộ động cơ một chiều có hộp giảm tốc. Việc gắn động cơ khiến cho việc điều khiển tốc độ động cơ trở nên dễ dàng hơn. Và hộp giảm tốc là thiết bị điều chỉnh tốc độ động cơ sao cho phù hợp với mong muốn và yêu cầu thực tế của ngƣời thiết kế.
4.1.2 Thi công hệ thống cơ khí
STT Tên sản phẩm Ảnh Số ƣợng 1 Nhôm định hình 30x30 7m 2 Ke góc vuông 30x30 16 cái 3 Gối đỡ vòng bi lỗ 15mm 4 cái 4 Thanh trục 15mm 2 thanh 15mm 5 Xích 2 cái 6 Xích động cơ 1 cái 7 Pallet 8 chiếc 8 Động cơ điện 1
chiều giảm tốc 1 chiếc
10 Bánh răng động cơ 2 chiếc
11 Gá động cơ 1 chiếc
Bảng 4.1 Bảng chi tiết các thành phầ cơ khí g hệ thống
* Khung hệ thống
* Pallet
Hình 4.9 Pallet
* Trục đƣợc liên kết với bánh răng
Hình 4.10 Trục được liên kết với bá h ă g
4.2Thiết kế và thi công hệ thống điều khiển
4.2.1Thiết kế hệ thống điều khiển
* Bộ điều khiển PLC S7 1200 CPU 1212 DC/DC/RL
STT Đặc điểm kĩ thuật Thông số kĩ thuật 1 Kích thƣớc 10,4x10,7x8,8 2 Khối ƣợng 0,354 kg 3 Hãng sản xuất Simens AG 4 Bộ nhớ làm việc 75 KB 5 Bộ nhớ nạp 1 MB 6 Bộ nhớ giữ lại 2 KB Bảng 4.2 Thông số PLC S7 1200 * Nguồn tổ ong 24V – 5A Hình 4.12 Nguồn tổ ong
STT Đặc điểm kỹ thuật Thông số kỹ thuật
1 Điện áp đầu vào 220V AC
2 Dòng điện vào 2,6A/ 115V
1,3A/ 230V
3 Điện áp đầu ra 24VDC
4 Dòng điện đầu ra 5A
5 Công suất 120W
6 Điện áp ra điều chỉnh +/- 10% 7 Phạm vi điện áp đầu vào 85-132V AC
180-264VAC
8 Nhiệt độ hoạt động và độ ẩm -10 ℃ ~ + 60 ℃, 20% ~ 90% RH
9 Kích thƣớc 199 * 98 * 38mm
10 Trọng ƣợng 0.52Kg
* Aptomat
Sử dụng aptomat dạng nhỏ LS/MCB-BKN
Hình 4.13 Aptomat
STT Đặc điểm kỹ thuật Đơn vị Thông số kỹ thuật
1 Dòng điện định mức (In) A 32
2 Dòng cắt ngắn mạch kA 6
3 Điện áp làm việc định mức (Ue)
AC V 380
4 Số lần đóng cắt cơ khí Lần 3.5.105
5 Số chân đầu vào Cái 2
6 Nhà sản xuất LS Industrial.
7 Mẫu thiết kế BKN-C1
Bảng 4.4 Thông số Aptomat
* Cảm biến quang E3F-DS30C4
STT Đặc điểm kĩ thuật Thông số
1 Model OMDHON E3F-DS30C4
2 Số dây tín hiệu 3 dây
3 Chân tín hiệu ngõ ra NPN-open collector
4 Nguồn cấp 6-36VDC
5 Phạm vi 5-30cm
6 Góc khuếch tán 3-5 độ
7 Dòng kích ngõ ra 300mA
8 Kích thƣớc 18x68 mm
Bảng 4.5 Thông số cảm biến quang
* Relay trung gian 14 chân
Hình 4.15 Rơ e u g gia 14 châ
STT Đặc điểm kĩ thuật Thông số
1 Điện áp 220VDC
2 Dòng điện tối đa 5A
3 Kích thƣớc 34mm x 27mm x20mm
4 Chất liệu Nhựa
5 Khối ƣợng 30g
6 Nhiệt độ hoạt động
* Nút nhấn có đèn báo
Hình 4.16 Nút nhấ có đè bá
STT Đặc điểm kỹ thuật Thông số
1 Lỗ khoét
2 Tiếp điểm 1NO + 1NC
3 Công suất tiếp điểm Ui: AC 660V-Ith: 10A
4 Điện áp đèn AC 220V
Bảng 4.7 Thông số nút nhấn kết hợp với đè bá
* Mạch đấu nối
* Arduino Uno R3
Hình 4.18 Arduino Uno R3
STT Đặc điểm kỹ thuật Thông số kỹ thuật
1 Vi điều khiển Atmega328P
2 Điện áp hoạt động 5V
3 Điện áp cấp (hoạt động
tốt) 7 – 12 V
4 Chân I/O digital 14 ( có 6 chân xuất xung PWM) 5 Chân Input analog 6 (A0 – A5)
6 Dòng điện mỗi chân I/O 20 mA
7 Tốc độ xung nhịp 16 MHz
8 Kích thƣớc 68.6 x 53.4 mm
9 Trọng ƣợng 25 g
Bảng 4.8 Thông số Arduino Uno R3
* RC522
STT Đặc điểm kỹ thuật Thông số kỹ thuật
1 Nguồn sử sụng 3.3VDC
2 Dòng điện 13 – 26mA
3 Khoảng cách hoạt động 0 – 60mm
4 Chuẩn giao tiếp SPI
5 Kích thƣớc 40mm x 60mm
Bảng 4.9 Thông số RC522
* Mạch đấu nối Arduino với RC 522
Hình 4.20 Mạch Arduino kết hợp với RC 522
* Cơ sở dữ liệu SQL Sever
* Giao diện HMI điều khiển hệ thống
Hình 4.22 Giao diện HMI
* Giao diện Winform điều khiển trên Vistual Studio
4.2.2Thi công hệ thống điều khiển
STT Tên sản phẩm Ảnh Số ƣợng
1 Cảm biến quang 3 cái
2 PLC S7 1200 1 cái
3 Cầu đấu nối điện 1 cái
4 Rơ e trung gian 14 chân 2 cái
5 Giảm áp DC LM2596 1 cái
6 Đèn báo kết hợp với nút nhấn 4 cái
7 Nút dừng khẩn cấp 1 cái
8 Nguồn tổ ong 1 cái
10 Dây kết nối máy tính với PLC 1 cái
11 Tủ điện 1 cái
Bảng 4.10 Bảng chi tiết các thành phầ đi u khiển cho thi công
Hình 4.24 Tủ điện
CHƢƠNG 5 KẾT QUẢ VÀ ĐÁNH GIÁ BÃI ĐỖ XE TỰ ĐỘNG XOAY VÕNG ĐỨNG
5.1 Kết quả đạt đƣợc
- Thiết kế thành công mô hình bãi đỗ xe tự động xoay vòng đứng trên phần mềm SolidWorks 2016 và hoàn thành hệ thống trên sản phẩm thực tế.
- Xây dựng đƣợc hệ thống đấu nối mạch điện trong thực tế sử dụng các linh kiện điện tử kết hợp với PLC S7 1200.
- Mô phỏng đƣợc hệ thống trên phần mềm TIA Porta đáp ứng đƣợc các yêu cầu của hệ thống.
- Ứng dụng đƣợc công nghệ thẻ từ RFID giao tiếp với PLC điều khiển hệ thống.
Thông qua đồ án tốt nghiệp nhóm đã hiểu thêm về bãi đỗ xe tự động kiểu xoay vòng đứng. Có thể áp dụng vào thực tế với nhiều công nghệ hiện đại giúp giải quyết về vấn đề diện tích, mặt bằng, thời gian lấy xe đƣợc rút ngắn.
5.2 Đánh giá
- Mô hình do nhóm thiết kết, chế tạo và lắp đặt đáp ứng đƣợc các yêu cầu đặt ra.
- Kết cấu cơ khí chắc chắn giúp mô hình chạy ổn định.
- Hệ thống mạch điện hoạt động tốt, an toàn không có hiện tƣợng chập cháy xảy ra giúp an toàn cho ngƣời sử dụng.
5.3 Hạn chế và phƣơng pháp giải quyết
* Hạn chế
- Mô hình chƣa đc đẹp tính thẩm mỹ chƣa cao.
- Khi hệ thống hoạt động vẫn có hiện tƣợng rung lắc nhẹ. - Khi hệ thống hoạt động pallet trống rung lắc do quán tính. - Tủ điện còn nhỏ, đấu nối mạch điện chƣa đƣợc đẹp mắt. * Phƣơng pháp giải quyết
- Áp dụng sử dụng thêm cảm biến hồng ngoại để phát hiện ngƣời có trong bãi. Phƣơng án này giúp ngăn ngừa sự cố đáng tiếc xảy ra.
- Kết nối hệ thống thông qua Web Server để quản lí hệ thống từ xa.
- Sử dụng Camera để xử lí biển số xe nhằm tăng sự an toàn cho hệ thống và dễ dàng đối chiếu khi xảy ra sự cố.
KẾT LUẬN
Qua một thời gian nghiên cứu, tìm hiểu và đƣợc sự chỉ bảo tận tình của thầy giáo ThS.Lƣu Vũ Hải. Nhóm em đã hoàn thành đồ án tốt nghiệp của mình. Trong quá trình thực hiện đề tài, nhóm đã tích ũy đƣợc nhiều kiến thức, trong quá trình học tập và nghiên cứu.
Trải qua quá trình àm đồ án tốt nghiệp nhóm em xin đƣợc có nhận xét nhƣ sau:
Phần cứng: Gồm có nhiều chi tiết phức tạp àm khó khăn trong việc thi công tạo ra sản phẩm.
Phần mềm: Trƣớc khi chạy vào mô hình thực tế đã đƣợc chạy trên mô phỏng tƣơng đối kỹ ƣỡng nhƣng khi đƣa vào chạy thực tế còn phát sinh ra lỗi khiến phải chỉnh sửa nhiều lần.
Do lần đầu bắt tay vào làm thiết kế một hệ thống phức tạp có sản phẩm thực tế nên đồ án không tránh khỏi những thiếu sót, do đó em mong nhận đƣợc nhiều sự chỉ bảo và góp ý từ các thầy, cô để đồ án của chúng em hoàn thiện hơn.
TÀI LIỆU THAM KHẢO
[1] TS. Trần Văn Hiếu (Chủ biên), Tự động hóa PLC S7-1200 với TIA PORTAL, Nhà xuất bản Khoa học và Kỹ thuật, 2015.
[2] Nguyễn Văn Khang, Nguyễn Phong Điền, Cơ điện tử, NXB KH&KT [3] S7-1200 System Manual- Siemens.
[4] GMP Engineering Manual WinCC- Siemens.
PHỤ LỤC
* Bảng địa chỉ
STT Ghi chú Kiểu dữ iệu Địa chỉ
1 CB quang 1 Bool %I0.0
2 CB quang 2 Bool %I0.1
3 CB quang 3 Bool %I0.2
4 START Bool %I0.3
5 EMG Bool %I0.4
6 STOP Bool %I0.7
7 DC_THUAN Bool %I0.6
8 DC_NGHICH Bool %I0.5
9 BIEN TG cb quang 1 Bool %M1.1 10 DC QUAY THUAN Bool %Q0.0 11 DC QUAY NGHICH Bool %Q0.1
12 M_hethong Bool %M1.2 13 M_dongco Bool %M1.3 14 Tiep_Diem_1 Bool %M1.4 15 Data_Auto_Open/Close Bool %M1.5 16 Tiep_Diem_3 Bool %M1.6 17 Data_Manual_Open/Close Bool %M1.7 18 m_dongco2 Bool %M2.0 19 RFID_VT1 Bool %M3.1 20 RFID_VT2 Bool %M3.2 21 RFID_VT3 Bool %M3.3 22 RFID_VT4 Bool %M3.4 23 RFID_VT5 Bool %M3.5 24 RFID_VT6 Bool %M3.6 25 RFID_VT7 Bool %M3.7 26 RFID_VT8 Bool %M4.0
*Code Arduino: #include <SPI.h> #include <MFRC522.h> #define RST_PIN 9 #define SS_PIN 10 MFRC522 mfrc522(SS_PIN, RST_PIN); void setup() { Serial.begin(9600); SPI.begin(); mfrc522.PCD_Init(); } void loop() { if ( ! mfrc522.PICC_IsNewCardPresent()) { return; } if ( ! mfrc522.PICC_ReadCardSerial()) { return; } Serial.print("");
for (byte i = 0; i < mfrc522.uid.size; i++) {
//Serial.print(mfrc522.uid.uidByte[i] < 0x10 ? "" : ""); Serial.print( mfrc522.uid.uidByte[i],HEX);
Serial.println();
mfrc522.PICC_HaltA(); mfrc522.PCD_StopCrypto1(); }
* Code Visual Studio( C#): using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Net; using System.IO; using System.IO.Ports; using System.Data.SqlClient; using System.Windows.Forms; using S7.Net; using System.Threading; namespace BaiDoXe {
public partial class Form1 : Form {
// Khoi tao
// khai bao bien chua chua du lieu dau doc the RFID string InputData = String.Empty;
delegate void SetTextCallback(string text); bool RF = false;
SerialPort serialPort = new SerialPort(); // tao chuoi ket noi SQL
SqlConnection Connect = new SqlConnection(@"Data Source=DESKTOP- UP0PAP7
\SQLEXPRESS;Initial Catalog=RFID;Integrated Security=True"); // khai bao bien PLC
private Plc plc; bool PL = false; int vitri; object Auto; object Manual; public Form1() { InitializeComponent();
serialPort1.DataReceived += new SerialDataReceivedEventHandler (seialPort1_DataReceived);
}
private void Form1_Load(object sender, EventArgs e) {
// Load cac Port hien co
string[] port = SerialPort.GetPortNames();// Them toan bo cac cong
COM
comboBox_RFID.Items.AddRange(port);// Su dung AddRange thay vi dung foreach
Connect.Open(); loadDataID(); loadDataCar(); }
{
try
{
// Dong cac ket noi
if (plc != null) plc.Close(); if (serialPort1.IsOpen) serialPort1.Close(); Connect.Close(); } catch { MessageBox.Show("Error"); } }
// Quan li the co trong he thong
public void loadDataID()
{
string sqlSelectID = ("SELECT * FROM ThongTinHeThong ");
SqlCommand cmd = new SqlCommand(sqlSelectID, Connect); DataTable dt = new DataTable();
SqlDataAdapter da = new SqlDataAdapter(cmd); da.Fill(dt);
dgv_QLhethong.DataSource = dt; }
private void btt_Them_Click(object sender, EventArgs e)
{
dgv_QLhethong.AllowUserToAddRows = false;
bool kt = false;
for (int i = 0; i < dgv_QLhethong.Rows.Count; i++) {
if (textBox_MaThe.Text == dgv_QLhethong.Rows[i].Cells ["UID"].Value.ToString()) { kt = true; } } if (kt == true) {
MessageBox.Show("Thẻ đã tồn tại");
textBox_MaThe.Clear(); // Xóa dữ iệu ở textbox Mã thẻ }
else
{
string sqlInsert = "INSERT INTO ThongTinHeThong VALUES ('" +
textBox_MaThe.Text + "')";
SqlCommand cmd = new SqlCommand(sqlInsert, Connect); cmd.ExecuteNonQuery();
textBox_MaThe.Clear(); // Xóa dữ iệu ở textbox Mã thẻ }
loadDataID(); }
private void btt_Xoa_Click(object sender, EventArgs e)
{
if (textBox_MaThe.Text == "") {
MessageBox.Show("Vui òng chọn thẻ cần xóa"); }
else
string sqlDelete = "Delete from ThongTinHeThong where UID='" + textBox_MaThe.Text + "'";
SqlCommand cmd = new SqlCommand(sqlDelete, Connect); cmd.ExecuteNonQuery();
textBox_MaThe.Clear(); }
loadDataID(); }
private void btt_XoaMT_Click(object sender, EventArgs e)
{
for(int k=0;k<dgv_QLxe.Rows.Count;k++) { textBox_XoaVT.Text = dgv_QLxe.Rows[k].Cells["VT"].Value.ToString (); } if (textBox_XoaVT.Text == "") {
MessageBox.Show("Vui òng chọn vị trí cần xóa"); }
else
{
string sqlDelete = "UPDATE ThongTinXe SET UID = NULL WHERE
ViTri='"+textBox_XoaVT.Text+"'";
SqlCommand cmd = new SqlCommand(sqlDelete, Connect); cmd.ExecuteNonQuery();
textBox_XoaVT.Clear(); }
loadDataCar(); }
private void dgv_QLhethong_CellClick(object sender, DataGridViewCellEventArgs e) { int i = e.RowIndex; if (i >= 0) { textBox_MaThe.Text = dgv_QLhethong.Rows[i].Cells ["UID"].Value.ToString(); } }
// Quan li du lieu xe vao public void loadDataCar() {
string sqlSelectCar = "Select Vitri, UID from ThongTinXe"; SqlCommand cmd = new SqlCommand(sqlSelectCar, Connect); DataTable dt = new DataTable();
SqlDataAdapter da = new SqlDataAdapter(cmd); da.Fill(dt);
dgv_QLxe.DataSource = dt; }
// Ket noi RFID
private void btt_RFID_Click(object sender, EventArgs e) {
serialPort1.BaudRate = 9600; serialPort1.DataBits = 8;
serialPort1.Parity = Parity.None; serialPort1.StopBits = StopBits.One; if (comboBox_RFID.Text == "") {
MessageBox.Show("Vui òng chọn kết nối"); } else { if (!serialPort1.IsOpen) { serialPort1.PortName = comboBox_RFID.Text; serialPort1.Open();
MessageBox.Show("Kết nối RFID thành công!"); btt_RFID.Text = "Ngắt kết nối"; comboBox_RFID.Enabled = false; } else { serialPort1.Close(); btt_RFID.Text = "Kết nối"; comboBox_RFID.Enabled = true; } } } // Ket noi PLC
private void btt_PLC_Click(object sender, EventArgs e) {
// if (textBox_PLC.Text == "") // {
/// MessageBox.Show("Vui òng nhập địa chỉ IP");
/// } // else // {
plc = new Plc(CpuType.S71200, "192.168.0.1", 0, 0); if (plc.Open() == ErrorCode.NoError)
{
MessageBox.Show("Kết nối PLC thành công!"); btt_PLC.Text = "Đã kết nối"; btt_PLC.Enabled = false; textBox_PLC.Enabled = false; PL = true; timer1.Interval = 100; timer1.Enabled = true; } else {
MessageBox.Show("Không thể kết nối với PLC!"); textBox_PLC.Clear();
} //} }
// Xu li quet the tu
private void seialPort1_DataReceived(object obj, SerialDataReceivedEventArgs e) { Thread.Sleep(1000); InputData = serialPort1.ReadExisting(); if (InputData != string.Empty) { SetText(InputData); } }
private void SetText(string text) {
if (this.textBox_MaThe.InvokeRequired) {
SetTextCallback d = new SetTextCallback(SetText); // khởi tạo 1 de egate mới gọi đến SetText
this.Invoke(d, new object[] { text }); }
else this.textBox_MaThe.Text = text.Trim(); RF = true;
string mathe = textBox_MaThe.Text;
if (!string.IsNullOrEmpty(textBox_MaThe.Text) && RF == true && PL ==
true)
{ // try // {
// Kiem tra the trong he thong
dgv_QLhethong.AllowUserToAddRows = false;
bool ktID = false;
for (int k = 0; k < dgv_QLhethong.Rows.Count; k++) { if (textBox_MaThe.Text == dgv_QLhethong.Rows[k].Cells ["UID"].Value.ToString()) { ktID = true; } } if (ktID == false) {
MessageBox.Show("Thẻ không có trong hệ thống");
string sqlInsert = "INSERT INTO ThongTinHeThong VALUES
('" + textBox_MaThe.Text + "')";
SqlCommand cmd = new SqlCommand(sqlInsert, Connect); cmd.ExecuteNonQuery(); textBox_MaThe.Text = ""; loadDataID(); } else {
#region Kiem tra xe trong bai