Mục lục:

Bảng Arduino tự tạo: 8 bước
Bảng Arduino tự tạo: 8 bước

Video: Bảng Arduino tự tạo: 8 bước

Video: Bảng Arduino tự tạo: 8 bước
Video: Học lập trình Arduino KHÔNG HỀ KHÓ - Bộ KIT học tập Arduino Uno R3 BLK 2024, Tháng mười một
Anonim
Bảng Arduino tự tạo
Bảng Arduino tự tạo

Bằng cách thiết kế Arduino-Board của riêng bạn, bạn sẽ tìm hiểu về một số thành phần và mạch điện tử mới, bao gồm một số chủ đề nâng cao như cấp nguồn, mạch định thời và cách sử dụng IC ATmega (Mạch tích hợp).

Nó sẽ giúp bạn trong tương lai với việc tạo các dự án của riêng bạn như trạm thời tiết, lá chắn tự động hóa gia đình, v.v.

Ưu điểm của Arduino tự tạo là tiêu thụ năng lượng thấp và đảm bảo rằng một dự án có thể chạy trong thời gian dài bằng pin.

Ngoài ra, bạn có thể mở rộng bo mạch bằng cách thêm mở rộng cổng kỹ thuật số hoặc cổng tương tự hoặc một số mô-đun giao tiếp.

Quân nhu

Phần cứng

Để xây dựng một Arduino tối giản, bạn sẽ cần phần cứng sau:

1x vi điều khiển ATmega328P-PU với bộ nạp khởi động Arduino

Bộ điều chỉnh điện áp tuyến tính 1x 7805 (đầu ra 5v, đầu vào tối đa 35v)

1x breadboard (tôi đang sử dụng bảng ghim 830)

Nhiều loại dây kết nối

Bộ dao động tinh thể 1x 16 MHz

Ổ cắm ic 1x 28 chân

1x 1 μF, tụ điện 25 V

1x 100 μF, tụ điện 25 V

2x 22 pF, tụ gốm 50 V

2x 100 nF, tụ gốm 50 V

Điện trở 2x 330 Ohms (R1 và R2)

1x 10 kOhm điện trở (R3)

2x đèn LED do bạn lựa chọn (LED1 và LED2)

1x nút nhấn

Đầu cắm 2x 6 chân tùy chọn và đầu cắm 3x 8 chân

1x pin loại PP3

Pin loại 1x 9 V PP3

1x Bộ điều hợp lập trình FTDI

Bước 1: Bộ điều chỉnh điện áp tuyến tính 7805

Bộ điều chỉnh điện áp tuyến tính 7805
Bộ điều chỉnh điện áp tuyến tính 7805
Bộ điều chỉnh điện áp tuyến tính 7805
Bộ điều chỉnh điện áp tuyến tính 7805
Bộ điều chỉnh điện áp tuyến tính 7805
Bộ điều chỉnh điện áp tuyến tính 7805

Bộ điều chỉnh điện áp tuyến tính chứa một mạch đơn giản có thể chuyển đổi điện áp này sang điện áp khác. Bộ điều chỉnh 7805 có thể chuyển đổi điện áp từ 7 đến 30 vôn thành 5 vôn cố định, với dòng điện lên đến 1 amp, hoàn hảo cho bảng Arduino của chúng tôi.

Chúng ta sẽ bắt đầu với việc tạo mạch cung cấp điện có chứa một bộ điều chỉnh điện áp 7805 ở dạng TO-220 và hai tụ điện có 100 μF mỗi tụ.

Khi bạn nhìn vào mặt trước của chip 7805 - chân bên trái dành cho điện áp đầu vào, chân trung tâm kết nối với GND và chân bên phải là kết nối đầu ra 5 V. Tôi khuyên bạn nên đặt một tấm tản nhiệt, bởi vì khi mạch thu được tối đa 1 amp của dòng điện, chip 7805 sẽ rất nóng (bạn có thể bị bỏng đầu ngón tay khi chạm vào nó).

Đặt một tụ điện 100 μF giữa IN của bộ điều chỉnh và mặt đất và một tụ điện 100 μF trên đường ray bên phải giữa nguồn điện và mặt đất. Bạn phải cẩn thận - tụ điện phân cực (dải bạc trên tụ điện biểu thị chân nối đất) và phải được đặt chính xác theo sơ đồ.

Thêm dây nguồn và dây nối đất cho nơi đặt bộ điều chỉnh điện áp của bạn, kết nối thanh ray ở giữa và ở phần bên phải của bảng. Bằng cách này, chúng ta có nguồn điện 5 Volt từ đường ray trên và dưới của bảng mạch. Ngoài ra, chúng tôi sẽ bao gồm một đèn LED màu đỏ sáng khi nguồn được bật, bằng cách này, chúng tôi luôn có thể biết khi nào bo mạch của chúng tôi được cấp nguồn.

Đèn LED là một diode và nó chỉ cho phép dòng điện chạy theo một hướng. Dòng điện phải đi vào chân dài và ra khỏi chân ngắn. Cực âm của đèn LED cũng có một mặt hơi dẹt, tương ứng với chân âm ngắn của đèn LED.

Mạch của chúng tôi có nguồn điện 5 vôn và đèn LED màu đỏ được đánh giá khoảng 1,5 - 2 vôn. Để giảm điện áp, chúng ta phải kết nối điện trở nối tiếp với đèn LED để hạn chế lượng điện chạy qua để ngăn chặn sự phá hủy đèn LED. Một số điện áp sẽ được sử dụng hết bởi điện trở và chỉ một phần thích hợp của nó được áp dụng trên đèn LED. Đưa điện trở vào giữa chân ngắn của đèn LED và hàng chứa dây màu đen ở phía bên tay phải của chip (GND).

Các dây màu đỏ và đen ở bên trái của bộ điều chỉnh điện áp là nơi nguồn điện của bạn sẽ được cắm vào. Dây màu đỏ dành cho NGUỒN và dây màu đen là nối đất (GND).

LƯU Ý: Bạn chỉ có thể gắn nguồn điện từ 7-16V. Bất kỳ thấp hơn nào và bạn sẽ không nhận được 5V ra khỏi bộ điều chỉnh của mình và điện áp cao hơn 17 V sẽ làm hỏng chip của bạn. Pin 9V, nguồn điện 9V DC hoặc nguồn điện 12V DC là phù hợp.

Và đối với một số mạch nâng cao hơn, bạn có thể đặt một bộ điều chỉnh điện áp với điện áp có thể điều chỉnh được. Bằng cách này, bạn có thể thêm một số cảm biến 3,3 V vào bo mạch hoặc cấp nguồn cho động cơ DC 9 V.

Thông tin thêm về bộ điều chỉnh điện áp tuyến tính -

www.instructables.com/id/Introduction-to-Linear-Voltage-Regulators

Bước 2: Vi điều khiển ATmega328P-PU

Vi điều khiển ATmega328P-PU
Vi điều khiển ATmega328P-PU
Vi điều khiển ATmega328P-PU
Vi điều khiển ATmega328P-PU
Vi điều khiển ATmega328P-PU
Vi điều khiển ATmega328P-PU

Để xây dựng một Arduino trên breadboard, bạn cần một bộ vi điều khiển ATmega328P-PU điều khiển bộ não của bảng Arduino tự tạo của chúng tôi. Đặt nó như thể hiện trong sơ đồ và cẩn thận - các chân có thể bị gãy nếu bạn buộc chúng vào hoặc bạn có thể sử dụng ổ cắm IC 28 chân. IC nên được đặt với hình mặt trăng được cắt hướng về bên trái của breadboard (các chân được đánh số từ 1 đến 28 ngược chiều kim đồng hồ).

LƯU Ý: Không phải tất cả IC ATmega đều chứa bộ nạp khởi động Arduino (phần mềm cho phép nó diễn giải các bản phác thảo được viết cho Arduino). Khi tìm kiếm bộ vi điều khiển cho Arduino tự tạo của bạn, hãy đảm bảo chọn một bộ vi điều khiển đã bao gồm bộ nạp khởi động.

Đây là một chút về lý thuyết vi điều khiển

Vi điều khiển là một máy tính nhỏ có bộ xử lý thực hiện các lệnh. Nó có nhiều loại bộ nhớ khác nhau để chứa dữ liệu và hướng dẫn từ chương trình của chúng tôi (bản phác thảo); ATmega328P-PU có ba loại bộ nhớ: bộ nhớ flash 32kB ISP (lập trình trong hệ thống) nơi lưu trữ các bản phác thảo, 1kB EEPROM (bộ nhớ chỉ đọc lập trình có thể xóa bằng điện) để lưu trữ dữ liệu lâu dài và 2kB SRAM (bộ nhớ truy cập ngẫu nhiên tĩnh) để lưu trữ các biến khi một bản phác thảo đang chạy.

LƯU Ý: Điều quan trọng cần biết là dữ liệu trong bộ nhớ flash và EEPROM được giữ lại khi nguồn điện cho bộ vi điều khiển bị ngắt.

Bộ vi điều khiển có 13 đường đầu vào / đầu ra mục đích chung kỹ thuật số (GPIO) và sáu đường 10 bit (giá trị từ 0 đến 1023) tương tự với đường GPIO của bộ chuyển đổi kỹ thuật số (ADC) để chuyển đổi điện áp trên chân thành giá trị kỹ thuật số. Có ba bộ định thời với hai bộ định thời 8 bit có giá trị từ 0 đến 255 và một bộ định thời 16 bit có giá trị từ 0 đến 65535, được sử dụng bởi hàm delay () trong bản phác thảo hoặc bằng điều chế độ rộng xung (PWM).

Có năm chế độ tiết kiệm năng lượng có thể lựa chọn phần mềm và bộ vi điều khiển hoạt động trong khoảng từ 1,8V đến 5,5V. Bạn có thể sử dụng hình ảnh làm tài liệu tham khảo cho cách bố trí chân của ATmega328P-PU.

Có ba nhóm cổng: PB, PC và PD với 8, 7 và 8 chân tương ứng, cộng với hai chân nối đất (GND), một chân 5V (VCC) với điện áp cung cấp (AVCC) và điện áp tham chiếu tương tự (AREF)) chân cho bộ chuyển đổi tương tự-kỹ thuật số (ADC).

Bước 3: Kết nối ATmega328P-PU

Kết nối ATmega328P-PU
Kết nối ATmega328P-PU

Sau khi đặt IC, kết nối các chân 7, 20 và 21 của ATmega với đường ray điện tích cực trên bảng mạch, và chân 8 và 23 với đường ray điện âm, sử dụng dây jumper để kết nối thanh nguồn điện dương và GND ở hai bên của bảng, như thể hiện trong Hình.

Chân 7 - Vcc - Điện áp cung cấp kỹ thuật số

Pin 8 - GND

Pin 22 - GND

Chân 21 - AREF - Chân tham chiếu tương tự cho ADC

Chân 20 - AVcc - Điện áp cung cấp cho bộ chuyển đổi ADC. Cần được kết nối với nguồn nếu ADC không được sử dụng như trong ví dụ của chúng tôi. Nếu bạn muốn sử dụng nó trong tương lai thì nó phải được cấp nguồn qua bộ lọc thông thấp (để giảm tiếng ồn).

Sau đó, đặt một số chân cắm tiêu đề mười bốn chiều - nó sẽ tương tự như các GPIO của Arduino.

Bước 4: Nút Đặt lại

Nút reset
Nút reset
Nút reset
Nút reset

Thêm công tắc xúc giác nhỏ để bạn có thể đặt lại Arduino và chuẩn bị chip để tải lên chương trình mới. Nhấn nhanh vào công tắc này sẽ đặt lại chip.

Chúng ta sẽ chèn nút đặt lại trong mạch của chúng ta như trong hình, khi chúng ta nhấn vào nó, mạch điện sẽ được rút ngắn thành GND bỏ qua một điện trở 1kOhm và kết nối Chân ATmega 1 với GND. Sau đó, thêm một dây từ chân dưới bên trái của công tắc đến chân RESET của chip ATmega và một dây từ chân trên bên trái của công tắc xuống đất.

Ngoài ra, thêm một điện trở kéo lên 10 k Ohm thành + 5V từ chân ĐẶT LẠI để ngăn chip tự đặt lại trong quá trình hoạt động bình thường. Điện trở này sẽ được kết nối với nguồn điện 5 volt, 'kéo lên' Pin 1 đến 5 volt. Và khi bạn kết nối Pin 1 với 0V mà không có điện trở, chip sẽ khởi động lại. Trên bộ vi điều khiển khởi động lại, hãy tìm một chương trình mới đang được tải lên (khi bật nguồn nếu không có gì mới được gửi, nó sẽ chạy chương trình cuối cùng được gửi).

Điện trở có bốn sọc màu. Đọc Brown = 1, Black = 0, Orange = 3 cho chúng ta số 103. Điện trở theo Ohms bắt đầu bằng '10' với 3 số 0 sau - 10, 000 Ohms hoặc 10 kilo Ohms, và sọc vàng là dung sai (5%).

Để nâng cấp mạch của chúng tôi - chúng tôi có thể đặt tụ điện 'tách'. Đặt một tụ điện gốm 100 nF (nano Farad). Nó là một đĩa nhỏ với hai dây dẫn có ghi '104 đánh dấu' và loại tụ điện này không phân cực và có thể được đặt ở bất kỳ hướng nào.

Tụ điện 'tách' này làm mịn các xung điện, do đó, tín hiệu khởi động lại được gửi qua Pin 1 được phát hiện một cách đáng tin cậy. Các chữ số 104 thể hiện điện dung của nó bằng pico Farad trong ký hiệu khoa học. Hình cuối cùng '4' cho chúng ta biết có bao nhiêu số 0 để thêm vào. Điện dung bắt đầu bằng '10' và sau đó tiếp tục với 4 số 0 nữa - 100, 000 pico Farads, và vì 1000 pico Farads là 1 nano Farads, nên có 100 nano Farads (104).

Chèn tụ điện vào giữa chân trên cùng bên trái của chip (chân 1, ngược chiều kim đồng hồ so với hình bán nguyệt)

Bước 5: Bộ tạo dao động tinh thể

Dao động tinh thể
Dao động tinh thể
Dao động tinh thể
Dao động tinh thể

Bây giờ chúng ta sẽ làm xung nhịp cho IC. Nó là thạch anh 16 Mhz và hai tụ gốm 22pF (piko Farad) mỗi tụ. Bộ dao động tinh thể tạo ra một tín hiệu điện với tần số rất chính xác. Trong trường hợp này, tần số là 16 MHz, có nghĩa là vi điều khiển có thể thực hiện 16 triệu lệnh của bộ xử lý mỗi giây.

Tinh thể 16 MHz (hình) cho phép Arduino tính toán thời gian và các tụ điện phục vụ để làm trơn điện áp cung cấp.

Các chân tinh thể thạch anh đều giống nhau - bạn không thể dây ngược lại. Kết nối một chân của tinh thể với chân 9 trên chip ATmega và chân còn lại với chân 10. Kết nối chân của một trong các tụ đĩa pF 22 với chân 9 và GND, và tụ đĩa khác với chân 10 và GND, như Thể hiện trong hình.

Lưu ý: tụ đĩa không phân cực và có thể được lắp vào bất kỳ cách nào.

Điều đáng nói là chiều dài dây giữa các tụ điện 22pF phải có chiều dài bằng nhau và phải càng gần bộ điều khiển càng tốt để tránh tương tác với các phần khác của mạch.

Bước 6: Thêm đèn LED vào chân 13

Thêm đèn LED vào chân 13
Thêm đèn LED vào chân 13
Thêm đèn LED vào chân 13
Thêm đèn LED vào chân 13
Thêm đèn LED vào chân 13
Thêm đèn LED vào chân 13

Bây giờ chúng ta sẽ thêm đèn LED màu xanh lá cây (chân số 13 trên Arduino).

Chèn một chân dài của đèn LED vào hàng bên dưới dây màu đỏ (ở phía bên phải của chip - nguồn, hoặc 5 Vôn) và chân ngắn ở hàng trống đầu tiên bên dưới bộ vi điều khiển.

Điện trở 330 Ohm này được mắc nối tiếp với đèn LED, hạn chế lượng điện chạy qua để ngăn chặn sự phá hủy của đèn LED.

Chèn điện trở giữa chân ngắn của đèn LED và hàng chứa dây màu đen ở phía bên phải của chip (GND hoặc 0Volts)

Tất cả các chân analog, kỹ thuật số và các chân khác có sẵn trên bảng Arduino thông thường cũng có sẵn trong phiên bản breadboard của chúng tôi. Bạn có thể sử dụng bảng ghim và sơ đồ ATmega làm tài liệu tham khảo.

Bước 7: USB to Serial Connector

USB to Serial Connector
USB to Serial Connector
USB to Serial Connector
USB to Serial Connector
USB to Serial Connector
USB to Serial Connector
USB to Serial Connector
USB to Serial Connector

Bộ vi điều khiển ATmega 328P-PU cung cấp ba chế độ giao tiếp: USART có thể lập trình nối tiếp (máy thu-phát đồng bộ phổ quát và không đồng bộ), cổng nối tiếp SPI (Giao diện ngoại vi nối tiếp) và giao diện nối tiếp hai dây. USART lấy từng byte dữ liệu và truyền tuần tự từng bit riêng lẻ, yêu cầu đường truyền (TX) và nhận (RX). SPI sử dụng bốn đường giao tiếp: chủ-ra tớ (MOSI), tớ tớ chính (MISO) và xung nối tiếp (SCK) với một đường chọn tớ (SS) riêng cho mỗi thiết bị. Giao tiếp I2C Bus hai giao diện dây (TWI) sử dụng hai đường tín hiệu: dữ liệu nối tiếp (SDA) và đồng hồ nối tiếp (SCL).

Để kết nối bo mạch của chúng tôi với PC bằng Arduino IDE để tải xuống bản phác thảo, chúng tôi sẽ sử dụng giao diện USB nối tiếp UART chẳng hạn như FT232R FTDI.

Khi mua cáp FTDI, hãy đảm bảo rằng đó là kiểu 5 V, vì kiểu 3,3 V sẽ không hoạt động bình thường. Cáp này (được hiển thị trong hình) có một đầu cắm USB và một ổ cắm với sáu dây ở đầu kia.

Khi bạn đang kết nối cáp, hãy đảm bảo rằng mặt bên của ổ cắm có dây màu đen kết nối với chân GND trên các chân tiêu đề của bảng mạch. Khi cáp được kết nối, nó cũng cấp nguồn cho mạch, giống như một bảng Arduino bình thường.

Sau đó, chúng tôi sẽ kết nối FTDI của mình với bảng Arduino tự tạo của chúng tôi; để tham khảo, bạn có thể sử dụng bảng và sơ đồ.

Tụ điện 0,1μF được kết nối giữa chân DTR (Sẵn sàng cho đầu cuối dữ liệu) trên giao diện USB nối tiếp UART và Thiết lập lại bộ vi điều khiển, đặt lại bộ vi điều khiển để đồng bộ hóa với USB sang giao diện nối tiếp.

LƯU Ý: Phần Oneclever là chân RX của bộ vi điều khiển phải được kết nối với TX của USB tới bộ điều hợp Serial và giống với TX của một thiết bị với RX của thiết bị kia.

Chân CTS (Clear to Send) trên USB với giao diện UART nối tiếp không được kết nối với bộ vi điều khiển.

Để tải bản phác thảo xuống vi điều khiển trong Arduino IDE từ menu Công cụ ➤ Cổng, hãy chọn cổng giao tiếp (COM) liên quan và từ menu Công cụ ➤ Board, chọn Arduino / Genuino Uno. Bản phác thảo được biên dịch trong Arduino IDE và sau đó được tải vào bộ vi điều khiển bằng USB tới giao diện UART nối tiếp. Khi bản phác thảo được tải xuống, đèn LED màu xanh lá cây và màu đỏ của giao diện UART USB-to-serial TXD và RXD nhấp nháy.

Có thể tháo giao diện USB sang nối tiếp UART và kết nối nguồn điện 5V với bộ vi điều khiển. Một đèn LED và điện trở 220kΩ được kết nối với chân vi điều khiển 19, tương đương với chân 13 của Arduino, để chạy phác thảo nhấp nháy.

Bước 8: Tải lên Sketch hoặc Cài đặt Bootloader

Tải lên Sketch hoặc Cài đặt Bootloader
Tải lên Sketch hoặc Cài đặt Bootloader
Tải lên Sketch hoặc Cài đặt Bootloader
Tải lên Sketch hoặc Cài đặt Bootloader

Nếu bạn không có bộ chuyển đổi USB sang nối tiếp - bạn có thể sử dụng Arduino khác (trong trường hợp của tôi là Arduino UNO) để tải bản phác thảo hoặc bộ nạp khởi động lên bảng tự tạo.

Bộ vi điều khiển ATmega238P-PU yêu cầu bộ nạp khởi động để tải lên và chạy các bản phác thảo từ Arduino IDE; khi cấp nguồn cho bộ vi điều khiển, bộ nạp khởi động sẽ xác định xem bản phác thảo mới có đang được tải lên hay không, sau đó tải bản phác thảo vào bộ nhớ vi điều khiển. Nếu bạn có ATmega328P-PU không có bộ nạp khởi động, thì bạn có thể tải lên bộ nạp khởi động bằng cách sử dụng giao tiếp SPI giữa hai bo mạch.

Đây là cách bạn tải bộ nạp khởi động lên IC ATmega.

Trước tiên, hãy bắt đầu với việc định cấu hình Arduino UNO làm ISP, điều này được thực hiện vì bạn muốn Arduino UNO tải bản phác thảo lên IC ATmega chứ không phải chính nó.

Bước 1: Định cấu hình Arduino UNO của chúng tôi làm ISP

Không kết nối IC ATmega trong khi tải lên bên dưới đang chạy.

  • Cắm arduino vào PC
  • Mở arduino IDE
  • Chọn Bảng thích hợp (Công cụ> Bảng> Arduino UNO) và Cổng COM (Công cụ> Cổng> COM?)
  • Mở> Ví dụ> ArduinoISP
  • Tải lên bản phác thảo

Sau đó, bạn có thể kết nối Bo mạch của riêng mình với Arduino UNO bằng cách làm theo mạch như được hiển thị trên sơ đồ. Ở giai đoạn này, không cần phải cấp nguồn cho bo mạch của riêng bạn vì Arduino sẽ cung cấp nguồn điện cần thiết.

Bước 2: Tải lên Sketch hoặc Bootloader

Với mọi thứ được kết nối, hãy mở IDE từ thư mục bạn vừa tạo (bản sao).

  • Chọn Arduino328 từ Công cụ> Bảng
  • Chọn Arduino làm ISP từ Công cụ> Lập trình viên
  • Chọn Burn Bootloader

Sau khi ghi thành công, bạn sẽ nhận được "Bộ nạp khởi động ghi xong".

Bộ nạp khởi động hiện đã được tải vào bộ vi điều khiển, bộ vi điều khiển này đã sẵn sàng nhận bản phác thảo sau khi thay đổi cổng COM trong menu Công cụ ➤ Cổng.

Đề xuất: