- Thành phần bắt buộc
- Sơ đồ chân của Atmega328
- Mô tả thành phần
- Phần 1: Xây dựng mạch Arduino trên Breadboard
- Phần 2: Ghi Bootloader vào IC Atmega328
- Phần 3: Cách lập trình Arduino Bootloader được tải lên Atmega 328
- Lập trình chip Atmega328 sử dụng board Arduino
- Lập trình chip Arduino Atmega328 sử dụng bộ chuyển đổi USB sang nối tiếp
Chúng ta đều biết rằng, IC Atmega328 được sử dụng trong board Arduino UNO. IC này là bộ não của board Arduino. Trên thực tế, các nhà thiết kế Arduino muốn tạo ra một bảng tạo mẫu tiện dụng cho người mới bắt đầu nên họ đã tổ chức tất cả các thành phần theo cách mà bất kỳ ai cũng có thể truy cập vào tất cả các chân của IC Atmega328 và có thể lập trình nó chỉ bằng cách kết nối nó với máy tính. Bảng Arduino rất phổ biến để xây dựng các dự án theo sở thích. Nhưng trong các sản phẩm công nghiệp hoặc tiêu dùng thì không nên sử dụng bảng Arduino hoàn chỉnh, vì vậy chúng ta có thể sử dụng IC Atmega328 độc lập, có thể được lập trình với Arduino IDE nhưng không cần sử dụng bảng Arduino.
Trong hướng dẫn này, chúng ta sẽ xem cách thay thế bo mạch Arduino bằng IC Atmega328 và với một số thành phần khác. Để sử dụng IC Atmega328 thay cho arduino, đầu tiên chúng ta phải ghi Arduino Bootloader trong đó và sau đó chúng ta sẽ lập trình nó bằng FTDI hoặc sử dụng Arduino Board. Hướng dẫn này cũng sẽ giúp thay thế IC Atmega328 bị hỏng từ bảng Arduino. Ngoài ra, bằng cách sử dụng mạch được mô tả bên dưới, bạn có thể xây dựng bảng Arduino của riêng mình bằng cách sao chép nó trên PCB.
Thành phần bắt buộc
- IC Atmega 328
- Breadboard
- LM7805
- Tinh thể 16 MHz
- Tụ gốm 22pF (2)
- Tụ điện 10uF (2)
- Điện trở 10 K
- Điện trở 1k
- Dây nhảy
Theo tùy chọn, bạn cũng có thể sử dụng bộ điều chỉnh điện áp 3.3v LM1117-3.3v để bao gồm đường ray 3.3v trong mạch của bạn.
Sơ đồ chân của Atmega328
Mô tả thành phần
Phần cung cấp điện-
- Ổn áp 5V: IC Atmega 328 chạy trên nguồn điện 5V. Vì vậy, ở đây, chúng tôi đang sử dụng LM7805 để có đầu ra 5v, nó có thể xử lý tối đa 30V làm đầu vào. Nếu bạn có nguồn 5V riêng thì Bạn có thể bỏ qua bước này.
- Tụ điện: Tụ điện 10uF được sử dụng ở phần đầu vào và đầu ra của 7805 để bỏ qua bất kỳ thành phần AC nào xuống đất.
- Đèn LED: Điều này sẽ cho bạn biết rằng đầu ra 5V của bạn đang đến.
Phần vi điều khiển-
- Atmega 328: Đây là thành phần chính của chúng tôi trên breadboard. Sơ đồ chân của nó được đưa ra ở trên.
- Bộ dao động tinh thể: Một tinh thể ngoài 16MHz được kết nối giữa Chân 9 và Chân 10 của ATmega328. Tinh thể này được sử dụng để cung cấp xung nhịp cho bộ vi điều khiển để thực thi các tác vụ nhanh hơn.
- Nút nhấn: Để thiết lập lại bộ vi điều khiển, nút nhấn được kết nối giữa chân 1 và GND. Thông thường, nó được kết nối với 5v sử dụng một điện trở 10k.
- LED: Một đèn LED được kết nối với chân số 13.
Hướng dẫn đầy đủ này được chia thành ba phần để tạo Arduino của riêng bạn chạy trên breadboard:
- Xây dựng mạch Arduino trên Breadboard
- Ghi Bootloader vào IC Atmega328
- Cách lập trình Arduino Bootloader tải lên IC Atmega 328 trên breadboard.
Bây giờ chúng ta sẽ giải thích từng phần một.
Phần 1: Xây dựng mạch Arduino trên Breadboard
Bước 1: - Kết nối Phần nguồn điện như trong sơ đồ mạch và kiểm tra nó bằng cách sử dụng nguồn cấp ngoài cho LM7805. Nó sẽ trông như thế này.
Bước 2: - Bây giờ, kết nối Phần vi điều khiển như trong sơ đồ mạch. Thực hiện các kết nối cẩn thận.
Bước 3: - Bây giờ, kết nối bộ nguồn và phần vi điều khiển bằng jumper. Mạch cuối cùng của bạn sẽ trông giống như thế này.
Vì vậy, đây là Arduino của chúng tôi trên breadboard. Bạn có thể thực hiện cùng một mạch trên PCB bằng các công cụ đơn giản như EasyEDA, v.v. Bây giờ, chúng ta phải tải bộ nạp khởi động lên IC Atmega 328 mới để chúng ta có thể bắt đầu lập trình IC.
Phần 2: Ghi Bootloader vào IC Atmega328
Bootloader là gì và tại sao chúng ta cần nó ??
Bootloader là đoạn mã thực thi nhỏ được lưu trữ vĩnh viễn trong bộ nhớ của vi điều khiển. Điều này chiếm ít hơn 1Kb bộ nhớ. Bootloader cho phép vi mạch chấp nhận mã từ máy tính và đặt nó vào bộ nhớ của vi điều khiển.
Theo truyền thống, tất cả các bộ vi điều khiển của Atmel đều được lập trình với sự trợ giúp của các lập trình viên có một số kết nối lạ mắt. Bộ nạp khởi động làm giảm độ phức tạp và cho phép chúng tôi lập trình bộ vi điều khiển một cách dễ dàng và hiệu quả. Điều này có nghĩa là bạn có thể lập trình nó chỉ bằng cáp USB.
Khi bạn mua Atmega 328 mới từ thị trường, nó không có bộ nạp khởi động trong đó. Vì vậy, để lập trình Atmega328 của bạn bằng Arduino IDE, trước tiên bạn phải tải lên bộ nạp khởi động.
Để tải lên Bootloader, chúng tôi có hai phương pháp:
- Sử dụng bộ lập trình USBasp
- Sử dụng bảng Arduino UNO
Phương pháp thứ hai dễ dàng hơn so với phương pháp đầu tiên. Bởi vì nó yêu cầu ít kết nối hơn và phiên bản mới nhất của Arduino IDE không hỗ trợ các lập trình viên USBasp ưa thích.
Vì vậy, trong hướng dẫn này, chúng tôi sẽ tải lên bootloader bằng board Arduino Uno.
Tải lên Bộ nạp khởi động Arduino trong Chip Atmega328
Bước 1: - Mở Arduino IDE. Đi tới Tệp -> Ví dụ -> ArduinoISP . Hơn là chọn ArduinoISP. Như hình bên dưới.
Bước 2: - Bây giờ, bạn phải tải mã này lên bảng Arduino của mình. Chọn cổng com và bảng từ menu công cụ và nhấn nút tải lên.
Bước 3: - Sau khi ' Hoàn tất quá trình tải lên' , ngắt kết nối bo mạch Arduino khỏi máy tính và thực hiện kết nối bo mạch Arduino với Atmega 328 như hình dưới đây.
Bước 4: - Bây giờ, kết nối board Arduino với máy tính. Mở Arduino IDE.
Vào Công cụ, Chọn bảng là Arduino / Chính hãng Uno, Chọn Cổng chính xác cho bảng của bạn. Chọn Lập trình viên là “Arduino làm ISP”. Đừng nhầm nó với ArduinoISP. Cả hai đều khác nhau.
Bước 5: - Bây giờ, vào Tools một lần nữa và Click vào Burn Bootloader ngay bên dưới tùy chọn Programmer. Sau vài giây, bộ nạp khởi động được tải lên thành công. Nếu có bất kỳ lỗi nào trong quá trình tải lên, hãy kiểm tra các kết nối.
Kiểm tra Video bên dưới để hiểu các bước được giải thích ở trên để tải lên Bootloader trong Atmega 328 IC.
Bạn breadboard Arduino đã sẵn sàng để làm việc như bảng Arduino thực. Bây giờ, câu hỏi đặt ra rằng làm thế nào để lập trình IC Atmega 328 ? Điều đó chúng tôi sẽ thảo luận trong phần tiếp theo của chúng tôi.
Phần 3: Cách lập trình Arduino Bootloader được tải lên Atmega 328
Chip Arduino Atmega328 độc lập có thể được lập trình theo nhiều cách.
- Sử dụng board Arduino trống tức là board Arduino không có IC Atmega 328 trong đó.
- Sử dụng mô-đun chuyển đổi USB sang Serial TTL (mô-đun FTDI).
- Sử dụng bộ lập trình USBasp (liên quan đến nhiều kết nối).
Ở đây, chúng tôi sẽ lập trình nó bằng hai phương pháp: bộ chuyển đổi USB sang nối tiếp và bảng Arduino.
Lập trình chip Atmega328 sử dụng board Arduino
Bước 1: - Lấy board Arduino không có chip Atmega328. Tận dụng các kết nối của Arduino tàu với chúng tôi breadboard Arduino như thể hiện trong sơ đồ này.
Bước 2: - Kết nối board Arduino với máy tính và mở Arduino IDE. Chọn Arduino Uno từ menu Board trong Tools , Programmer as USBasp và đúng cổng com của board.
Bước 3: - Chúng ta sẽ bắt đầu bằng cách tải lên chương trình Blink. Vì vậy, hãy chọn chương trình nhấp nháy từ Ví dụ và nhấn nút Tải lên.
Bây giờ, bạn có thể thấy đèn LED trên bảng mạch sẽ bắt đầu nhấp nháy.
Lập trình chip Arduino Atmega328 sử dụng bộ chuyển đổi USB sang nối tiếp
Bước 1: - Nếu bạn không có board Arduino. Đây là phương pháp tốt nhất để lập trình Arduino breadboard của bạn.
Thực hiện các kết nối như:
Chân RXD của FTDI -> Chân Tx của Atmega328 (chân 3)
Chân TXD của FTDI -> Chân Rx của Atmega328 (chân 2)
GND -> GND (pin 8)
5v -> Vcc (chân 7)
Một số mô-đun FTDI có chân Reset còn được gọi là chân DTR, cần được kết nối với chân Reset của Atmega328 (chân 1). Nếu không có chân đặt lại trong mô-đun, đừng lo lắng, tôi sẽ đưa ra giải pháp khi chúng tôi lập trình chip.
Bước 2: - Bây giờ, kết nối FTDI với máy tính và mở Trình quản lý thiết bị trong bảng điều khiển. Bạn sẽ thấy phần Cổng, Mở rộng nó. Nếu có dấu vàng phía trước trình điều khiển thì bạn phải cập nhật trình điều khiển mô-đun của mình.
Nếu không có dấu, hãy ghi lại số cổng com và mở Arduino IDE. Vào Công cụ -> Cổng -> Chọn com mà bạn đã ghi chú.
Bước 3: - Bây giờ, chúng tôi sẽ tải chương trình nhấp nháy lên Breadboard Arduino của chúng tôi. Đi tới Tệp -> Ví dụ -> Khái niệm cơ bản -> Nhấp nháy . Chọn Arduino Uno từ menu Board trong công cụ, Lập trình làm USBasp và đúng cổng com của board.
Sau đó nhấn nút tải lên.
Lưu ý: Nếu mô-đun FTDI của bạn không có chân DTR, hãy nhấn nút Đặt lại trên bảng mạch và nhấn nút tải lên. Nhấn giữ nó nếu nó cho biết Đang biên dịch bản phác thảo… Thả nút ngay khi nó cho biết Đang tải lên…
Bây giờ, chương trình sẽ được tải lên thành công trên chip Arduino Bootloader Atmega328.
Dưới đây là Video lập trình IC Atmega 328 không cần dùng Board Arduino:
Chúng tôi đã thực hiện xong với Mạch Arduino Breadboard tự làm của mình. Bạn có thể thiết kế mạch này trên PCB để nhỏ gọn hơn.