Trong ví dụ này chúng ta thử nghiệm 1 bộ điều khiển PID trên vi điều khiển. Theo hướng dẫn AVR221 của Atmel. Như đã biết, những ứng dụng mà cần duy trì trạng thái ổn định như điều khiển tốc độ động cơ, nhiệt độ, áp suất hay tương đương thì cần thuật toán điều khiển. Điều khiển PID có thể được sử dụng để kiểm soát các thông số mà nó chịu sự tác động bởi các thông số khác trong qúa trình.
Nạp chương trình cho AVR Atmega với mạch nạp USBISP
Sau khi viết chương trình cho vi điều khiển, mô phỏng chỉ là bước đệm nhằm kiểm tra tính năng của chương trình. Hiện nay có rất nhiều loại mạch nạp, từ đơn giản rẻ tiền đến phức tạp với giá thành cao. Cụ thể với trường hợp sử dụng Atmel Studio, người ta có thể sử dụng mạch nạp AVRisp mkII, Dragon hay JTAGICE. Chúng hỗ trợ nhiều tính năng và kiểu nạp khác nhau như ISP, PDI cho linh kiện mới. Tuy nhiên những mạch nạp này khá đắt tiền. Trong loạt ví dụ này, chúng ta sử dụng Atmeg8 là loại vi điều khiển phổ thông nên có thể sử dụng những mạch nạp khác để tiết kiệm kinh phí. Điển hình nhất là mạch nạp USBISP cho AVR.
Tìm hiểu Lock bits & Fuse bits trên vi điều khiển họ AVR
AVR® Fuses nằm trong khu vực bộ nhớ bền vững (non-volatile memory) cho phép cấu hình phần cứng của vi điều khiển họ AVR. Các Fuses này thường được tạo thành bởi vài thanh ghi. Mỗi bit sẽ định nghĩa một chức năng phần cứng. Thông tin chi tiết về từng bit và tác động của chúng được trình bày trong tài liệu đi kèm. Các thông số về tốc độ xung nhịp, bộ đếm và các chức năng hỗ trợ sửa lỗi là những cài đặt phổ thông mà đa số vi điều khiển đều sở hữu.
Continue reading “Tìm hiểu Lock bits & Fuse bits trên vi điều khiển họ AVR”
Bài tập ví dụ cho Vi điều khiển Atmega8 (P2)
Trong phần này tiếp tục là tập hợp các bài tập ví dụ cho Vi điều khiển Atmega8. Chúng ta sẽ làm quen với việc sử dụng ngôn ngữ C để thực hiện một số ví dụ minh họa. Các bài tập gồm có việc sử dụng cổng cửa có sẵn để bật tắt đèn LED; vòng lặp và điều kiện; sử dụng mảng; ngắt phần cứng ngoài INT0; sử dụng bộ định thời Timer, biến đổi ADC, truyền thông chuẩn USART…
Continue reading “Bài tập ví dụ cho Vi điều khiển Atmega8 (P2)”