Распиновка attiny13a. ATtiny13A: подробный обзор микроконтроллера и примеры применения

Что такое микроконтроллер ATtiny13A. Какие у него основные характеристики. Как программировать ATtiny13A. Для каких проектов подходит этот микроконтроллер. Какие есть примеры использования ATtiny13A.

Содержание

Общая характеристика микроконтроллера ATtiny13A

ATtiny13A — это 8-битный микроконтроллер семейства AVR от компании Microchip (ранее Atmel). Он отличается компактными размерами, низким энергопотреблением и доступной ценой, что делает его популярным выбором для небольших проектов.

Основные характеристики ATtiny13A:

  • 8-битное RISC-ядро AVR
  • 1 КБ flash-памяти программ
  • 64 байта оперативной памяти SRAM
  • 64 байта энергонезависимой памяти EEPROM
  • Рабочая частота до 20 МГц
  • Напряжение питания 1.8-5.5В
  • 5 программируемых линий ввода/вывода
  • 4-канальный 10-битный АЦП
  • Два 8-битных таймера/счетчика
  • Корпуса: 8-выводной PDIP, SOIC, MLF

Архитектура и периферия ATtiny13A

ATtiny13A построен на основе усовершенствованной RISC-архитектуры AVR. Это позволяет выполнять большинство инструкций за один машинный цикл, обеспечивая производительность до 20 MIPS при тактовой частоте 20 МГц.


Микроконтроллер имеет следующие ключевые периферийные модули:

  • Два 8-битных таймера/счетчика с режимами сравнения и ШИМ
  • Сторожевой таймер с отдельным генератором
  • Аналоговый компаратор
  • 4-канальный 10-битный АЦП
  • Интерфейс USI для SPI и I2C

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

Программирование ATtiny13A

Для программирования ATtiny13A можно использовать несколько способов:

  1. Программирование через ISP-интерфейс с помощью программатора
  2. Программирование через Arduino в режиме программатора
  3. Программирование через загрузчик (bootloader)

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

Для разработки программ можно использовать язык C/C++ и компилятор avr-gcc. Также доступны библиотеки Arduino после некоторой адаптации.

Примеры применения ATtiny13A

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


  • Управление светодиодной подсветкой
  • Простые таймеры и счетчики
  • Датчики температуры, влажности, освещенности
  • ШИМ-регуляторы для моторов
  • Генераторы звуковых сигналов
  • Простые игрушки и сувениры

Рассмотрим несколько конкретных примеров использования ATtiny13A.

Пример 1: Управление RGB-светодиодом

ATtiny13A можно использовать для управления RGB-светодиодом, создавая различные цветовые эффекты. Вот пример простой схемы:

«` ATtiny13A RGB LED PB0 PB1 PB2 VCC GND «`

В этой схеме мы используем три вывода ATtiny13A (PB0, PB1, PB2) для управления красным, зеленым и синим каналами светодиода соответственно. Каждый канал управляется с помощью ШИМ для создания различных цветовых оттенков.

Пример 2: Простой термостат

ATtiny13A может быть использован для создания простого термостата. Для этого понадобится термистор для измерения температуры и реле для управления нагревательным элементом.

Алгоритм работы термостата может быть следующим:

  1. Измерение температуры с помощью АЦП и термистора
  2. Сравнение измеренной температуры с заданным порогом
  3. Включение или выключение реле в зависимости от результата сравнения

Вот пример кода для реализации такого термостата:


«`c #include #include #define RELAY_PIN PB4 #define TEMP_SENSOR_PIN PB3 #define TEMP_THRESHOLD 512 // Пороговое значение АЦП void adc_init() { ADMUX = (1 << MUX1) | (1 << MUX0); // Выбор входа ADC3 ADCSRA = (1 << ADEN) | (1 << ADPS2) | (1 << ADPS1); // Включение АЦП, предделитель 64 } uint16_t adc_read() { ADCSRA |= (1 << ADSC); // Запуск преобразования while (ADCSRA & (1 << ADSC)); // Ожидание завершения return ADC; } int main(void) { DDRB |= (1 << RELAY_PIN); // Настройка пина реле на выход adc_init(); while (1) { uint16_t temp = adc_read(); if (temp >
TEMP_THRESHOLD) { PORTB |= (1 << RELAY_PIN); // Включение реле } else { PORTB &= ~(1 << RELAY_PIN); // Выключение реле } _delay_ms(1000); // Задержка 1 секунда } return 0; } ```

Этот код инициализирует АЦП для чтения значений с термистора, подключенного к пину PB3, и управляет реле на пине PB4. Температурный порог задается константой TEMP_THRESHOLD.

Оптимизация кода для ATtiny13A

При программировании ATtiny13A важно учитывать ограниченные ресурсы микроконтроллера. Вот несколько советов по оптимизации кода:

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

Применение этих техник поможет сэкономить память программ и повысить производительность.

Альтернативы ATtiny13A

Хотя ATtiny13A отлично подходит для многих проектов, иногда требуется больше ресурсов. В таких случаях можно рассмотреть следующие альтернативы:

  • ATtiny25/45/85 — больше памяти и периферии при той же компактности
  • ATtiny2313 — больше выводов и встроенный UART
  • ATmega328P — значительно больше ресурсов, совместимость с Arduino

Выбор конкретной модели зависит от требований проекта и доступного бюджета.


Заключение

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

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


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

Во то время года, о котором принято говорить «ближе к зиме», в межсезонье, многие автомобилисты сталкиваются с проблемой оледенения дворников лобового стекла. Это может происходить из-за резких перепадов температуры или осадков в виде дождя и мокрого снега.

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

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

Нагревательные элементов

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

схема на базе микроконтроллера ATtiny13A

Питание осуществляется от автомобильного аккумулятора (12В). Вход KEY — нефиксируемый нормально-разомкнутый микропереключатель, который замыкается на массу.  Настройки помогают выбирать различные режимы работы выходов. BZ – небольшой динамик из материнской платы персонального компьютера.

Чтобы настроить работу устройства, необходимо перед подачей питающего напряжения нажать и удерживать микрик. Подача напряжения активирует режим настройки: через 2 секунды начнет с частотой 1 раз/сек. звучать акустический элемент. Каждый отдельный сигнал — это необходимый пункт настройки. После того, как писк прозвучал нужное количество раз, необходимо отжать кнопку и особый сигнал сообщит о завершении настройки. Дальнейшая работа в нормальном режиме требует перезапуска схемы. С полной таблицей настроекнаходится в приложенном архиве. Там же можно найти прошивки, модель проекта Proteus и другие необходимые файлы.

Один из вариантов выполнения устройства.

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

Готовый вариант

Небольшие размеры позволяют с легкостью ее установить.

Готовый вариант

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

небольшая светодиодная сборка

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

Каждый из режимов наглядно индицируется определенным светом:

  • Габариты включены – зеленый.
  • Габариты + 1 нагревательный элемент –красный.
  • Габариты + 2 нагревательный элемент – ярко зеленым.
  • Габариты +1 и 2 нагревательный элемент – оранжевым.

Несколько слов о безопасности эксплуатации.

Потребляемый устройством ток может достигать 4 А. и более, в зависимости от мощности выбранных электронагревательных пластин. Это необходимо обязательно учитывать при подборе сечения проводов, которые, в данном случае, рекомендуется брать не менее 1,5 мм.

Использование подобного обогрева при температурах ниже -15°С может привести к разрушению лобового стекла.

Прикрепленные файлы: СКАЧАТЬ.

Автор: Владимир Николаевич, Пермь, Россия


 

Прошивка ATtiny13 при помощи Arduino UPD 17.03.2016

Смотрите также; прошивка бутлоадера Arduino в ATmega8, бюджетный Arduino.
Данный видеоматериал содержит то что в статье ниже:


Итак, уже давненько появился способ программировать маленькие, дешёвые, маложрущие и доступные микрухи ATtiny13A.
Тут я Вам расскажу как можно зашивать Arduino’вские скетчи.

Итак, для начала нам нужно скачать данный архив(взято и доделано отсюда) положить файлы по адресу «\Documents\Arduino\hardware\» должно получится что-то типа «C:\Users\Администратор\Documents\Arduino\hardware\attiny13\avr\

cores\core13″.
Обязательно проверяем правильно ли у нас выбрано «расположение папки со скетчами», (посмотреть можно во вкладке «Файл/Настройки») :

Далее нам нужна сама микруха 🙂 Имеете? отлично. Теперь нам нужно узнать как при помощи Arduino прошить тиньку, более подробней:
Для начала прошьём в дуинку ArduinoISP из примеров Arduino IDE.


Потом подключим тини13 к ардуинке как показано на картинке:


Потом нужно изменить тип программатора на Arduino as ISP как показано на скришонте:



И выбрать нашу тиньку в списке как на скрине:

Частота 1.2 МГц — частота  контролера с завода, можно выбрать частоту и побольше если сильно нужно производительность, но не забываем что рост частоты приведёт за собой рост потребления контроллера, для каких-то там мигалок выполнение 1.2 миллиона инструкций будет с лихвой.
Изменяем частоту следующим образом:
— выбираем нужную нам частоту;
— жмём «Записать загрузчик», среда выставит все фьюзы контроллера таким образом чтобы он работал на нужной частоте.


И после того уже можно шить контролер, больше кнопку «Записать загрузчик» нажимать не нужно, прошиваем скетчи кнопкой «Загрузить с помощью программатора».
Итак, зашили blink — работает, отлично, я Вас поздравляю, «это маленький шаг для человека и большой шаг для человечества» 🙂 Как вы уже заметили скетч стал заметно легче ежели для Arduino Uno, это связано тем что урезаны большинство дуиновских функций.

100% поддерживаются следующие:

  • pinMode()
  • digitalWrite()
  • digitalRead()
  • analogRead()
  • analogReference(INTERNAL) / (EXTERNAL)
  • shiftOut()
  • pulseIn()
  • analogWrite()
  • millis()
  • micros()
  • delay()
  • delayMicroseconds()

Итак как мы ещё увидели доступно всего 1024 байта, но ведь это мало? «Вы есть много кушать» 🙂 большинству радиолюбителей для небольшой задач типа всяких мигалок, простеньких индикаторов или прочей мелочи — более чем достаточно, некоторые даже умудряются вольт-амперметры делать.

Чтобы научится экономить рекомендую ознакомится, а ещё лучше изучайте AVR и Cи, я вот когда смогу побороть лень начну 🙂
Если будут какие-то вопросы их задавайте тут, хвастайтесь своими проектами на этой замечательной микрухе, я только за, интересно же.
Вот мой первый проект, там я получил несколько советов по оптимизации кода аля уменьшения размера скетча при той же функциональности.
Вот ещё товарищ подтянулся.
Распиновка из даташита:

Нипаняятна? PB4 это тоже что и pin 4 или просто 4. Аналоговые входы все на которых пишет ADC*, например PB4 это ADC2 или просто A2, ШИМ поддерживают порты 0 и 1.

Вкратце наверное всё 🙂 всем удачи, и удачных проектов.
Для 5 В питания просто идеально подходит линейный стабилизатор 78L05, они просто созданы друг для друга 🙂 тоже такой дешёвый, маленький и доступный.

Ветка на форуме Arduino: http://arduino.ru/forum/programmirovanie/attiny13a-101-primenenie

Мой паблик ВКонтакте, присоединяйтесь.

UPD 17.03.2016 Ядро ищем тут:

https://geektimes.ru/post/254970/#comment_8943030

DataSheet PDF Search Site




Новые списки

Номер детали Функция Производители ПДФ
АТ1203 300 мА CMOS LDO регулятор
Глобальная смешанная технология
АТ1358 1A Синхронный понижающий преобразователь
Глобальная смешанная технология
АТ5160 Драйвер белых светодиодов постоянного тока 40 В
Глобальная смешанная технология
AT9915 Регулятор с малым падением напряжения 1,5 А
Глобальная смешанная технология
В722 2SB722
СавантИК
ДС1669С ЭЛЕКТРОННЫЙ ЦИФРОВОЙ РЕОСТАТ
Даллас Семикондукотр
ЭЛМ0431БА Программируемый шунтовой регулятор 2,5 В
ВЯЗ
ЭЛМ650ДА Режим CC/CV 36 В, понижающий преобразователь постоянного/постоянного тока на 2 А
ВЯЗ
Г9184 Линейный регулятор с малым падением напряжения 500 мА
Глобальная смешанная технология
G9291 Линейные регуляторы с малым падением напряжения 300 мА
Глобальная смешанная технология



attiny13a%20application%20examples техническое описание и примечания по применению

org/Product»> org/Product»> org/Product»> org/Product»> org/Product»> org/Product»> org/Product»> org/Product»>
Каталог данных MFG и тип ПДФ Ярлыки для документов
2009 — AVR520: переход с ATtiny13 на ATtiny13A

Аннотация: attiny13a AVR520 attiny13 ATtiny
Текст: Нет доступного текста файла


Оригинал
PDF AVR520: ATtiny13 ATtiny13A ATtiny13A ATtiny13. ATtiny13A. 8157С-АВР-05/09 AVR520: переход с ATtiny13 на ATtiny13A AVR520 ATtiny
2011 — attiny13a

Резюме: нет абстрактного текста
Текст: Нет доступного текста файла


Оригинал
PDF ATtiny13A ATtiny13A 8126E-Приложение
2008 — СТАНДАРТ JEDEC MO-220 WGGD-5

Реферат: ATTINY13A-SSU ATtiny13A-SU Примеры кода ATtiny13 Примеры применения ATTINY13a ATTINY13A-PU ATTINY13A-MMU CS01 CS02 ATtiny13A-SH
Текст: Нет доступного текста файла


Оригинал
PDF Вспышка/100 С/100 10-палатки 8126BS СТАНДАРТ JEDEC MO-220 WGGD-5 ATTINY13A-SSU ATtiny13A-SU Примеры кода ATtiny13 Примеры применения ATTINY13a ATTINY13A-PU ATTINY13A-ММУ CS01 CS02 ATtiny13A-SH
2012 — 8126ФС

Резюме: сводка набора инструкций ATTINY13A-SSUR avr 8S2 ATTINY13A
Текст: Нет доступного текста файла


Оригинал
PDF Вспышка/100 С/100 10-битный 8126ФС ATTINY13A-SSUR сводка набора инструкций avr 8S2 АТТИНИ13А
2009 — attiny13a

Резюме: ATTINY13A-SSU ATTINY13A-SSH ATtiny13A-SU ATMEL QFN МАРКИРОВКА ЧАСТЕЙ 3-фазный синусоидальный ШИМ c исходный код для семейства Atmel 8S2 8-выводной 0,208 EIAJ 2535I ATTINY13A-PU
Текст: Нет доступного текста файла


Оригинал
PDF Вспышка/100 С/100 10-центов 8126D аттини13а ATTINY13A-SSU ATTINY13A-SSH ATtiny13A-SU МАРКИРОВКА ЧАСТЕЙ ATMEL QFN Исходный код 3-фазной синусоидальной волны PWM c для семейства Atmel 8S2 8 отведений 0,208 EIAJ 2535I ATTINY13A-PU
2012 — attiny13a

Реферат: Tiny13A Примеры применения ATTINY13a 8S-2 Рекомендация atmel 3-фазная синусоидальная волна pwm c исходный код для семейства Atmel ATTINY13A-MMUR ATTINY13A-SU
Текст: Нет доступного текста файла


Оригинал
PDF Вспышка/100 С/100 10-битный 8126F аттини13а Крошка13А Примеры применения ATTINY13a 8S-2 Atmel Рекомендация Исходный код 3-фазной синусоидальной волны PWM c для семейства Atmel ATTINY13A-MMUR ATTINY13A-SU
2010 — ATTINY13A-SSU

Реферат: attiny13a Примеры применения ATTINY13a ATTINY13A-SU ATTINY13A-PU atmel синусоидальная схема ШИМ mur 460 data sii 021 Примеры применения ATTINY13 eeprom_write
Текст: Нет доступного текста файла


Оригинал
PDF Вспышка/100 С/100 10-центов 8126E ATTINY13A-SSU аттини13а Примеры применения ATTINY13a ATTINY13A-SU ATTINY13A-PU синусоидальная ШИМ-схема atmel мур 460 данные 021 Примеры применения ATTINY13 eeprom_write
2010 — СОИК-36 300

Аннотация: attiny13a
Текст: Нет доступного текста файла


Оригинал
PDF ATtiny13A ATtiny13A СОИК-36 300
2010 — Недоступно

Резюме: нет абстрактного текста
Текст: Нет доступного текста файла


Оригинал
PDF ATtiny13A ATtiny13A
2011 — attiny13a

Реферат: СОИК-36 300
Текст: Нет доступного текста файла


Оригинал
PDF ATtiny13A ATtiny13A 8126E-Приложение СОИК-36 300
2012 — attiny13a

Аннотация: MA006
Текст: Нет доступного текста файла


Оригинал
PDF ATtiny13A 8126F-Приложение MA006
2010 — примеры применения ATTINY13a

Реферат: примеры применения ATTINY13, маркировка attiny13a, маркировка WDE atmel, маркировка attiny13a-pu, блок-схема AVR ATTINY13A-SSU, JEDEC STANDARD MO-220 WGGD-5 CS01
Текст: Нет доступного текста файла


Оригинал
PDF Вспышка/100 С/100 10-палатки 8126ES Примеры применения ATTINY13a Примеры применения ATTINY13 аттини13а маркировка WDE маркировка деталей atmel attiny13a-пу ATTINY13A-SSU Блок-схема АРН СТАНДАРТ JEDEC MO-220 WGGD-5 CS01
2008-IO ATTINY13A-MMU

Аннотация: ATTINY13A-SU
Текст: Нет доступного текста файла


Оригинал
PDF Вспышка/100 С/100 10-битный 8126Б IO ATTINY13A-MMU ATTINY13A-SU
2012 — Недоступно

Резюме: нет абстрактного текста
Текст: Нет доступного текста файла


Оригинал
PDF Вспышка/100 С/100 8126Fâ
2007 — Примеры применения ATTINY13a

Аннотация: attiny13a
Текст: Нет доступного текста файла


Оригинал
PDF Вспышка/100 С/100 10-центов Примеры применения ATTINY13a аттини13а
2009 — Примеры применения ATTINY13a

Реферат: attiny13a JEDEC STANDARD MO-220 WGGD-5 ATTINY13A-PU CS01 CS02 ATTINY13A-SU МАРКИРОВКА ЧАСТЕЙ ATMEL QFN
Текст: Нет доступного текста файла


Оригинал
PDF Вспышка/100 С/100 10-палатки 8126ДС Примеры применения ATTINY13a аттини13а СТАНДАРТ JEDEC MO-220 WGGD-5 ATTINY13A-PU CS01 CS02 ATTINY13A-SU МАРКИРОВКА ЧАСТЕЙ ATMEL QFN
2010 — авр дракон

Реферат: Примечания по применению ATMEL GA8 GA16 ga644p GA64 atmega8u2 ga328p attiny88 atmega16u2 XMEGA
Текст: Нет доступного текста файла


Оригинал
PDF AT90USB162 AT90USB82 ga128 га164П ga165 ga168 авр дракон АТМЕЛ GA8 GA16 ga644p GA64 atmega8u2 ga328p аттини88 atmega16u2 Замечания по применению XMEGA
2013 — ATxmega128A4U

Реферат: At90scr ATA6289 atmega644rf ATMEGA328 atxmega8 ATXMEGA64B3 ATMEGA328 atxmega64a3 ata5831
Текст: Нет доступного текста файла


Оригинал
PDF 8/32-бит ATxmega128A4U В 90скр ATA6289 атмега644рф ATMEGA328 atxmega8 ATXMEGA64B3 ATMEGA328 atxmega64a3 ата5831
2008 — схема MC310

Аннотация: SOCKET TQFP100 tiny23 ATSTK504 ATSTK503 ATTINY44 AT32UC3A0512
Текст: Нет доступного текста файла


Оригинал
PDF AT32UC3Bx АВР32 Схема MC310 РАЗЪЕМ TQFP100 крошечный23 АТСТК504 АТСТК503 АТТИНИ44 AT32UC3A0512
2011 — AVR205: измерение частоты стало проще благодаря Atmel tinyAVR и Atmel megaAVR

Аннотация: СХЕМА AVR GENERATOR avr СХЕМАТИЧЕСКАЯ принципиальная схема ATTINY13 DELAY timer AVR1617 СХЕМА AVR GENERATOR AVR205 ATMEL 644 Примечание по применению ATTINY2313 GENERATOR avr схема
Текст: Нет доступного текста файла


Оригинал
PDF АВР205: 365А-АВР-01/11 AVR205: измерение частоты стало проще благодаря Atmel tinyAVR и Atmel megaAVR СХЕМА АВР ГЕНЕРАТОРА СХЕМА АВР СХЕМА ATTINY13 Таймер задержки АВР1617 СХЕМА АВР ГЕНЕРАТОРА АВР205 АТМЭЛ 644 Примечание по применению ATTINY2313 ГЕНЕРАТОР схема авр
ТКС3200

Резюме: нет абстрактного текста
Текст: Нет доступного текста файла


Оригинал
PDF 24-битный ТКС3200-ДБ, ТСЛ13Т ATTiny13A ТКС3200
2008 — Примеры применения ATTINY13

Реферат: Примеры кода ATTINY13 ATTINY13V-10SU CS01 CS02 atmel 836 ATtiny13 ATMEL TINY13 ATTINY13-20MMU
Текст: Нет доступного текста файла


Оригинал
PDF Вспышка/100 С/100 10палаток 2535ИС Примеры применения ATTINY13 АТТИНИ13 АТТИНИ13В-10СУ CS01 CS02 Атмел 836 Примеры кода ATtiny13 АТМЕЛ МАЛЕНЬКИЙ13 АТТИНИ13-20ММУ
2009 — мега16U2

Резюме: ATAVRDRAGON EVK1101 mega32U2 atmega128 au atmega128 QFN64 NGW100 stk600 atmega2560 qfn44 без датчика bldc AVR 16 c исходный код
Текст: Нет доступного текста файла


Оригинал
PDF 32-битный 16-битный мега16U2 АТАВРДРАГОН ЭВК1101 мега32у2 atmega128 а.

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

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