Hướng dẫn sử dụng board atmega128 cho robocon. Board Atmega64128 (AT64v1) được thiết kế để sử dụng trong các cuộc thi sáng tạo robot, các ứng dụng điều khiển tự động cần bộ nhớ điều khiển lớn, nhiều giao diện điều khiển, AT64v1 là mạch sử dụng vi điều khiển AVR ( Atmega64 hoặc Atmega128).
Trang 1Hướng dẫn sử dụng Board điều khiển Atmega64/128 v1.0
Hình 1 Board Atmega64/128
I Giới thiệu:
Board Atmega64/128 (AT64v1) được thiết kế để sử dụng trong các cuộc thi sáng tạo robot, các ứng dụng điều khiển tự động cần bộ nhớ điều khiển lớn, nhiều giao diện điều khiển, AT64v1
là mạch sử dụng vi điều khiển AVR ( Atmega64 hoặc Atmega128) AVR là một họ vi điều khiển do hãng Atmel sản xuất (Atmel cũng là nhà sản xuất dòng vi điều khiển 89C51 mà
có thể bạn đã từng nghe đến) AVR là chip vi điều khiển 8 bits với cấu trúc tập lệnh đơn giản hóa-RISC(Reduced Instruction Set Computer), một kiểu cấu trúc đang thể hiện ưu thế trong các bộ
xử lí So với các chip vi điều khiển 8 bits khác, AVR có nhiều đặc tính hơn hẳn, hơn cả trong tính ứng dụng (dễ sử dụng) và đặc biệt là về chức năng Mọi thông tin cũng như tài liệu học tập về AVR, các bạn tham khảo trên hocavr.com
Trang 2AT64v1 được thiết kế dạng module để cho tiện nâng cấp bộ nhớ
từ 64/128/256 , chia làm 2 phần
Phần 1 Đế cắm cùng các giao diện điều khiển
Phần 2 Mạch gắn chip Atmega64/128
Hình 2 Đế cắm cùng các giao diện điều khiển
Trang 3Hình 3 Mạch gắn chip Atmega64/128
II Các giao diện điều khiển.
1 Chip Atmega64 hoặc 128
2 Các chân giao tiếp cho
Encoder1,2; Chân giao tiếp I2C
Các chân điều khiển vào ra
thông thường
Encoder (Ecd3, Ecd4, ) I2C( SCL, SDA) PORT D ( PD4 PD7)
3 Nguồn điện (5V)
4 PORT dùng cho Module dò
đường
PORT F
5 Các chân điều xung, điều khiển
động cơ ( Mạch rơ le, PID)
Các chân điều khiển vào ra
thông thường
PWM4,5,6 PB0,1,2,3
6 Các chân điều xung, điều khiển
động cơ ( Mạch rơ le, PID)
Chân cắm Encoder
Chân cắm mạch nạp ( STK 500
hoặc Burn E)
PWM 1,2,3
Ecd1,2 AUX, PGD
7 Các chân điều khiển vào ra PORTC ( PC0 PC7)
Trang 4thông thường Có thể dùng để
điều khiển Rơ le, hoặc nhận tín
hiệu từ công tắc hành trình, vv
8 Các chân điều khiển vào ra
thông thường Có thể dùng để
giao tiếp màn hình LCD 16x02
PORT A ( RS, RW, EN, PA3, D4 D7)
9 Các jack cắm lấy nguồn GND
10 Các jack cắm lấy nguồn 5V
Ngoài ra bên dưới phần chíp là jack cắm mạch nạp ISP, mạch được thiết kế để tương thích với Burn E, nên chỉ cắm đúng chiều là nạp được, không cần đảo dây Cắm nối dây cáp 4 sợi sao cho đường kết nối tương đương ( Hình 5)
Hình 4
Trang 5Hình 5 Nạp chương trình bằng mạch nạp Burn E
III Hướng dẫn sử dụng.
1 Cấp nguồn.
Do thiết kế phần nguồn rời nên chúng ta cần có bộ chuyển đổi 12v-5v/
Board chuyển đổi 12v-5v
2 Nạp chương trình ( sử dụng Burn E)
Trang 6Để nạp chương trình cho mạch, có nhiều cách VD: sử dụng mạch nạp Burn E, STK 500, hoặc các mạch nạp ISP hỗ trợ nạp AVR
* Hướng dẫn dùng Burn E cho mạch
Do AVR sử dụng 2 loại nguồn clock, nên việc quan trọng đầu tiên là cài đặt cho mạch sử dụng nguồn clock nào ( Set Fuse bit) Ở đây, mạch sử dụng thạch anh ngoài 16MHz nên chúng ta sẽ
cấu hình cho mạch sử dụng nguồn clock ngoài Chi tiết về set
fuse bit Hãy tham khảo mục Set Fuse Bit tại hocavr.com
( Chú ý: Nếu thực hiện set Fuse bit sai sẽ dẫn đến treo
chip, mạch không thể hoạt động được nữa)
Với mạch này, sử dụng Atmega64/128 nên chúng ta cấu hình giống như hình 7 là được Không được phép sai nếu không muốn mua Board mới
3 Ví dụ code cho Board bằng ngôn ngữ C.