thiết kế bộ đo tốc độ của vật chuyển động tịnh tiến
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
KHOA CƠ KHÍ
ĐỒ ÁN MÔN HỌC VI XỬ LÍ VÀ GHÉP NỐI MÁY TÍNH
Đề tài: Thiết kế bộ đo tốc độ của vật chuyển động tịnh tiến
Giảng viên hướng dẫn: Ths.Vũ Thị Thu Hương SVTH: Nguyễn Văn Thái
Trần Văn Tiến
Lê Duy Tú
Trang 2Mục Lục
Mục Lục 2
Lời Nói Đầu 3
Phần I: Giới thiệu chung về ghép nối máy tính 4
A Giới thiệu 4
Phần II: ghép nối truyền tin nối tiếp 7
I Khái Niệm Về Truyền Tin Nối Tiếp 7
II Cổng Nối Tiếp 8
Phần III: Nội dung đề tài 13
I Chương trình điều khiển bằng VB 13
II Chương trình vi điều khiển 14
III Sơ Đồ Nguyên Lý 17
IV Sơ Đồ Mạch In: 18
V Mô phỏng 19
Kết luận 20
Trang 3Lời Nói Đầu
Ngày nay, các thiết bị máy móc, hệ thống nhằm phục vụ đời sống con người trong sinh hoạt cũng như trong sản xuất phát triển nhanh và ngày càng thông minh Sở dĩ có được điều đó là nhờ ứng dụng thành tựu của khoa học kỹ thuật Một trong vô số những thành tựu của khoa học kỹ thuật nói chung, của khoa học kỹ thuật điện tử nói riêng là bộ vi điều khiển, ghép nối máy tính
Trong các thiết bị điện và điện tử dân dụng, các bộ vi điều khiển điều khiển các hoạt động của ti vi, máy giặt, đầu đọc laser, điện thoại, lò vi ba trong
hệ thống sản xuất tự động, bộ vi điều khiển được sử dụng trong rụ bốt, dây truyền tự động, các hệ thống càng thông minh thì vai trò của hệ vi điều khiển càng quan trọng Đây là nói đến vi điều khiển, còn ghép nối máy tính có nó cũng
có rất nhiều ứng dụng có liên quan đến vi điều khiển Ghép nối máy tính với máy in, máy quét, máy ảnh, máy quay phim qua các cổng ghép nối của máy tính
Qua học tập và nghiên cứu chúng em đã tìm hiểu về đề tài : Thiết kế đồng hồ thời gian thực hiển thị LCD sử dụng cổng nối tiếp
Do thời gian nghiên cứu và kinh nghiệm còn hạn chế nên không tránh khỏi những thiếu sót
Vì vậy, em rất mong sự góp ý chỉ bảo của các thầy cô và các bạn
Chúng em xin chân thành cảm ơn!
Hà Nội, Ngày 23Tháng 08 Năm 2013
Giáo viên hướng dẫn :Vũ Thị Thu Hương Nhóm sinh viên thực hiện: Cao Tiến Trung
Trần Văn Cường
Vũ Đình Duẩn Lớp : Cơ điện tử 2 – k5
Trang 4Phần I: Giới thiệu chung về ghép nối máy tính
A Giới thiệu
Sự phát triển của ghép nối máy tính đã mở rộng đáng kẻ các lĩnh vực ứng dụng của máy tính, đặc biệt là đo lường và điều khiển Thực tế cho thấy, trong các công ty xí nghiệp đã ứng dụng kỹ thuật ghép nối rất nhiều, Ví Dụ: Những điều khiển CNC, dây truyền công nghệ sản xuất xi măng, điều khiển các thiết bị khác nhau như những phần cứng và chương trình do người sử dụng viết, ngôn ngữ giao tiếp là: Pascal, C++, ASM, VB, VB.net có khả năng ghép nối máy tính có độ chính xác cao, thời gian thu nhập số liệu ngắn và quan trọng là mức thu thập và xử lý các kết quả
Đề tài, đo điện áp một chiều hiển thị trên màn hình LCD và trên máy tính dạng đồ thị là một đề tài tương đối khó và có nhiều ứng dụng trong ngàng điện
tử và mộ số ngành khác
B Sự giao tiếp giữa máy tính và các khối ghép nối
I Máy tính và các khối ghép nối
Như chúng ta đã biết cấu trúc của một máy tính được chia làm 3 phần chính:
Khối xử lý trung tâm CPU làm nhiệm vụ thu thập và xử lý mỗi dữ liệu Khối nhớ (Memory): Lưu trữ các loại dữ liệu khác nhau đưa vào lấy và lấy ra ở CPU
Khối vào ra (I/O): Làm nhiệm vụ tương thích với các thiết bị bên ngoài và đường Bus trong máy tính
Trong máy tính hiện nay thường có các thiết bị ngoại vi sau: Màn Hình, bàn phím, chuột, loa, máy in Với các thiết bị ngoại vi đó, máy tính đều có khối xử lý tương ứng, ví dụ: Khối ghép giữa bus máy tính với màn hình là card màn hình (VGA), khối ghép giữa bus máy tính với loa là soundcard thông thường các máy tính thế hệ hiện nay thì các khối ghép nối cho các thiết bị ngoại
vi thông dụng này đều được tích hợp trên một bản mạch chính gọi là Mainboard
Tuy nhiên máy tính không chỉ dừng lại ở ghép nối với máy in, màn hình, loa, mà nó còn được ứng dụng vô cùng rộng rãi trong nhiều lĩnh vực Nhờ các cổng ghép nối RS232, LPT, cổng USB, các khe căm mở rộng mà chúng ta có thể tạo ra các phần cứng có thể ghép nối vơi máy tính dưới sự điều khiển của các phần mềm
Nội dung của môn học này là chúng ta đi vào nghiên cửu các cổng, cỏc khe cắm mở rộng của máy tính, để từ đó ta có thể chế tạo ra các khối ghép nối phục vụ trong nhiều lĩnh vực trong công nghiệp như là đo lường và điều khiển
Trang 51 Các dạng tin trao đổi của máy tính
a Dạng số (Digital)
Đây là một chuỗi các bit 0 và 1 được biểu diễn theo hệ đếm như: nhị phân,
hệ thập lục phân Các tín hiệu này có thẻ ở dạng nối tiếp hoặc song song và mức có thẻ là RS hoặc TTL
b Dạng chữ (Text)
Đây biểu diễn của các ký tự dưới dạng số, trên thế giới hiện nay thông dụng là biểu diễn các ký theo mã ASCCII Theo cách này thì các ký tự được biểu diễn bằng các chính là đọc bit 0,1 trên hệ thập lục phân, ví dụ: Mã ký tự A
là 41h Dạng tín hiệu này có thể coi là tìn hiệu số
c Dạng tương tự (Analog)
Đây là các dòng điện hay điện áp biến đổi liên tục theo thời gian Điển hình là đại lượng vật lý thu thập từ các bộ cảm biến (sensor) Muốn xử lý được các tín hiệu này, máy tính (khối ghép nối) phải chuyển nó sang dạng số bằng các
bộ biến đổi ADC
d Dạng âm tần
Đây là dạng tổng hợp của nhiều tín hiệu tương tự vơi tín hiệu số với các biên độ khác nhau Cũng có thẻ coi đõy là một dạng của tín hiệu Analog
2 Các dạng thông tin trao đổi của máy tính
Trong quá trình gửi tin từ các thiết bị ngoại vi vào máy tính có các dạng tín hiệu sau:
Tin về trạng thái của thiết bị ngoại vi
Tin mạng dữ liệu cần trao đổi
Trong quá trình ngược lại
Tin về dữ liệu trao đổi
Tin mang lệnh điều khiển
3 Các phương thức trao đổi tin của máy tính
Trao đổi theo chương trình (Assembly, Pascal, C++, VB, VB.net )
Trao đổi trực tiếp với các khối nhớ (DMA – Direct Memory Access)
a Chế độ trao đổi tin theo chương trình
Đây là chế độ trao đổi tin trong đó máy tính trao đổi với các thiết bị ngoại
vi bằng các lệnh vào ra Lệnh dịch chuyển dữ liệu giữa các thanh ghi Cụ thể:
Trong ngôn ngữ Asembly các lệnh được lệnh dành cho trao đổi IN, OUT, MOV
Trong ngôn ngữ Pascal:
Đọc một byte dữ liệu: X:=PORT[địa chỉ]
Đưa một byte dữ liệu: PORT[địa chỉ]: =y;
Đọc một byte dữ liệu: OUTPORT(địa chỉ, y)
Trong chế độ trao đổi theo chương trình có 3 phương pháp:
Trang 6• Phương pháp trao đổi đồng bộ.
ở phương pháp này, máy tính sẽ tiến hành trao đổi tin ngay với thiết bị ngoài khi khởi động xong mà không cần biết trạng thái của trạng thái đường dây cũng như thiết bị ngoài
Để có thể thực hiện được phương pháp này thì yêu cầu là:
+ Tốc độ trao đổi tin của thiết bị ngoài lớn hơn tốc độ trao đổi tin của máy tính
+ Thiết bị ngoài cần phải ở trạng thái sẵn sàng ngay khi máy tính khởi động xong
+ Phương pháp này có ưu điểm là tốc độ trao đổi tin nhanh nhưng có nhược điểm là dễ bị mất tin khi thiết bị ngoài chưa ở trạng thái sãn sàng
• Phương pháp không đồng bộ
Trong phương pháp này, trước khi trao đổi tin, máy tính tiến hành đọc, kiểm tra trạng thái của thiết bị ngoài, nên thiết bị ngoài đã ở trạng thái sẵn sàng thì tiến hành trao đổi tin còn ngược lại sẽ chờ
Ngoài ra trong quá trình trao đổi, nếu tin bị lỗi thì yêu cầu truyền lại
Phương pháp này có độ tin cậy cao nhưng tốc độ chậm hơn phương pháp đồng bộ
• Phương pháp trao đổi ngắt chương trình
Phương pháp này lợi dụng được ưu điểm, khắc phục được nhược điểm của hai phương pháp trên:
+ Khi thiết bị ngoài có yêu cầu trao đổi sẽ gửi tin tín hiệu theo yêu cầu (ngắt) đến máy tính
+ Máy tính dừng chương trình đang phục vụ (nếu thiết bị ngoài đang yêu cầu có mức yêu tiên cao hơn) và nhớ lại dừng đồng thời gửi tín hiệu xác nhận, yêu cầu thiết bị ngoài trao đổi tin
+ Máy tính và thiết bị ngoài trao đổi tin theo chương trình (gọi là chương trình con phục vụ ngắt)
+ Kết thúc quá trình trao đổi tin, máy tính trở lại chương trình từ điểm dừng
+ Phương pháp trao đổi theo ngắn chương trình khắc phục được nhược điểm của hai phương pháp đồng bộ và không đồng bộ, nó cho phép tận dụng tối
đa thời gian làm việc của máy tính
b Trao đổi MDA.
Đây là phương thức trao đổi trực tiếp với khối nhớ của máy tính mà không thông qua CPU Khi đó CPU sẽ ở trạng thái treo nhường quyền điều khiển bù cho ghép nối Thiết bị ngoài và khối nhớ của máy tính sẽ tiến hành trao đổi (đọc/ghi dữ liệu) Sau khi quá trình kết thúc sẽ nhường lại quyền điều khiển Bus cho CPU
Trang 7Phần II: ghép nối truyền tin nối tiếp
I Khái Niệm Về Truyền Tin Nối Tiếp
1 Khái niệm
Truyền tin nối tiếp là phương thức truyền tin trong đó các bit mang thông tin được truyền kế tiếp nhau trên 1 đường dẫn vật lý Tại 1 thời điểm phía bên truyền và bên nhận chỉ có thể truyền ( hoặc nhận) 1 bit
Ưu điểm của truyền tin nối tiếp :
+ Tiết kiệm đường dẫn
+ Có khả năng truyền đi xa
Nhược điểm
+ Tốc độ chậm hơn các thiết bị thường phải có khối chuyển đổi nối tiếp song song, song song nối tiếp khi sử dụng phương pháp này để trao đổi tin
2 Các phương thức truyền tin nối tiếp
Có 3 phương thức truyền tin nối tiếp :
+ Phương thức đồng bộ : Các byte chứa các bit thông tin được truyền liên tiếp trên đường truyền và chỉ được ngăn cách ( phân biệt ) nhau bằng bit đồng
bộ khung (SYN) Hình 1
+ Phương thức không đồng bộ : Các byte chứa các bit thông tin được chứa trong 1 khung 1 khung được bắt đầu bằng 1 bit start, tiếp theo là các bit mang thông tin, kế tiếp là các bit kiểm tra chẵn lẻ và kết thúc là 1 bit stop Khoảng cách giữa các khung là các bit dừng bất kỳ , khi đó đường truyền được lấy lên mức cao (hình 2 )
+ Phương thức lai : Đây là phương thức kết hợp của hai phương pháp trên , trong đó các bit trong 1 khung được truyềng theo phương thức không đồng
bộ còn các byte được truyền theo phương thức đồng bộ
Hình 1
Trang 8Hình 2
II Cổng Nối Tiếp
1 Giới thiệu
Cổng nối tiếp RS232 là 1 giao diện phổ biến rộng rãi nhất , ta còn gọi là cổng com 1 ,com2 , để tự do cho các ứng dụng khác nhau , giống như cổng máy in , cổng nối tiếp RS232 cũng được dử dụng rất thuận tiện trong việc ghép nối máy tính với các thiết bị ngoại vi Việc truyền dữ liệu qua cổng RS232 được tiến hành theo cách nối tiếp nghĩa là các bit dữ liệu được gửi đi nối tiếp với nhau trên 1 đường dẫn
2 Cấu trúc cổng nối tiếp
í nghĩa các chân tín hiệu như sau :
Mức tín hiệu trên các chân của cổng nối tiếp thường nằm trong khoảng
-12v _ +12v
Các bit dữ liệu được đảo ngược lại mức điện áp ở mức logic 1 : -12v _ -3v mức điện áp ở mức logic 0 : +3v _ +12v trạng thái tĩnh trên đường dẫn có mức điện áp -12v
bằng tốc độ baund ta thiết lập tốc độ truyền dữ liệu các giá trị thông thường là :
300, 600, 1200, 2400,4800, 9600
Trang 93 Địa chỉ các cổng như sau :
Com1: địa chỉ cơ bản là : 3F8H
Com2: địa chỉ cơ bản là : 2F8H
Com3: địa chỉ cơ bản là : 3E8H
Com4: địa chỉ cơ bản là : 2E8H
Sự trao đổi các đường dẫn tín hiệu :
Trên máy tính có một vi mạch đảm bảo việc truyền (nhận) dữ liệu thông qua cổng nối tiếp, vi mạch đó gọi là UART ( bộ truyền nhận nối tiếp không đồng bộ ) UART để điều khiển sự trao đổi thông tin giữa máy tính và các thiết bị ngoại
vi , phổ biến nhất là vi mạch 8250 của hãng NSC hoặc các thiết bị tiếp theo , như 16C550 , bộ UART có 10 thanh ghi để điều khiển tất cả chức năng của việc nhập vào xuất ra dữ liệu theo cách nối tiếp
4 Các thanh ghi điều khiển
a) Thanh ghi điều khiển modem(3F8 +4)
D7 D6 D5 D4 D3 D2 D1 D0
D0=1 : đưa DTR=0
D0=0 : đưa DTR =1
D1=1: đưa RTS =0
D1=0: đưa RTS =1
OUT1 , OUT2 điều khiển đầu ra phụ
b) Thanh ghi trạng thái modem(3F8+6)
Thanh ghi này nhiệm vụ thông báo về trạnh thái các đường dẫn bắt tay điều chú
ý ở thanh ghi này là : D4, D5 ,D6 chính là lối vào của các đường dẫn CTS , DSR , RI
đã được đảo
c) Thanh ghi điều khiển đường truyền( 3F8+3)
C1, C0 : đặt số bit trong mỗi từ
00: 5 bit
01: 6 bit
10 : 7 bit
11: 8 bit
C2 : các bit dừng
Trang 101: 1,5 bit dừng
C3 : bit kiểm tra chẵn lẻ
0 : không kiểm tra
1 : có kiểm tra
C4 : loại chẵn lẻ
0: bit lẻ
1: bit chẵn
C5 : stick bit
0: không có stick bit
1: stick bit
C6 : đặt break
0: normal output
1: gửi 1 break
C7 ( DLAB) : bit phân chia truy nhập cho các thanh ghi cùng địa chỉ
d) Thanh ghi trạng thái đường truyền (3F8+5)
S0=1: Khi có 1 byte mới nhận được
S1=1: Khi ký tự trước không được đọc ký tự mới đến sẽ xoá ký tự cũ trong bộ đệm
S2=1: Khi có lỗi chẵn lẻ
S3=1: Khi có lỗi khung truyền
S4=1 : Khi có gián đoạn đường truyền
S5=1 : Khi bộ truyền rỗng cổng nối tiếp có thể truyền nhận
S6=1: Khi bộ đệm truyền rỗng
S7=0: Không sử dụng
e) Thanh ghi cho phép ngắt ( 3F8+1)
D0=1 : Cho phép ngắt khi nhận 1 ký tự
D1=1 : Cho phép ngắt khi bộ đệm truyền rỗng
D2=1: Cho phép ngắt khi thay đổi trạng thái đường truyền
D3=1: Cho phép ngắt khi thay đổi trạng thái modem
D4=0
D5=0
D6=0
D7=0
f) Thanh ghi nhận dạng ngắt ( 3F8+2)
Trang 11D7 D6 D5 D4 D3 D2 D1 D0
1 1 0 Cao nhất Lỗi đường nhận dữ liệu Đọc thanh ghi
đường truyền
đệm
rỗng
modem
g) Thanh ghi chứa số chia tốc độ baud (byte thấp - địa chỉ cơ sở )
thanh ghi này gồm có 8 bit , chứa phần thấp số chia của tốc độ baud số chia tốc độ baud tính theo công thức :
số chia tốc độ baud = 1843200/( 16*tốc đọ baud cần thiết lập )
h) Thanh ghi chứa số chia tốc độ baud( byte cao 3F8+1)
i) Thanh ghi đệm đọc viết ( 3F8)
iii Nối ghép 8051 với RS232
Chuẩn RS232 không tương thích với mức logic TTL, nên cần bổ sung thêm một bộ điều khiển đường truyền, chẳng hạn như chip MAX232 để chuyển đổi các mức điện áp RS232 về các mức TTL và ngược lại Do vậy nối ghép
8051 với đầu nối RS232 thông qua chip MAX232
a Chân RxD và TxD của 8051
8051 có hai chân được dùng chuyên cho truyền và nhận dữ liệu nối tiếp Hai chân này là RxD và TxD và là một phần của cổng P3 (đó là P3.0 và P3.1 tương ứng) P3.0 là chân số 10 của 8051, còn P3.1 là chân số 11 Các chân này tương thích với mức logic TTL Do vậy cần có thêm một bộ điều khiển đường truyền để chúng tương thích với RS232 Bộ điều khiển như vậy có thể là chip MAX232
b Bộ điều khiển đường truyền MAX232
Vì RS232 không tương thích với các bộ vi xử lý và vi điều khiển hiện nay nên ta cần một bộ điều khiển đường truyền (bộ chuyển đổi điện áp) để chuyển đổi các tín hiệu RS232 về các mức điện áp TTL được các chân TxD và RxD của
Trang 12hãng Maxim Bộ MAX232 chuyển đổi từ các mức điện áp RS232 về mức TTL
và ngược lại Một điểm mạnh khác của chip MAX232 đó là dùng điện áp của ân RxD của đầu nối DB của RS232 Bộ điều khiển đường R1 cũng có gán R1in và R1out trên các chân số 13 và 12 tương ứng Chân R1in (chân số 13) là ở phía RS232 đư MAX232 có gán T1in và T1out trên các chân số 11 và 1 tương ứng Chân T1in là ở phía TTL và được nối tới chân RxD của bộ vi điều khiển, còn T1out là ở phía RS232 được nối tới chân TxD đầu nối DB của RS232 và chân R1out (chân số 12) là ở phía TTL và được nối tới chân RxD của bộ vi điều khiển, chân TxD bên phát được nối với RxD của bên thu và ngược lại MAX232 cần có
4 tụ điện giá trị từ 1 đến 22µF giá trị thường dùng là 10µF