Реклама ⓘ
Главная » Arduino
Призовой фонд
на апрель 2024 г.
1. 100 руб.
От пользователей

Реклама ⓘ

Самодельная Ардуино-совместимая отладочная плата на бюджетном МК ATmega88/168/328

Предисловие

При разборке большинства отслуживших свой срок работы, промышленных устройств на микроконтроллерах AVR, чаще всего встречаются микроконтроллеры ATmega88. Рабочие чипы не стоит выбрасывать, так как они уже припаяны к плате и большинство их выводов удобно выведены к тем или иным радиоэлементам. Продвинутые программисты могут писать для них программы на языке "C" или даже на ассемблере, но для начинающих легче всего освоится в среде Arduino IDE. К тому же Arduino уже набрала популярность и в сети есть много примеров и готовых программ для различных задач. Хотя микроконтроллер mega88 и не поддерживается в данной среде, но произведя некоторые изменения в конфигурационном файле, можно легко добавить тип платы с этим или другим микроконтроллером и писать программы с последующей компиляцией и загрузкой.

На сайте имеется прекрасная статья "Отладочная плата для устройств на МК Atmega8/48/88/168/328", но в отличии от настоящей публикации там использован микроконтроллер в DIP-корпусе и не описана возможность работы с платой через среду разработки Ардуино. На данном же примере будет подробно, с иллюстрациями, показано что нужно добавить и как это сделать. Автором так же была разработана печатная плата для установки на неё отдельно имеющегося микроконтроллера ATmega88/168/328 в корпусе поверхностного монтажа любого из трёх типов.

Использование платы с микроконтроллером Atmega88

В предыдущей статье была произведена разборка электропривода Danfoss AME 120 NL, и после разборки осталась печатная плата с AVR микроконтроллером ATmega88 и некоторыми радиоэлементами:

плата с AVR микроконтроллером MEGA88

На рисунке ниже представлена принципиальная схема того, что осталось уцелевшим на данной плате после разборки:

На изображении печатной платы, возле контактных площадок, цифрами были отмечены соединённые с этими площадками соответствующие порты ввода-вывода микроконтроллера:

порты ввода-вывода микроконтроллера

Но при написании программы в среде Arduino IDE обращение происходит не прямо к портам ввода-вывода, а к определённым названиям и нумерации соответственно отладочной плате Arduino. В данном конкретном примере на плате от разобранного устройства нет преобразователя USB-TTL и имеется только минимально необходимая обвязка микроконтроллера. Поэтому по количеству выводов и по обвязке она больше похожа на Arduino mini и Arduino Pro mini. Но в Arduino Pro mini установлен микроконтроллер ATmega168 или ATmega328 и работают они с кварцевым резонатором на частотах 16 или 8 МГц, а у нас имеется ATmega88 без кварцевого резонатора. Далее будет показано как добавить поддержку данной платы с микроконтроллером ATmega88 в Arduino IDE и как для этой платы компилировать и загружать программу, написанную в среде разработки Ардуино.

Выводы Arduino Pro mini

Так как мы будем работать с платой на микроконтроллере mega88 по аналогии с Arduino Pro mini, то в первую очередь рассмотрим с каким выводом микроконтроллера соединён каждый именованный вывод платы. Итак, отладочная плата Arduino Pro mini имеет 14 цифровых выводов, которые могут быть использованы как входы или как выходы, и 8 аналоговых выводов с разрешением 10 бит каждый.

Была составлена, и на рисунке ниже показана схема соответствия выводов платы Arduino Pro mini выводам микроконтроллера в 32-х выводном SMD-корпусе для поверхностного монтажа:

Соответствие выводов платы Arduino Pro mini выводам микроконтроллера

Теперь уже на изображении печатной платы, возле контактных площадок, цифрами были отмечены соответствующие выводы Ардуино:

Совместимые с выводами платы Ардуино обозначения

Создание собственной отладочной платы

Далее была составлена принципиальная схема авторской отладочной платы с минимально необходимой обвязкой микроконтроллера, которую сможет собрать каждый желающий. Не смотря на свою простоту, плата имеет весь присущий Ардуино функционал, кроме порта USB, которого нет и на оригинальной плате Pro Mini, который и не требовался для дальнейших проектов, так как плату планировалось использовать в устройствах с низким энергопотреблением. Основные технические характеристики и параметры самодельной отладочной платы, совместимой с Arduino, приведены в таблице:

 Параметр  Значение
 Рабочее напряжение  5 (3,3) Вольт 
 Напряжение питания  8 - 16 Вольт
 Установленный микроконтроллер  ATmega88 
 Количество цифровых выводов  14
 Число аналоговых входов  8
 Допустимый ток одного вывода  10 мА
 Тактовая частота  8 (1) МГц

В проекте были оставлены оба светодиода для случая необходимости проверки как цифрового, так и аналогового вывода. Подключены светодиоды через положительный полюс +5V для разгрузки выводов питания микроконтроллера:

Принципиальная схема отладочной платы ANDROino M88-V1

На схеме предусмотрена перемычка, разрывающая цепь интегрального стабилизатора напряжения вместе со светодиодом индикации питания, необходимая для снижения потребляемой мощности при автономном питании от батарей. Так же один из аналоговых входов, через делитель напряжения соединён с входным не стабилизированным источником питания, для определения наличия и измерения значения уровня питающего напряжения.

Так как название "Arduino" является зарегистрированным товарным знаком, то его использование в собственных проектах сопряжено с определёнными трудностями и ограничениями. Для названия описываемой в статье платы было использовано имя "ANDROino M88-V1" в честь её автора Andro и установленного на ней микроконтроллера MEGA88, а V1 обозначает что это первая версия разработки, и при дальнейших изменениях можно использовать возрастающие порядковые номера и не будет путаницы и конфликта между различными версиями одного и того же устройства.

Печатная плата

Для самостоятельной сборки, в программе "Sprint-Layout 6" была разработана печатная плата. Плата рассчитана на установку большинства радиокомпонентов поверхностного монтажа с возможностью использования микроконтроллера ATmega88/168/328 в корпусах типа TQFP, QFN или MLF. Изначально чертёж платы задуман для реализации с двухсторонним фольгированием, но можно использовать так же односторонний материал, а там где должны быть проводящие дорожки с обратной стороны платы, предусмотрена установка проволочных перемычек, и эти участки соответствующим образом отмечены на чертеже. Это сделано для возможности изготовления устройства начинающими радиолюбителями, у которых пока нет навыков или средств для изготовления двухсторонних печатных плат.

Рисунок верхней стороны печатной платы:

Рисунок верхней стороны печатной платы ANDROino M88-V1

На двухстороннем варианте имеются сквозные отверстия, в которые нужно вставить отрезки провода и припаять их с обеих сторон для соединения токопроводящих участков фольги друг с другом.

Рисунок нижней стороны двухсторонней печатной платы:

Рисунок нижней стороны двухсторонней печатной платы ANDROino M88-V1

В случае с односторонним фольгированием разъёмы и перемычку JP1 придётся установить снизу, припаяв их к токопроводящим фольгированным участкам с верхней стороны платы. Так же нужно будет установить ранее упомянутые проволочные перемычки, ненужные при травлении двух слоёв фольги, но необходимые для соединения определённых участков при применении фольгирования только с верхней стороны. Перемычки можно расположить как с нижней стороны платы, так и со стороны расположения радиокомпонентов.

Рисунок нижней стороны односторонней печатной платы:

Рисунок нижней стороны односторонней печатной платы ANDROino M88-V1

Также нужно обратить внимание на то, что при расположении ICSP - разъёма с нижней стороны платы, зеркально будет отражена последовательность его контактов и нужно будет принять меры во время подключения к нему программатора, изготовив переходник или соединив каждый его вывод отдельным проводником.

Все необходимые файлы для травления печатной платы находятся в конце статьи.

 

Добавление платы в среду разработки Ардуино

После изготовления собственной отладочной платы с микроконтроллером ATmega88, для написания скетчей и работы с ней в среде разработки Arduino IDE, нужно добавить её поддержку и корректно определить некоторые параметры, такие как тип установленного микроконтроллера, его конфигурационные FUSE - биты, частота тактирования процессора, объём доступной памяти и выводы с подключенными светодиодами.

Нужно будет произвести изменения в одном из имеющихся из конфигурационных файлов и добавить несколько собственных. Все изменения в конфигурационных файлах нужно производить текстовым редактором, корректно отображающим переход строки, таким как например Notepad++. Во время добавления отладочной платы собственного производства была установлена и использовалась среда разработки Arduino IDE версии 1.8.5. В других версиях могут быть отличия.

Среду разработки можно бесплатно скачать с официального сайта проекта Ардуино по ссылке https://www.arduino.cc/en/main/software где имеются версии для Windows, Mac OS X и Linux. Для Windows можно выбрать установщик, аппликацию или ZIP-файл для портативной работы.

Все пути к указанным файлам и папкам будут идти считая от корневого каталога расположения среды разработки, где бы он не находился. В данном случае каталог называется "arduino-1.8.5" и все необходимые директории установлены внутри него. Для начала нужно отредактировать текстовый файл “boards.txt” с описанием отладочных плат, расположенный по пути "\hardware\arduino\avr\"

\hardware\arduino\avr\

 

Описав характеристики собственной платы, в него нужно добавить следующую запись:

##############################################################

andro.name=Andro Board

andro.upload.tool=avrdude
andro.upload.protocol=arduino
andro.upload.maximum_size=8192
andro.upload.maximum_data_size=1024

andro.bootloader.tool=avrdude
andro.bootloader.unlock_bits=0x3F
andro.bootloader.lock_bits=0x0F
andro.bootloader.extended_fuses=0xFD
andro.bootloader.file=andro/null.hex

andro.build.board=ANDRO
andro.build.core=arduino
andro.build.variant=andro_mega88

## Andro Board on the ATmega88 (5V, 8 MHz) w/ ATmega88
## -------------------------------------------------
andro.menu.cpu.8MHzatmega88=ATmega88 (5V, 8 MHz)

andro.menu.cpu.8MHzatmega88.upload.speed=38400

andro.menu.cpu.8MHzatmega88.bootloader.low_fuses=0xE2
andro.menu.cpu.8MHzatmega88.bootloader.high_fuses=0xD5

andro.menu.cpu.8MHzatmega88.build.mcu=atmega88
andro.menu.cpu.8MHzatmega88.build.f_cpu=8000000L

## Andro Board on the ATmega88 (3.3V, 1 MHz) w/ ATmega88
## -------------------------------------------------
andro.menu.cpu.1MHzatmega88=ATmega88 (3.3V, 1 MHz)

andro.menu.cpu.1MHzatmega88.upload.speed=9600

andro.menu.cpu.1MHzatmega88.bootloader.low_fuses=0x62
andro.menu.cpu.1MHzatmega88.bootloader.high_fuses=0xD6

andro.menu.cpu.1MHzatmega88.build.mcu=atmega88
andro.menu.cpu.1MHzatmega88.build.f_cpu=1000000L

 

При добавлении в самое начало эта запись должна выглядеть следующим образом:

\hardware\arduino\avr\boards.txt

Далее надо определить номера выводов платы, к которым подключены внутренние светодиоды, и дать им логичные и понятные названия. Для этого в каталоге "\hardware\arduino\avr\variants\" нужно создать папку "andro_mega88", а в ней текстовый файл "pins_arduino.h":

\hardware\arduino\avr\variants\andro_mega88\

В созданном файле нужно сделать запись следующего типа:

#include "../standard/pins_arduino.h"
#undef NUM_ANALOG_INPUTS
#define NUM_ANALOG_INPUTS           8
#undef LED_BUILTIN
#define LED_BUILTIN                 7
#define RED_LED_BUILTIN             7
#define GREEN_LED_BUILTIN           A1

Для простоты можно скопировать подобный файл из другого каталога описания выводов и произвести в нём необходимые изменения:

\hardware\arduino\avr\variants\andro_mega88\pins_arduino.h

Обычно для загрузки программ в микроконтроллеры на отладочных платах Ардуино, используется записанная в сам микроконтроллер небольшая программа-загрузчик - "bootloader" - позволяющая наладить связь между микроконтроллером и средой разработки через последовательный порт передачи данных UART.

Но так как объём программной памяти микроконтроллера АТмега88 небольшой, то в рассматриваемом случае bootloader не применяется, и вся доступная память выделяется и используется под исполняемый код написанных программ. В таком случае на плате предусмотрен шести-контактный разъём внутрисхемного программирования для подключения ISP-программатора.

Но для избежания показа ошибок во время первичного конфигурирования и настройки микроконтроллера нужно указать хотя бы пустой файл бутлоадера, и для этого была создана папка “andro” в директории "hardware\arduino\avr\bootloaders\", а в ней текстовый файл "null.hex":

\hardware\arduino\avr\bootloaders\andro\

В самом файле была сделана запись с минимально возможным корректным набором символов:

:020000000000FE
:00000001FF

Произведённая запись должна выглядеть следующим образом:

\hardware\arduino\avr\bootloaders\andro\null.hex

После правильного выполнения всех указанных действий можно запускать среду разработки Arduino IDE, где во вкладке “Tools” > “Board:” появится добавленная ранее плата:

“Tools” > “Board:”

А на той же вкладке “Tools” в пункте “Processor:” будут варианты исполнения платы, в зависимости от тактовой частоты и рабочего напряжения:

“Tools” > “Processor:”

Конфигурирование микроконтроллера

После выбора платы, перед первым её использованием, нужно соответствующим образом произвести настройку установленного на ней микроконтроллера. Для этого, с подключённым к плате программатором, на вкладке “Tools” всего лишь нужно выбрать пункт "Burn Bootloader":

“Tools” > “Burn Bootloader“

При этом в программную память микроконтроллера начнётся запись созданного ранее файла "null.hex" и будет произведена настройка необходимых FUSE-бит:

Запись бутлоадера

Запись бутлоадера

Запустив программу "UniProf" можно прочитать содержимое Flash-памяти и значения конфигурационных ячеек микроконтроллера:

Чтение памяти микроконтроллера

По отображаемым данным можно видеть почти пустую область программной памяти и, задающие необходимые для правильной работы микроконтроллера, параметры конфигурационных бит:

Отображение содержимого микроконтроллера

Далее всегда во время тестирования, для проверки записанных данных и возможности обнаружения ошибки, будет использоваться программа UniProf. Если Вы не знаете как с ней работать, то советую прочитать интересную и познавательную статью "Arduino ProMini и UniProf", ссылка на которую находится в конце данной статьи.

 

Программная проверка

Теперь же для проверки работы программного кода и правильности функционирования отладочной платы напишем небольшую тестовую программу, с определённым интервалом попеременно переключающую установленные на плате светодиоды:

// Назначение выводов микроконтроллера для подключения светодиодов
const byte RedLed = 7;        // Вывод для красного светодиода
const byte GreenLed = A1;     // Вывод для зелёного светодиода
const int delay_time = 2000;  // ожидание 2 секунды

void setup() {
  pinMode(RedLed, OUTPUT);    // Назначение вывода микроконтроллера как выход
  pinMode(GreenLed, OUTPUT);  // Назначение вывода микроконтроллера как выход
}

// Переключение сигналов на выводах
void loop() {
  digitalWrite(RedLed, !HIGH);    // зажигание красного светодиода
  digitalWrite(GreenLed, !LOW);   // гашение зелёного светодиода
  delay(delay_time);              // ожидание 2 секунды
  digitalWrite(RedLed, !LOW);     // гашение красного светодиода
  digitalWrite(GreenLed, !HIGH);  // зажигание зелёного светодиода
  delay(delay_time);              // ожидание 2 секунды
}

 

На вкладке "Sketch" выбрав пункт "Export compiled Binary" предварительно сохраняем скомпилированный двоичный файл исполняемого кода написанной программы. Для выполнения этого действия так же можно использовать сочетание горячих клавиш "Ctrl+Alt+S":

Export compiled Binary

Export compiled Binary  

В нижней зоне рабочего окна выдаётся информация о размере исполняемого кода, и необходимом для его работы объёме оперативной памяти микроконтроллера, а сам файл сохранился в формате "HEX" в той же папке, где находится скетч:

Export compiled Binary  

 

В микроконтроллер скомпилированный код программы загружается обычным способом с помощью программатора, выбрав на той же вкладке "Sketch" пункт "Upload Using Programmer", или используя сочетание горячих клавиш "Ctrl+Shift+U":

Upload Using Programmer

 

Начнётся загрузка исполняемого кода в программную область памяти микроконтроллера и будут установлены определённые LOCK-биты:

Uploading

Done uploading  

 

После успешной загрузки снова запустим программу UniProf и проверим значения конфигурационных ячеек микроконтроллера:

Чтение конфигурационных ячеек

 

Так же откроем ранее скомпилированный HEX-файл прошивки и сравним его с содержимым программной памяти микроконтроллера:

Сравнение двоичного файла и программной памяти

Сравнение двоичного файла и программной памяти  

 

После сравнения можно убедиться, что содержимое двоичного файла и программной области идентично и исполняемый код программы в микроконтроллер записан без ошибок:

Сравнение двоичного файла и программной памяти

 

Низковольтный вариант с пониженной частотой 

При низковольтном питании платы, или во время работы с пониженной тактовой частотой, для меньшего энергопотребления, в среде разработки нужно выбрать второй вариант пункта “Tools” > “Processor:”  

“Tools” > “Processor“

 

Далее так же, как и в прошлый раз, нужно воспользоваться пунктом “Tools” > "Burn Bootloader" и записать необходимые данные в микроконтроллер: 

“Tools” > “Burn Bootloader“

“Tools” > “Burn Bootloader“

 

Опять же после проверки конфигурационных ячеек можно убедится, что они настроены в соответствии с необходимыми условиями работы: 

Чтение конфигурационных ячеек

 

Снова загрузим скомпилированную по новым параметрам программу в память микроконтроллера: 

Загрузка программы

Загрузка программы

 

И произведём экспортирование нового двоичного файла для работы на частоте 1 МГц с пониженным напряжением питания: 

Экспортирование двоичного файла

 

Открыв этот файл в программе UniProf и сравнив его с содержимым чипа, убеждаемся что FLASH-память прошита без ошибок и всё работает как надо: 

Проверка правильности настройки микроконтроллера

Проверка правильности настройки микроконтроллера

Проверка правильности настройки микроконтроллера

 

Отсоединив вывод "Reset" программатора и запустив микроконтроллер в рабочем режиме, можно визуально наблюдать работу написанной программы попеременным миганием установленных на плате светодиодов с заданным интервалом времени: 

Запуск микроконтроллера в рабочем режиме

Запуск микроконтроллера в рабочем режиме

Демонстрация работы программы

Чтобы убедится в правильной настройке и отработке временных интервалов, время задержки между переключениями светодиодов было изменено в несколько раз, и программа с новыми параметрами снова была загружена в микроконтроллер: 

Изменение времени переключения

Изменение времени переключения

 

Время мигания светодиодов изменилось и частота переключения соответственно возросла: 

Демонстрация работы программы

Для загрузки программ в микроконтроллер использовался рассмотренный в ранней статье COM-ISP программатор. Там же есть описание возможности его интеграции в среду разработки Arduino IDE, но при работе с микроконтроллером АТмега88 пришлось принять меры для увеличения таймингов в целях безошибочной загрузки программного кода в память чипа. 

Текстовый файл "programmers.txt", в который были внесены изменения, находится в директории "\hardware\arduino\avr\": 

\hardware\arduino\avr\

 

Изменения коснулись последней строки, в которую была добавлена опция задержки: 

andro.name=Andro COM-ISP
andro.communication=serial
andro.protocol=andro
andro.program.protocol=andro
andro.program.tool=avrdude
andro.program.extra_params=-P{serial.port} -i10

В редактируемом файле вся запись выглядит следующим образом: 

programmers.txt

Теперь, когда всё отлажено и правильно работает, можно приступать к написанию более сложных программ на Ардуино. Единственное, что надо учесть, это то, что на используемой плате микроконтроллер тактируется от внутреннего генератора со сравнительно низкой частотой. С одной стороны это даёт более низкое энергопотребление, а с другой нет возможности использовать плату там, где важны короткие и точные временные промежутки. 

Эпилог

В добавок была написана программа, мигающая установленными на плате светодиодами с различной частотой, независимо друг от друга: 

// Настройка выводов и задержек для светодиодов:
#define greenLedPin GREEN_LED_BUILTIN   // вывод для зелёного светодиода
#define greenLedDelay 200               // полупериод миигания зелёного светодиода
#define redLedPin RED_LED_BUILTIN       // вывод для красного светодиода
#define redLedDelay 1200                // полупериод миигания красного светодиода

// Структура параметров для светодиода (здесь ничего менять нельзя!)
struct LedSet {
  byte Pin;                     // определение вывода светодиода
  unsigned long OnTime;         // продолжительность свечения/погасания светодиода
  bool PwrState;                // состояние светодиода
  unsigned long LastTurnTime;   // время последнего переключения
  };

// Настройки очередного светодиода (после "LedSet" задаётся имя структуры)
LedSet greenLed = {
  greenLedPin,	            // номер вывода конкретного светодиода
  greenLedDelay				// нужная продолжительность свечения/погасания
  };
  
// Настройки очередного светодиода (после "LedSet" задаётся имя структуры)
LedSet redLed = {
  redLedPin,		         // номер вывода конкретного светодиода
  redLedDelay				 // нужная продолжительность свечения/погасания
  };

// Функция мигания светодиодом с определённым периодом
// В функцию передаётся структура заданных параметров светодиода:
void LedBlink(LedSet &Led) {
  // если после времени последнего переключения прошло
  // время большее продолжительности полупериода
  if ((millis() - Led.LastTurnTime) > Led.OnTime) {
    Led.PwrState = !Led.PwrState;   // изменить состояние светодиода
    Led.LastTurnTime = millis();    // запомнить время переключения
    // записать состояние светодиода в порт:
    digitalWrite (Led.Pin, Led.PwrState);
    }
}

// Процедура настройки Arduino:
void setup() {
  // настройка вывода светодиода как выход:
  pinMode(greenLed.Pin, OUTPUT);
  // настройка вывода светодиода как выход:
  pinMode(redLed.Pin, OUTPUT);
}

// Основной цикл Arduino:
void loop() {
  // Вызов функции мигания зелёным светодиодом:
  LedBlink(greenLed);
  // Вызов функции мигания красным светодиодом:
  LedBlink(redLed);
}

Демонстрация работы программы

Программа работает на прерываниях и не задерживает на долго основной цикл. а число светодиодов может быть сколь угодно большим в разумных пределах. Для демонстрации её возможностей был создан вариант с задействованием всех возможных выводов Ардуино. 

Известно, что аналоговые выводы можно использовать как цифровые, и что у 32-х выводного микроконтроллера поверхностного монтажа на два аналоговых входа больше, чем у чипа в DIP-корпусе, и общее число аналоговых выводов составляет 8. Но ОЧЕНь ВАЖНАЯ ДЕТАЛь! Аналоговые входы A6 и A7 не являются портом ввода-вывода, а лишь составляют часть мультиплексора для аналоговых измерений. Поэтому эти два вывода невозможно использовать как цифровые, и общее число задействованных выводов составило (D0 ... D13) + (A0 ... A5) = 14D + 6A = 20: 

Программа управления всеми выводами платы

 

Проект программы вместе с файлом симуляции для Протеуса можете скачать по ссылке. Каждый светодиод мигает со своей частотой, самая высокая частота мигания у светодиода, подключённого к выводу "0", и она уменьшается с возрастанием порядкового номера вывода платы.

Фрагмент процесса симуляции: 

Симуляция работы программы в Протэусе

 

Заключение

Довольно простыми манипуляциями получилось создать собственную отладочную плату и удалось интегрировать её в среду разработки Arduino IDE без применения сторонних библиотек и установки дополнительных модулей или какого--либо ядра. 

Описанным способом можно изготовить и добавить плату на основе другого поддерживаемого AVR-микроконтроллера. В данном случае из за небольшого объёма программной памяти было решено отказаться от бутлоадера, но при необходимости на плату можно установить кварцевый резонатор и записать в чип программу-загрузчик. 

Так же плату всегда можно использовать без среды Ардуино и писать для неё программы например в "Atmel Studio" или загружать в чип уже скомпилированные прошивки любыми удобными средствами, такими как к примеру "UniProf". 

В качестве дополнения в архиве "arduino-1_8_5.rar" собраны все необходимые конфигурационные файлы для интеграции в среду разработки микроконтроллеров АТмега88/168/328 без использования bootloader-а. 

 

Статьи по теме

 

Список радиоэлементов

Обозначение Тип Номинал Количество ПримечаниеМагазинМой блокнот
Конденсаторы
C1, C3, C5, C6, C9, C10 Конденсатор100 нФ6 Поиск в магазине ОтронВ блокнот
C2 Электролитический конденсатор100µ 35V1 Поиск в магазине ОтронВ блокнот
C4 Электролитический конденсатор100µ 16V1 Поиск в магазине ОтронВ блокнот
C7, C8 Конденсатор22 пФ2 Поиск в магазине ОтронВ блокнот
 
Резисторы
R1, R5, R6, R7 Резистор
1 кОм
4 Маркировка 01BПоиск в магазине ОтронВ блокнот
R2 Резистор
330 Ом
1 Маркировка 331Поиск в магазине ОтронВ блокнот
R3 Резистор
100 кОм
1 Маркировка 01DПоиск в магазине ОтронВ блокнот
R4 Резистор
2.7 кОм
1 Маркировка 272Поиск в магазине ОтронВ блокнот
 
Полупроводники, микросхемы
D1 Выпрямительный диод
1N4001
1 Маркировка M1Поиск в магазине ОтронВ блокнот
U1 Линейный регулятор
LM78L05A
1 Маркировка 78L05AПоиск в магазине ОтронВ блокнот
IC1 МК AVR 8-бит
ATmega88
1 Поиск в магазине ОтронВ блокнот
LED1 СветодиодКрасный1 REDПоиск в магазине ОтронВ блокнот
LED2 СветодиодЗелёный1 GREENПоиск в магазине ОтронВ блокнот
LED3 СветодиодКрасный1 POWERПоиск в магазине ОтронВ блокнот
 
Разъёмы, кнопки
XP1-1 Разъём7 Pin1 I/OПоиск в магазине ОтронВ блокнот
XP1-2 Разъём10 Pin1 I/OПоиск в магазине ОтронВ блокнот
XP1-3 Разъём10 Pin1 I/OПоиск в магазине ОтронВ блокнот
XP2 Разъём4 Pin1 PowerПоиск в магазине ОтронВ блокнот
ISP1 Разъём6 Pin1 ICSPПоиск в магазине ОтронВ блокнот
Jp1 Перемычка3 Pin1 ЭнергосбережениеПоиск в магазине ОтронВ блокнот
S1 КнопкаБез фиксации1 ResetПоиск в магазине ОтронВ блокнот
Добавить все

Скачать список элементов (PDF)

Прикрепленные файлы:

Теги:

Опубликована: 0 0
Я собрал 0 Участие в конкурсе 3
x

Оценить статью

  • Техническая грамотность
  • Актуальность материала
  • Изложение материала
  • Полезность устройства
  • Повторяемость устройства
  • Орфография
0

Средний балл статьи: 5 Проголосовало: 3 чел.

Комментарии (30) | Я собрал (0) | Подписаться

0
Публикатор #
На форуме автоматически создана тема для обсуждения статьи.
Ответить
+1
Pauk #
Хорошо бы ещё разработать шилд для этой платы, была бы полная совместимость с Ардуино.
Ответить
0

[Автор]
andro #
К сожалению со стандартными шилдами она не совместима, как не приходилось использовать.
Ответить
+2
Спектр #
Сколько лет работаю с Ардуино, ни разу не использовал ни один шилд.
Ответить
+1
Татьяна #
Прикольное название Ардуино-Андроино, с первого раза и не различишь. Вместо 88 можно сразу 328 ставить без изменений.
Ответить
0

[Автор]
andro #
Да, они взаимозаменяемы.
Ответить
0
Гера #
Можно сделать отдельный вход для батарейного питания.
Ответить
0

[Автор]
andro #
Выбор был сделан на простоту, а так да, можно.
Ответить
0
Роман #
Ардуино про мини дешевле чем самому собирать.
Ответить
0

[Автор]
andro #
Самому интересней.
Ответить
0
Владимир #
Микроконтроллеры АВР вымирают.
Ответить
0

[Автор]
andro #
Но их всё ещё можно использовать проще всех остальных.
Ответить
0
Debuger #
Второй светодиод наверное лишний.
Ответить
0

[Автор]
andro #
На используемой плате он уже имелся, поэтому было решено оставить его, а так можно не устанавливать, это ни чему не помешает.
Ответить
0
Давид #
Прикольная программа, а микроконтроллер воспримет столько задержек?
Ответить
0

[Автор]
andro #
Задержек там нет, программа работает циклично.
Ответить
0
Назир #
Нормальная разводка платы, радует что учтено одностороннее фольгирование.
Ответить
0

[Автор]
andro #
Да, пока не всем доступно двустороннее.
Ответить
0
Диана #
Существуют ещё библиотеки для добавления кастомных плат.
Ответить
0

[Автор]
andro #
Есть и библиотеки и разные специализированные программы, но у них много чего лишнего.
Ответить
0
Медиатор #
Хорошо бы ещё на плате предусмотреть место для резонатора на случай надобности.
Ответить
0

[Автор]
andro #
Хотелось, но не хватало места, можно как нибудь припаять если очень нужно.
Ответить
0
Turist #
Микроконтроллер конечно слабоват по сегодняшним меркам, но с другой стороны на нём всё ещё можно собрать и отладить множество разных проектов, не жалея и не боясь затирания флешь-памяти. Спасибо за удобную и законченную разработку.
Ответить
0

[Автор]
andro #
Плату можно смело использовать в различных экспериментах.
Ответить
0
Хиза #
Ещё бы несколько кнопок установить на порты, часто бывает нужно.
Ответить
0

[Автор]
andro #
Хорошо бы, но они занимают много места и не хотелось увеличивать размеры платы.
Ответить
0
Ваня #
мега88 и мега328 не очень различаются в цене.
Ответить
0

[Автор]
andro #
Это если покупать, а если завалялись то можно использовать любую из этих.
Ответить
0
AmperVolt #
Досконально всё описано и разъяснено.
Ответить
0

[Автор]
andro #
Старались, много времени ушло.
Ответить
Добавить комментарий
Имя:
E-mail:
не публикуется
Текст:
Защита от спама:
В чем измеряется электрическая мощность?
Файлы:
 
Для выбора нескольких файлов использйте CTRL

Модуль измерения тока на ACS712 (30А)
Модуль измерения тока на ACS712 (30А)
USB осциллограф DSO-2090 Мультиметр DT9205A
вверх