Trang chủ Robot & Robotics Robot & Robotics Thiết kế và chế tạo Robot! Làm thế nào! Bài 4: Tìm hiểu về vi điều khiển

Thiết kế và chế tạo Robot! Làm thế nào! Bài 4: Tìm hiểu về vi điều khiển

LTS: Trong Bài 1 (số Tạp chí tháng 3/2012) các bạn đã được tìm hiểu về các bước chuẩn bị cho quá trình thiết kế và chế tạo robot, Bài 2 (số tháng 5) nói đến sự lựa chọn robot nền tảng cho quá trình, Bài 3 (số tháng 6) đề cập đến vấn đề lựa chọn thiết bị truyền động cho sự chuyển động của robot. Tiếp theo số tháng 8 này tác giả Tạ Tuyên sẽ dẫn dắt các bạn đến với Bài số 4 trong loạt bài How to Make a robot? để  tìm hiểu về Vi điều khiển.

Một trong những thành phần quan trọng nhất của robot là vi điều khiển. Nếu coi thành phần truyền động là các chi của robot, thì vi điều khiển đóng vai trò như bộ não, nơi thực hiện các chức năng xử lý và điều khiển hoạt động của robot.

Vi điều khiển là gì?
Vi điều khiển là một thiết bị tính toán có khả năng thực thi một chương trình (tức là một chuỗi các hướng dẫn) và thường được gọi là "bộ não" hoặc "trung tâm điều khiển" trong một robot vì nó là thường chịu trách nhiệm cho tất cả các tính toán, ra quyết định, và thông tin liên lạc trong/ngoài robot.
Để tương tác với thế giới bên ngoài, một vi điều khiển sở hữu một loạt các chân (kết nối tín hiệu điện) có thể được ở mức HIGH (1/ON), hoặc LOW (0/OFF) thông qua các lệnh lập trình. Những chân này cũng có thể được sử dụng để đọc tín hiệu điện (tới từ các cảm biến hoặc các thiết bị khác), và cho biết chúng ở mức HIGH hoặc LOW.
Ngoài ra, các vi điều khiển cũng có thể đo các tín hiệu điện áp tương tự (tức là tín hiệu có thể có đầy đủ các giá trị thay vì chỉ hai trạng thái được xác định rõ) thông qua việc sử dụng của bộ biến đổi tương tự-số Analogue to Digital Converter (ADC). Bằng cách sử dụng ADC, một vi điều khiển có thể chỉ định một giá trị số cho một điện áp tương tự.

Vi điều khiển có thể làm gì?
Rất nhiều hoạt động phức tạp có thể đạt được bằng cách áp dụng thiết lập thông minh mức HIGH và LOW của các chân vi điều khiển. Tuy nhiên, các chương trình rất phức tạp hoặc các chương trình rất lớn bị hạn chế bởi tài nghuyên và tốc độ của vi điều khiển.
Ví dụ, điều khiển đèn nhấp nháy, người ta có thể lập trình chân vi điều khiển xuất ra một chuỗi xen kẽ mức HIGH và LOW lặp đi lặp lại. Khi đó, một nguồn sáng nối với chân vi điều khiển này sẽ nhấp nháy trong thời gian vô hạn.
Một cách tương tự, vi điều khiển có thể được sử dụng để kiểm soát các thiết bị điện như thiết bị truyền động (khi kết nối với bộ điều khiển động cơ), các thiết bị lưu trữ (chẳng hạn như thẻ SD), WiFi, Bluetooth giao diện,… Như một hệ quả tất yếu, vi điều khiển có thể được tìm thấy trong các sản phẩm hàng ngày. Thực tế tất cả các thiết bị gia dụng hoặc thiết bị điện tử sử dụng ít nhất một (thường là nhiều) vi điều khiển. Ví dụ, TV, máy giặt, điều khiển từ xa, điện thoại, đồng hồ, lò vi sóng, và bây giờ là robot.
Không giống như các bộ vi xử lý (ví dụ như CPU trong máy tính cá nhân), một vi điều khiển không đòi hỏi các thiết bị ngoại vi như bộ nhớ RAM bên ngoài hoặc các thiết bị lưu trữ bên ngoài để hoạt động. Điều này có nghĩa rằng mặc dù vi điều khiển có thể chức năng ít hơn so với họ hàng của chúng trong máy tính, nhưng việc phát triển mạch và các sản phẩm dựa trên vi điều khiển đơn giản và ít tốn kém hơn rất nhiều.
Một điều quan trọng là cần lưu ý rằng một vi điều khiển chỉ có thể cho một dòng rất nhỏ năng lượng điện thông qua chân của nó, điều này có nghĩa là một vi điều khiển chung chung sẽ không có khả năng điều khiển các động cơ điện lớn, các đèn lớn, hoặc bất kỳ tải lớn trực tiếp. Đừng cố gắng để làm như vậy, nó chỉ gây ra thiệt hại vật chất cho bạn mà thôi.

Các tính năng chuyên biệt hơn trong một vi điều khiển?
Phần cứng đặc biệt được xây dựng vào vi điều khiển có nghĩa là các thiết bị này có thể làm nhiều hơn so với giao tiếp I/O, tính toán, các phép toán học, và quyết định cơ bản. Nhiều vi điều khiển hỗ trợ các giao thức truyền thông phổ biến nhất như UART, SPI và I2C. Đây là các chức năng vô cùng hữu ích khi giao tiếp với các thiết bị khác như máy tính, bộ cảm biến tiên tiến, hoặc vi điều khiển khác. Mặc dù ta có thể phát triển nó thực các giao thức này, nhưng việc tích hợp sẵn với phần cứng chuyên dụng cho phép ta tập trung vào các nhiệm vụ khác quan trọng hơn.
Bộ chuyển đổi tương tự số (ADC) và số tương tự (DAC) có thể là một chức năng chuyên biệt khác đi kèm. ADC được sử dụng để dịch các tín hiệu điện áp tương tự thành dạng số tỷ lệ thuận với độ lớn của điện áp, và được sử dụng để xử lý, điều khiển. Ngược lại, DAC có thể được dùng để xuất ra một thiết bị tương tự trực tiếp.
Một số vi điều khiển đi kèm bộ điều chỉnh điện áp. Nó khá tiện lợi, cho phép các vi điều khiển được hỗ trợ bởi một loạt các điện áp mà không yêu cầu bạn phải cung cấp điện áp chính xác. Điều này cũng cho phép việc lựa chọn các bộ cảm biến điện và các phụ kiện đi kèm dễ dàng hơn.
Đôi điều về lập trình vi điều khiển
Việc lập trình hiện giờ đã trở lên hết sức phổ biến, và không có gì phải ngại khi lập trình vi điều khiển. Ngày nay, hầu hết các vi điều khiển đều có giao diện phát triển (IDE) đi kèm, với ngôn ngữ cập nhật, thư viện đầy đủ tính năng dễ dàng bao gồm tất cả các tính năng phổ biến nhất (và thậm chí cả không phổ biến), và một số ví dụ sẵn cho người mới bắt đầu bắt đầu.
Vi điều khiển hiện nay có thể sử dụng các ngôn ngữ cấp cao thông dụng như C, C + +, C #, , Java, Python, .Net... Tất nhiên, nó luôn luôn có thể phát triển bằng, nhưng yêu cầu người dùng phải có sự hiểu biết kỹ càng về thiết bị và về lập trình Assembler. Với người mới bắt đầu, bạn hoàn toàn có thể không cần để tâm đến điều này.
Một số vi điều khiển hiện nay được phát triển với ngôn ngữ lập trình đi kèm Giao diện phát triển ứng dụng (API). Việc này cho phép lập trình vi điều khiển dễ dàng hơn thông qua việc sử dụng các chức năng phát triển sẵn.
Lập trình vi điều khiển cũng ngày càng đơn giản, bạn chỉ việc biên dịch chương trình và chạy thử trên vi điều khiển, thông qua giao tiếp với máy tính. Các vi điều khiển hiện nay đi kèm các bảng mạch phát triển, bạn đơn giải chỉ cắm vào máy tính thông qua cổng USB và ghi chương trình của mình lên.
Việc debug cũng trở lên thuận tiện hơn, nhiều chương trình IDE cho phép debug trực tiếp trên vi điều khiển, tức xem hoạt động của các lệnh và kết quả tương ứng trên vi điều khiển trên chương trình máy tính.

Tại sao không sử dụng máy tính?
Máy tính có sức mạnh và chức năng hơn nhiều vi điều khiển. Tại sao không sử dụng máy tính để phát triển?
Máy tính quá cồng kềnh để phát triển ứng dụng. Vi xử lý luôn đòi hỏi những thành phần đi kèm như bộ nhớ, bo mạch chủ, giao tiếp I/O…
Hiện nay, một số máy tính đã được phát triển với kích thước đủ nhỏ (bằng tấm danh thiếp, ví dụ Rasberry Pi) , dựa trên sự phát triển của công nghệ vi mạch. Đây có thể sẽ là nguồn thay thế vi điều khiển trong tương lai.
Với các bạn mới làm quen, vi điều khiển vẫn là sự lựa chọn trước tiên.

Lựa chọn vi điều khiển
Có rất nhiều loại vi điều khiển, với rất nhiều chức năng và phương thức hoạt động. Vậy bạn nên chọn loại nào? Quay lại bài số 1, hãy trả lời các câu hỏi sau đây:
1. Loại vi điều khiển nào là phổ biến nhất cho ứng dụng của tôi?
2. Nó có các chức năng chuyên biệt mà robot cần hay không?
3. Các phụ kiện cần thiết cho vi điều khiển có phổ biến hay không?
Câu trả lời của 3 câu hỏi này sẽ cho bạn biết mình cần lựa chọn loại vi điều khiển nào.
Ví dụ thực tế
Để lựa chọn một vi điều khiển, chúng tôi biên soạn một danh sách các tính năng/tiêu chí mong muốn như sau:
* Giá của vi điều khiển bao gồm cả mạch phát triển thấp (dưới 50 $)
* Dễ dàng để sử dụng và có hỗ trợ tốt. Tài liệu có sẵn phong phú, cụ thể.
* Lập trình dùng C hay một ngôn ngữ dựa trên C.
* Phổ biến và có một cộng đồng người sử dụng lớn.
* Tính năng phong phú.
Robot của chúng tôi sẽ sử dụng hai động cơ, các vi điều khiển sẽ cần hai chân kỹ thuật số để điều khiển hướng, và hai chân PWM để điều khiển tốc độ (điều này sẽ được giải thích chi tiết hơn trong bài 5). Các robot cũng sẽ truyền và nhận dữ liệu, do đó nó sẽ cần phải hỗ trợ giao thức UART (trong trường hợp này). Chúng tôi cũng muốn lựa chọn thêm các cảm biến và các thiết bị khác trong tương lai.
So sánh các vi điều khiển với nhau chúng tôi thấy Pololu và Arduino dường như để phù hợp tốt nhất với các tiêu chí trên. Để lựa chọn một vi điều khiển cụ thể từ hai nhà sản xuất, tài liệu, giá thành, cộng đồng người dùng, sử dụng Google để tìm kiềm các thông tin trên.
Dựa trên các kết quả tìm kiếm, chúng tôi chọn Arduino Duemilanove (gần đây đã thay thế bởi Uno Arduino). q
Ta Tuyen (Theo www.roboshop.com)

Số 140 (8/2012)♦Tạp chí tự động hóa ngày nay


Newer news items:
Older news items:

 

Hỗ trợ online

Hỗ trợ Web
Mr Phương: 0988906030

Liên kết & Quảng cáo


 
 
 

logost new




 


 



Nhà tài trợ


Sửa biến tần

Mới cập nhật

Tìm kiếm

Quảng cáo&Liên kết