ĐỒ án môn học đo KHOẢNG CÁCH
Trang 1LỜI MỞ ĐẦU
“Cảm biến “ trong tiếng anh gọi là sensor xuất phát từ chữ sense tức là cảm nhận Từ ngànxưa người tiền sử đã nhờ vào các giác quan xúc giác để cảm nhận, tìm hiểu đặc điểm củathế giới tự nhiên và học cách sử dụng những hiểu biết đó nhằm mục đích khai thác thếgiưới xung quanh phục vụ cho cuộc sống của họ
Trong thời đại phát triển của khoa học và kĩ thuật ngày nay con người không chỉ dựa vàocác cơ quan xúc giác của cơ thể để kám phá thế giới các chức năng xúc giác để nhận biếtcác vật thể hiện tượng xảy ra trong thiên nhiên được tăng cường nhờ các phát triển dụng cụdung để đô lường và phân tích mà ta gọi là cảm biến
Cảm biến được định nghĩa như các thiết bị dung để biến đổi các ddaij lượng vật lý và cácđại lượng không điện cần đo thành các đại lượng điện có thể đo được( như dòng điện,điệnthế,điẹn dung , trở kháng…) Nó là thành phần quan trọng nhất trong các thiết bị đo haytrong các hệ thống điều khiển tự động có thể nói: nguyên lý hoạt động của một cảm biến,trong hiều trường hợp thục tế cũng chính là nguyên lý của phép đo hay của phương phápđiều khiển tự dộng
Đã từ lâu cảm biến đã được sử dụng như những bộ phận để cảm nhận và phát hiện, nhưngchỉ từ vài chục năm trở lại đây chúng mới thể hiện rõ vai trò quan trọng trong các hoạtđộng của con người Nhờ những thành tựu mới của khoa học và công nghệ trong lĩnh vựcvật liệu, thiết bị điện tử và tin học, các cảm biến đã được giảm thiểu kích thước, cải thiệntính năng và ngày càng mở rộng phạm vi ứng dụng giườ đây không có một lĩnh vực nào
mà ở đó không sử dụng các cảm biiến chúng có mặt trong các hệ thống tự động phức tạp,người máy, kiểm tra chất lượng sản phẩm, tiế kiệm năng lượng, chống ô nhiễm môitrường Cảm biến cũng được sử dụng rộng rãi trong lĩnh vực giao thông vận tải, hang tiêudung, bảo quản thực phẩm,ô tô, trò chơi điện tử…
Một trong các ứng ụng rất dộng rãi và phổ biến đó là cảm biến vị trí và dịch chuyển Vìviệc kiểm tra vị trí và dịch chuyển dống vai trò raats quan trọng đối với hoạt động củanhiều máy móc,công cụ Hơn nữa, một số đại lượng vật lý có thể đo được thông qua việcxác định sự dịch chuyển của một vật chịu tác động của đại lượng vật lý đó
Có nhiều phương pháp để xác định vị trí và dịch chuyển trong phạm vi môn học, chúng
ta có thể thiết kế được một mạch điện tử đơn giản để đo khoang cách, sử dụng cảm biếnsiêu âm Để làm mạch này cần thiết kế được 3 phần chính : bộ phận cảm biến - bộ phận xử
lý - bộ phận hiển thị
Trang 2PHỤ LỤC.
LỜI MỞ ĐẦU 1
PHỤ LỤC 2
BẢNG NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN 3
BẢNG NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN 4
PHẦN II : LÝ THUYẾT THIẾT KẾ 5
I.SƠ ĐỒ KHỐI 5
II KHỐI CẢM BIẾN SIÊU ÂM SRF 05 : 5
1 Giới thiệu cảm biến siêu âm SRF05 : 5
2.Thông số kĩ thuật : 5
3.Chế độ hoat động : 6
3.1Chế độ 1 : 6
3.2Chế độ 2 : 7
4.Chức năng các chân : 8
5 Nguyên tắc hoạt động của SRF05: 8
6 Tính toán và xác định khoảng cách : 8
III.KHỐI ĐIỀU KHIỂN ATMEGA8 11
1.Sơ đồ chân ATMEGA8 : 11
2.Tổ chức của ATMega8 nói riêng, AVR nói chung 12
2.1 Bộ nhớ dữ liệu 12
2.2 Vùng Nhớ 13
2.3RAM tĩnh, nội (internal SRAM) 13
2.4RAM ngoại (external SRAM) 14
2.5EEPROM (Electrically Ereasable Programmable ROM) 14
3.Cấu trúc bên trong của ATMEGA8 14
IV KHỐI HIỂN THỊ 15
1.Chức Năng chân LCD 15
2.Sơ đồ khối LCD 16
2.1Các thanh ghi 16
2.2Cờ báo bận BF 16
2.3Bộ đếm địa chỉ AC : (Address Counter) 17
2.4Vùng RAM hiển thị DDRAM : (Display Data RAM) 17
2.5Vùng ROM chứa kí tự CGROM: Character Generator ROM 18
2.6 Vùng RAM chứa kí tự đồ họa CGRAM: (Character Generator RAM) 19
PHẦN III: NỘI DUNG THI CÔNG 20
I.SƠ ĐỒ NGUYÊN LÝ 20
II CODE LẬP TRÌNH CHOVDK: 21
Trang 3BẢNG NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
Giáo viên hướng dẫn : NGUYỄN THỊ NGỌC ANH
Họ và tên sinh viên : Bùi Công Tuân
Lớp : 09HDT1
Mssv : 09B1010058
Tên đề tài: THIẾT KẾ VÀ THI CÔNG MẠCH DO KHOẢNG CÁCH
Điểm đánh giá : Xếp loại :
TP Hồ Chí Minh, ngày 28 tháng 11 năm 2010
Giáo viên hướng dẫn
( Ký tên và ghi rõ họ tên)
Trang 4BẢNG NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN
Giáo viên phản biện :
Họ và tên sinh viên : BÙI CÔNG TUÂN
Lớp : 09HDT1
Mssv : 09B100058
Tên đề tài: THIẾT KẾ VÀ THI CÔNG MẠCH ĐO KHOẢNG CÁCH
Điểm đánh giá : Xếp loại :
TP Hồ Chí Minh, ngày tháng năm 2010
Giáo viên phản biện
( Ký tên và ghi rõ họ tên)
Trang 5PHẦN II : LÝ THUYẾT THIẾT KẾ
I SƠ ĐỒ KHỐI
1 Giới thiệu cảm biến siêu âm SRF05 :
SRF05 là một bước phát triển từ SRF04 , đựoc thiết kế làm tăng tính linh hoạt, tăng
phạm vi hoạt dộng và giảm chi phí Do đó,SRF05 hoàn toàn tương thích với SRF04
Khoảng cách được tăng lên từ 3 mét đến 4 mét Một chế độ hoạt động mới (chân chọnchế độ nôi đất ) cho phép SRF05 sử dụng một chân duy nhất cho cả kích hoạt và phản hồi,
do đó tiết kiệm chân cho bộ điều khiển của bạn Khi chân chế độ được ngắt kết nối,SRF05 hoạt động với các chân kích hoạt và chân phản hồi riêng biệt chân hồi tiếp, giốngnhư là SRF04 SRF05 thiét lập sẵn một thời gian trễ nhỏ trước khi xung phản hồi để manglại điều khiển chậm hơn chẳng hạn như bộ điều khiển thời gian cơ bản Stamps và Picaxe
Loại 1 chân cho triger/echo
hoặc 2 chân tương thích SRF04 Đàu vào kích khởi 10uS min, mức xung TTL
Xung va đập Mức tín hiệu dương, bề rộng đối xứng
43x20x17 (mm)Điều khiển tự động Không định kích cỡ hoạt động, tuự xử lí, hoạt động nhanhTgian hoạt động Thời gian hồi đáp, đưa tín hiệu điều khiển
Khối cảm biến siêu
âm SRF05
Khối điều khiển ATMEGA8
Khối hiển thị LCD
Trang 63 Chế độ hoat động :
3.1 Chế độ 1 :
Chế độ này sử dụng chân kích hoạt và chân phản hồi riêng biệt, và là chế độ đơn giảnnhất để sử dụng Tất cả các chương trinh mẫu cho SRF04 sẽ làm việc với SRF05 ở chế độnày Để sử dụng chế độ này, chỉ việc ngắt kết nối chân mode - SRF05 có một điện trở nộipull up ở chân này
Trang 84 Chức năng các chân :
- Echo Output : chân đầu ra tín hiệu phản hồi về từ cảm biên
- Triger Output : chân đầu vào kích hoạt
- Mode : chân chế độ ( không được kết nối ở chế độ một)
- bộ năm chân bên kia : 5 được đóng nhãn là "programming pins" chỉ được sử dụng mộtlần duy nhất trong quá trình sản xuất để lập trình cho bộ nhớ Flash trên chip PIC16F630 Các chân chương trình của PIC16F630 cũng được sử dụng cho các chức năng khác trênSRF05, nên chắc chắn rằng bạn không kết nối bất cứ cái gì với các chân, hoặc bạn sẽ làmgián đoạn hoạt động mô-đun
5 Nguyên tắc hoạt động của SRF05:
Từ giản đồ điều khiển ta thấy :
- để SRF05 hoạt động ta cần cấp một xung ở mức cao có độ rộng ít nhất là 10uS trênchân TRI
- sau đó SRF05 sẽ phát ra một chu kì 8 khối tín hiệu siêu âm ở tần số 40KHz và tăngdòng tín hiệu phản hồi của nó lên ở mức cao (hoặc đường tín hiệu kích hoạt ở chế
độ 2 ) sau đó nó chờ phản hồi, và ngay sau khi phát hiện một vật thể nó sẽ giảmdòng phản hồi xuống do đó dòng phản hồi sẽ là một xung có độ rộng tỉ lệ vớikhoảng cách tới vật thể Bằng cách đo xung , ta hoàn toàn có thể tính toán khoảngcách theo đơn vị inch / cm hay bất cứ gì khác Nếu không phát hiện vật thể thìSRF05 sẽ kéo dòng phản hồi xuốc mức thấp sau 30mS
- SRF04 cung cấp một xung phản hồi tỉ lện với khoảng cách Nếu đo độ rộng củaxung bởi uS, sau đó chia cho 58 sẽ cho ta khoảng cách tính bằng cm, hoặc chia cho
148 sẽ cho khoảng cách atinhs bằng inches: uS/58=cm hoặc uS/148=inches
- SRF05 có thể được kích hoạt nhanh chóng với mỗi 50mS, hay 20 lần / s
Bạn nên đợi 50ms trước xung kích hoạt kế tiếp, ngay cả khi SRF05 phát hiện vật thể ở gần
và xung phản hồi ngắn hơn Điều này để đảm bảo rằng siêu âm ‘” beep” đã tắt hẳn vàkhông làm sai lệch tín hiệu phản hồi trong lần đo tiếp theo
khoảng cách từ cảm biến tới chướng ngại vật sẽ được tính theo nguyên lý TOF
Trang 9d = ( Time Of Flight )
Trong đó : d- khoảng cách cần đo
v- vận tốc sóng siêu âm trong môi trường truyền sóng
t: thời gian từ lúc sóng được phát đi đến lúc sóng được ghi nhận lại
5- sai số và hiệu chỉnh cảm biến :
a- sai số :
hiện tượng đọc chéo(crosstalk) của cảm biến
Trang 10Hiện tượng forecasting :
Trang 11III KHỐI ĐIỀU KHIỂN ATMEGA8.
1 Sơ đồ chân ATMEGA8 :
Bạn có thể thấy chip này gồm 28 chân, trông đó có các chân được ghi là PB0(chân 14),PB1(chân 15),…,PB7(chân 10), đó là các chân của PORTB PORT là khái niệm chỉ cácngõ xuất nhập Trong AVR, PORT có thể giao tiếp theo 2 hướng (bi – directional), có thểdùng để xuất hoặc nhận thông tin, mỗi PORT có 8 chân Chip Atmega8 có 3 PORT có têntương ứng là PORTB, PORTC và PORTD (một số chip AVR khác có 4 hoặc 6 PORT).PORT được coi là “cửa ngõ” then chốt của vi điều khiển
Trong AVR, mỗi PORT liên quan đến 3 thanh ghi (8 bits) có tên tương ứng là DDRx,PINx, và PORTx với “x” là tên của PORT, mỗi bit trong thanh ghi tương ứng với mỗi châncủa PORT Trong trường hợp của Atmega8 “x” là B, C hoặc D Ví dụ chúng ta quan tâmđến PORTB thì 3 thanh ghi tương ứng có tên là DDRB, PINB và PORTB, trong đó 2 thanhghi PORTB và PINB được nối trực tiếp với các chân của PORTB, DDRB là thanh ghi điềukhiển hướng ( Input hoặc Output) Viết giá trị 1 vào một bit trong thanh ghi DDRB thìchân tương ứng của PORTB sẽ là chân xuất (Output), ngược lại giá trị 0 xác lập chântương ứng là ngõ nhập Sau khi viết giá trị điều khiển vào DDRB, việc truy xuất PORTBđược thực hiện thông qua 2 thanh ghi PINB và PORTB
Quay lại với 2 dòng code của chúng ta, dòng đầu: “LDI R16, 0xFF”, với LDI – LoaDImmediately, dòng lệnh có ý nghĩa là load giá trị 0xFF vào thanh ghi R16, R16 là tên 1thanh ghi trong bộ nhớ của AVR, 0xFF là 1 hằng số có dạng thập lục phân, ký hiệu “0x”nói lên điều đó, bạn cũng có thể dùng ký hiệu khác là “$” để chỉ 1 số thập lục phân, ví dụ
&FF, và 0xFF=255(thập phân)=0B11111111 (nhị phân) Như thế sau dòng đầu thanh ghiR16 có giá trị là 11111111 (nhị phân) Dòng thứ 2: “OUT DDRB, R16” nghĩa là xuất giátrị từ thanh ghi R16 ra thanh ghi DDRB, tóm lại sau 2 dòng trên giá trị DDRB như sau:
Có thể bạn sẽ hỏi tải sao chúng không sử dụng 1 dòng duy nhất là “LDI DDRB, 0xFF”hay “OUT DDRB, 0xFF”, chúng ta không thể vì lệnh LDI chỉ cho phép thực hiện trên cácthanh ghi R16,…R31 và lệnh OUT không thực hiện được với các hằng số
Và vì DDRB=11111111 nên trong trường hợp này tất cả các chân của PORTB đã sẵnsàng cho việc xuất dữ liệu Lúc này thanh ghi PINB không có tác dụng, thanh ghi PORTB
sẽ là thanh ghi xuất, ghi giá trị vào thanh ghi này sẽ tác động đến các chân của PORTB.1
Trang 122 Tổ chức của ATMega8 nói riêng, AVR nói chung.
Có cấu trúc Harvard, trong đó đường truyền cho bộ nhớ dữ liệu (data memory bus) vàđường truyền cho bộ nhớ chương trình (program memory bus) được tách riêng Datamemory bus chỉ có 8 bit và được kết nối với hầu hết các thiết bị ngoại vi, với register file.Trong khi đó program memory bus có độ rộng 16 bits và chỉ phục vụ cho instructionregisters Hình 1 mô tả cấu trúc bộ nhớ của AVR
Bộ nhớ chương trình (Program memory): Là bộ nhớ Flash lập trình được, trong các
chip AVR cũ (như AT90S1200 hay AT90S2313…) bộ nhớ chương trình chỉ gồm 1 phần làApplication Flash Section nhưng trong các chip AVR mới chúng ta có thêm phần BootFlash setion Boot section sẽ được khảo sát trong các phần sau, trong bài này khi nói về bộnhớ chương trình, chúng ta tự hiểu là Application section Thực chất, application sectionbao gồm 2 phần: phần chứa các instruction (mã lệnh cho hoạt động của chip) và phần chứacác vector ngắt (interrupt vectors) Các vector ngắt nằm ở phần đầu của application section(từ địa chỉ 0x0000) và dài đến bao nhiêu tùy thuộc vào loại chip Phần chứa instructionnằm liền sau đó, chương trình viết cho chip phải được load vào phần này
Bộ nhớ dữ liệu (data memory): Đây là phần chứa các thanh ghi quan trọng nhất của
chip, việc lập trình cho chip phần lớn là truy cập bộ nhớ này Bộ nhớ dữ liệu trên các chipAVR có độ lớn khác nhau tùy theo mỗi chip, tuy nhiên về cơ bản phần bộ nhớ này đượcchia thành 5 phần
Bao gồm 32 thanh ghi có tên gọi là register file (RF), hay General Purpose Rgegister –GPR, hoặc đơn giản là các Thanh ghi Tất cả các thanh ghi này đều là các thanh ghi 8 bitsnhư trong hình 2
Hình 2 Thanh ghi 8 bits
Tất cả các chip trong họ AVR đều bao gồm 32 thanh ghi Register File có địa chỉ tuyệtđối từ 0x0000 đến 0x001F Mỗi thanh ghi có thể chứa giá trị dương từ 0 đến 255 hoặc cácgiá trị có dấu từ -128 đến 127 hoặc mã ASCII của một ký tự nào đó…Các thanh ghi nàyđược đặt tên theo thứ tự là R0 đến R31 Chúng được chia thành 2 phần, phần 1 bao gồmcác thanh ghi từ R0 đến R15 và phần 2 là các thanh ghi R16 đến R31 Các thanh ghi này cócác đặc điểm sau:
Được truy cập trực tiếp trong các instruction
Các toán tử, phép toán thực hiện trên các thanh ghi này chỉ cần 1 chu kỳ xung clock
Register File được kết nối trực tiếp với bộ xử lí trung tâm – CPU của chip
Chúng là nguồn chứa các số hạng trong các phép toán và cũng là đích chứa kết quả trả lạicủa phép toán
Trang 13Vùng nhớ I/O có thể được truy cập như SRAM hay như các thanh ghi I/O Nếu sử
dụng instruction truy xuất SRAM để truy xuất vùng nhớ này thì địa chỉ của chúng đượctính từ 0x0020 đến 0x005F Nhưng nếu truy xuất như các thanh ghi I/O thì địa chỉ củachúng đựơc tính từ 0x0000 đến 0x003F
2.3 RAM tĩnh, nội (internal SRAM).
Là vùng không gian cho chứa các biến (tạm thời hoặc toàn cục) trong lúc thực thichương trình, vùng này tương tự các thanh RAM trong máy tính nhưng có dung lượngkhá nhỏ (khoảng vài KB, tùy thuộc vào loại chip)
Trang 142.4 RAM ngoại (external SRAM).
Các chip AVR cho phép người sử dụng gắn thêm các bộ nhớ ngoài để chứa biến, vùngnày thực chất chỉ tồn tại khi nào người sử dụng gắn thêm bộ nhớ ngoài vào chip
2.5 EEPROM (Electrically Ereasable Programmable ROM)
là một phần quan trọng của các chip AVR mới, vì là ROM nên bộ nhớ này không bịxóa ngay cả khi không cung cấp nguồn nuôi cho chip, rất thích hợp cho các ứng dụnglưu trữ dữ liệu Như trong hình 1, phần bộ nhớ EEPROM được tách riêng và có địa chỉtính từ 0x0000
3 Cấu trúc bên trong của ATMEGA8
Hình Cấu trúc bên trong ATmega 8.
ATmega có 32 thanh ghi trong Register File được kết nối trực tiếp với ArithmeticLogic Unit -ALU (ALU cũng được xem là CPU của AVR) bằng 2 line, vì thế ALU cóthể truy xuất trực tiếp cùng lúc 2 thanh ghi RF chỉ trong 1 chu kỳ xung clock (vùngđược khoanh tròn màu đỏ trong hình 4)
Trang 15bởi một bộ đếm chương trình – PC (Program counter) Đó chính là cách thức hoạt độngcủa AVR.
AVR có ưu điểm là hầu hết các instruction đều được thực thi trong 1 chu kỳ xungclock, vì vậy có thể nguồn clock lớn nhất cho AVR có thể nhỏ hơn 1 số vi điều khiểnkhác như PIC nhưng thời gian thực thi vẫn nhanh hơn
1 Chức Năng chân LCD.
1 Vss Chân nối đất cho LCD, khi thiết kế mạch ta nối chân này với
GND của mạch điềukhiển
2 Vdd Chân cấp nguồn cho LCD, khi thiết kế mạch ta nối chân này với
VCC=5V của mạchđiều khiển
3 Vee Điểu khiển độ tuơng phản của LCD
4 RS Chân chọn thanh ghi (Register select) Nối chân RS với logic
6 E Chân cho phép (Enable) Sau khi các tín hiệu được đặt lên bus
DB0-DB7, các lệnh chỉ được chấp nhận khi có 1 xung cho phép của chân E
+ Ở chế độ ghi: Dữ liệu ở bus sẽ được LCD chuyển vào(chấpnhận) thanh ghi bên
trong nó khi phát hiện một xung (high-to-low transition) của tínhiệu chân E
+ Ở chế độ đọc: Dữ liệu sẽ được LCD xuất ra DB0-DB7 khiphát hiện cạnh lên (low-
to-high transition) ở chân E và được LCD giữ ở bus đến khi nàochân E xuống mức
thấp
7-14 BD0-BD7 Tám đường của bus dữ liệu dùng để trao đổi thông tin với
MPU Có 2 chế độ sửdụng 8 đường bus này : + Chế độ 8 bit : Dữ liệu được truyền trên cả 8 đường, với bitMSB là bit DB7