Съдържание:

Самостоятелно изработена дъска Arduino: 8 стъпки
Самостоятелно изработена дъска Arduino: 8 стъпки

Видео: Самостоятелно изработена дъска Arduino: 8 стъпки

Видео: Самостоятелно изработена дъска Arduino: 8 стъпки
Видео: How to use ESP32 WiFi and Bluetooth with Arduino IDE full details with examples and code 2024, Юли
Anonim
Самостоятелно изработена дъска Arduino
Самостоятелно изработена дъска Arduino

Чрез проектирането на свой собствен Arduino-Board ще научите за някои нови компоненти и електронни схеми, включително някои напреднали теми като захранване, времева верига и използването на ATmega IC (интегрална схема).

Това ще ви помогне в бъдеще при създаването на ваши собствени проекти като метеорологична станция, щитове за домашна автоматизация и др.

Предимството на самостоятелно направения Arduino е, че има ниска консумация на енергия и гарантира, че проектът може да работи дълго време на батерия.

Освен това можете да разширите платката, като добавите разширение на цифров или аналогов порт или някои комуникационни модули.

Консумативи

Хардуерът

За да изградите минималистичен Arduino, ще ви е необходим следният хардуер:

1x микроконтролер ATmega328P-PU с Arduino буутлоудър

1x 7805 линеен регулатор на напрежението (5v изход, 35v макс вход)

1x макет (използвам 830 щифт)

Различни свързващи проводници

1x 16 MHz кристален осцилатор

1x 28 пинов IC контакт

1x 1 μF, 25 V електролитен кондензатор

1x 100 μF, 25 V електролитен кондензатор

2x 22 pF, 50 V керамични кондензатори

2x 100 nF, 50 V керамични кондензатори

2x 330 ома резистори (R1 и R2)

1x 10 kOhm резистор (R3)

2x светодиоди по ваш избор (LED1 и LED2)

1x бутон за натискане

По избор 2x 6-пинов хедър и 3x 8-пинов хедър

1x щракване на батерията тип PP3

1x 9 V батерия тип PP3

1x адаптер за програмиране на FTDI

Стъпка 1: Линеен регулатор на напрежение 7805

7805 Линеен регулатор на напрежение
7805 Линеен регулатор на напрежение
7805 Линеен регулатор на напрежение
7805 Линеен регулатор на напрежение
7805 Линеен регулатор на напрежение
7805 Линеен регулатор на напрежение

Линеен регулатор на напрежение съдържа проста схема, която преобразува едно напрежение в друго. Регулаторът 7805 може да преобразува напрежение между 7 и 30 волта във фиксирани 5 волта, с ток до 1 ампер, което е идеално за нашата платка Arduino.

Ще започнем със създаването на захранващата верига, която съдържа 7805 регулатор на напрежението във форма TO-220 и два кондензатора с по 100 μF всеки.

Когато гледате предната част на чипа 7805 - щифтът вляво е за входното напрежение, централният щифт се свързва към GND, а десният щифт е 5 V изходна връзка. Бих препоръчал да поставите радиатор, тъй като когато веригата се увеличи до максимум 1 ампер ток, чипът 7805 ще бъде тихо горещ (можете да изгорите върха на пръста си, когато го докоснете).

Поставете 100 μF кондензатор между IN на регулатора и земята и 100 μF кондензатор на дясната шина между захранването и земята. Трябва да внимавате - електролитният кондензатор е поляризиран (сребърната лента на кондензатора означава крака на земята) и трябва да се постави точно според схемата.

Добавете захранващи и заземяващи проводници за мястото, където ще бъде вашият регулатор на напрежението, свързвайки всяка шина в средата и в дясната част на платката. По този начин имаме захранване от 5 волта от горната и долната релси на макета. Освен това ще включим червен светодиод, който свети, когато захранването е включено, по този начин винаги можем да видим кога платката ни се захранва.

Светодиодът е диод и позволява само електрически ток да тече в една посока. Електричеството трябва да тече в дългия крак и от късия крак. Катодът на светодиодите също има една леко сплескана страна, която съответства на късия, отрицателен крак на светодиода.

Нашата верига има захранване от 5 волта и червен светодиод е оценен около 1,5 - 2 волта. За да намалим напрежението, трябва да свържем резистора последователно със светодиода, ограничаващ количеството електричество, протичащо, за да предотвратим разрушаването на светодиода. Част от напрежението ще бъде изразходвано от резистора и само подходящ дял от него се прилага върху светодиода. Поставете резистора между късия крак на светодиода и реда, съдържащ черния проводник от дясната страна на чипа (GND).

Червените и черните проводници вляво от регулатора на напрежението са мястото, където ще бъде включено захранването ви. Червеният проводник е за POWER, а черният проводник за земята (GND).

ЗАБЕЛЕЖКА: Можете да свържете захранване само между 7-16V. Всички по -ниски и няма да извадите 5V от регулатора си, а напрежението по -високо от 17 V ще повреди чипа ви. Подходяща е 9V батерия, 9V DC захранване или 12V DC захранване.

А за още някои предварителни схеми можете да поставите регулатор на напрежение с регулируемо напрежение. По този начин можете да добавите някои 3.3 V сензори към платката или да включите 9 V DC мотор.

Повече за линейни регулатори на напрежение -

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

Стъпка 2: Микроконтролер ATmega328P-PU

ATmega328P-PU микроконтролер
ATmega328P-PU микроконтролер
ATmega328P-PU микроконтролер
ATmega328P-PU микроконтролер
ATmega328P-PU микроконтролер
ATmega328P-PU микроконтролер

За да изградите Arduino на макета, се нуждаете от микроконтролер ATmega328P-PU, който е мозъкът на нашата собствена Arduino платка. Поставете го, както е показано на схемите, и бъдете внимателни - краката могат да се счупят, ако ги принудите, или можете да използвате 28 -пинов IC контакт. IC трябва да бъде поставен с форма на луна, ориентирана вляво от макета (щифтовете са номерирани от 1 до 28 обратно на часовниковата стрелка).

ЗАБЕЛЕЖКА: Не всички ATmega IC съдържат буутлоудъра Arduino (софтуерът, който му позволява да интерпретира скици, написани за Arduino). Когато търсите микроконтролер за вашето собствено Arduino, не забравяйте да изберете такъв, който вече включва зареждащия механизъм.

Ето малко теория на микроконтролера

Микроконтролерът е малък компютър с процесор, който изпълнява инструкции. Той има различни видове памет за съхраняване на данни и инструкции от нашата програма (скица); ATmega328P-PU има три типа памет: 32 kB ISP (вътрешно системно програмиране) флаш памет, където се съхраняват скици, 1 kB EEPROM (електрически изтриваема програмируема памет само за четене) за дългосрочно съхранение на данни и 2 kB SRAM (статична памет с произволен достъп)) за съхраняване на променливи, когато се изпълнява скица.

ЗАБЕЛЕЖКА: Важно е да знаете, че данните във флаш паметта и EEPROM се запазват, когато захранването на микроконтролера бъде прекъснато.

Микроконтролерът има 13 цифрови входно/изходни линии с общо предназначение (GPIO) и шест 10-битови (стойности между 0 и 1023) аналогови към цифровия преобразувател (ADC) GPIO линии за преобразуване на напрежението на щифт в цифрова стойност. Има три таймера с два 8-битови таймера със стойности между 0 и 255 и един 16-битов таймер със стойности между 0 и 65535, които се използват от функцията delay () в скица или чрез широтно-импулсна модулация (PWM).

Има пет софтуерно избираеми режима за пестене на енергия и микроконтролерът работи между 1.8V и 5.5V. Можете да използвате картината като ориентир за разположението на щифтовете на ATmega328P-PU.

Има три групи портове: PB, PC и PD с съответно 8, 7 и 8 пина, плюс два заземителни (GND) пина, 5V щифт (VCC) с захранващо напрежение (AVCC) и аналогово референтно напрежение (AREF) щифтове за аналогово-цифровия преобразувател (ADC).

Стъпка 3: Връзка ATmega328P-PU

Връзка ATmega328P-PU
Връзка ATmega328P-PU

След като поставите IC, свържете щифтове 7, 20 и 21 на ATmega към релсата с положителна мощност на макета, а щифтове 8 и 23 към отрицателните захранващи шини, използвайте джъмперни проводници, за да свържете положителните и GND захранващите релси от двете страни на дъска, както е показано на фигурата.

Pin 7 - Vcc - Цифрово захранващо напрежение

ПИН 8 - GND

ПИН 22 - GND

Pin 21 - AREF - Аналогов референтен щифт за ADC

Pin 20 - AVcc - Захранващо напрежение за ADC конвертора. Трябва да бъде свързан към захранване, ако ADC не се използва, както в нашия пример. Ако искате да го използвате в бъдеще, той трябва да се захранва чрез нискочестотен филтър (за намаляване на шума).

След това поставете около четиринадесет посочен заглавен щифт-той ще бъде подобен на Arduino GPIO.

Стъпка 4: Бутон за нулиране

Бутон за рестартиране
Бутон за рестартиране
Бутон за рестартиране
Бутон за рестартиране

Добавете малкия тактилен превключвател, за да можете да нулирате Arduino и да подготвите чипа за качване на нова програма. Бързо натискане на този ключ ще нулира чипа.

Ще вмъкнем бутона за нулиране в нашата верига, както е показано на фигурата, когато го натиснем, електрическата верига ще бъде съкратена до GND, заобикаляйки 1kOhm резистор и свързвайки ATmega Pin 1 към GND. След това добавете проводник от долния ляв крак на превключвателя към щифта RESET на чипа ATmega и проводник от горния ляв крак на превключвателя към земята.

Освен това добавете 10 k Ohm издърпващ резистор към +5V от щифта RESET, за да предотвратите нулирането на чипа по време на нормална работа. Този резистор ще бъде свързан към 5 -волтовото захранване, „издърпвайки“щифт 1 до 5 волта. И когато свържете Pin 1 към 0V без резистор, чипът ще се рестартира. На микроконтролера за рестартиране потърсете нова програма, която се качва (при включване, ако не се изпрати нищо ново, тя изпълнява последната изпратена програма).

Резисторът има четирицветна ивица. Четенето на кафяво = 1, черно = 0, оранжево = 3 ни дава числото 103. Съпротивлението в ома започва „10“с 3 нули след - 10 000 ома или 10 кило ома, а златната ивица е толерансът (5 %).

За да надстроим нашата схема - можем да поставим „отделящ“кондензатор “. Поставете керамичен кондензатор от 100 nF (nano Farad). Това е малък диск с два проводника с „104 маркировки“и този тип кондензатор не е поляризиран и може да бъде поставен в произволна ориентация.

Този кондензатор за „отделяне“изглажда електрическите скокове, така че сигналът за рестартиране, изпратен до Pin 1, е надеждно открит. Цифрите 104 показват капацитета му в пико Фарад в научна нотация. Последната цифра „4“ни казва колко нули да добавим. Капацитетът започва „10“и след това продължава с още 4 нули - 100 000 пико фарада, а тъй като 1000 пико фарада е 1 нано фарад, има 100 нано фарада (104).

Поставете кондензатора между горния ляв крак на чипа (щифт 1, обратно на часовниковата стрелка от формата на полумесец)

Стъпка 5: Кристален осцилатор

Кристален осцилатор
Кристален осцилатор
Кристален осцилатор
Кристален осцилатор

Сега ще направим часовника за IC. Това е 16 Mhz кварц и два керамични кондензатора 22pF (piko Farad) всеки. Кристалният осцилатор създава електрически сигнал с много точна честота. В този случай честотата е 16 MHz, което означава, че микроконтролерът може да изпълнява 16 милиона инструкции на процесора в секунда.

Кристалът от 16 MHz (цифра) позволява на Arduino да изчислява времето, а кондензаторите служат за изглаждане на захранващото напрежение.

Краката на кварцовия кристал са еднакви - не можете да ги свържете назад. Свържете единия крак на кристала към щифт 9 на чипа ATmega, а другия крак към щифт 10. Свържете краката на един от 22 pF дисковите кондензатори към щифт 9 и GND, а другия дисков кондензатор към щифт 10 и GND, като показано на фигура.

Забележка: дисковите кондензатори са неполяризирани и могат да бъдат поставени по всякакъв начин.

Заслужава да се спомене, че дължините на проводниците между 22pF кондензаторите трябва да бъдат еднакви по дължина и трябва да са възможно най -близо до контролера, за да се избегнат взаимодействия с други части на веригите.

Стъпка 6: Добавяне на LED към Pin 13

Добавяне на LED към Pin 13
Добавяне на LED към Pin 13
Добавяне на LED към Pin 13
Добавяне на LED към Pin 13
Добавяне на LED към Pin 13
Добавяне на LED към Pin 13

Сега ще добавим зеления светодиод (цифров щифт 13 на Arduino).

Поставете дълъг крак със светодиоди към реда под червения проводник (от дясната страна на чипа - захранване или 5 волта) и късия крак в първия празен ред под микроконтролера.

Този резистор от 330 ома е свързан последователно със светодиода, ограничавайки количеството електричество, което протича, за да се предотврати разрушаването на светодиодите.

Поставете резистора между късия крак на светодиода и реда, съдържащ черния проводник от дясната страна на чипа (GND или 0Volts)

Всички аналогови, цифрови и други пинове, налични на нормалната платка Arduino, също се предлагат в нашата версия на макет. Можете да използвате схемата и щифтовата таблица на ATmega като справка.

Стъпка 7: USB към сериен конектор

USB към сериен конектор
USB към сериен конектор
USB към сериен конектор
USB към сериен конектор
USB към сериен конектор
USB към сериен конектор
USB към сериен конектор
USB към сериен конектор

Микроконтролерът ATmega 328P-PU осигурява три комуникационни режима: сериен програмируем USART (универсален синхронен и асинхронен приемник-предавател), SPI (сериен периферен интерфейс) сериен порт и двупроводен сериен интерфейс. USART взема байтове от данни и предава отделните битове последователно, което изисква предаване (TX) и приемане (RX) комуникационни линии. SPI използва четири комуникационни линии: master-out slave-in (MOSI), master-in slave-out (MISO) и сериен часовник (SCK) с отделна подбрана линия (SS) за всяко устройство. I2C комуникационната шина с двупроводен интерфейс (TWI) използва две сигнални линии: серийни данни (SDA) и сериен часовник (SCL).

За да свържем нашата платка към компютъра с Arduino IDE за изтегляне на скица, ще използваме USB към сериен UART интерфейс като FT232R FTDI.

Когато купувате FTDI кабел, уверете се, че това е 5 V модел, защото моделът 3.3 V няма да работи правилно. Този кабел (показан на фигурата) има USB щепсел от единия край и гнездо с шест проводника от другия.

Когато свързвате кабела, уверете се, че страната на гнездото с черния проводник е свързана с щифта GND на щифтовете на заглавната платка. След като кабелът е свързан, той също захранва веригата, точно както би направила нормалната платка Arduino.

След това ще свържем нашия FTDI с нашата собствена Arduino платка; за справка можете да използвате таблицата и схемата.

Електролитен кондензатор от 0,1 μF е свързан между щифта DTR (готов за терминал за данни) на USB към сериен UART интерфейс и нулиране на микроконтролера, който нулира микроконтролера за синхронизиране с USB към серийния интерфейс.

ЗАБЕЛЕЖКА: Oneclever част е, че RX щифтът на микроконтролера трябва да бъде свързан към TX на USB към серийния адаптер и същото с TX на едно устройство към RX на другото.

Щифтът CTS (Clear to Send) на USB към серийния UART интерфейс не е свързан към микроконтролера.

За да изтеглите скица към микроконтролера в Arduino IDE от менюто Tools ➤ Port изберете съответния комуникационен (COM) порт и от Tools ➤ Board menu изберете Arduino/Genuino Uno. Скицата се компилира в Arduino IDE и след това се зарежда в микроконтролера с USB към серийния UART интерфейс. Когато скицата се изтегли, зеленият и червеният светодиод на USB-към-сериен UART интерфейс TXD и RXD мига.

Интерфейсът USB към сериен UART може да бъде премахнат и 5V захранване свързано към микроконтролера. LED и 220kΩ резистор са свързани към щифт 19 на микроконтролера, еквивалентен на щифт 13 на Arduino, за да се изпълни мигащата скица.

Стъпка 8: Качване на Sketch или Инсталиране на Bootloader

Качване на Sketch или инсталиране на Bootloader
Качване на Sketch или инсталиране на Bootloader
Качване на Sketch или Инсталиране на Bootloader
Качване на Sketch или Инсталиране на Bootloader

Ако нямате USB към сериен конвертор-можете да използвате друг Arduino (в моя случай Arduino UNO), за да качите скица или буутлоудър на самостоятелно изработената платка.

Микроконтролерите ATmega238P-PU изискват буутлоудър за качване и изпълнение на скици от IDE на Arduino; когато се подаде захранване към микроконтролера, буутлоудърът определя дали се качва нова скица и след това зарежда скицата в паметта на микроконтролера. Ако имате ATmega328P-PU без буутлоудър, тогава можете да качите буутлоудъра, използвайки SPI комуникация между две платки.

Ето как качвате буутлоудър на интегралната карта ATmega.

Първо нека започнем с конфигурирането на нашия Arduino UNO като ISP, това е направено, защото искате Arduino UNO да качи скицата в ICme ATmega, а не в себе си.

Стъпка 1: Конфигуриране на нашия Arduino UNO като ISP

Не свързвайте микросхемата ATmega, докато работи качването по -долу.

  • Включете arduino към компютър
  • Отворете arduino IDE
  • Изберете подходящата дъска (Инструменти> Борд> Arduino UNO) и COM порт (Инструменти> Порт> COM?)
  • Отворете> Примери> ArduinoISP
  • Качване на скица

След това можете да свържете своя собствена платка към Arduino UNO, като следвате схемата, както е показано на схемата. На този етап няма нужда да захранвате собствената си платка, тъй като Arduino ще осигури необходимата мощност.

Стъпка 2: Качване на Sketch или Bootloader

С всичко свързано отворете IDE от току -що създадената папка (копието).

  • Изберете Arduino328 от Инструменти> Борд
  • Изберете Arduino като ISP от Tools> Programmer
  • Изберете Burn Bootloader

След успешно изгаряне ще получите "Горещо зареждане на буутлоудъра".

Буутлоудърът сега се зарежда на микроконтролера, който е готов да получи скица след смяна на COM порта в менюто Tools ➤ Port.

Препоръчано: