Электрификация

Справочник домашнего мастера

Attiny85 описание на русском

Плата Arduino Attiny85 из серия Attiny — младшей линейки микроконтроллеров Atmel, имеющая урезанные по сравнению с ATmega чипы.

Официальное семейство плат ардуино было очень расширено сторонними производителями и энтузиастами в программировании микроконтроллеров. Чтобы понять, почему это произошло, нужно разобраться в том, что такое Arduino.

Платформа представляет собой плату с микроконтроллером и необходимой обвязкой, но сама суть заключается в наборе библиотек и языка Wiring, который позволяет создавать скетчи в простом и понятном виде.

Содержание

Характеристики ATtiny

В таблице мы приводим основные характеристики плат ATtiny:

ATtiny 44 ATtiny 84 ATtiny 45 ATtiny 85 Примечание
Макс. частота, МГц 8 8 8 8 От внутреннего генератора
RAM, байт 256 512 256 512
Flash, Кб 4 8 4 8
I/O выводов 11 11 5 5 RESET не считаем
Цена, $ 1.66 1.8 1.49 1.69 Розница DigiKey, просто для сравнения

Распиновка Arduino Attiny85

Распиновку arduino attiny85 можно увидеть ниже, нажмите для увеличения схемы:

Еще одна схема, которая вам может пригодиться:

Плата Digispark с Arduino Attiny85

Совместимые платы могут как превосходить по характеристикам и размерам стандартные ардуино, так и быть меньше их, как было сказано выше. Отличным примером такой платы будет Digispark.

Характеристики платы довольно скромные, она поставляется с микроконтроллером, подготовленным для работы, arduino attiny85 – он представлен в восьминогом корпусе SOIC или более крупных размеров – DIP8. Характеристики весьма непритязательные:

  • постоянной памяти – 8 Кб, для программного кода и 512 для исполняемого;
  • так как доступно всего 8 выводов (ножек), вычтем две плюс и минус питания – получится 6 цифровых пинов, из которых 4 – это ADC и 2 PWM (ШИМ);
  • доступно только аппаратное прерывание;
  • контроллер работает на частотах от 1 до 20 МГц;
  • в зависимости от конкретного чипа напряжения питания различны от 1.8 до 5.5 Вольт;
  • в режиме энергосбережения потребляет мизерный ток в 0.1 мкА, при самом низком напряжении питания в 1.8 Вольт.

У оригинального digispark интересная конструкция, для его прошивки не нужно использовать micro USB кабель или USB-UART. Плата разведена таким образом, что, просто вставив ее в USB порт вашего компьютера, вы получите возможность программировать микроконтроллер.

Плата не только маленькая, но и очень простая – её сборка не займет много времени, и совершенно не составит труда для начинающих. Как собрать клон digispark своими руками мы расскажем немного позже.

Что нужно знать дополнительно

Определение: скетч – это программа, которая зашивается в память ардуины.

Сам по себе язык wiring – это не язык программирования в привычном виде, это надстройка над языком C. Удобоваримость и простота кода достигнуты за счет написания множества библиотек для работы с периферией и задержками. Последние задаются в количестве миллисекунд или микросекунд – ранее это было не столь явно, а в ассемблере и вовсе приходилось считать количество тактов, за которые выполняется один машинный цикл микроконтроллера, а потом производить бесполезные вычисления для формирования простоя системы на заданное время.

Чтобы упростить этот процесс и был придуман простой для понимания язык и Arduino IDE – среда разработки. Однако многие любители не останавливаются на достигнутом и переходят на уровень языка C.

Дело в том, что стандартные команды обращения к портам, чтения и записи выполняются довольно долго средствами ардуино. Поэтому вы можете обращаться к ним напрямую, и ускорить работу платы в десятки раз, где это необходимо, да и ШИМ на ардуино работает на низких частотах, что не есть хорошим признаком, а на Си, повторюсь, всё в разы быстрее.

О возможностях среды разработки

Arduino IDE имеет встроенный набор плат и микроконтроллеров, с которыми можно работать; в её основе лежит классический программатор AVR, кстати, благодаря ему и можно обращаться к устройству командами на Си.

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

  • сервопривод;
  • транзистор;
  • светодиод;
  • соленоид и т. д.

Поэтому сторонние разработчики создали целый ряд совместимых плат. Работать с ними можно через Arduino IDE, используя простые команды встроенного языка. Для этого были переписаны загрузчики и библиотеки команд.

Как сделать очень маленькую Ардуино своими руками?

Саму плату Arduino версии UNO, например, можно использовать, как универсальный программатор. Вы можете легко запрограммировать с помощью arduino attiny2313 и другие МК семейства AVR и МК иных производителей. Сама серия Attiny, как вы можете увидеть из названия, – младшая линейка микроконтроллеров Atmel, имеющая урезанные по сравнению с ATmega чипы.

Стоит отметить! Многие микроконтроллеры младшей, tiny, серии имеют аналогичную цоколевку, как, например, Tiny13/25/45/85 совместимы.

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

Arudino ISP – проект, который превратит вашу платформу в программатор. Для этого нужно в плату UNO загрузить скетч и использовать её для прошивки.

Сам термин ISP – расшифровывается, как «внутрисистемное программирование», то есть прошивка чипа уже в непосредственно собранной схеме – такая методика применяется не только в любительских конструкциях, но и для корректирования программного обеспечения готовых блоков промышленного производства и бытовой техники.

Прошивка, которая превратит вашу ардуину в ISP программатор, поставляется в наборе примеров Arduino IDE. Подключите вашу плату к компьютеру и выберите File-examples-Arduino ISP. После чего залейте скетч в Arduino.

На картинке указаны назначения пинов ардуино и их расположение на контроллерах в DIP корпусах, для прошивки соедините одноименные выводы на микроконтроллере и ардуине.

При желании можно повторить опыт предшественников и сделать такой шилд для UNO.

Вот печатная плата

Пояснения будут излишними – проявите фантазию и воплотите это на текстолите.

Чтобы прошить attiny с Arduino IDE нужно предварительно добавить библиотеки для их поддержки, в стандартном варианте поддерживаются только atmega. Добавляем в директорию «C:\Users\*имя пользователя*\Documents\Arduino\» папку hardware, в неё – папку tiny из архива, который можно найти здесь (ссылка на открытый ресурс https://code.google.com/archive/p/arduino-tiny/).

После этого в папке tiny находим файл Prospective Boards.txt и удаляем из его название первое слово «Prospective».

На картинке изображены настройки и список плат. Не забудьте выбрать программатор «Arduino ISP».

Программатор готов.

При прошивке attiny код будет легче, чем в UNO, некоторые функции урезаны, вам доступны:

Что мы получаем?

Теперь вы получаете аналог digispark, но размеры его сократились до размеров одного чипа; припаивайте периферию, и ваше устройство готово! Вы можете сделать дешевую arduino attiny13 с объемом памяти в 1024 байта, для простейших мигалок и датчиков.

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

ATtiny85

8-разрядный микроконтроллер с внутрисистемно-программируемой Flash памятью размером 8 кбайт

Блок-схема


Увеличить

Группа компонентов

AVR

Основные параметры

Общее описание

ATtiny25/45/85 — экономичный 8-разр. КМОП микроконтроллеры, выполненные по усовершенствованной AVR RISC-архитектуре. За счет выполнения большинства инструкций за один машинный цикл микроконтроллеры ATtiny25/45/85 достигают производительности 1млн. оп. в сек. при тактировании частотой 1МГц, что позволяет разработчику оптимизировать потребляемую мощность и быстродействие.

Ядро AVR комбинирует богатый набор инструкций с 32 регистрами общего назначения, которые непосредственно подключены к арифметико-логическому устройству (АЛУ). Это позволяет осуществлять доступ при выполнении инструкции сразу к двум регистрам и выполнить ее за один машинный цикл. Результирующая архитектура обладает более высокой эффективностью, обеспечивая производительность в более чем 10 раз выше по сравнению с традиционными CISC-микроконтроллерами.

ATtiny25/45/85 содержит следующие элементы: 2/4/8 кбайт внутрисистемно-программируемой флэш-памяти, 128/256/512 байт ЭСППЗУ, 128/256/256 байт статического ОЗУ, 6 линий ввода-вывода общего назначения, 32 универсальных рабочих регистров общего назначения, один 8-разр. таймер-счетчик с режимами сравнения, один 8-разр. высокоскоростной таймер-счетчик, универсальный последовательный интерфейс, внутренние и внешние прерывания, 4-канальный 10-разр. АЦП, программируемый сторожевой таймер с внутренним генератором, а также три программно выбираемых экономичных режима. В режиме холостого хода (Idle) останавливается ЦПУ при этом продолжают работу статическое ОЗУ, таймер-счетчик, АЦП, аналоговый компаратор и система прерываний. В режиме пониженной мощности (Power-down) сберегается содержимое регистров, отключаются все встроенные функции до следующего прерывания или аппаратного сброса. В режиме снижения шумов АЦП (ADC Noise Reduction) останавливается ЦПУ и все модули ввода-вывода, кроме АЦП, за счет чего достигается снижение цифровых шумов во время преобразования АЦП.

Микроконтроллер выпускается по технологии высокоплотной энергонезависимой памяти. Встроенная флэш-память может быть перепрограммирована внутрисистемно через последовательный интерфейс SPI с помощью недорого программатора или с помощью программы в загрузочном секторе (самопрограммирование).

ATtiny25/45/85 поддерживается полным набором аппаратных и программных отладочных средств, в т.ч. Cи-компиляторы, Ассемблер, программные отладчики/симуляторы, внутрисхемные эмуляторы и оценочные наборы.

ПРОГРАММИРУЕМ ATTINY85 ИЗ ARDUINO ISP

Распиновка микроконтроллера Attiny85

Начнем с того, а есть ли у вас ардуино и Attiny85? Нет? Идем покупать, и снова за статью. Для тех у кого есть Arduino — устанавливаем среду программирования Arduino IDE. Кратенько напомним как это сделать.

Запускаем установку от имени «Администратора», трудностей с установкой как правило не возникает, только если у вас система супер экзотическая, далее соглашаемся доверять программному обеспечению… на этом с установкой ArduinoIDE все.

Теперь для тех у кого есть Attiny85, и вы решили узнать что это такое…. Чтобы настроить Arduino IDE для работы с микроконтроллерами ATtiny, нужны следующие вещи:

Макетная плата, можно самую маленькую.
Соединительные провода.
Arduino UNO или Duemilanome.
Электолитический конденсатор 10Мкф на 25V.
Светодиод.
Резистор 200 Ом.

Платформа Arduino поддерживает микроконтроллеры фирмы Atmel ATmega, для поддержки микроконтроллеров ATtiny84 (84/44/24), ATtiny85 (85/45/25), and ATtiny2313 (4313), а также ATtiny13, необходимо добавить все эти элементы в ядро. Для этого скачиваем архив — актуальную версию можно скачать с «arduino-tiny» http://code.google.com/p/arduino-tiny/) с нужными элементами (на сегодня актуальна arduino-tiny-0100-0018.zip), и распаковываем его в…

…Заходим в директорию для Windows7 это c:UsersAlexGercen*DocumentsArduino и создаем здесь папку «hardware», заходим в нее, создаем папку «tiny», распаковываем архив в эту папку. После распаковки архива заходим в c:Users AlexGercen*DocumentsArduinohardwaretiny, и в этой директории переименовываем файл Prospective Boards.txt в boards.txt.

Для микроконтроллеров ATtiny13, тоже понадобится другое ядро, но это другая история…

* имя пользователя Windows — у меня AlexGercen, у вас свое.

Теперь все готово для запуска среды программирования arduinoide, запускаем ее с рабочего стола. В меню выбираем Файл, Настройки, Editor Language — выбираем русский язык, и за одно смотрим путь «Расположения папки со скетчами» (это к тому, туда ли вы распаковали ядро для Attiny).

Меню программы Arduino IDE — настройки языка

Далее переходим в меню Сервис, Программатор, Arduino us ISP

Arduino как программатор ISP (Arduino us ISP)

Подключаем плату Arduino через USB шнур и в меню ArduinoIDE жмем в верхнем меню на кружок со стрелкой — Загрузить. После этого наша плата готова работать как программатор.

Теперь выбираем устройство — Сервис, Плата, «ATtiny85 @ 8 MHz (internal oscillator; BOD disabled)» поскольку кварц нам не нужен.

Большой обзор Digispark Attiny85

Сигнализатор открытой двери

Одним из самых насущных примеров применения устройства на базе ATtiny85 является сигнализатор дверного замка. Любой из жителей городской квартиры сталкивался с проблемой не закрытой входной двери.

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

Чтобы этого не делать раз за разом, достаточно собрать небольшое устройство на базе ATtiny85. Для этого кроме микроконтроллера понадобится микропереключатель, пьезокерамическая пищалка и батарейка.

Для работы устройства необходим будет простой код, который будет включать звук через 3-5 минут после начала работы микроконтроллера. Для включения контроллера необходим микропереключатель, который будет взаимодействовать с ригелем дверного замка. Если ригель не давит на включатель, то устройство срабатывает через заданный тайм аут. Звук предупредит, что замок входной двери не закрыт.

При включении устройства (при открытии замка) раздается короткий писк, предупреждающий о том, что сигнализатор работает, а его батарейка все еще генерирует энергию.

Сигнализатор открытой двери имеет компактные габариты, легко помещается в дверной коробке.

Автоматическая подсветка гардероба

В гардеробе постоянно не хватает света, поэтому автоматически включающийся осветительный прибор не помешает никому. Лучше всего, если он будет самостоятельно оценивать освещенность и включаться без вмешательства хозяина дома.

Кроме микроконтроллера ATtiny85 для создания подобного устройства понадобиться корпус от светильника, датчик света, батарейный отсек, передатчик на 433 МГц и датчик движения.

Датчик света можно взять от сломанного фонаря на солнечной батарее, датчик движения – надежный и простой HC-SR 501. Сборка все это в единое целое не займет много времени, а код и отладочная плата прекрасно завершат работу.

Светильник с микроконтроллером размещается на одной из полок гардероба, он занимает мало места, но невероятно функционален. ATtiny85 начинает работу после сигнала от датчика движения. Включившись, он оценивает уровень освещенности гардероба и при недостатке света включает светильник.

Для этого можно использовать в конструкции выключатели Livolo, принимающие сигнал по радио. При отсутствии движения ATtiny85 выключает светильник, тайм аут можно настроить на любое время, оптимальным вариантом является 1 минута.

Это позволяет экономить энергию, которая в спящем режиме потребляется не менее 60 мкА. В процессе работы устройство потребляет 8-9 мА.

Датчик контроля протечек

Конечно, подобных систем немало в свободном доступе, но большинство из них срабатывает уже при затоплении. В ряде случае сигнал от такого датчика оказывается запоздалым – соседи снизу приходят быстрее.

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

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

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

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

ATtiny85 — это 8-битный AVR микроконтроллер фирмы Atmel, представитель семейства tiny. Микроконтроллеры данного семейства, как следует из его названия, являются младшими в линейке AVR: у них меньшее число линий ввода-вывода, меньший объем памяти и ограниченный набор периферийных устройств по сравнению с микроконтроллерами mega/XMEGA. Но это окупается их меньшей стоимостью и малыми размерами. Кроме того tiny микроконтроллеры имеют ту же производительность, что и старшие микроконтроллеры семейства mega. Это делает их отличным выбором для создания устройств, не требующих широкого набора периферии, где размер и цена микроконтроллера имеют значение: tinyAVR находят применение в портативных навигаторах, плеерах, сотовых телефонах, спортивных гаджетах, бытовой технике, электронных игрушках, пультах дистанционного управления, интеллектуальных датчиках и во многих других устройствах. Но вернемся к ATtiny85 и ознакомимся с характеристиками данного микроконтроллера.

Характеристики ATtiny85

  • Память программ (FLASH) — 8КБ
  • ОЗУ (SRAM) — 512 байт
  • Энергонезависимая память (EEPROM) — 512 байт
  • Тактовая частота — до 20МГц
  • USI (Universal Serial Interface) — универсальный последовательный интерфейс. Может использоваться в двухпроводном (I2C/TWI) и трехпроводном (SPI) режиме
  • 4-х канальный 10-разрядный АЦП
  • Аналоговый компаратор
  • 2 8-битных таймера-счетчика
  • Сторожевой таймер
  • 8 выводов, 6 из которых могут использоваться как линии ввода-вывода
  • Напряжение питания 2.7 .. 5.5В

Более подробная информация о микроконтроллере ATtiny85 приведена в даташите.
Данных параметров вполне достаточно для решения ряда задач. И вы можете найти множество интересных проектов на базе ATtiny85, подтверждающих это (загляните, например, в мою публикацию Игральный кубик на ATtiny85). Также микроконтроллер поддерживает три режима энергосбережения для создания энергоэффективных устройств. Одним словом данный микроконтроллер заслуживает внимания, поэтому сегодня я расскажу о том, как программировать ATtiny85 в привычной нам среде разработки Ардуино.

Программирование ATtiny85 в IDE Arduino

Итак, программировать ATtiny85 будем в IDE Arduino, причем ее версия должна быть не ниже 1.6.4, а для прошивки нам потребуется программатор. В качестве программатора я буду использовать Ардуино Уно. Эта тема подробно описана в статье Arduino as ISP, поэтому сегодня не станем заострять на ней внимание. Можно использовать и другие программаторы, например, рассмотренный недавно USBasp. В этом случае пропустите следующий пункт и переходите к настройке IDE.

Подготовка программатора Arduino as ISP

Запускаем IDE Arduino, открываем скетч ArduinoISP (меню Файл > Примеры > ArduinoISP), подключаем Ардуино к компьютеру и загружаем в нее скетч. На этом плату Ардуино пока можно отложить, займемся настройкой IDE.

Добавление ATtiny85 в список плат IDE Arduino

В среде разработки Ардуино отсутствуют компоненты, необходимые для работы с микроконтроллерами tiny, поэтому сейчас нужно добавить их в IDE. Для этого скопируйте в буфер обмена следующую строку:

Теперь в IDE открываем меню Файл > Настройки и в появившемся окне нажимаем кнопку рядом с полем ввода дополнительных ссылок для Менеджера плат. В открывшемся окне вставляем скопированную ранее ссылку новой строкой. Нажимаем OK для сохранения изменений и выхода из настроек:

Кстати, в окне ввода дополнительных ссылок можно перейти по ссылке под полем ввода, откроется страница https://github.com/arduino/Arduino/wiki/Unofficial-list-of-3rd-party-boards-support-urls. На ней вы найдете большое количество ресурсов для поддержки различных плат и микроконтроллеров, в том числе и используемый нами пакет от David A. Mellis.
Следующий шаг — установка файлов для поддержки ATtiny85. Переходим в меню Инструменты > Плата > Менеджер плат… Чтобы не искать в списке интересующий нас пакет, отфильтруем его, введя в текстовом поле слово tiny. Выбираем пакет attiny by David A. Mellis и нажимаем установить. После выполнения установки закрываем окно Менеджера плат:

Подключение ATtiny85 к программатору

Технология внутрисхемного программирования (ISP) использует линии интерфейса SPI. Поэтому выводы MOSI, MISO, SCK ATtiny85 подсоединяем к одноименным выводам Ардуино; вывод RESET ATtiny85 к цифровому выводу 10 Ардуино. Запитываем микроконтроллер от линий 5V и GND Ардуино. И, возможно, потребуется установить электролитический конденсатор между выводами Reset и GND Ардуино, чтобы предотвратить автоматическую перезагрузку. Ниже показаны распиновка микроконтроллера ATtiny85 и схема его подключения к Ардуино.

Загрузка скетча в ATtiny85

Откроем скетч Blink из стандартных примеров Ардуино (меню Файл > Примеры > Basics > Blink). Заменим в скетче текст LED_BUILTIN на 0 в трех местах, должно получиться:
void setup() { // initialize digital pin LED_BUILTIN as an output. pinMode(0, OUTPUT); } void loop() { digitalWrite(0, HIGH); // turn the LED on (HIGH is the voltage level) delay(1000); // wait for a second digitalWrite(0, LOW); // turn the LED off by making the voltage LOW delay(1000); // wait for a second }
Теперь в списке плат выберем ATtiny25/45/85, конкретную модель микроконтроллера укажем в меню Процессор. В меню Clock выберем значение Internal 8MHz. И, поскольку в качестве программатора мы используем Ардуино, выберем значение Arduino as ISP в меню Программатор:

Теперь всё готово для загрузки скетча в ATtiny85. Подключаем Ардуино к компьютеру, нажимаем кнопку загрузки и дожидаемся сообщения о завершении операции.
Для проверки работы скетча подключим к микроконтроллеру светодиод: длинным выводом к PB0, коротким к GND. Светодиод начнет мигать, только интервал составит не 1 секунду, а 8 (при условии, что мы имеем дело с новым/чистым микроконтроллером). И вот почему: новые микроконтроллеры идут с завода с запрограммированным фьюзом CKDIV8 (Divide clock by 8), что приводит к делению тактовой частоты на 8. Поэтому сейчас мы сбросим данный фьюз, чтобы микроконтроллер работал на частоте 8МГц.

Изменение тактовой частоты ATtiny85

Работу с фьюзами я уже описывал в статье Что такое фьюзы. Чтение и запись фьюзов Ардуино. Тогда для работы с ними использовалась программа avrdude. Но сейчас для сброса фьюза CKDIV8 мы поступим проще: установка конфигурационных байтов входит в процедуру записи загрузчика, поэтому в IDE Arduino переходим в меню Инструменты и выбираем команду Записать загрузчик. В действительности запись загрузчика в микроконтроллер не произойдет, т.к. его просто нет в используемом нами пакете. Но зато будут перезаписаны конфигурационные байты, новые значения будут взяты из файла boards.txt, в них как раз бит CKDIV8 сброшен. Также будет очищена память программ, поэтому скетч нужно будет загрузить в микроконтроллер еще раз.
После выполнения указанных действий ATtiny85 заработает на частоте 8МГц и светодиод начнет мигать с интервалом в 1 секунду. Микроконтроллер можно отключить от Ардуино и запитать от источника 3-5В.

Когда вы в очередной раз захотите изменить тактовую частоту ATtiny85, нужно будет выбрать соответствующее значение в меню Инструменты > Clock и повторно выполнить команду Записать загрузчик. И, как вы можете видеть, в меню выбора частоты доступно значение 16МГц — оно получается умножением тактовой частоты внутреннего RC-генератора (8МГц). Этой опцией не могут похвастаться даже старшие микроконтроллеры семейства mega. Такой способ тактирования применен в плате Digispark, построенной на ATtiny85.

Вместо заключения

Как видите, программирование ATtiny85 в IDE Arduino не составляет труда. А после записи загрузчика оно станет еще проще и сможет быть выполнено без использования программатора. О том как это сделать читайте в статье Прошиваем загрузчик micronucleus в ATtiny85.

ATtiny25/V, ATtiny45/V, ATtiny85/V

8-разр. микроконтроллер с внутрисистемно-программируемой флэш-памятью размером 2, 4, 8 кбайт

Документация:

150 Kb Engl Краткое описание микроконтроллера
1471 Kb Engl Полное описание микроконтроллера
Rus Система команд и архитектура
Програмное обеспечение
Инструментальные средства для 8-разрядных AVR-микроконтроллеров
Примеры применения микроконтроллеров AVR в устройствах управления 3-фазными бесколлекторными электродвигателями постоянного тока

Особенности:

  • Высокопроизводительный, экономичный 8-разр. AVR-микроконтроллер
  • Усовершенствованная RISC-архитектура — Обширный набор из 120 инструкций большинство которых выполняются за один цикл — 32 x 8 универсальных регистров общего назначения — Полностью статическая работа
  • Энергонезависимые памяти программ и данных — Внутрисистемно программируемая флэш-память программ размером 2, 4, 8 кбайт (Atiny25, Atiny45, Atiny85) с износостойкостью 10 тыс. циклов запись/стирание — 128/256/512 байт внутрисистемно-программируемого ЭСППЗУ (ATtiny25/45/85) с износостойкостью 100 тыс. циклов записи/стирания — 128/256/512 байт внутреннего статического ОЗУ (ATtiny25/45/85) — Программируемые биты защиты флэш-памяти и ЭСППЗУ
  • Отличительные особенности периферийных устройств — 8-разр. таймер-счетчик с предделителем и двумя каналами ШИМ — 8-разр. высокоскоростной таймер-счетчик с отдельным предварительным делителем 2 высокочастотных выхода ШИМ с отдельными регистрами задания порога сравнения
  • Программируемый генератор паузы — Универсальный последовательный интерфейс с отдельным детектором условия старт — 10-разр. АЦП
  • 4 несимметричных канала
  • 2 дифференциальных канала с программируемым усилением (1x, 20x) — Программируемый сторожевой таймер с отдельным встроенным генератором — Встроенный аналоговый компаратор
  • Специальные функции микроконтроллера — Встроенная отладочная система debugWIRE — Внутрисистемное программирование через порт SPI — Внешние и внутренние источники прерываний — Экономичные режимы: холостой ход (Idle), уменьшение шумов АЦП (ADC Noise Reduction) и пониженная мощность (Power-down) — Усовершенствованная схема сброса при подаче питания — Программируемая схема контроля напряжения питания — Встроенный калиброванный генератор
  • Ввод-вывод и корпуса — Шесть программируемых линий ввода-вывода — 8-выв. корпус PDIP и 8-выв. SOIC
  • Рабочее напряжение — 1.8 — 5.5В для ATtiny25/45/85V — 2.7 — 5.5В для ATtiny25/45/85
  • Градации по быстродействию — ATtiny25/45/85V: 0 — 4 МГц при 1.8 — 5.5В, 0 — 10 МГц при 2.7 — 5.5В — ATtiny25/45/85: 0 — 10 МГц при 2.7 — 5.5В, 0 — 20 МГц при 4.5 — 5.5В
  • Промышленный температурный диапазон
  • Малый потребляемый ток — Активный режим: 1 МГц, 1.8В: 450 мкА — Режим пониженной мощности: 0.1 мкА при 1.8В

Структура:

Назначение выводов:

Общее описание:

ATtiny25/45/85 — экономичный 8-разр. КМОП микроконтроллеры, выполненные по усовершенствованной AVR RISC-архитектуре. За счет выполнения большинства инструкций за один машинный цикл микроконтроллеры ATtiny25/45/85 достигают производительности 1млн. оп. в сек. при тактировании частотой 1МГц, что позволяет разработчику оптимизировать потребляемую мощность и быстродействие.

Ядро AVR комбинирует богатый набор инструкций с 32 регистрами общего назначения, которые непосредственно подключены к арифметико-логическому устройству (АЛУ). Это позволяет осуществлять доступ при выполнении инструкции сразу к двум регистрам и выполнить ее за один машинный цикл. Результирующая архитектура обладает более высокой эффективностью, обеспечивая производительность в более чем 10 раз выше по сравнению с традиционными CISC-микроконтроллерами.

ATtiny25/45/85 содержит следующие элементы: 2/4/8 кбайт внутрисистемно-программируемой флэш-памяти, 128/256/512 байт ЭСППЗУ, 128/256/256 байт статического ОЗУ, 6 линий ввода-вывода общего назначения, 32 универсальных рабочих регистров общего назначения, один 8-разр. таймер-счетчик с режимами сравнения, один 8-разр. высокоскоростной таймер-счетчик, универсальный последовательный интерфейс, внутренние и внешние прерывания, 4-канальный 10-разр. АЦП, программируемый сторожевой таймер с внутренним генератором, а также три программно выбираемых экономичных режима. В режиме холостого хода (Idle) останавливается ЦПУ при этом продолжают работу статическое ОЗУ, таймер-счетчик, АЦП, аналоговый компаратор и система прерываний. В режиме пониженной мощности (Power-down) сберегается содержимое регистров, отключаются все встроенные функции до следующего прерывания или аппаратного сброса. В режиме снижения шумов АЦП (ADC Noise Reduction) останавливается ЦПУ и все модули ввода-вывода, кроме АЦП, за счет чего достигается снижение цифровых шумов во время преобразования АЦП.

Микроконтроллер выпускается по технологии высокоплотной энергонезависимой памяти. Встроенная флэш-память может быть перепрограммирована внутрисистемно через последовательный интерфейс SPI с помощью недорого программатора или с помощью программы в загрузочном секторе (самопрограммирование).

ATtiny25/45/85 поддерживается полным набором аппаратных и программных отладочных средств, в т.ч. Cи-компиляторы, Ассемблер, программные отладчики/симуляторы, внутрисхемные эмуляторы и оценочные наборы.

Информация для заказа:

Прим.:

  1. Альтернативный корпус без содержания свинца, отвечающий европейской директиве по ограничению вредных веществ (директива RoHS). Также не содержит галоидных соединений и полностью экологически безопасен.

Найти поставщиков вы можете перейдя по ссылке Каталог фирм микроэлектроники

Главная — Микросхемы — DOC — ЖКИ — Источники питания — Электромеханика — Интерфейсы — Программы — Применения — Статьи

Микроконтроллер ATtiny85. Обзор микроконтроллера.

Микроконтроллер ATtiny85 имеет следующие характеристики:

  • CPU RISC 8-Bit AVR
  • для программного кода предусмотрено 8 КБ памяти;
  • для исполняемого кода зарезервировано 512Б;
  • два 8-ми битных таймера;
  • I2C порт
  • Watchdog Timer
  • Brown out detect (BOD)
  • USI (Universal Serial Interface)
  • наличие 6 цифровых пинов;
  • два выхода ШИМ и 4-х канальный 10-и битный АЦП ;
  • частота от 1 до 20 МГц.
  • внутренний генератор 1 или 8 Мгц
  • напряжение питания от 1.8 до 5.5 Вольт;
  • Рабочая температура от -40 C до 125 C

ATtiny предлагается в различных корпусах DIP и SOC, в зависимости от модификации источник питания может быть от 1,8 до 5,5В. В экономичном режиме прибор потребляет от 0,1 мкА, в микроконтроллере реализовано аппаратное прерывание. ATtiny85 по сравнению с другими микроконтроллерами этого семейства (ATtint) имеет максимальную память, что делает его более привлекательным выбором. Для программирования микроконтроллера вам требуется программатор USBAsp или Arduino UNO (Arduino ISP), что немного затрудняет его использование для новичков, привыкших к Arduino палатам подключаемых по USB разъем напрямую к компьютеру. Писать код для ATtiny можно в средах разработки таких как в Arduino IDE так и в AVR studio, что является плюсом, т.к. это две среды довольно удобны в использовании и популярны среди разработчиков. Стоимость микроконтроллера составляется порядка 1,5$ за штуку, это совсем не много по сравнению со стоимостью Arduino плат.

ATtiny хорошо подходит для проектов которым требуется: компактность, автономность (низкое энергопотребление), широкий диапазон температур и «небольшой» объем реализуемой логики.

Документацию на микронтроллер можно посмотреть тут.

admin

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Наверх