Thư viện tri thức trực tuyến
Kho tài liệu với 50,000+ tài liệu học thuật
© 2023 Siêu thị PDF - Kho tài liệu học thuật hàng đầu Việt Nam

Kinh nghiệm khi làm robocon
Nội dung xem thử
Mô tả chi tiết
KINH NGHIỆM LÀM ROBOCON
BÀI VIẾT 1
Có lẽ về cơ bản thì ai cũng biết là để làm robot tham gia cuộc thi Robocon thì cũng
phải có sự phân công lao động một cách hợp lý trong 3 lĩnh vực: mạch điện tử, cơ khí,
lập trình. Mỗi lĩnh vực có những đặc thù riêng, cần những kiến thức rất khác nhau.
Trong khi sinh viên hiện nay được đào tạo theo các chuyên ngành, và đã học về điện
tử thì thường là không biết nhiều về cơ khí, học cơ khí thì lại không biết về lập trình.
Vậy yêu cầu đặt ra với mỗi đội nếu muốn giành chiến thắng đó là phải có được sự kết
hợp. Các thành viên trong đội nên là những người có am hiểu trong các lĩnh vực khác
nhau mà quan trọng nhất là cơ khí và điện tử, còn lập trình thì chỉ cần một người khá
về tin học là có thể học được trong một thời gian khoảng 2, 3 tháng. Đây là điều kiện
đầu tiên để có thể giành chiến thắng. Nếu không thì chỉ gọi là làm được thôi chứ
không thể làm tốt để vô địch. Tôi xin lấy ví dụ trong năm 2004. Ở ĐHBKHN ban đầu
có một phong trào rất mạnh, rất nhiều đội đang ký tham dự nhưng đa số lại là những
người cùng lớp trong 1 đội vì vậy một tất yếu là mỗi đội chỉ làm tốt được một phần cơ
khí hoặc mạch điện. Chỉ có đội BKHTSI ngay từ đầu được đánh giá là khả quan nhất
với sự góp mặt của Sơn-lập trình + mạch và Thanh - cơ khí. Hai người đều là những
người đã có rất nhiều kinh nghiệm từ trước. Vậy điều đầu tiên phải xem xét là vấn đề
lựa chọn thành viên.
Về lập trình:
Về lập trình thì không có nhiều phức tạp mà chỉ cần chọn ngôn ngữ cho phù hợp,
thường là Asembly và turbo C: Asembly thì lập trình gần với ngôn ngữ máy nên dung
lượng nhỏ hơn nhiều so với bộ nhớ của vi điều khiển 89c51.
Các bạn có thể lập trình thoải mái cũng chỉ đến 1 K bộ nhớ, trong khi bộ nhớ của vi
điều khiển 89c51 là 4K).
- Ngôn ngữ C thì là ngôn ngữ lập trình bậc cao hơn nên lập trình dễ hơn nh¬ng lại tốn
bộ nhớ hơn. Các bạn nên dùng chương trình Reads51 (download tại
www.rigelcorp.com). Chương trình này hỗ trợ cả Assembly và C, nó lại có khả năng
giả lập các cổng vào/ra của họ IC 89c51 , nến rất thuận tiện cho việc lập trình mà
không cần mạch điện. Nên dùng cảm biến đếm vạch riêng, cảm biến bám vạch riêng
để việc lập trình được rõ ràng và khó bị lẫn.
Về cơ khí:
Về cơ khí thì tốt nhất các bạn hãy học theo cách làm của các đội đi trước, xem cách
họ gắn động cơ vào xe, các trục quay... Nếu các bạn không có điều kiện xem trực tiếp
của các đội đi trước thì tôi xin có 1 số ý kiến thế này:
Khi bắt các thanh nhôm không nên dùng ke mà cưa 4 góc của thanh nhôm rồi bẻ ra
để bắt vào nhau. Không dùng vít mà dùng đinh tán. Để gắn chặt bánh vào động cơ
nên dùng vít chí (loại này có thể thuê các cửa hàng cơ khí làm hộ - dọc đường Đê La
Thành - Hà Nội).
- Gắn động cơ vào robot không nên bằng cách chỉ buộc động cơ vì khi tải nặng sẽ làm
nghiêng bánh dẫn đến xe di chuyển không chuẩn. Ở đây có một vật liệu rất đặc biệt
đó là các cục nhựa (mua Ở Hàng Bông hoặc chợ Trời - Hà Nội). Ta đem nhựa đi cưa
thành hình hộp và khoan lỗ để bắt vào khung xe, đồng thời khoan lỗ to để cho vòng
bi vào, xuyên trục bánh xe qua 2 bộ vòng bi rồi mới dùng vít chí để gắn vào trục động
cơ như vậy thì động cơ không hề phải chịu lực ấn nào mà chỉ có bánh xe tì lên 2 vòng
bi + khối nhựa.
- Nhựa ở trên ta còn có thể làm một bộ phận rất quan trọng đó là các lô cuốn. Ta đem
đi tiện thành hình trụ có vành ở ngoài giống như lõi chỉ và khoan lỗ ở trục vừa bằng
trục động cơ, dùng vít chí hoặc đơn giản là que sắt để gắn chặt vào trục động cơ,
buộc dây cố định vào lô cuốn. Như vậy khi động cơ quay ta sẽ cuốn dây để kéo vật
hay làm chuyển động các bộ phận.
Về mạch điện:
* Thiết kế mạch:
- Các mạnh cơ bản dùng cho robot các bạn có thể tìm trong sách hoặc trên mạng vì
vậy tôi không trình bày kỹ mà tôi chỉ khuyên hãy chia ra thành 3 module riêng là:
+ Mạch của vi điều khiển.
+ Mạch của sensor (cảm biến nhận biết vạch trắng)
+ Mạch của động cơ.
Có một hiện tượng rất hay gặp đó là khi xe chạy được một lúc thì vi điều khiển bị
treo. Lý do là có các xung mạnh đánh ngược về nguồn nuôi của vi điều khiển làm cho
nguồn nuôi không còn ổn định ở 5V, dẫn đến bị treo. Cách xử lý triệt để hiện tượng
này có nhiều bước:
+ Trước hết cứ giữ nguyên mạch của bạn và bổ sung thêm một hệ thống các tụ (chỉ
cần tụ loại 1 03 là đủ), các tụ này bạn đặt chặn ở trước tất cả các nguồn nuôi, song
song với các công tắc hành trình, đầu ra của mạch sensor, đầu vào của công tắc
hành trình... nói chung là ở bất kỳ điểm nào thường xuyên xảy ra những thay đổi đột
biến về mức điện áp.
+ Thứ nữa là nên dùng mạch động cơ theo kiểu cầu H, sử dụng Transistor trường,
tuyệt đối tránh dùng các Rơ le trong mạch.
+ Sử dụng bộ cách ly, thiết kế mạch làm sao để phần mạch lực (nguồn nuôi động cơ,
Transistor đóng mở động cơ, các trở liên quan) và phần mạch điều khiển (các trở, các
bộ đảo, bộ logic... linh kiện nối trực tiếp với vi điều khiển ) phải tách biệt thành 2 khu,
chỉ nối với nhau qua bộ cách ly.
Để đảm bảo không có hiện tượng có 2 Transistor thẳng hàng cùng mở dẫn đến nối tắt
mạch thì phải sử dụng IC logic (ví dụ 74HCOO: thực ra là 4 NAND bạn tìm cách tổ hợp
để trong 4 đầu ra của nó có 2 cặp luôn không cùng một mức logic).
Trong mạch vi điều khiển chú ý là phải để dây dẫn từ thạch anh đến chân của vi điều
khiển là ngắn nhất. Tức là xếp thạch anh càng gần chân 1 9,20 của vi điều khiển thì
càng tốt.
- Độ rộng dây của phần điều khiển nên để nhỏ (khoảng 20 đối với đơn vị inchs) vì
chạy trên nó toàn là các tín hiệu, còn phần mạch lực phải để rộng (khoảng 70-90
inchs) vì nó chịu dòng lớn.
- Sau cùng của phần thiết kế là một vấn đề nhỏ nhưng không kém phần quan trọng
đó là nên chia toàn bộ mạch của ta ra thành các module riêng hay thiết kế cho tất cả