Robot Chạy theo lằn mực đen.

12 May

Bài viết của bạn này hay quá.Chip mượn tạm về Post chia sẻ cho mọi người coi nha.Nguồn gốc
Chỉ có 1 điều là bạn ấy không post chia sẻ cho mọi người mạch nguyên lý.Mọi người chịu khó lần mò nha.Chip cũng sẽ thử lần mò xem nào,hay hay

Mục đích của con robot này là đi theo một đường mầu đen trên nền giấy trắng.
CPU của con robot là con vi điều khiển 16F84A của Microchip. Tôi dùng PICkit 2 Microcontroller Programmer (PG164120) để nạp lập trình vào IC.
Động cơ của nó là từ Twin-Motor Gearbox của Tamiya. Cái này có 2 mô tơ và hộp số riêng. Cái tôi thích ở chỗ là 2 cục bin AA cũng đủ điện cho nó chạy được. 2 bánh xe thì
từ đồ chơi cũ. Chưa kiếm ra bánh xe nhỏ thứ 3 cho nên dùng tạm một con ốc và miếng băng keo.
Mắt của nó gồm có 3 phototransistor và 3 IR LED để soi đường. Tớ mua đồ cũ cho nên không biết số của mấy linh kiện này là gì.
Hình dưới là Phototransistor, IR LED và crystal oscillator (trong hình là con 16MHz).
Các linh kiện khác gồm có:
  1. 74HC240
  2. LM3900
  3. 2 transistor 2N2222.
  4. 4MHz crystal oscillator
  5. 7805
  6. 5 LED. 2 vàng 3 đỏ (tùy ý)
  7. 3 IR LED.
  8. 3 photo-transistor.
  9. 3 điện trở biến thiên 10 KOhm
  10. 1 điện trở biến thiên 200 Ohm.
  11. 6 điện trở 1 MOhm.
  12. 2 điện trở 100 Ohm.
  13. 5 điện trở 10 KOhm.
  14. 5 điện trở 820 Ohm.
  15. 1 điện trở 470 Ohm.
  16. 1 tụ điện 100uF, 25V
  17. 1 tụ điện 1uF, 25V.
  18. 4 công tắc gồm có 1 SPST, 1 slide, 2 NO push button.
Mạch điện thì tớ dùng bo khoan sẵn và nối dây lại với nhau. Chú ý một cái là tớ dùng 4MHz crystal oscillator vì tớ tính dùng cái bo này cho nhiều chuyện khác nữa cho nên tớ có thể thay đổi xung một cách dễ dàng mà không cần phải hàn gắn gì hết.
Vả lại tớ có sẵn cho nên không phải tốn tiền đi mua thạch anh 4MHz.
Ba con biến trở mầu xanh dương dùng để điều chỉnh độ nhậy của 3 con mắt. Khi mắt thấy đường đen thì đèn LED đỏ của mắt đó sẽ sáng lên. Khi chỉnh thì để mắt lên giấy trắng rồi vặn cho tới khi đèn đỏ lên. Sau đó vặn ngược lại chừng một nửa vòng cho đèn tắt đi. Đưa mắt qua đường đen coi đèn có sáng lên không, nếu không thì chỉnh lại một chút. Dù rằng dùng hồng ngoại nhưng chơi chỗ nắng cũng cần phải chỉnh lại độ nhậy của đèn.
Còn 2 con LED vàng thì cho mô tô trái và phải. Khi nó sáng lên tức là mô tô đứng (không quay).
Hệ thống đèn IR LED và mắt cũng được gắn riêng ra một bo nhỏ hơn để cho dễ thấy đường mực đen. Lý do là mai mốt tớ kiếm được Ultrasonic transducer thì tớ sẽ gắn vào nó rồi làm cho nó chạy lòng vòng để tránh các chướng ngại vật. Làm như vậy không phải gỡ mối hàn ra mà chỉ gắn bo khác vào. Như thế thì có thể thay đổi từ con rô bot chạy theo lằn đen qua rô bot tránh chướng ngại vật trong vài phút thôi (dĩ nhiên là phải thay phần sụn trong 16F84A qua ICSP).
Con biến trở mầu và dùng để tăng độ sáng của đèn IR LED. Tớ dùng máy chụp hình để coi đèn sáng cỡ nào vì máy digital camera có thể thấy tia hồng ngoại. Khoảng chừ 50 Ohm là đủ sáng.

Chương trình nạp IC bằng ASM

;************************************
;
; 0 = output 1 = Input
;
; Nút bắt đầu = RB0 0=chạh
;
; Mô tơ trái = RA2 1 = mô tơ tắt 0 = mô tơ chạy
; Mô tơ phải = RA3
;
; Mắt trái = RB1 1= không thấy vạch đen 0= thấy vạch đen
; Mắt giữa = RB2
; Mắt phải = RB3

; 7-28-2008

;*****Set up the Constants****
STATUS equ 03h
TRISA equ 85h
TRISB equ 86h
PORTA equ 05h
PORTB equ 06h
COUNT1 equ 08h

;****Chọn input/output****

bsf STATUS,5

movlw b’10011′ ;Set the Port A pins:
movwf TRISA ;.

movlw b’00001111′
movwf TRISB

bcf STATUS,5

;***** tắt 2 mô tơ***
movlw b’01100′
movwf PORTA

;***** Chờ nút bắt đầu*****

wait_for_start btfsc PORTB, 0

goto wait_for_start
call start_motor
;**** Đọc mắt giữa = PORTB bit 2***
start_motor

run_straight btfsc PORTB, 2 ;Nếu mắt giữa = 0 thì bỏ hàng kế tiếp.
call not_see_line
;**** Chạy 2 mô tơ***
movlw b’00000′
movwf PORTA
goto run_straight

not_see_line

check_sensor btfss PORTB,3 ;Coi mắt trái bit 1
call turn_right ;Nếu = 0 thì quẹo phải

btfss PORTB, 1 ;Coi mắt phải bit 3
call turn_left ;Nếu = 0 thì quẹo trái

btfss PORTB, 2 ;Coi mắt giữa
return ;Nếu = 0 thì trở về run_straight.

goto check_sensor ;Còn không thì cứ coi lại 3 mắt.

turn_left
movlw b’00100′ ;Tắt mô tơ trái
movwf PORTA
keep_left btfss PORTB, 3 ;coi mắt phải tới khi không còn thấy lằn đen
goto keep_left ;còn thấy lằn đen, thì vẫn quẹo trái
return ; Hết thấy lằn đen thì trở về check_sensor

turn_right
movlw b’01000′ ;tắt mô tơ phải
movwf PORTA
keep_right btfss PORTB, 1 ;coi mắt trái cho tới khi không thấy lằn đen.
goto keep_right ;còn thấy lằn đen thì còn quẹo phải
return ;Hết thấy lằn đen thì trở về check_sensor

end

Chương trình File HEX

:020000040000FA
:100000008316133085000F30860083120C30850074
:10001000061808280B2006191020003085000B2830
:10002000861D1C20861C1720061D08001028043081
:100030008500861D1928080008308500861C1E28AA
:100040000800FF3FFF3FFF3FFF3FFF3FFF3FFF3FF6
:10005000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FB0
:10006000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FA0
:10007000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F90
:10008000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F80
:10009000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F70
:1000A000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F60
:1000B000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F50
:1000C000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F40
:1000D000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F30
:1000E000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F20
:1000F000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F10
:10010000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FFF
:10011000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FEF
:10012000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FDF
:10013000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FCF
:10014000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FBF
:10015000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FAF
:10016000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F9F
:10017000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F8F
:10018000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F7F
:10019000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F6F
:1001A000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F5F
:1001B000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F4F
:1001C000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F3F
:1001D000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F2F
:1001E000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F1F
:1001F000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F0F
:10020000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FFE
:10021000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FEE
:10022000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FDE
:10023000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FCE
:10024000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FBE
:10025000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FAE
:10026000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F9E
:10027000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F8E
:10028000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F7E
:10029000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F6E
:1002A000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F5E
:1002B000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F4E
:1002C000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F3E
:1002D000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F2E
:1002E000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F1E
:1002F000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F0E
:10030000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FFD
:10031000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FED
:10032000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FDD
:10033000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FCD
:10034000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FBD
:10035000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FAD
:10036000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F9D
:10037000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F8D
:10038000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F7D
:10039000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F6D
:1003A000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F5D
:1003B000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F4D
:1003C000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F3D
:1003D000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F2D
:1003E000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F1D
:1003F000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F0D
:10040000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FFC
:10041000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FEC
:10042000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FDC
:10043000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FCC
:10044000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FBC
:10045000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FAC
:10046000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F9C
:10047000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F8C
:10048000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F7C
:10049000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F6C
:1004A000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F5C
:1004B000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F4C
:1004C000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F3C
:1004D000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F2C
:1004E000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F1C
:1004F000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F0C
:10050000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FFB
:10051000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FEB
:10052000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FDB
:10053000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FCB
:10054000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FBB
:10055000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FAB
:10056000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F9B
:10057000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F8B
:10058000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F7B
:10059000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F6B
:1005A000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F5B
:1005B000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F4B
:1005C000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F3B
:1005D000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F2B
:1005E000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F1B
:1005F000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F0B
:10060000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FFA
:10061000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FEA
:10062000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FDA
:10063000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FCA
:10064000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FBA
:10065000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FAA
:10066000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F9A
:10067000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F8A
:10068000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F7A
:10069000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F6A
:1006A000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F5A
:1006B000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F4A
:1006C000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F3A
:1006D000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F2A
:1006E000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F1A
:1006F000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F0A
:10070000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FF9
:10071000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FE9
:10072000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FD9
:10073000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FC9
:10074000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FB9
:10075000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3FA9
:10076000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F99
:10077000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F89
:10078000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F79
:10079000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F69
:1007A000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F59
:1007B000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F49
:1007C000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F39
:1007D000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F29
:1007E000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F19
:1007F000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F09
:10420000FF00FF00FF00FF00FF00FF00FF00FF00B6
:10421000FF00FF00FF00FF00FF00FF00FF00FF00A6
:10422000FF00FF00FF00FF00FF00FF00FF00FF0096
:10423000FF00FF00FF00FF00FF00FF00FF00FF0086
:10424000FF00FF00FF00FF00FF00FF00FF00FF0076
:10425000FF00FF00FF00FF00FF00FF00FF00FF0066
:10426000FF00FF00FF00FF00FF00FF00FF00FF0056
:10427000FF00FF00FF00FF00FF00FF00FF00FF0046
:02400E00F93F78
:08400000FF3FFF3FFF3FFF3FC0
:00000001FF

Chúc Các bạn thành công!!

Nguồn:http://sites.google.com/site/electronicsvn/Home/robot

Gửi phản hồi

Mời bạn điền thông tin vào ô dưới đây hoặc kích vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Log Out / Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Log Out / Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Log Out / Thay đổi )

Google+ photo

Bạn đang bình luận bằng tài khoản Google+ Log Out / Thay đổi )

Connecting to %s

%d bloggers like this: