Đề tài Thiết kế, xây dựng một robot có chức năng giống CleanMate 365 của hãng Metapo,USA

Mục Lục 3

Danh Mục Hình Vẽ 4

Danh Mục Bảng Biểu 5

Chương 1: Tổng quan 6

1.1 Đặt vấn đề: 6

1.2 Giới thiệu về Robot Cleamate: 7

Chương 2: Cơ sở lý thuyết về hệ thống robot thông minh 8

2.1 Khái Niệm Về Robot : 8

2.2 Phân Loại Robot : 9

2.3 Các bộ phận của robot di động thông minh : 10

2.4 Các mô hình điều khiển robot: 11

2.4.1 Mô hình kiểu phản xạ : 11

2.4.2 Mô hình “sens – plan – act “ : 11

2.4.3 Mô hình kiểu lai : 11

Chương 3: Thiết kế Robot cleanmate – Phần cơ khí 12

Chương 4: Thiết kế mạch điện tử 14

4.2 Khối điều khiển và giới thiệu PIC16F877A: 14

4.2.1 Hight-performance RISC CPU 15

4.2.2 Các cổng vào ra : 16

4.2.3 Các Khối Timer: 19

4.2.4 Khối PWM: 23

4.2.5 Khối ADC: 24

4.2.6 Khối truyền thông nối tiếp UART: 26

4.2.7 Các tài nguyên của PIC được sử dụng trong việc xây dựng khối điều khiển cho robot: 26

4.3 Khối quản lý nguồn : 28

4.3.1 Khối chuyển đổi nguồn nuôi: 28

4.3.2 Khối ổn áp: 29

4.3.3 Khối nạp Pin: 33

4.4 Hệ thống cảm nhận vật cản: 34

4.5 Hệ thống sensor gầm cảm nhận độ cao: 35

4.6 Cảm nhận sáng tối: 36

4.7 Khối giao tiếp điều khiển từ xa hồng ngoại: 36

4.7.1 Nguyên lý hoạt động: 36

4.7.2 Bộ Phát : 38

4.7.3 Phần thu: 39

4.8 Bàn phím: 40

4.9 Hiển thị LED 7 đoạn và Loa: 42

4.9.1 Hiển thị LED 7 đoạn : 42

4.9.2 Loa : 42

4.10 Mạch điều khiển động cơ : 43

4.10.1 Giới thiệu về mạch cầu H: 43

4.10.2 Điều khiển motor với IC L298: 44

4.10.3 Điều khiển Motor chổi quét: 46

4.11 Thiết kế PCB: 47

4.11.1 Phần mềm thiết kế mạch in PCB DXP Altium Designer: 47

4.11.2 Thiết kế mạch điện trong môi trường Altium Designer: 48

4.11.3 Kết quả và nhận xét: 48

Chương 5: Phần mềm điều khiển Robot. 49

5.1 Lập trình cho hệ thống thời gian thực: 49

5.2 Bài toán di chuyển của robot: 51

5.3 Tránh vật cả và độ cao: 52

5.4 Tìm chỗ sáng: 52

5.5 Chương trình điều khiển robot: 53

5.5.1 Chương trình điều khiển robot: 53

Chương trình điều khiển robot có thể diên tả bằng lưu đồ sau, trong đó. Cleaner là hàm hoạt động của robot, charger là hàm nạp pin. 53

5.5.2 Sơ đồ trạng thái của robot trong quá trình hoạt động: 54

Chương 6: Kết quả thực nghiệm và hướng phát triển của đề tài 55

6.1 Kết quả thực nghiệm: 55

6.2 Hướng phát triển của đề tài: 56

6.2.1 Tìm trạm sạc: 56

6.2.2 Tạo tiếng nói cho robot: 58

6.2.3 Lập trình thời gian biểu: 58

Phụ Lục 59

 

 

doc67 trang | Chia sẻ: lethao | Ngày: 04/02/2013 | Lượt xem: 1756 | Lượt tải: 22download
Bạn đang xem nội dung tài liệu Đề tài Thiết kế, xây dựng một robot có chức năng giống CleanMate 365 của hãng Metapo,USA, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
ời hoặc đếm. Khi hoạt động Timer đếm tiến từ giá trị được ghi trong thanh ghi TMR0 đến 256. Khi đếm đến 256 cờ tràn TMR0IF sẽ đc bật lên. Time = (FOSC/4) x Prescale x ( 256 – TMR0 ) Bit T0CS : chọn nguồn dao động cho Timer0 =1 nguồn dao động được đưa vào từ chân T0CKI.(Chế độ đếm) =0 nguồn dao động hệ thống Bit T0SE : Ở chế độ đếm, chọn sườn xung =1 sườn xuống. =0 sườn lên. Bit PSA : Chọn prescale =1 prescale được dùng cho watchdog. =0 prescale được dùng cho timer0. Bit PS2:PS0 : chọn tỉ lệ chia cho Prescale Cấu hình Presacle Timer0 Sơ đồ khối Timer0 Timer1: Sơ đồ khối Timer1 Là bộ đếm 16 bit, có thể ghi đọc. Giá trị timer được lưu trong 2 thanh ghi là TMR1L và TMR1H. Khác với timer0, timer1 có bit bật và tắt timer. Timer1 có thể được dùng để đinh thờI cho khối CPP. Khi Timer 1 được bật, timer sẽ đếm từ giá trị được ghi trong 2 thanh ghi TMR1L và TMR1H tới 0xFFFF, khi đó cờ tràn TMR1IF được bật. Time = (FOSC/4) x Prescale x ( 0xFFFF – (( TMR1H x 0xFFFF ) + TMR1L)). Bit T1OSCEN: Chọn nguồn dao động =1: sử dụng dao động ngoài. =0: sử dụng nguồn dao động hệ thống. Bit TMR1CS=1 timer1 hoạt động như bộ đếm, xung vào từ chân RC1. Bit TMR1ON: bật tắt timer1. =1 Bật. =0 Tắt. Bit T1CKPS1: T1CKPS0 : Chọn số chia cho prescale. 0:0 chia 1 0:1 chia 2 1:0 chia 4 1:1 chia 8 Timer2: sơ đồ khối timer 2 Là bộ đếm 16 bit, có thể ghi đọc. Giá trị timer được lưu trong 2 thanh ghi là TMR1L và TMR1H. Timer2 có bit bật và tắt timer. Timer1 có thể được dùng để đinh thời cho khối PWM. Khi Timer 1 được bật, timer sẽ đếm từ giá trị được ghi trong 2 thanh ghi TMR2L và TMR2H tới 0xFFFF, khi đó cờ tràn TMR2IF được bật. Timer 2 có cả prescale lẫn postscale. Các bit TOUTPS3: TOUTPS0 : Chọn thỉ lệ chia cho postscale. TMR2ON : bit bật tắt timer2. T2CKPS1: T2CKPS1 : Chọn tỉ lệ cho prescale. 4.2.4 Khối PWM: PIC16F877A có 2 khốI PWM nằm trong 2 khối CCP sơ đồ khối PWM Độ rộng xung là dữ liệu 10 bit được lưu trong 2 thanh ghi CCPR1L và OCPCON Chu kì được quyết định bởI giá trị ghi trong thanh ghi PR2 và Timer2. PWM period = [( PR2 + 1 ) x 4 x TOSC x ( TMR2 prescale value ) xung ra từ PWM Các bước cài đặt cho PWM Ghi chu kì vào thanh ghi PR2. Ghi độ rộng xung vào 2 thanh ghi CCPR1L và CCP1CON Chọn chân ra là chân RC2. Bằng cách xoá bit TRISC2. Ghi giá trị prescale của timer2. Cho phép Timer2. Cấu hình CCP để sử dụng PWM. Cấu hình khối CCP 4.2.5 Khối ADC: Khối ADC của PIC16F877A là loại ADC xấp xỉ liên tiếp có 10 bit lối ra. Điện áp tham chiếu lựa chọn được bằng phần mềm, có thể là điện áp hệ thống, hoặc điện áp tham chiếu ngoài được đưa và từ chân RA2 và RA3. Khi việc biến đổi A/D hoàn tất cờ ADIF sẽ được bật. Khối biến đổi A/D có 4 thanh ghi là : Kết quả biến đổi Byte cao: ADRESH Kết quả biến đổi Byte thấp: ADRESL Hai thanh ghi điều khiển: ADCON0 và ADCON1. Sơ đồ khối ADC Thanh ghi ADCON0: Chọn nhịp xung đồng hồ cho ADC. Cấu hình xung nhịp cho ADC Các bit CHS2:CHS1:CHS0 : chọn kênh cho ADC 000 : kênh 0 ( AN0 ) 001: kênh 1 ( AN1 ) 010: kênh 2 ( AN2 ) 011: kênh 3 ( AN3 ) 100: kênh 4 ( AN4 ) 101: kênh 5 ( AN5 ) 110: kênh 6 ( AN6 ) 111: kênh 7 ( AN7 ) Bit GO/DONE : khi ADGO=1, ADC bắt đầu biến đổi. Bit ADON: bật tắt ADC. 4.2.6 Khối truyền thông nối tiếp UART: Khối UART có thể được cấu hình để hoạt động ở chế độ song công hoặc bán song công. Chuẩn điện : bit 1 tương ứng mức điện áp 5v, bit 0 tương ứng với điện áp 0v. Data 7 bit hoặc 8 bit. Ở đầu khung dữ liệu có 1 Bit start, cuối khung dữ liệu có 1 hoặc 2 bit stop. Khi nhận dữ liệu cờ ngắt RCIE và RCIF sẽ đc bật. Tốc độ truyền được ghi vào thanh ghi SPBRG. SPBRG = [(FOSC/16)/Speed] – 1 4.2.7 Các tài nguyên của PIC được sử dụng trong việc xây dựng khối điều khiển cho robot: I/O Port : 22 chân. PWM. UART. Timer0. ADC. Cụ thể các tài nguyên được dùng trình bày ở bảng sau Mô tả chức năng các chân vào ra được sử dụng Tên chân Chân # Kiểu I/O/P Mô tả OSC1 13 I Lối vào tự bộ dao động thạch anh 4MHz OSC2 14 O Lối ra từ bộ dao động thạch anh 4MHz /Vpp 1 I Chân Reset của PIC. Chân này hoạt động ở mức thấp Vpp P Chân lối vào điện áp lập trình PORTA Key/RA0 2 I Kênh 0 của bộ A/D để cảm nhận phím bấm Sen22/RA1 3 I Kênh 1 của bộ A/D để cảm nhận nguồn đang sử dụng là pin hay adaptor CDS/RA2 4 I Kênh 2 của bộ A/D để cảm nhận mức độ sáng tối của môi trường V1sen/RA3 5 I Kênh 3 của bộ A/D để theo dõi mức điện áp trên pin trong quá trình Cleaner hay Charger PORTB SW/RB0 33 I Cảm nhận vật cản Foto_Dio/RB1 34 I Cảm nhận độ cao PGM/Mo_sing/RB3 36 PGM P Lập trình ICSP ở mức thế thấp Mo_Sing O Điều khiển motor quét Speak/RB4 37 O Tín hiệu điều khiển loa PGC 39 P Chân Clock của ICSP PGD 40 P Chân Data của ICSP PORTC PWM/RC2 17 O Điều khiển dòng nạp pin TX/RC6 25 O Truyền dữ liệu tới PC RX/IR/RC7 26 I Nhận dữ liệu ra từ bộ thu IR PORTD Inx/RDx 19, 20, 21, 22 O Các tín hiệu điều khiển chuyển động bánh xe A, B, C, D/RDx 27, 28, 29, 30 O Dữ liệu về số được hiển thị PORTE T1/RE0 8 O Điều khiển bật/tắt led 7 đoạn 1 T2/RE1 9 O Điều khiển bật/tắt led 7 đoạn 2 T3/RE2 10 O Điều khiển bật/tắt các led đơn VDD 11, 32 P Nguồn 5V GND 12, 31 P Chân đất I = Input O = Output P = Power Mô tả các tài nguyên được sử dụng 4.3 Khối quản lý nguồn : 4.3.1 Khối chuyển đổi nguồn nuôi: Nguồn cung cấp lối vào cho CleanMate có thể lấy từ pin hoặc adaptor tùy thuộc vào chế độ hoạt động của robot là Cleaner hay Charger, do vậy cần có hệ thống rơle để chuyển đổi giữa hai loại nguồn này Sơ đồ đầu đưa điện áp vào. Hình A: điện áp được lấy trực tiếp từ pin hoặc adaptor qua các diode bảo vệ đưa vào mạch rơle ở hình B. Hình B: Khi ON (bật công tắc nguồn) thì Vcc lấy từ pin NiCd, robot hoạt động ở chế độ Cleaner. Khi OFF (tắt công tắc nguồn) thì Vcc lấy từ adaptor (nguồn 22V), robot hoạt động ở chế độ Charger. Việc sử dụng rơle sẽ tránh được sự ngắn mạch giữa pin và adaptor. Sơ đồ hệ rơle chọn nguồn 4.3.2 Khối ổn áp: Tạo điện áp 5 V : sử dụng IC7805 Điện áp 5V được sử dụng để nuôi vi điều khiển, IC giải mã 74LS47, khối logic của L298, các khối cảm biến, loa và các led hiện thị. sơ đồ ổn áp. Tạo nguồn cho các motor: Để đảm bảo cho robot di chuyển một cách đồng đều khi có sự thăng giáng của điện áp trên nguồn hoặc khi sử dụng một nguồn điện khác, ta sử dụng thêm một mạch ổn áp để cung cấp nguồn cho các motor . Các yêu cầu cho bộ nguồn motor: Điện áp ra trên 10V và có thể điều chỉnh được Dòng cung cấp có thể đạt tới 3A Đáp ứng các tiêu chí trên và một vài yếu tố khác, ở đây ta sử dụng mạch ổn áp theo kiểu Switching Step-Down dùng IC LM2576. Lựa chọn nguồn Switching thay cho nguồn kiểu tuyến tính (linear) sẽ thu được nhiều ưu điểm quan trọng sau: Hiệu suất làm việc cao (có thể tới 88%) Có thể cung cấp dòng ra lớn (điều mà hiếm IC linear nào có thể đạt được hoặc sẽ phải dùng tản nhiệt lớn, chằng hạn như LM138 - 5A, LM150 – 3A, LM317 – 1.5A) Công suất tiêu tán nhiệt ít Đây là kết luận thu được sau một quá trình sử dụng LM317. Lúc đầu hệ thống dự định sẽ sử dụng LM138 hoặc LM150, tuy nhiên hai loại IC này không có bán trên thị trường, do vậy đã chuyển sang dùng 2 IC LM317 mắc song song để tạo ra dòng lớn hơn (mới chỉ cung cấp cho 2 động cơ bánh xe mà không có động cơ chổi quét). Điều đó cũng đồng nghĩa với việc phải sử dụng tản nhiệt có kích thước lớn. Nhưng với LM2576 thì hoàn toàn không cần đến tản nhiệt (nếu cũng cung cấp cho 2 động cơ bánh xe) hoặc dùng tản nhiệt nhỏ (nếu cung cấp cho cả 3 motor). Thực tế ta cũng có thể sử dụng LM317 để tạo nguồn ổn áp theo kiểu Switching nhưng sẽ yêu cầu nhiều thành phần bên ngoài hơn là sử dụng LM2576. Tham khảo mạch của CleanMate 356 ta cũng thấy có một IC Switching KA34063A, IC này có thể hoạt động theo 3 chế độ Buck, Boost, Inverter với dòng tối đa là 1.5A Mô tả về LM2576 Các đặc tính: Điện áp ra điều chỉnh được từ 1.23V tới 37V Dòng ra đạt tới 3A Chỉ yêu cầu 4 thành phần ngoài Bộ dao động bên trong với tần số không đổi 52kHz Hiệu suất cao Bảo vệ quá dòng, quá nhiệt Cấu tạo bên trong của LM2576 Sơ đồ mạch nguồn cho motor Công thức tính điện áp ra: Trong đó: VREF = 1.23V, R24 = 100, R25 = 1k Như vậy điện áp ổn định lối ra được quyết định thông qua điện áp phản hồi về chân 4 (FB- Feed Back). Điện áp này sau đó được so sánh với một điện áp tham chiếu chuẩn (VREF) để điều khiển độ dẫn của một transistor trong LM2576 sao cho điện áp ra luôn luôn gần với điện áp mong muốn. Lựa chọn các linh kiện: Diode Schottky D16: FR306 (3A) Cuộn cảm L1: dùng dây đồng cuốn đầy trên lõi ferit hình xuyến (hình bên) Biến trở R43 10k được xoay chỉnh sao cho điện áp trên hai cực của motor là 9V. Khi đó Vmotor = 10.25V. Theo công thức trên ta tính được P1 = 7.23k. 4.3.3 Khối nạp Pin: Khối nạp Pin sử dụng thêm 1 bộ chuyển đổI AD/DC, đầu vào 220V – 50hz đầu ra là 22VDC- 1A. Sơ đồ khối nạp Pin IC LM317 luôn duy trì một điện áp 1.25V giữa chân OUT và chân ADJ,với điện trở công suất R12=1 ohm sẽ tạo ra nguồn dòng 1.25 A. Khi chân PWM ở mức cao thì transistor C1815 sẽ mở, điện áp trên chân ADJ là 0.2V, quá trình nạp bị ngắt. Khi chân PWM ở mức thấp C1815 đóng, điện áp ra khoảng 21.5V quá trình nạp được thực hiện. Điện áp trên Pin được khối điều khiển nhận biết bằng việc đo điện áp ở chân V1sen: Vpin = V1sen / R23 x (R22 + R23) 4.4 Hệ thống cảm nhận vật cản: Khối này sử dụng hai cách ly quang (Opto) H92B4 để có thể cảm nhận va chạm từ bên trái, bên phải hoặc ở giữa. Khi robot chạm vào vật cản thì hệ thống cơ khí sẽ ngăn ánh sáng truyền từ led phát sang cực B transistor Cách ly quang Tín hiệu ra trên các cực C của các Opto được tổng hợp và chuyển đổi sang mức logic nhở transistor C1815. Như vậy, lối ra sẽ là logic 0 nếu chạm vào vật cản và logic 1 nếu không chạm vật cản. Các điện trở R17, R18, R19 được chọn sao cho chỉ cần ít nhất một opto bị ngăn ánh sáng là lối ra SW Out sẽ quyết định ở mức 0. Như vậy, hai opto có chức năng hoàn toàn giống nhau và robot chỉ cần cảm nhận có va chạm hay không chứ không phân biệt va chạm trái hay va chạm phải. Bên cạnh việc sử dụng cách ly quang, ta cũng có thể sử dụng các công tắc chạm thông thường, khi đó mạch sẽ đơn giản hơn. Tuy nhiên, trong quá trình hoạt động của robot, do số lần va chạm là rất lớn nên công tắc chạm cũng dễ bị hỏng hóc hơn. sơ đồ bộ phận cảm nhận vật cản 4.5 Hệ thống sensor gầm cảm nhận độ cao: Khi robot làm việc ở những vùng có bậc thang, để không bị rơi, robot phải có hệ thống sensor cảm nhận được độ cao. Nguyên lý cảm nhận: Sử dụng ba cặp diode thu phát hồng ngoại được lắp đặt tại 3 góc ở phía trước của robot. Bình thưởng, tín hiệu phát từ sensor phát sẽ phản xạ từ mặt sàn lên sensor thu, nhưng nếu gặp phải độ cao (tức là khoảng cách giữa sensor và mặt sàn lớn hơn một ngưỡng nào đó) thì tín hiệu phản xạ sẽ rất yếu hoặc không có. Tín hiệu thu được trên sensor thu sẽ qua bộ lọc, khuếch đại rồi so sánh để chuyển thành tín hiệu dạng số. Do phải làm việc với nhiều loại mặt sàn, chịu ảnh hưởng của nhiều loại nhiễu, chủ yếu là nhiễu ở tần số thấp, vì vậy ta phải điều chế tín hiệu phát lên tần số cao, trong đề tài này là 1KHz. Tần số này được tạo ra bởi mạch sử dụng LM124 Sơ đồ điều chế tín hiệu phát 4.6 Cảm nhận sáng tối: Mạch này sử dụng một quang trở (photoresistor) được mắc như hình vẽ. Tùy vào điều kiện môi trường sáng hay tối mà điện trở của nó sẽ có giá trị trong khoảng từ 200Ω – 6kΩ. Lối ra từ dòng chuyển thành thế qua một điện trở rồi đưa vào khối ADC 10-bit của vi điều khiển.Vi điều khiển sẽ so sánh giá trị ADC thu được với giá trị trước đó để kết luận robot đang di chuyển về vùng sáng hơn hay tối hơn. Điện trở R ở đây cũng có tác dụng hạn dòng khi điện trở của quang trở có giá trị nhỏ quá. sơ đồ ghép nối quang trở 4.7 Khối giao tiếp điều khiển từ xa hồng ngoại: Khối này có chức năng hoàn toàn giống như một bộ điều khiển từ xa trong bán kính 10m.Tín hiệu điều khiển được truyền từ bộ phát (hay bộ điều khiển từ xa) đến bộ thu trong môi trường không khí. Để bộ thu có thể phân biệt được giữa tín hiệu IR của bộ điều khiển với với các nguồn phát IR khác, tín hiệu của bộ phát được điều chế trên sóng mang có tần số từ 32.5kHz - 56kHz. Trong ứng dụng này, tần số 40kHz được sử dụng. Hai thành phần chính là bộ phát và bộ thu. 4.7.1 Nguyên lý hoạt động: Mỗi tín hiệu IR được phát ra từ bộ điều khiển từ xa từ bộ điều khiển từ xa có rất nhiều đặc trưng khác nhau. Những đặc trung này phụ thuộc vào nhà sản xuất. Nhìn chung đều có những đặc trung sau : Bước sóng của tín hiệu IR. Tần số sóng mang. Phương thức mã hoá. Nội dung của mã. ThờI gian của xung. Chuẩn RC5 là 1 trong những chuẩn giao tiếp IR tiêu biểu. Đây là chuẩn được hãng Philips phát triển. Trong chuẩn này khi mỗI phím bấm trên điều khiển từ xa được ấn nó sẽ phát ra một khung dữ liệu gồm 14 bit, mỗi bit có độ dài 1.728ms. Toàn bộ chuỗi bit được phát lại sau mỗi 130ms nếu phím được giữ. Các bit được được mã hoá theo kiểu manchester, tức là mỗi bit bao gồm 2 nửa: nửa trái và nửa phải, 2 nửa này có mức logic ngược nhau. Dạng Xung mã hoá Manchester. Cấu trúc 1 khung dữ liệu khi nhận như sau: Khung dữ liệu RC5 khi nhận. 4.7.2 Bộ Phát : Led IR phát Bàn phím Bộ phát tín hiệu Sóng mang A Dữ liệu Cấu trúc 1 bộ phát hồng ngoại Trong sơ đồ trên, các khối Bộ tạo dữ liệu, bộ phát tín hiệu, bộ tạo sóng mang thường nằm trong một IC Encoder như M145027 (SGS-THOMSON), PT2262, TRC1300 (Texas Instruments)… Hoạt động và chức năng của mỗi khối: Bàn phím: thể hiện các phím chức năng. Khi một phím được ấn sẽ làm Wake-Up IC Encoder (thoát khỏi chế độ Power-Down) để thực hiện nhiệm vụ. Mỗi phím được ấn tương ứng với một dữ liệu được truyền đi. Trước khi dữ liệu được truyền, chúng được thêm các bit đầu, cuối, kiểm lỗi, hoặc các bit bảo mật…Dữ liệu mới tạo ra được truyền từng bit đồng thời chúng được điều chế trên sóng mang có tần số đặc trưng cho bộ phát. Sơ đồ bộ phát Tuy nhiên xây dựng một mạch phát riêng là không cần thiết, ta có thể sử dụng 1 chiếc điều khiển từ xa của TV có sẵn. 4.7.3 Phần thu: Phần thu sử dụng cảm biến GP1U52X. Đây là cảm biến có sẵn bộ lọc thông dải, bộ giải điều chế, bộ khuếch đại cho lối ra là dạng số. Sơ đồ cấu tạo bên trong của GP1U52X Đặc tính kỹ thuật: Điện áp hoạt động 5V Dòng tiêu thụ 5mA Tần số trung tâm của bộ lọc 40kHz Độ rộng dải thông 4kHz Hình ảnh cảm biến GP1U52X Khung dữ liệu nhận được từ cảm biến có sự tương đồng với khung dữ liệu chuẩn RS232. Vì vậy ta sử dụng khốI UART của vi điều khiển để đọc dữ liệu từ cảm biến. Tốc độ UART phải được đặt đúng bằng tốc độ truyền của remote control. Sau khi tham khảo nhiều loại remote control cũng như thử nghiệm. Tốc độ UART được đặt là 300Kbps. 4.8 Bàn phím: Ngoài việc điều khiển từ xa, robot còn bố trí 3 phím bấm: Start/Stop (khởi động hoặc ngừng hoạt động robot) Timer (đặt thời gian chạy) Mode (đặt chế độ chạy). Để tiết kiệm các công vào ra ( I/O port ) của vi điều khiển, ta dùng phương pháp đọc phím bấm bằng ADC. Sơ đồ ghép nối phím bấm với Vi điều khiến Ở đây ta sử dụng mạng điện trở hợp thành một dãy các bộ chia thế. Các bộ chia thế này tao ra các mức điện áp khác nhau cho mỗi phím được nhấn. Lối ra được đưa vào ADC 10-bit của vi điều khiển để đo các mức điện áp này và quyết định xem phím nào được nhấn. Phím Điện áp ra (V) Giá trị ADC Start/Stop 1.56 320 Timer 2 410 Mode 2.5 512 Giá trị ADC khi đọc phím bấm Trên thực tế, trong phần mềm xử lí, để quyết định xem phím nào được ấn, không phải ta so sánh giá trị ADC với một số nào đó mà xem giá trị ADC này có nằm trong dải nào đó không. Chằng hạn, nếu phím Mode được ấn thì giá trị ADC phải nằm trong dải từ 502 tới 522 (tức là lân cận của 512, với mức sai số là 10). Phương pháp đọc phím bấm này có ưu điểm tiết kiệm tài nguyên của Vi điều khiển, tuy nhiên nhược điểm của phương pháp này là không chính xác, do xung nhiếu sinh ra khi ấn phím. 4.9 Hiển thị LED 7 đoạn và Loa: 4.9.1 Hiển thị LED 7 đoạn : LED 7 đoạn sẽ hiển thị thời gian đặt cho robot hoạt động, chế độ hoạt động. Khối này sử dụng 4 chân của vi điều khiển qua bộ giải mã BCD-TO-SEVEN-SEGMENT 74LS47 để điều khiển 2 led 7 đoạn và các led đơn. Các thông tin về thời gian, chế độ chạy, trạng thái của pin sẽ được thể hiện trên các led này. Mỗi led 7 đoạn và nhóm led đơn được refresh với chu kì 5ms bởi phần mềm qua các tín hiệu điều khiển T1, T2, T3 để hiện thị các giá trị khác nhau trên các led. Sơ đồ hiển thị LED 7 đoạn 4.9.2 Loa : Loa báo hiệu khi phím được ấn, báo lỗi, báo hết pin. Loa phát âm La tần số 440Hz, tín hiệu điều khiển loađược cung cấp từ vi điều khiến Sơ đồ ghép nối loa 4.10 Mạch điều khiển động cơ : 4.10.1 Giới thiệu về mạch cầu H: Robot sử dụng 2 động cơ DC chổi than, vì vậy ta sử dụng mạch cầu H để điều khiển motor Sau đây là sơ đồ nguyên lý và nguyên tắc hoạt động của mạch cầu H Sơ đồ nguyên lý và nguyên tắc hoạt động của mạch cầu H. Ta thấy mạch cầu H điều khiển động cơ bằng 4 khoá S1 S2 S3 S4. Khi S1 và S4 đóng, S2 S3 mở động cơ quay theo chiều kim đồng hồ, còn khi S2 và S3, còn khi Khi S2 và S3 đóng, S1 S3 mở động cơ quay theo chiều ngược chiều kim đồng hồ.S1 và S3 đóng, S2 và S4 mở hoặc S1 và S3 mở, S2 và S4 đóng Motor ở trạng thái phạnh. Các trường hợp S1 S2 cùng đóng hoặc S3 và S4 cùng đóng không được xảy ra, vì khi đó xảy ra hiện tượng đoản mạch dẫn đến mạch bị cháy. S1 S2 S3 S4 Motor Mở Mở Đóng Đóng Đoản mạch Đóng Đóng Mở Mở Đoản mạch Đóng Mở Đóng Mở Phanh Mở Đóng Mở Đóng Phanh Đóng Mở Mở Đóng Tiến Mở Đóng Đóng Mở Lùi Đóng Đóng Đóng Đóng Ngắn mạch Mở Mở Mở Mở Thả nổi Trạng thái motor Trên thực tế trong các mạch cầu H ta có thể thay các khoá S1 S2 S3 S4 bằng rơle hay các loại transistor, tuy nhiên các transistor này phải có công suất tiêu tán nhỏ, chịu được dòng lớn. Hiện nay có rất nhiều loại transistor trường MOSFET có công suất tiêu tán nhỏ tuy nhiên lại chịu được dòng lớn, rất thích hợp cho việc thiết kế mạch cầu H. Mạch cầu H được thiết kế với transistor trường MOSFET 4.10.2 Điều khiển motor với IC L298: Để điều khiển motor phát động cho Robot ta hoàn toàn có thể thiết kế 1 mạch cầu H như trên, tuy nhiên cặp motor phát động của robot có công suất nhỏ thêm nữa hình dáng robot nhỏ nên việc sử dụng mạch cầu H là không cần thiết. Thay vào đó ta sử dụng IC L298 Đây là IC có chứa 2 mạch cầu H hoàn toàn độc lập và có thể ghép song song với nhau, mỗi cầu có khả năng cung cấp dòng 2A – đáp ứng được yêu cầu cho mỗi motor có dòng tiêu thụ tối đa là 1.5A. Sơ đồ chân IC L298 Chức năng Chân số Tên Chức năng Nguồn Chân 4 Vs Điện áp Vmotor cho motor Chân 9 Vss Điện áp 5V cho khối logic Chân 8 GND Chân nối đất Lối vào Chân 5, 7 Input 1, Input 2 Lối vào TTL của cầu A Chân 10, 12 Input 3, Input 4 Lối vào TTL của cầu B Lối ra Chân 2, 3 Output 1, Output 2 Lối ra của cầu A Chân 13, 14 Output 3, Output 4 Lối ra của cầu B Cảm nhận Chân 1, 15 IsA, IsB Dùng để điều khiển dòng tải Mô tả IC L298 Hai cầu A và B được mắc hoàn toàn tương tự nhau. Các tín hiệu điều khiển từ PIC được nối thông qua các trở hạn dòng tới lối vào In1, 2, 3, 4 của L298 (do dòng tối đa ứng với điện áp vào ở mức cao là 100µA). Lối ra được mắc thêm các diode xung lên nguồn Vmotor và đất để triệt tiêu các xung phản hồi từ motor. Gần các chân nguồn Vs và Vss cần mắc thêm các tụ gốm 100nF để tránh dao động làm ảnh hưởng tới PIC. Sơ đồ ghép nối với vi điều khiển 4.10.3 Điều khiển Motor chổi quét: Chổi quét sử dụng một động cơ có dòng tiêu thụ tối đa là 2A. Do chổi quét chỉ xoay theo một chiều nên mạch điều khiển không cần cầu H mà chỉ sử dụng một MOSFET-N là IRF540 làm nhiệm vụ đóng mở thông thường. Mô tả IRF540 mô tả IRF540 Như vậy, IRF540 có thể tải được dòng khá lớn 33A – đủ để đáp ứng cho motor, điện trở giữa cực nguồn (S) và cức máng (D) khi mở rất nhỏ 44mΩ nên sụt áp trên hai cực DS cũng nhỏ (cỡ 1V). Thêm vào đó, trong IRF540 đã có sẵn một diode Schottky để bảo vệ dòng ngược từ S sang D mà có thể làm hỏng cấu trúc của MOSFET. Lối vào Mo_sing Chức năng motor L Dừng H Xoay L: Low H: High sơ đồ mạch điều khiển motor quét Nguồn cung cấp Vmotor được lấy từ lối ra của mạch Switching LM2576. Sơ đồ điều khiển này sử dụng thêm một tầng phụ (dùng C1815) để kích mở IRF540. Điều này có thể không cần thiết nhưng sẽ rất an toàn nếu có sự cố làm hỏng MOSFET cũng không làm ảnh hưởng đến vi điều khiển. Hai cực của motor được nối thông qua jack JP3. Khi tín hiệu điều khiển Mo_sing từ vi điều khiển ở mức thấp (Low) thì C1815 sẽ cấm, cực G của Q1 nối đất qua điện trở R42, do vậy Q1 cũng cấm và làm motor ở trạng thái dừng. Ngược lại, khi Mo_sing ở mức cao (High), Q2 dẫn, điện áp cực E của Q2 sẽ ở mức cao do R42 có giá trị trở rất lớn và làm Q1 mở, kết quả là có dòng chạy qua motor. Nhược điểm của mạch: vì IRF540 mở hoàn toàn ở 10V nên với mạch được thiết kế như trên IRF540 mở ở 5V vì vậy trong quá trình hoạt động transistor rất nóng, mặc dù có tản nhiệt nhưng cũng không thể hoạt động được lâu. 4.11 Thiết kế PCB: 4.11.1 Phần mềm thiết kế mạch in PCB DXP Altium Designer: Cũng giống như Orcad, Protel, Proteus, Altium Designer là một phần mềm tiện công cụ để thiết kế các loại bo mạch điện tử. Altium Designer được phát hành đầu năm 2007 với những tính năng mạnh mẽ, vượt trội so với Orcad và Protel. Theo các chuyên gia của Altium, thông thường, việc phát triển các sản phẩm điện tử, gồm thiết kế bo mạch, thiết kế FPGA (vi mạch tích hợp, có thể lập trình để thực hiện các chức năng khác nhau và có thể tái lập trình) và phát triển phần mềm nhúng… là các quá trình riêng rẽ, độc lập được tiến hành trong những môi trường riêng biệt. Altium Designer là một hệ thống phát triển điện tử thống nhất đầu tiên trên thế giới cho phép các kỹ sư thiết kế sản phẩm điện tử từ những khái niệm ban đầu cho đến khi hoàn thành mạch in cuối cùng trong một môi trường đơn nhất. Altium Designer cung cấp một ứng dụng kết hợp tất cả công nghệ và chức năng cần thiết cho việc phát triển sản phẩm điện tử hoàn chỉnh, như thiết kế hệ thống ở mức bo mạch và FPGA, phát triển phần mềm nhúng cho FPGA và các bộ xử lý rời rạc, bố trí mạch in (PCB)… Altium Designer thống nhất toàn bộ các quá trình lại và cho phép bạn quản lý được mọi mặt quá trình phát triển hệ thống trong môi trường tích hợp duy nhất. Khả năng đó kết hợp với khả năng quản lý dữ liệu thiết kế hiện đại cho phép người sử dụng Altium Designer tạo ra nhiều hơn những sản phẩm điện tử thông minh, với chi phí sản phẩm thấp hơn và thời gian phát triển ngắn hơn. 4.11.2 Thiết kế mạch điện trong môi trường Altium Designer: Altium Designer quản lý dữ liệu theo các project. Đầu tiên ta phải khởi tạo project, sau đó tạo file schematic để tạo ra môi trường vẽ mạch nguyên lý. Altium hỗ trợ hầu hết thư viện footprint cho các linh kiện điện tử, như PIC16F877A, Led7 đoạn, các loại điện trở và tụ điện, IC người thiết kế không phải tự tạo thư viện footprint vì vậy việc thiết kế mạch được thực hiện khá nhanh và thuận lợi. Sau khi hoàn thành việc thiết kế mạch nguyên lý ( schematic ) ta chuyển thành PCB. Đầu tiên ta sắp linh kiện vào vị trí nhất định trên bản mạch, khối số được sắp gần nhau, khôi tương tự được sắp ra 1 phần, điều này giúp giảm nhiễu trên mạch. Altium Designer hỗ trợ tính năng đi dây tự động ( auto ruote ). Sau khi đi dây tự động ta chỉnh lại các phần đi dây tự động chưa hợp lý. 4.11.3 Kết quả và nhận xét: Mạch điện tử cơ bản đã đáp ứng được yêu cầu của bài toán. Nhận xét: Tuy nhiên vì tất cả các khối được đặt trên cùng 1 bo mạch nên việc sửa chữa và nâng cấp là rất khó khăn. Khối điều khiển motor phát điộng tuy đã đáp ứng được việc thực hiện các tác vụ của robot, tuy nhiên do sử dụng IC tích hợp, nên khi yêu cầu thay động cơ có công suất cao hơn vào thì không đáp ứng được. Phần điều khiển motor quét chưa tốt. Khi vận hành 1 thời gian dài transistor có hiện tượng nóng. Sensor cảm nhận độ cao hoạt động còn hạn chế, ví dụ như không nhận dạng được nhiều loại mặt sàn. Chương 5: Phần mềm điều khiển Robot. 5.1 Lập trình cho hệ thống thời gian thực: Khái niệm về điều khiển thời gian thực: RTOS( real time operation system ) một hệ điều hành đa nhiệm dành cho các ứng dụng thời gian thực. Như trong các ứng dụng hệ thống nhúng, robotics, điều khiển tự động. Một hệ thống real-time được hiểu là một hệ thống làm việc với các sự kiện tức thời (real-time). Tuy nhiên, không phải mọi hệ thống đều có thể thực hiện được những quyết định tức thời hay đáp trả lại sự kiện một cách tức thời như chúng ta mong muốn. Khi xây dựng các ứng dụng phần mềm chúng ta luôn mong muốn thời gian trễ để đưa ra một lệnh hay một quyết định là nhỏ nhất, hay khi xây dựng các ứng dụng phần cứng chúng ta lại muốn thời gian đưa ra một tín hiệu đáp trả một sự kiện là phải gần như tức thời, các hệ thống đáp ứng sự kiện bao giờ cũng có một thời gian trễ nhất định. Khái niệm "hệ thống thời gian thực" ở đây được hiểu ngầm như là một hệ thống đáp ứng sự kiện với một thời gian trễ chấp nhận được. Như vậy, một hệ thời gian thực là một hệ thống mà sự hoạt động tin cậy của nó không chỉ phụ thuộc vào sự chính xác của

Các file đính kèm theo tài liệu này:

  • docThiết kế, xây dựng một robot có chức năng giống CleanMate 365 của hãng Metapo,USA.doc