Mục lục:

Cách cập nhật chương trình cơ sở trên USBasp-Clone giá rẻ: 9 bước
Cách cập nhật chương trình cơ sở trên USBasp-Clone giá rẻ: 9 bước

Video: Cách cập nhật chương trình cơ sở trên USBasp-Clone giá rẻ: 9 bước

Video: Cách cập nhật chương trình cơ sở trên USBasp-Clone giá rẻ: 9 bước
Video: How To Install a Bootloader on the Anet A8 3D Printer 2024, Tháng mười một
Anonim
Cách cập nhật chương trình cơ sở trên USBasp-Clone giá rẻ
Cách cập nhật chương trình cơ sở trên USBasp-Clone giá rẻ

Đây là một hướng dẫn nhỏ để flash firmware mới vào một USBasp-clone giống như của tôi. Hướng dẫn này được viết riêng cho USBasp-clone nhìn thấy trong hình, tuy nhiên nó vẫn sẽ hoạt động với những người khác. Hệ thống dây điện được hiển thị ở bước 5, có TL; DR ở bước 9.

Thưởng thức!

Bước 1: Vấn đề

Vấn đề
Vấn đề
Vấn đề
Vấn đề

Avrdude nói với tôi rằng lập trình viên tôi đang sử dụng có phần sụn lỗi thời. Jumper bình thường để tự lập trình không tồn tại trên bảng của tôi. Đây là cách để khắc phục điều đó. Sơ đồ cho USBasp có thể được tìm thấy tại fischl.de.

Bước 2: Vật liệu cần thiết

Bạn sẽ cần…

  • Mỏ hàn
  • Arduino (tốt nhất là Nano)
  • Một số dây nhảy
  • Một PC có cài đặt Arduino IDE và avrdude

Bước 3: Giải pháp

Giải pháp
Giải pháp
Giải pháp
Giải pháp
Giải pháp
Giải pháp

Để có thể flash phần sụn mới lên ATmega8, chúng ta cần giành quyền kiểm soát chân RESET của nó. Thông thường, một jumper trên USBasp có thể được đóng lại để cho phép tự lập trình, tuy nhiên, nhà sản xuất bo mạch của tôi đã không bao gồm một jumper.

Trên ATmega8, chân RESET là chân 29, chân thứ tư trên cùng từ bên trái. Nó được kết nối với một điện trở kéo lên 10k thành 5V. Chúng tôi phải kết nối nó với chân 5 của tiêu đề ICSP.

Chúng tôi có thể cố gắng hàn một dây trực tiếp vào điện trở hoặc bản thân chân cắm, tuy nhiên, việc này rất tẻ nhạt và có thể làm hỏng bo mạch của bạn. (Tôi đã thử nó và xé bỏ điện trở kéo lên, tôi không khuyến khích nó) Ngoài ra, có một cách dễ dàng hơn nhiều!

Mặc dù nhà sản xuất không bao gồm một jumper thực sự để cho phép tự lập trình, nhưng ông đã đặt một tiêu đề bên dưới bộ vi điều khiển. Chúng tôi có thể chỉ cần hàn một sợi dây qua và…

Bước 4: Voilà

Voilà!
Voilà!

Chúng tôi đã kết nối hai chân thiết lập lại! Hai lỗ ở phía dưới kết nối chân 29 và chân 14 của vi điều khiển.

Bước 5: Thiết lập Arduino

Để flash phần sụn mới vào lập trình viên, chúng ta cần một lập trình viên khác, trong trường hợp này là Arduino với bản phác thảo ArduinoISP trên đó. Chỉ để đảm bảo rằng thiết lập của bạn giống nhau, vui lòng bỏ ghi chú dòng 81

// #define USE_OLD_STYLE_WIRING

Bây giờ kết nối Arduino với tiêu đề ICSP trên lập trình viên của bạn.

Arduino USBasp

5V Pin 2 (VCC) Pin GND 4/6/8/10 (GND) Pin 10 Pin 5 (Reset) Pin 11 Pin 9 (MISO) Pin 12 Pin 1 (MOSI) Pin 13 Pin 7 (SCK)

USBasp vẫn được rút khỏi PC.

Mở một thiết bị đầu cuối và nhập

avrdude -cavrisp -pm8 -b19200 -P [Số cổng của bạn ở đây, nó phải giống như trong Arduino IDE]

Nếu mọi thứ suôn sẻ, avrdude sẽ in ra một số thông tin về ATmega8 (cầu chì, chữ ký, v.v.)

Bước 6: Nhấp nháy ATmega8

Để flash chip, chúng ta vẫn cần phần sụn. Truy cập fisch.de và tải xuống phiên bản mới nhất. Giải nén kho lưu trữ và điều hướng đến nó bằng cách sử dụng shell.

Việc biên dịch mã không hoạt động với tôi, nhưng may mắn thay, kho lưu trữ chứa tất cả các chương trình đã biên dịch theo

bin / phần sụn

Tại đây, bạn sẽ thấy ba tệp.hex. Chọn một cái có cùng tên với chip của bạn. Lập trình viên của tôi sử dụng ATmega8, vì vậy tôi đã chọn

usbasp.atmega8.yyyy-mm-dd.hex

Với kết nối đang hoạt động với ATmega8, việc nhấp nháy nó sẽ chỉ yêu cầu nhập

avrdude -cavrisp -pm8 -b19200 -P [PORT] -U flash: w: [tệp hex]

Nếu mọi thứ được thực hiện chính xác, avrdude sẽ viết và xác minh phần sụn đã chọn.

Bước 7: Đảm bảo Lập trình hoạt động

Đảm bảo lập trình viên hoạt động
Đảm bảo lập trình viên hoạt động

Để sử dụng lại USBasp với tư cách là một lập trình viên, chúng ta phải tháo kết nối giữa chân 29 và chân 14. Cắt jumper ở phía dưới là đủ, tuy nhiên việc tháo nó ra cũng không được.

Bạn có thể dùng thử bằng cách cắm lại vào PC và nhập

avrdude -cusbasp -pm8

Ngay cả khi avrdude không thể đạt được mục tiêu, nó ít nhất phải thừa nhận phần sụn mới của lập trình viên của chúng tôi.

Bước 8: Khắc phục sự cố

Xử lý sự cố
Xử lý sự cố

Nếu avrdude hiển thị lỗi như thế này, nó có thể liên quan đến tính năng tự động đặt lại của Arduino. Để tránh điều này, vui lòng thêm một tụ điện giữa RESET và GND của Arduino. Thông thường nên sử dụng tụ điện 10µF, tuy nhiên trong trường hợp của tôi, tụ điện 100µF hoạt động tốt.

Nếu bạn gặp lỗi như

avrdude: error: programmm enable: target không trả lời. 1

hoặc một chữ ký không hợp lệ được trả lại, vui lòng kiểm tra hệ thống dây điện của bạn. Tôi đã gặp vấn đề với dây cáp điện của mình bị gỉ và không dẫn điện được nữa. Tôi khuyên bạn nên kiểm tra tất cả các dây jumper trước.

Ngoài ra, hãy đảm bảo chuyển đổi chân 11 và chân 12 trên Arduino, nếu sự cố vẫn tiếp diễn.

Cũng vui lòng đảm bảo đặt tốc độ truyền chính xác cho Arduino là ISP, 19200. Nó có thể được đặt bằng tùy chọn

-b19200

Nếu bạn có bất kỳ câu hỏi nào hoặc phát hiện ra sai sót, vui lòng cho tôi biết:)

Bước 9: TL; DR

  1. Hàn một dây qua hai chốt ở dưới cùng của bảng
  2. Thiết lập Arduino làm ISP, đảm bảo bật lược đồ đi dây cũ
  3. Kết nối Arduino với lập trình viên thông qua tiêu đề ICSP
  4. Flash chương trình cơ sở mới vào lập trình viên
  5. Loại bỏ kết nối ở dưới cùng
  6. Không xé bất kỳ điện trở SMD nào

Đề xuất: