Mục lục:

Đồng hành Atmega328p: 6 bước (có hình ảnh)
Đồng hành Atmega328p: 6 bước (có hình ảnh)

Video: Đồng hành Atmega328p: 6 bước (có hình ảnh)

Video: Đồng hành Atmega328p: 6 bước (có hình ảnh)
Video: Chức năng Bo mạch Arduino Nano V3.0 dùng vi điều khiển Atmega328P - Học lập trình Arduino 2024, Tháng mười một
Anonim
Đồng hành Atmega328p
Đồng hành Atmega328p

Đồng hành ATMEGA328P: Bộ nạp khởi động và mô-đun lập trình

Nếu bạn giống tôi, bạn đang nghiện các dự án và Arduino. Tuy nhiên, nếu bạn đã thực hiện một số dự án với Arduino làm bộ não, có thể bạn đã bắt đầu phát ngán khi nhìn tổng thể bảng Arduino, làm lộn xộn dự án của bạn và nhìn chung trông thật tệ. Vì vậy, tôi quyết định rằng tôi muốn chuyển từ bảng Arduino sang chỉ sử dụng IC.

Nhập atmega328p.

Atmega328p có lẽ là vi mạch tương thích với Arduino tốt nhất trên thị trường. Tuy nhiên, nó không có nghĩa là rẻ nhất hoặc mạnh nhất, khi tính đến cả hai điều này, theo tôi, đó là hiệu suất tốt nhất trên mỗi đô la. Vì vậy, bạn đã sẵn sàng để bắt đầu làm cho các dự án của mình trông chuyên nghiệp hơn nhiều và ít giống như một tập hợp các mô-đun trên kệ chưa? Nếu vậy, hãy đọc qua hướng dẫn này và bạn sẽ nhận được thông tin cần thiết để xây dựng mô-đun của riêng mình, cho phép bạn flash bộ nạp khởi động vào mục tiêu atmega328p, tải lên bản phác thảo nhấp nháy để đảm bảo rằng mọi thứ đang hoạt động và cuối cùng tải lên bản phác thảo của riêng bạn cho các dự án cá nhân của bạn.

Bước 1: BOM và Công cụ

Điều đầu tiên, tài liệu hướng dẫn này sẽ không phải là cách xây dựng thủ công từng bước, mà thay vào đó, tôi giả định rằng bạn biết cách đọc một giản đồ và có thể dịch nó sang một bảng. Với ý nghĩ đó, đây là những vật liệu và công cụ cần thiết:

Vật liệu:

  • 1x 40x60mm protoboard hoặc PCB
  • 1x đầu cắm đực 6 chân (tôi đã sử dụng đầu đực góc vuông)
  • 2x đầu nữ 14pin
  • 1x tiêu đề nữ 6pin
  • 1x tiêu đề nữ 2pin
  • Tụ điện 2x 22pF (22)
  • Tụ điện 1x 0,1uF (104)
  • 1x điện trở 10kohm
  • Điện trở 2x 330ohm
  • 1x LED (bất kỳ màu nào cho chỉ báo nguồn - 3mm cho thiết kế PCB)
  • 1x LED (bất kỳ màu nào cho chân số 13 cho bản phác thảo nhấp nháy - 3mm cho thiết kế PCB)
  • 1x tinh thể 16MHz
  • 1x công tắc trượt
  • 1x nút nhấn tạm thời

Công cụ:

  • Arduino Uno
  • Sắt hàn
  • 6x dây nhảy M-M
  • Lập trình viên FTDI
  • Cáp USB phù hợp với bộ lập trình FTDI của bạn
  • Arduino IDE

Bước 2: Sơ đồ / Bố cục

Sơ đồ / Bố cục
Sơ đồ / Bố cục
Sơ đồ / Bố cục
Sơ đồ / Bố cục

Đính kèm với bước này là các tệp đại bàng mà tôi đã sử dụng. Bạn có thể tự do sửa đổi chúng và thay đổi chúng theo cách bạn muốn. Tuy nhiên, tôi đã thiết kế bảng sao cho tất cả các dấu vết nằm ở lớp dưới cùng để dễ dàng chế tạo trên máy nghiền PCB (nếu bạn có quyền truy cập) với bảng một mặt. Nó cũng ở dưới cùng để dễ dàng hàn các thành phần lại với nhau.

Tuy nhiên, nếu bạn muốn PCB, chỉ cần chạy CAM để nhận các tệp mầm cần thiết cho nhà sản xuất yêu thích của bạn. Tôi thích OSH Park vì bạn chỉ đưa cho họ tệp bảng và họ chạy các CAM cần thiết để lấy tệp họ cần.

Bước 3: Hàn

Hàn
Hàn
Hàn
Hàn

Vì vậy, có ba cách để tạo ra bảng này:

  • Sử dụng PCB
  • Điền vào một bảng được xay xát
  • Điền vào một bảng đi trước

Việc phổ biến PCB là khá đơn giản và sẽ không mang lại cho bạn bất kỳ rắc rối nào vì mọi thứ đều được dán nhãn.

Việc điền vào một bảng được xay xát cũng không quá khó khăn, vì nó được mô phỏng giống hệt như PCB, ngoại trừ việc bạn không có các ký hiệu, vì vậy hãy làm theo cùng với tệp bảng trong Eagle để đảm bảo bạn đang đặt mọi thứ ở đúng nơi (đặc biệt là cực của đèn LED).

Cuối cùng, điền vào một protoboard là công việc cần nhiều suy nghĩ nhất, tuy nhiên, nó không quá khó. Tôi có một vài hình ảnh ở bước này cho thấy phiên bản protoboard của tôi và cách tôi phù hợp với mọi thứ. Lưu ý rằng LM7805, hai tụ điện 4.7uF và các đầu nối vít sẽ không có trên bo mạch của bạn. Tôi đã thử với ý tưởng về việc cái này có khả năng được cấp nguồn từ bên ngoài, nhưng khi tôi bắt đầu suy nghĩ về nó, tôi quyết định rằng nó cuối cùng là một sự lãng phí không gian bảng.

Bước 4: Tải khởi động

Bootloading
Bootloading

Thiết lập Arduino Bootloading:

Vì vậy, đây là nơi bạn sẽ cần Arduino khác của mình. Đầu tiên, hãy truy cập vào đây và tải xuống các tệp từ anh chàng này. Tại thời điểm này, các tệp đã được vài năm tuổi, nhưng chúng vẫn hoạt động tốt. Khi bạn đã tải xuống chúng, hãy mở optiLoader.ino và Arduino IDE của bạn sẽ nhắc bạn đặt nó vào một thư mục. Làm như vậy và sau đó đặt tệp optiLoader.h vào thư mục có.ino. Bây giờ bạn đã sẵn sàng tải bản phác thảo đó lên Arduino đang tải khởi động của mình. Tôi đã sử dụng Arduino Uno, vì vậy tôi biết nó hoạt động với điều đó, nhưng tôi chắc chắn rằng nó cũng sẽ hoạt động với các bảng khác.

Khi bạn đã tải optiLoader.ino lên Arduino của mình, tất cả đều được thiết lập để khởi động nhiều chip Arduino khác nhau. Tôi chỉ làm điều đó với atmega328p, tuy nhiên, mã được thiết lập để phát hiện MCU mục tiêu và flash bộ nạp khởi động chính xác, điều này khá hay. Vì vậy, bây giờ, bất cứ khi nào bạn kết nối Arduino này với bảng Atmega Companion có cài chip và bật nó lên, nó sẽ tự động phát hiện mục tiêu là atmega328p và tự động flash bộ nạp khởi động thích hợp. Không có thiết lập lại nhảy, không có thứ kỳ lạ; chỉ cần cắm và chạy.

Đấu dây Bộ nạp khởi động vào Bảng đồng hành:

[Bootloader Arduino] [Bảng đồng hành Atmega328p]

  • D10 Đặt lại / chân 1
  • D11 MOSI / chân 17
  • D12 MISO / chân 18
  • D13 SCK / chân 19
  • 5V Vcc / chân 20 hoặc 21
  • GND Gnd / chân 22

Các chân chỉ các chân của chính vi mạch. Nếu điều này gây nhầm lẫn, hãy xem hình ảnh bảng từ bước sơ đồ / bố cục khi các chân trên bảng đồng hành được gắn nhãn.

Nhấp nháy Bootloader:

Bây giờ bạn đã có thiết lập Bootloader Arduino với bản phác thảo optiLoader.ino và nó hiện cũng được kết nối với Bảng đồng hành của bạn, hãy đảm bảo rằng công tắc bảng đồng hành được đặt thành "tải khởi động" thay vì "tải lên", sau đó cắm vào Arduino vào máy tính. Bạn sẽ thấy đèn trên cả Arduino và Bảng đồng hành của bạn nhấp nháy một số lần. Sau một vài giây, cả hai sẽ chuyển sang bóng tối và không nhấp nháy nữa. Điều này có thể có nghĩa là nó đã flash thành công IC atmega328p của bạn với bộ nạp khởi động. Để đảm bảo rằng mọi thứ diễn ra tốt đẹp, hãy cắm nó vào máy tính của bạn và mở Arduino IDE, sau đó là màn hình nối tiếp. Thay đổi tốc độ truyền thành 19200. Sau đó, nếu nó không tự động khởi động lại, hãy nhấn vào nút đặt lại trên Arduino của bạn. Bạn sẽ thấy một loạt văn bản mô tả những gì tập lệnh đang làm. Cuối cùng, nó sẽ không có bất kỳ thông báo lỗi nào và sẽ thông báo cho bạn rằng quá trình đã hoàn tất.

Nếu bạn gặp lỗi, hãy kiểm tra công tắc của bạn và đảm bảo rằng bạn đang ở "tải khởi động". Nếu bạn vẫn gặp lỗi tại thời điểm này, hãy kiểm tra tất cả hệ thống dây điện của bạn và đảm bảo rằng nó chính xác.

Bước 5: Tải lên

Đang tải lên
Đang tải lên

Đây là bước dễ dàng.

Ngắt kết nối tất cả các dây từ bước trước và chuyển công tắc từ "tải khởi động" sang "tải lên". Cắm mô-đun FTDI của bạn. Tôi thích Adafruit CP2104 và SparkFun CH340G chủ yếu vì chúng tương đối rẻ và sơ đồ chân khớp với chân FTDI ra khỏi bảng đồng hành.

Sau khi bạn đã cắm FTDI của mình vào bảng đồng hành, hãy tiếp tục và cắm nó vào máy tính của bạn. Từ đó, tải lên bản phác thảo ví dụ về nhấp nháy để đảm bảo rằng bộ nạp khởi động đã được nhấp nháy chính xác. Chọn Arduino / Genuino Uno từ menu bảng. Sau khi bản phác thảo nhấp nháy được tải lên, bạn sẽ thấy đèn LED nhấp nháy nhấp nháy, như mong đợi. Nếu điều đó hoạt động, thì bạn đã sẵn sàng sử dụng tải các bản phác thảo tùy chỉnh của riêng mình lên IC, giống như bạn làm với bất kỳ Arduino nào khác.

Bước 6: Công việc trong tương lai

Trong tương lai, tôi đang có kế hoạch biến nó thành một chiếc khiên Arduino Uno. Sẽ không mất nhiều thời gian để làm như vậy và nếu mọi người muốn, tôi cũng có thể tải lên các tệp Eagle cho việc đó tại đây. Điều này sẽ đơn giản hóa bước tải khởi động, vì bạn sẽ không cần phải lo lắng về việc đấu dây sai. Tôi cũng sẵn sàng đón nhận các đề xuất cải tiến khác, tuy nhiên, tôi không nghi ngờ rằng mình sẽ làm nhiều hơn nữa với điều này, vì nó chỉ là một bước cần thiết để chuẩn bị cho các dự án trong tương lai của tôi.

Nếu bạn muốn xem thêm các dự án trong tương lai của tôi, hãy cho tôi biết, và tôi sẽ cố gắng cập nhật thông tin cho cộng đồng.

Đề xuất: