Thiết kế hộp đen cho thiết bị giao thông, cập nhật trên máy tính - Pdf 12

Lời nói đầu
Trong sự phát triển của kỹ thuật điện tử ngày nay việc sử dụng các vi điều khiển
trong các hệ thống điện tử rất phổ biến cả về số lượng các ứng dụng của nó trên
nhiều thiết bị điện tử từ dân dụng cho đến chuyên dụng, trong nhiều lĩnh vực như
đo lường, điều khiển,…Nhờ vào ưu điểm của nó và cùng với sự phát triển kỹ thuật
số với nền tảng là các mạch logic số dựa trên sự kết hợp của các cổng logic cơ bản
mà ngày nay đã được tích hợp trong các IC số. Việc sử dụng màn hình máy tính để
hiển thị thông tin nhằm mục đích điều khiển, giám sát,lấy thông tin tại các đối
tượng cần khai thác.
Trên cơ sở những kiến thức đã được học trong môn học kỹ thuật vi xử lý và điện
tử số. Em được giao đề tài: “Thiết kế hộp đen cho thiết bị giao thông, cập nhật
trên máy tính” . Mục đích là tìm hiểu sâu hơn về vi điều khiển và lĩnh vực kỹ
thuật số để có thể nâng cao kiến thức của mình.
Do kiến thức còn hạn hẹp và thời gian thực hiện không được nhiều nên đề tài
của em còn rất nhiều sai sót, hạn chế. Mặc dù đã cố gắng phần nào thiết kế và tính
toán một cách chi tiết các mạch, các thông số nhưng đôi khi còn mang tính lý
thuyết,chưa thực tế. Em mong có sự góp ý và sửa chữa để đề tài này có tính khả thi
hơn về cả phương diện kinh tế cũng như kỹ thuật.

1
Chương 1:Tổng quan về hộp đen trên ôtô
1.1. Đặt vấn đề
Hiện nay, hầu hết các phương tiện giao thông quan trọng đều đã được lắp hộp
đen như: máy bay (đã được nghiên cứu và ứng dụng từ những năm 70 của thế kỷ
trước), các tàu đường sắt cao tốc, vệ tinh, tàu ngầm lò phản ứng hạt nhân… nhằm
hỗ trợ cảnh sát điều tra khi tai nạn xảy ra và để người ta có thể giám sát được hành
trình của xe trong quá trình vận hành, định vị trí, tốc độ, khoảng cách dịch
chuyển, trạng thái lắp mở động cơ, thiết bị điều hòa, đóng mở cửa, trạng thái xăng

chịu được nhiệt độ cực lớn và va đập có lực ép hàng tấn. Để đảm bảo độ bền hộp
3
đen, nhà sản xuất phải tiến hành thử nghiệm đặc biệt tỉ mỉ đối với bộ phận lõi
CSMU. Nếu các nhà điều tra có thứ này trong tay họ sẽ lấy lại được các thông tin
họ cần. Những thử nghiệm của nhà sản xuất đối với phần lõi hộp đen thường là thử
va đập cực mạnh giống một vụ tai nạn thực sự, thử lửa, thử ngập sâu dưới đáy biển
có độ muối cao hay ngâm trong chất lỏng có nhiều hóa chất. Thông thường hộp
đen có thể chịu được nhiệt độ cao tới 1.100 độ C trong 30 phút liên tục và ngâm
dưới độ sâu lên tới 6.100 mét trong 30 ngày.
1.3. Nguyên lý hoạt động của hộp đen
Khi hộp đen được lắp trên máy bay, Trên mối chiếc máy bay đều có hai thiết bị
cùng được gọi là hộp đen gồm Máy ghi âm buồng lái (CVR) và Máy ghi dữ liệu
chuyến bay (FDR). Cả hai đều hoạt động từ nguồn điện lấy từ máy phát sản sinh
điện từ động cơ máy bay.
Hình 1.3: Máy ghi âm buồng lái
a.Máy ghi âm buồng lái (CVR)
Tất cả các máy bay thương mại ngày nay đều có các microphone gắn trong buồng
lái, nhằm lưu lại mọi liên lạc và trao đổi của phi hành đoàn. Các microphone này
cũng được thiết kế để bắt được mọi tiếng động khác trong buồng lái như tiếng bật
công tắc, gõ cửa Thông thường mỗi buồng lái máy bay có 4 microphones được
gắn trong tai nghe của cơ trưởng, tai nghe của phi công phụ lái, tai nghe của thành
4
viên thứ ba phi hành đoàn và gắn tại trung tâm buồng lái, nơi có thể ghi lại các tín
hiệu báo động và những âm thanh khác. Mỗi chiếc microphone này nối trực tiếp
tới hộp đen CVR. Mọi âm thanh trong buồng lái đều được các microphone này thu
lại và chuyển tới CVR, nơi tiến hành mã hóa và lưu trữ. Hầu hết các CVR sử dụng
công nghệ băng từ có thể ghi lại 30 phút âm thanh, khi nào hết lại ghi lại từ đầu.
Do đó chúng luôn ghi lại 30 phút trao đổi cuối cùng trong buồng lái trước khi tai
nạn xảy ra. Trong khi đó, hộp đen CVR sử dụng công nghệ thể rắn có thể ghi được
tới 2 tiếng âm thanh.


Hình 2.1: Cấu trúc chung của họ vi điều khiển 8051
Trong phần này chúng ta nghiên cứu các thanh ghi chính của 8051 và trình bày
cách sử dụng với các lệnh đơn giản MOV và ADD.
Các thanh ghi
Trong CPU các thanh ghi được dùng để lưu cất thông tin tạm thời, những thông
tin này có thể là một byte dữ liệu cần được sử lý hoặc là một địa chỉ đến dữ liệu
cần được nạp. Phần lớn các thanh ghi của 8051 là các thanh ghi 8 bit. Trong 8051
chỉ có một kiểu dữ liệu: Loại 8 bit, 8 bit của một thanh ghi được trình bày như sau:
Với MSB là bit có giá trị cao nhất D7 cho đến LSB là bit có giá trị thấp nhất D0.
(MSB -Most Sigfican bit và LSB - Leart Significant Bit). Với một kiểu dữ liệu 8
bit thì bất kỳ dữ liệu nào lớn hơn 8 bit đều phải được chia thành các khúc 8 bit
trước khi được xử lý. Vì có một số lượng lớn các thanh ghi trong 8051 ta sẽ tập
trung vào một số thanh ghi công dụng chung đặc biệt trong các chương kế tiếp.
Các thanh ghi được sử dụng rộng rãi nhất của 8051 là A (thanh ghi tích luỹ), B,
7
R0 - R7, DPTR (con trỏ dữ liệu) và PC (bộ đếm chương trình). Tất cả các dữ liệu
trên đều là thanh ghi 8 bit trừ DPTR và PC là 16 bit. Thanh ghi tích luỹ A được sử
dụng cho tất cả mọi phép toán số học và lôgíc.
• Mô tả chân của 8051:
Mặc dù các thành viên của họ 8051 (ví dụ 8751, 89C51, DS5000). Tuy nhiên, vì
hầu hết các nhà phát triển chính sử dụng chíp đóng vỏ 40 chân với hai hàng chân
DIP nên ta chỉ tập chung mô tả phiên bản này.
Hình 2.2: Sơ đồ bố trí chân của 8051.
Trên hình là sơ đồ bố trí chân của 8051. Ta thấy rằng trong 40 chân thì có 32 chân
dành cho các cổng P0, P1, P2 và P3 với mỗi cổng có 8 chân. Các chân còn lại được
dành cho nguồn V
CC
, đất GND, các chân giao động XTAL1 và XTAL2 tái lập RST
cho phép chốt địa chỉ ALE truy cập được địa chỉ ngoài EA , cho phép cất chương

9
nhận được, chỉ rõ ràng vị trí của encoder, chúng ta không cần xử lý gì thêm cũng
biết chính xác vị trí của encoder. Còn đối với encoder tương đối thì loại này chỉ có
1, 2, hoặc 3 vòng lỗ. Ta có thể hình dung như thế này, nếu bây giờ ta đục thêm một
lỗ trên một cái đĩa quay thì cứ mỗi lần quay được 1 vòng ta sẽ nhận được tín hiệu
và ta biết được đĩa quay được 1 vòng. Nếu bây giờ trên đĩa đó có nhiều lỗ hơn thì
ta sẽ có được những thông tin chi tiết hơn, có nghĩa là đĩa quay 1/4 vòng, 1/8 vòng
hay 1/n vòng tùy theo số lỗ nằm trên encoder.
Hình 2.3. Đĩa encoder.
b, Nguyên lý hoạt động của encoder
Nguyên lý cơ bản của encoder, đó là một đĩa tròn xoay, quay quanh trục,
trên đĩa có các lỗ. Người ta dùng một đèn led để chiếu lên mặt đĩa. Khi đĩa quay,
chỗ không có lỗ (rãnh), đèn led không chiếu xuyên qua được, chỗ có lỗ (rãnh), đèn
led sẽ chiếu xuyên qua. Khi đó, phía mặt bên kia của đĩa, người ta đặt một con mắt
thu. Với các tín hiệu có, hoặc không có ánh sáng chiếu qua, người ta ghi nhận được
đèn led có chiếu qua lỗ hay không. Khi trục quay, giả sử trên đĩa chỉ có một lỗ duy
nhất, cứ mỗi lần con mắt thu nhận được tín hiệu đèn led, thì có nghĩa là đĩa đã quay
được một vòng. Tuy nhiên, những vấn đề được đặt ra là, làm sao để xác định chính
xác hơn vị trí của đĩa quay (mịn hơn) và làm thế nào để xác định được đĩa đang
quay theo chiều nào? Đó chính là vấn đề để chúng ta tìm hiểu về encoder.
10
Hinh 2.4. Nguyên lý cơ bản của hoạt động encoder.
a. Với encoder tuyệt đối
Quay lại bài toán cơ bản về bit và số bit, chúng ta xem xét vấn đề theo một
cách hoàn toàn toán học như sau:
Với một số nhị phân có 2 chữ số, chúng ta sẽ có 00, 01, 10, 11, tức là 4
trạng thái. Điều đó có nghĩa là với 2 chữ số, chúng ta có thể chia đĩa encoder thành
4 phần bằng nhau. Và khi quay, chúng ta sẽ xác định được độ chính xác đến 1/4
vòng.
Tương tự như vậy, nếu với một số có n chữ số, chúng ta sẽ xác định được

này.
Hoạt động của encoder tương đối bằng cách tăng lên 1 đơn vị khi một lần
lên xuống của cạnh xung.
Hình 2.7. Encoder tương đối.
Ta thấy cứ mỗi lần quay qua một lỗ, thì encoder sẽ tăng một đơn vị trong
biến đếm. Tuy nhiên, một vấn đề là làm sao để biết được encoder quay hết 1 vòng.
Nếu cứ đếm vô hạn như thế này thì chúng ta không thể biết được khi nào nó quay
hết 1 vòng. Để giải quyết vấn đề này, ta đưa thêm vào 1 lỗ định vị để đếm số vòng
đã quay của encoder. Như vậy, cho dù có lệch xung mà chúng ta vẫn thấy rằng
encoder đi ngang qua lỗ định vị này thì chúng ta vẫn biết là encoder đã bị đếm sai
ở đâu. Nếu vì một rung động nào đó mà chúng ta không thấy encoder qua lỗ định
vị, vậy thì từ số xung, và việc đi qua lỗ định vị, chúng ta sẽ biết rõ hiện tượng sai
của encoder.
13
Hình 2.8. Encoder có lỗ định vị.
Tuy nhiên, một vấn đề lớn nữa là, làm sao chúng ta biết encoder đang xoay
theo chiều nào? Bởi vì cho dù xoay theo chiều nào, thì tín hiệu encoder cũng chỉ là
các xung đơn lẻ và xoay theo hai chiều đều giống nhau. Chính vì vậy, người ta đặt
thêm một vòng lỗ ở giữa vòng lỗ thứ 1 và lỗ định vị như hình sau. .
c, Thuật toán đo tốc độ động cơ
Hình 2.9. Sơ đồ cấu tạo bên trong của encoder.
Thuật toán đơn giản mà được dùng rất phổ biến là ngắt thời gian để đếm
xung từ encoder cụ thể như sau :
+ Tạo một module thời gian ở đây là timer 16 có thời gian là 0.01s, module
Cou ter 8 đếm xung từ 0 đến 255 (Nó đếm lần lượt từ 0 đến 255 và đến 255 thì lại
trở về chu kì mới)
14
+ Sử dụng ngắt timer 16. (Có nghĩa là cứ 0.01s là chương trình lại xẩy ra
ngắt 1 lần). Trong hàm ngắt chúng ta xử lý số liệu mà số xung từ encoder được đưa
về vi điều khiển. Vì Couter nó chỉ đếm được từ 0 đến 255 để bao gồm cả trường

từ ‘0’ đến ‘9’ ta phải truyền mã ASCII của chúng lần lượt từ 0x30 đến 0x39.
Để kiểm tra xem máy tính có nhận được các ký tự này hay không ta phải cho máy
tính thi hành chương trinh nhận số liệu qua cổng nối tiếp. Chương trình này có thể
viết bằng ngôn ngữ lập trình Basis, Pascan, C, C++… Trong Window có cung cấp
sẵn cho chúng ta một công cụ truyền tin qua cổng nối tiếp là Hyper Terminal. Sau
đó nhập kết nối, chọn cổng nối tiếp và thiết lập các thông số cho cổng nối tiếp. Và
các thông số này phải giống như thiết lập cho cổng nối tiếp của vi điều khiển.
Chương 3 :Xây dựng mạch phần cứng
3.1. Sơ đồ khối hệ thống đo tốc độ động cơ
Việc thiết kế một hệ vi xử lý bao gồm cả việc thiết kế phần cứng vào và
viết phần mềm cho nền tảng phần cứng mà ta thiết kế. Việc xem xét giữa tổ chức
phần cứng và chương trình phần mềm cho một thiết kế là một vấn đề cần phải cân
16
nhắc. Vì khi tổ chức phần cứng càng phức tạp, càng có nhiều chức năng hỗ trợ cho
yêu cầu thiết kế thì phần mềm càng được giảm bớt và dễ dàng thực thi nhưng lại
đẩy giá thành sản phẩm lên cao, cũng như chi phí bảo trì. Ngược lại với một phần
cứng tối thiểu lại yêu cầu một chương trình phần mềm phức tạp hơn, hoàn thiện
hơn, nhưng lại cho phép bảo trì hệ thống dễ dàng hơn cũng như việc phát triển tính
năng của hệ thống từ đó có thể đưa ra gia thành cạnh tranh.
Hình 3.1. Sơ đồ khối hệ thống đo tốc độ động cơ.
a, Khối nguồn
Nguồn điện được thiết kế riêng sử dụng IC 7805 cho phép cung cấp điện áp
ổn định 5V với điện áp vào thay đổi từ 9-12V. Mạch nguồn được thiết kế nhằm
giảm thiểu sai số do mạch không ổn định của điện áp cung cấp cho mạch đếm và
các phụ kiện liên quan và hạn chế sự gia tăng đột ngột gây hỏng linh kiện.
VI
1
VO
3
GND

18
XTAL1
19
ALE
30
EA
31
PSEN
29
RST
9
P0.0/AD0
39
P0.1/AD1
38
P0.2/AD2
37
P0.3/AD3
36
P0.4/AD4
35
P0.5/AD5
34
P0.6/AD6
33
P0.7/AD7
32
P1.0
1
P1.1

28
P2.0/A8
21
P2.1/A9
22
P2.2/A10
23
P2.3/A11
24
P2.4/A12
25
P2.5/A13
26
P2.6/A14
27
U1
AT89C51
C1
470n
C2
470n
C3
1nF
Hình 3.3. Sơ đồ chân IC AT89C51.
18
Nhiệm vụ của khối xử lý: nhận tín hiệu từ bộ thu phát dưới dạng xung điện
áp và biến đổi xử lý thành các tín hiệu điều khiển để đưa ra hiển thị trên máy tính.
e, Khối hiển thị:
Hình 3.4. Khối hiển thị tín hiệu từ vdk trên máy tính
19

Ghi lệnh :DTR, RxEN,
RTS
Đọc trạng thái:
DSR, RxRDy
Kiểm tra sẵn
sàng:DSR=Rx
RDY=1
Đọc số liệu từ thanh
ghi bộ đệm dữ liệu
End
4.2. Chương trình điều khiển
23
#include <sfr51.inc>
ORG 0000h
;khoi tao truyen thong noi tiep
MOV TMOD,#20H ;chon timer 1 che do 2
MOV TH1,#-3 ; chon nhan voi toc do Baud 9600
MOV TH0,#-3 ; chon truyen voi toc do Baud 9600
MOV SCON,#50H ; chon khung du lieu 8 Bit
LAP:SETB TR1 ; khoi dong bo Timer 1
HERE: JNB RI,HERE ; doi nhan het toan bo ki tu
MOV A,SBUF ; luu cat du lieu vao thanh ghi A
CJNE A,#1,NEXT1
CJNE A,#2,NEXT2
CLR RI
SJMP LAP
END
;
NEXT1:
MOV A,P1 ; nhan du lieu tu cong P1


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status