MỤC LỤC
NỘI DUNG TRANG
CHƯƠNG 1: KHÁI QUÁT VỀ CÔNG NGHỆ ĐIỀU
KHIỂN BÃI ĐỖ XE TỰ ĐỘNG…………………………………………………………… 2
1.1. MỞ ĐẦU…………………………………………………………………………………2
1.2. LỰA CHỌN PHƯƠNG ÁN THIẾT KẾ……………………………………………… 3
1.3. MỤC ĐÍCH YÊU CẦU CỦA ĐỀ TÀI………………………………………………… 5
CHƯƠNG 2: SƠ ĐỒ KẾT NỐI PHẦN CỨNG…………………………………………… 7
2.1. CẤU TRÚC HỆ THỐNG……………………………………………………………… 7
2.2. SƠ ĐỒ HOÀN CHỈNH …………………………………………………………………20
CHƯƠNG 3 :THIẾT KẾ PHẦN MỀM………………………………………………………21
3.1. LƯU ĐỒ THUẬT TOÁN……………………………………………………………… 21
3.2. PHẦN MỀM 23
3.3 Kết luận 27
3.4 TÀI LIỆU THAM KHẢO……………………………………………………………… 28
1
CHƯƠNG 1. KHÁI QUÁT VỀ CÔNG NGHỆ ĐK BÃI ĐỖ XE TỰ ĐỘNG
Hiện nay, các bãi đỗ xe công cộng nhu ở các khu phố, khu chung cư, hội
chợ việc quản lý gặp nhiều khó khăn. Số lượng xe vào và xe ra là ngẫu nhiên, có
lúc nhiều xe, có lúc ít xe, nhiều khi lại ách tắc quá tải. Công việc quản lý tưởng
chừng như đơn giản song lại tốn nhiều nhân lực: người thì bán vé, người thu vé
người thì phải thường xuyên giám sát số lượng xe có trong bãi bên cạnh đó việc
kiểm soát vé là cũng khó khăn.
Ngày nay cùng với sự phát triển của các ngành khoa học kỹ thuật, kỹ thuật
điện tử mà trong đó là kỹ thuật số đóng vai trò quan trọng trong mọi lĩnh vực khoa
học kỹ thuật, quản lí, công nghiệp tự động hóa, cung cấp thông tin…. do đó chúng
ta phải nắm bắt và vận dụng nó một cách có hiệu quả nhằm góp phần vào sự phát
triển nền khoa học kỹ thuật thế giới nói chung và trong sự phát triển kỹ thuật điện
tử nói riêng.
Áp dụng những thành tựu khoa học ta có thể sử dụng các phương tiện hoàn
Muốn thay đổi một yêu cầu nào đó của mạch thì buộc lòng phải thay đổi phần
cứng. Do đó mỗi lần phải lắp lại mạch dẫn đến tốn kém về kinh tế mà nhiều khi
yêu cầu đó không thực hiện được bằng phương pháp này.
Với sự phát triển mạnh của nghành kỹ thuật số đặc biệt là cho ra đời các họ
vi xử lí và vi điều khiển rất đa chức năng do đó việc dùng kỹ thuật vi xử lí, kỹ
thuật vi điều khiển đã giải quyết những bế tắc và kinh tế hơn mà phương pháp
dùng IC rời kết nối lại không thực hiện được.
1.2.2. Với mạch đếm dùng kỹ thuật vi xử lí
Ngoài những ưu điểm như đã liệt kê trong phương pháp dùng IC rời thì mạch
đếm sản phẩm dùng kỹ thuật vi xử lí còn có những ưu điểm sau:
-Mạch có thể thay đổi số đếm một cách linh hoạt bằng việc thay đổi phần
mềm, trong khi đó phần cứng không cần thay đổi mà mạch dùng IC rời không thể
thực hiện được mà nếu có thể thực hiện được thì cũng cứng nhắc mà người công
nhân cũng khó tiếp cận, dễ nhầm.
- Số linh kiện sử dụng trong mạch ít hơn.
-Mạch đơn giản hơn so với mạch đếm sản phẩm dùng IC rời và có phần cài
đặt số đếm ban đầu
3
-Mạch có thể lưu lại số liệu của các ca sản xuất
-Mạch có thể điều khiển đếm được nhiều dây chuyền sản xuất cùng lúc bằng
phần mềm
-Mạch cũng có thể kết nối giao tiếp được với máy tính thích hợp cho những
người quản lí tại phòng kỹ thuật nắm bắt được tình hình sản xuất qua màn
hình của máy vi tính.
Nhưng trong thiết kế người ta thường chọn phương pháp tối ưu nhưng kinh tế
do đó chúng em chọn phương pháp đếm sản phẩm dùng kỹ thuật vi điều khiển
1.2.3. Phương pháp đếm dùng vi điều khiển
Ngoài những ưu điểm có được của hai phương pháp trên, phương pháp này
còn có những ưu điểm :
-Trong mạch có thể sử dụng ngay bộ nhớ trong đối với những chương trình có
- Khối cảm biến: Khối cảm biến có nhiệm vụ phát hiện đối tượng (xe ra, vào) và
biến đổi thành tín hiệu điện để truyền tới khối vi xử lý.
- Khối xử lý: Khối xử lý có nhiệm vụ nhận tín hiệu từ khối cảm biến, nhận biết
đối tượng xử lý thông tin và đưa ra các lệnh điều khiển tới khối chấp hành,và
khối hiển thị.
- Khối hiển thị: Khối hiện thị có nhiệm vụ hiển thị trạng thái của hệ thống ,số
lượng xe vào số lượng xe ra và số chỗ còn trống trong bãi trên máy tính.
- Khối chấp hành: có nhiệm vụ nhận thông tin từ khối xử lý sau thực hiện việc
đóng mở cho xe vào ra bãi nếu hết chỗ trong bãi thì bật đèn báo và không cho
phép xe vào bãi nữa.
2.1. 1 Khối cảm biến
6
1. Hệ thống phát hồng ngoại
-Để có thể nhận biết được sản phẩm có rất nhiều phương pháp như siêu âm, laser
hay hồng ngoại mỗi phương pháp có ưu và nhược điểm riêng. Với ưu điểm giá
thành và dễ dàng thiết kế và thi công phương pháp cảm biến bằng hồng ngoại được
chọn. Tuy nhiên phương pháp này cho ta độ ổn định và tin cậy không cao.Với
hồng ngoại có rất nhiều cách có thể được sử dụng để cảm biến. Với các sản phẩm
có độ bóng cao có thể ứng dụng đặc tính phản xạ của hồng ngoại để cảm biến,
bằng phương pháp này chúng ta sẽ bố trí cặp thu phát ở cùng một phía, rất dễ cho
lắp đặt, nhưng với các sản phẩm có độ phản xạ không cao thi ta sẽ bố trí cặp thu
phát ở hai phía, phương pháp này cho chúng ta độ tin cậy cao hơn tuy nhiên khi lắp
đặt thiết bị sẽ phức tạp hơn.
H2.1: Mạch tạo dao động
Hoạt động của mạch điện này như sau:
- Ngay khi cung cấp điện lần đầu cho mạch này, điện áp trên tụ C1 bằng
0V nên mạch ở trạng thái ban đầu như sau: R = 0, S = 1 ⇒ Q của FF ở
mức logic cao ⇒ Q bù của FF ở mức logic thấp (0V) dẫn đến T1 tắt mức
điện áp ra ở chân 3 ở mức cao. Tụ C1 bắt đầu nạp điện qua điện trở R1,
R2 cho đến khi điện áp trên C1 tăng đến trị số 2/3Vcc ( lúc điện áp trên
u
+=
Yêu cầu cần hệ số khuếch đại cỡ 150 lần ta chọn R7 = 330K,
R6 = 1K, tụ C4 = 1µF suy ra Z ≅ 2K.
Tín hiệu sau khi được khuếch đại qua tụ nối tầng C5 đưa vào khối 3.
Khối 3: Có nhiệm vụ tách sóng tạo tín hiệu một chiều để đưa vào bộ so sánh tạo
mức điện áp ra một chiều ở mức logic 0, 1 có thể tích hợp với bộ xử lý số. Để thực
hiện tách sóng ta dùng một Diot D3 (1N4148) và tụ lọc C6(1µF). D4(1n4148),
R8(1K), R9(1K) tạo thành một mạch phân áp có nhiệm vụ bù sụt áp tín hiệu xoay
chiều được chỉnh lưu bởi D3.
H2.3: Sơ đồ bố trí cảm biến
2.1.2:Khối hiển thị
Ta sử dụng chuẩn giao tiếp RS232
9
Đầu thu
Đầu
phát
Chiều xe đi
*Đặc Điểm Chuẩn RS232
Chuẩn RS232 được nối ra một giắc cắm (gọi là cổng COM).Khi sử dụng có thể sử
dụng 2 hay tòan bộ chân (pin) của cổng này (có nhiều loại cổng COM phục vụ các
chức năng khác nhau gồm loại 4, 9, 15, 37 chân). Nếu mục đích chỉ truyền hoặc
nhận tín hiệu giữa hai thiết bị thì ta chỉ cần sử dụng 2 dây (một dây truyền hoặc
nhận) và một dây nối đất (GND – ground, hay mass).
RS 232 sử dụng phương thức truyền thông không đối xứng, tức là sử dụng tín hiệu
điện áp chênh lệch giữa một dây dẫn và đất. Các cổng của RS – 232 có ngưỡng
điện áp qui ước là -15V (volt) tới -3V , và 3V tới 15V (hoặc -5V, +5V, sự khác
biệt giữa hai giá trị 3, và 5V này được gọi là noise magin - biên độ dao động của
nghỉ dừng CPU trong khi vẫn cho phép RAM, các bộ định thời/đếm, port nối tiếp
và hệ thống ngắt tiếp tục hoạt động. Chế độ nguồn giảm duy trì nội dung của RAM
nhng không cho mạch dao động cung cấp xung clock nhằm vô hiệu hoá các hoạt
động khác của chip cho đến khi có reset cứng tiếp theo.
-Mụ t cỏc chõn ca AT89C51nh sau
12
Hỡnh 2.8 S chõn ca AT89C51
Nh vậy AT89C51 có tất cả 40 chân với các chức năng nh sau:
- Vcc (40)
Chân cung cấp điện (5V)
- GND (20)
Chân nối đất (0V)
- Port 0 (32-39)
Port 0 là port xuất nhập 8-bit hai chiều. Port 0 còn đợc cấu hình làm bus địa
chỉ (byte thấp) và bus dữ liệu đa hợp trong khi truy xuất bộ nhớ dữ liệu ngoài và bộ
nhớ chơng trình ngoài. Port 0 cũng nhận các byte mã trong khi lập trình cho Flash
và xuất các byte mã trong khi kiểm tra chơng trình (Các điện trở kéo lên bên ngoài
đợc cần đến trong khi kiểm tra chơng trình).
- Port 1(1-8)
Port 1 là port xuất nhập 8-bit hai chiều. Port 1 cũng nhận byte địa chỉ thấp
trong thời gian lập trình cho Flash.
13
- Port 2 (21-28)
Port 2 là port xuất nhập 8-bit hai chiều. Port 2 tạo ra các byte cao của bus
địa chỉ trong thời gian tìm nạp lệnh từ bộ nhớ chơng trình ngoài và trong thời gian
truy xuất bộ nhớ dữ liệu ngoài sử dụng các địa chỉ 16-bit. Trong thời gian truy xuất
bộ nhớ dữ liệu ngoài sử dụng các địa chỉ 8-bit, Port 2 phát các nội dung của thanh
ghi chức năng đặc biệt P2. Port 2 cũng nhận các bít địa chỉ cao và vài tín hiệu điều
khiển trong thời gian lập trình cho Flash và kiểm tra chơng trình.
(30)
ALE là một xung ngõ ra để chốt byte thấp của đòa chỉ trong khi truy xuất
bộ nhớ ngoài. Chân này cũng làm ngõ vào xung lập trình (
PROG
) trong thời
gian lập trình cho Flash.
Khi hoạt động bình thường ngõ ALE có tần số khơng đổi là 1/6 tần số của mạch
dao động,có thể dùng cho mục đích định thời từ bên ngồi và tạo xung clock.Tuy
nhiên ALE có thể bị bỏ qua trong mỗi chu kì truy xuất của bộ nhớ dữ liệu
ngồi.Khi cần, hoạt động ALE có thể được vơ hiệu hóa bằng cách set bit 0 củ
đặc biệt có địa chỉ 8Eh.Khi bit này được set AEL chỉ tích cực trong thời gian thực
hiện lệnh movx hoặc movc.Ngược lại chân này sẽ được kéo lên cao.Việc set bit
khơng cho phép hoạt động chốt byte thấp của địa chỉ sẽ khơng có tác dụng nếu bộ
vi điều khiển đang ở chế độ thực thi chương trình ngồi
-
PSEN
(29)
PSEN
(Program Store Enable) là xung điều khiển truy xuất bộ nhớ chương
trình ngoài. Khi AT89C52 đang thực thi chương trình từ bộ nhớ chương trình
ngoài,
PSEN
được kích hoạt hai lần mỗi chu kỳ máy, nhưng hai hoạt động
PSEN
sẽ bò bỏ qua mỗi khi truy cập bộ nhớ dữ liệu ngoài.
-
EA
/Vpp (31)
EA
Sơ đồ mạch điều khiển chiều quay động cơ
Hình 2.10 Mạch động lực của cơ cấu đóng mở
+Nguyên lý hoạt động :
Đầu A, B lấy tín hiệu từ 89C51.
+Khi A=1, B=0 , thì đầu ra của mạch điều khiển sẽ đặt lên động cơ một điện áp 1
chiều Làm động cơ quay theo 1 chiều nhất định.
+Khi A=0, B=1 , thì đầu ra của mạch điều khiển sẽ đặt lên động cơ một điện áp 1
chiều ngược cực tính với trường hợp trước Làm động cơ quay theo chiều
ngược với trường hợp trước.
2.2. SƠ ĐỒ HOÀN CHỈNH
17
VI ĐIỀU
KHIỂN
Điều khiển
chiều quay
động cơ
Động cơ
H2.7 : Sơ đồ kết nối phần cứng
Mạch mô phỏng số lượng xe đi vào
CHƯƠNG 3. THIẾT KẾ PHẦN MỀM
3.1. LƯU ĐỒ THUẬT TOÁN
3.1.1. Chương trình chính
18
Trong giới hạn của đề tài chúng ta phải giải quyết những công việc chính sau trong
việc thiết kế phần mềm điều khiển:
-Yêu cầu về nhập các thông số ban đầu từ bàn phím
-Điều khiển rào chắn nâng ,hạ cho phép hoặc không cho phép xe đi qua
-Hiển thị số lượng xe đi vào ,ra và số lượng chỗ trống trong bãi
-Hiển thị các thông số của bãi đỗ xe trên lcd
-Ra thông báo còn hoặc hết chỗ trong bãi
lượng xe ra cũng vậy
3.2. Phần Mềm
Mô phỏng đếm số lượng xe ra va báo hiệu khi bãi đỗ đã đầy xe:
Chương trình đếm:
#include <sfr51.inc>
org 0000h
mov tmod,#01010000b
mov th1,#0
setb p3.5
again:
setb tr1
back:
mov a,tl1
mov p0,a
jnb tf1,back
clr tr1
clr tf1
end
chương trình hiển thị:
#include <sfr51.inc>
org 300h
mydata: db "soxedivao",0
org 0
;khoi dong truyen thong noi tiep
mov tmod,#20h
21
mov p1,#0ffh
mov th1,#-98
mov scon,#50h
setb tr1
mov r6,b
mov r5,a
clr a
ret
;chuyen doi so 1 sang ASCII
chuyendoisothu1:
mov a,r5
add a,#30h
ret
;chuyen doi so 2 sang ASCII
chuyendoisothu2:
mov a,r6
add a,#30h
ret
;chuyen doi so 3 sang ASCII
chuyendoisothu3:
mov a,r7
add a,#30h
ret
;truyen vao truyen thong noi tiep
send:
mov sbuf,a
here:
jnb ti,here
clr ti
ret
end
23