Tải bản đầy đủ (.doc) (30 trang)

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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (645.91 KB, 30 trang )

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


dầu.
Thời gian gần đây, hàng loạt những vụ tai nạn giao thông đường bộ do ôtô gây
ra thường hết sức thảm khốc, làm thiệt hại lớn về người và tài sản, đặc biệt là
những vụ tai nạn do ôtô khách gây ra hậu quả nặng nề hơn vì số người thương
vong lớn, để lại nỗi đau mất mát và hậu quả lâu dài cho nhiều gia đình và xã hội.
Trước thực trạng đó, việc áp dụng rộng rãi hộp đen trong quản lý xe khách là một
yêu cầu bức thiết góp phần giảm thiểu những tai nạn này.
Hộp đen thực chất chỉ là một thiết bị ghi nhận diễn biến hành trình, nguyên tắc là
thu nhận các tín hiệu từ các cảm biến: tốc độ, áp suất, nhiệt độ, mức, góc trục quay,
để xử lý, đưa ra các chỉ thị cảnh báo trên đèn, còi, đồng hồ, hoặc điều khiển các
cơ cấu chấp hành: cuộn dây van điện từ, kim phun nhiên liệu,
Nó được kết cấu khá bền vững, chịu được va đập với áp lực cao, không bị phá hủy
vì nhiệt và không thấm nước, nhất là khó can thiệp từ bên ngoài để điều chỉnh hoặc
làm sai lệch các thông số đã ghi Kết cấu của hộp đen được thiết kế tùy thuộc vào
mục đích sử dụng và đặc điểm về môi trường, không gian lắp đặt, do vậy hộp đen
có hình thức, cấu trúc phức tạp, mức độ tinh xảo và tên gọi có thể khác nhau và tất
nhiên là giá thành cũng khác nhau.
1.2. Cấu tạo của hộp đen
2
Hình 1.1 : Hình dáng bên ngoài của hộp đen
Hộp đen được thiết kế đặc biệt giúp nó chịu được va đập (3.400 Gs), sức ép
(227kg/6,5cm2), nhiệt độ (1.100
0
C), nước muối (dưới đáy biển) 24-30 ngày không
gỉ, không hư hại.
Hình 1.2: Cấu tạo bên trong của hộp đen
Trong rất nhiều vụ tai nạn máy bay, thiết bị duy nhất còn hoạt động được chính là
phần lõi của hai hộp đen được thiết kế có thể chống va đập cực mạnh (CSMU).
CSMU có hình trụ được đặt bên trong các hộp đen. Đây là phần còn nguyên vẹn
cho dù những bộ phận khác của hộp đen bị hư hại trong tai nạn vì được thiết kế để

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.

b.Máy ghi dữ liệu chuyến bay (FDR)
Chiếc hộp đen thứ hai trên máy bay này được thiết kế để ghi lại nhiều dữ liệu hoạt
động từ các hệ thống vận hành trên máy bay. Có các cảm biến điện tử được nối từ
nhiều vị trí trên máy bay tới thiết bị thu nhận dữ liệu chuyến bay. Từ đây dữ liệu
tiếp tục được chuyển về hộp đen FDR lưu trữ. Bất cứ công tắc nào trên máy bay
được bật hoặc tắt cũng đều được FDR ghi lại. Tại Mỹ, Cơ quan quản lý hành
không liên bang (FAA) của nước này quy định máy bay thương mại phải ghi lại tối
thiểu 11 tới 29 thông số của chuyến bay tùy quy mô chở khách của máy bay. Các
hộp đen FDR dùng công nghệ băng từ có thể ghi tối đa 100 thông số, trong khi
FDR dùng công nghệ thể rắn có thể ghi lại hơn 700 thông số. Công nghệ thể rắn có
thể lưu nhiều thông số hơn vì chúng cho phép dữ liệu được truyền nhanh hơn. FDR
thể rắn có thể lưu tới 25 tiếng dữ liệu chuyến bay và mỗi thông số đều cho phép
các nhà điều tra có thêm đầu mối để xác định nguyên nhân tai nạn.
Những thông số chính của chuyến bay mà hầu hết các FDR đều phải ghi lại gồm
thời gian bay, áp suất, tốc độ bay, gia tốc thẳng đứng, ví trí các bộ phận cánh và
lưu lượng của nhiên liệu.
Nếu khi xảy ra tai nạn thì Sau khi tìm thấy hộp đen, người ta sẽ bảo vệ nó trong
môi trường mà từ đó chúng được tìm ra cho đến khi được tháo rời để khôi phục để
tránh bị thiệt hại thêm. Sau khi đưa đến phòng thí nghiệm, các nhà khoa học tải các
5
dữ liệu từ hai bộ phận của hộp đen và cố gắng tái tạo các dữ kiện của tai nạn. Quá
trình này có thể chỉ mất vài chục phút nếu hộp đen còn nguyên vẹn nhưng cũng có
thể mất vài tuần hoặc vài tháng để hoàn thành. Các nhà sản xuất hộp đen thường
cung cấp cho nhà điều tra hệ thống đọc hộp đen và các phần mềm khôi phục cần
thiết để phân tích đầy đủ các số liệu lấy từ chúng.

Chương 2: Vi điều khiển 8051 và các vi mạch phụ trợ
2.1.Tổng quan về vi điều khiển
2.1.1. Cấu trúc chung của họ vi điều khiển 8051
6


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

trìnhSEN.
8
Trong 8 chân này thì 6 chân V
CC
, GND, XTAL1, XTAL2, RST và EA được các
họ 8031 và 8051 sử dụng. Hay nói cách khác là chúng phải được nối để cho hệ
thống làm việc mà không cần biết bộ vi điều khiển thuộc họ 8051 hay 8031. Còn
hai chân khác là PSEN và ALE được sử dụng chủ yếu trong các hệ thống dựa trên
8031.
Các chế độ đánh địa chỉ của 8051
Các chế độ đánh địa chỉ khác nhau của bộ vi xử lý được xác định như nó được
thiết kế và do vậy người lập trình không thể đánh địa chỉ khác nhau là:
1. tức thời 2. Theo thanh ghi 3. Trực tiếp
4. gián tiếp qua thanh ghi 5. Theo chỉ số
Đặc điểm chính của họ vi xử lý 8051:
- 4k byte ROM, 128k byte RAM.
- 4 port I/O 8 bit.
- 2 bộ đếm/ định thời 16 bit.
- Mạch giao tiếp nối tiếp.
- 64k byte không gian nhớ chương trình ngoài.
- 64k byte không gian nhớ dữ liệu mở rộng.
- Một bộ xử lý bit ( thao tác trên các bit riêng rẽ ).
- 210 vị trí nhớ được định địa chỉ, mỗi vị trí 1 bit.
- Nhân /chia trong 4 µs.
2.2. Giới thiệu về encoder
a.Tổng quát về encoder
Encoder mục đích dùng để quản lý vị trí góc của một đĩa quay, đĩa quay có
thể là bánh xe, trục động cơ, hoặc bất kỳ thiết bị quay nào cần xác định vị trí góc.
Encoder được chia làm 2 loại: absolute encoder ( encoder tuyệt đối ) và
incremental ( encoder tương đối ). Đối với loại encoder tuyệt đối thì tín hiệu ta

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

độ chính xác đến 1/(2
n
) vòng.
Thế làm sao để xác định 2
n
trạng thái này của đĩa encoder?
Ta xét hình sau:
11
Hình 2.5. Đĩa encoder có 2 vòng đĩa
Ở hình trên ta thấy rằng ở vòng trong cùng, có một rãnh rộng bằng 1/2 đĩa.
Vòng phía ngoài, sẽ có 2 rãnh nằm đối diện nhau. Như vậy chúng ta cần 2 đèn led
để phát xuyên qua 2 lỗ, và 2 đèn thu.
Giả sử ở vòng lỗ thứ nhất ( trong cùng ), đèn đọc đang nằm ở hai vị trí có lỗ
hở thì tín hiệu nhận được từ con mắt thu sẽ là 1. Và ở vòng lỗ thứ 2, thì chúng ta
đang ở vị trí không có lỗ, như vậy con mắt thu vòng 2 sẽ đọc được giá trị là 0. Như
vậy với đĩa có 10 vòng, chúng ta xác định được encoder đang nằm ở góc phần tư
nào, cũng có nghĩa là chúng ta quản lý được độ chính xác của đĩa quay đến 1/4
vòng.
Hình 2.6. Đĩa encoder 8 vòng
b. Encoder tương đối
Nhận thấy một điều rằng, encoder tuyệt đối rất có lợi cho những trường
hợp khi góc quay là nhỏ, và động cơ không quay nhiều vòng. Khi đó, việc xử lý
encoder tuyệt đối trở nên dễ dàng cho người dùng hơn, vì chỉ cần đọc giá trị là
chúng ta biết ngay được vị trí góc của trục quay. Tuy nhiên, nếu động cơ quay
nhiều vòng, điều này không có lợi, bởi vì khi đó, chúng ta phải xử lý để đếm số
vòng quay của trục. Ngoài ra, nếu thiết kế encoder tuyệt đối, chúng ta cần quá
nhiều vòng lỗ, và dẫn tới giới hạn về kích thước của encoder, bởi vì việc gia công
12
chính xác các lỗ quá nhỏ là không thể thực hiện được. Chưa kể rằng việc thiết kế
một dãy đèn led và con mắt thu cũng ảnh hưởng rất lớn đến kích thước giới hạn

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

hợp trong 0.01s mà số xung nó lớn hơn 255 (Hay 0.01s nó được được trên 255
xung). Do đó chúng ta cần phải có 2 giá trị đếm của couter : Giá trị đếm mới
(newcount), giá trị đếm cũ (oldcount).
* Giá trị đếm cũ = Giá trị đếm mới:
* Khởi tạo cho newcount = 255 - giá trị xung đếm
* Nếu mà giá trị oldcount > newcount thì giá trị xung cuối cùng là : count =
255 + newcount - oldcount.
* Nếu mà giá trị oldcount < newcount thì giá trị đếm cuối cùng là :count =
newcount - oldcount
Từ giá trị đếm được số xung đó ta tính được vận tốc của động cơ. NHớ là
encoder có 100xung/vòng.
2.3. Giao tiếp VĐK với máy tính thông qua cổng RS232
Bộ vi điều khiển AT89S51 có khả năng giao tiếp với thiết bị ngoại vi qua cổng nối
tiếp. Vấn đề này duy nhất khi giao tiếp với máy tính là mức logic ở bộ vi điều
khiển và cổng COM của máy tính khác với nhau.
So sánh điện áp ở các mức logic giữa RS232C và TTL
Đối tượng Mức logic Mức điện áp tương ứng
Cổng COM ( Mức
RS232)
1 -12V đến -3V
0 +3V đến +12V
Vi điều khiển( Mức TTL) 1 +5V
0 0V
15
Hình 2.10. Sơ đồ chân cổng COM loại DB9
Khắc phục điều này, chúng ta sử dụng vi mạch MAX232 để chuyển đổi mức điện
áp giữa hai chuẩn. Vi mạch này có chứa hai bộ chuyển mức giữa vi điều khiển với
máy tính qua cổng RS232 sử dụng vi mạch đổi mức MAX232.
Như vậy thực chất của việc truyền thông qua cổng nối tiếp là việc truyền mã
ASCII của ký tự. Trong chương trình cho vi điều khiển để gửi cho máy các ký tự

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

2
U1
C1 C2 R1
D1
17
Khối nguồn
Động cơ
Khối thu
phát tín hiệu
Khối hiển thị
Khối xử lý
Hình 3.2. Mạch nguồn 5V
Các tụ C1 và C2 có nhiệm vụ ổn áp tránh dao động do dòng điện, hoặc các
hiện tượng sụt áp, ngoài ra còn có điện trở R1 và con led để báo nguồn.
b, Khối động cơ
Hoạt động của động cơ được xác định mỗi khi có sự thay đổi tín hiệu xung
nhận được khi có chùm sáng từ cảm biến phát quang qua khe đặt trên cánh động cơ
xuống cảm biến thu quang. Tín hiệu thu từ bộ cảm biến hồng ngoại có tính chất
tuần hoàn do động cơ hoạt động theo chu kỳ. Chính vì vậy, ta có thể xác định được
số vòng quay trong một giây.
Tín hiệu thu được từ bộ cảm biến chưa ổn định, do nhiều nguyên nhân khác
nhau. Tín hiệu này được đưa vào IC khuếch đại thuật toán để xử lý. Giá trị điện áp
tín hiệu được khuếch đại lên khoảng 12V tại đây tín hiệu được đưa vào chân của
xử lý.
c, Khối thu phát tín hiệu
Sử dụng các nút ấn và đèn để báo hiệu sự hoạt động thay cho cảm biến phản hồi tín
hiệu về vi điều khiển xử lý.
d, Khối xử lý
X1
XTAL2

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

2
P1.2
3
P1.3
4
P1.4
5
P1.5
6
P1.6
7
P1.7
8
P3.0/RXD
10
P3.1/TXD
11
P3.2/INT0
12
P3.3/INT1
13
P3.4/T0
14
P3.7/RD
17
P3.6/WR
16
P3.5/T1
15
P2.7/A15

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

Hình 3.5. Sơ đồ tổng thể của mạch
Chương 4. Sơ đồ thuật toán và code lệnh chương trình
20
4.1. Sơ đồ thuật toán điều khiển
a. Thuật toán xử lý tín hiệu trên vi điều khiển
Hình 4.1 . Lưu đồ 1
b. Lưu đồ truyền dữ liệu
21
Begin
Khởi phát : ghi từ
chế độ
Ghi lệnh :DTR,
TxEN
Đọc trạng thái
:DSR,TxRDY
Ghi số liệu ra thanh
ghi đệm số liệu
Ghi lệnh phát RTS
End
Kiểm tra sẵn
sàng:DSR=TxRD=
1
DSR,TxRD
DSR = TxRDY =1
Hình 4.2 : Lưu đồ 2
c. Lưu đồ nhận dữ liệu
22
Begin
Khởi phát : Ghi từ
chế độ

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

SETB TR0 ; khoi dong Timer 0
MOV SBUF,A ; truyen du lieu len may tinh
HERE1:JNB TI,HERE1 ; cho den Bit cuoi cung
CLR TI
24
RETI ; quay ve chuong trinh chinh
;
NEXT2:
CLR RI ; san sang nhan ki tu ke tiep
SETB TR1 ; khoi dong Timer1
HERE2:JNB RI,HERE2 ; doi nhan het toan bo ki tu
MOV A,SBUF ; luu cat du lieu vao thanh ghi A
MOV P1,A ; gui du lieu ra cong P1
SETB P0.0 ; cho phep nhan tin hieu ham phanh
RETI ; quay ve chuong trinh chinh
;…
NEXT3:
CLR RI ; san sang nhan ki tu ke tiep
SETB TR1 ; khoi dong Timer1
HERE3:JNB RI,HERE3 ; doi nhan het toan bo ki tu
MOV A,SBUF ; luu cat du lieu vao thanh ghi A
MOV P1,A ; gui du lieu ra cong P2
SETB P0.1 ; cho nhan tin hieu qua trinh qua toc do
RETI ; quay ve chuong trinh chinh
;
RETI
;hien thi ten va lop
25

×