7

ATtiny26 (Arduino IDE)

ATtiny26/L низкопотребляющий 8 битный КМОП микроконтроллер с AVR RISC архитектурой. Выполняя команды за один цикл, ATtiny26/L достигает производительности 1 MIPS при частоте задающего генератора 1 МГц, что позволяет разработчику оптимизировать отношение потребления к производительности.

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

  • Высокая производительность при малом потреблении

  • RISC архитектура

  • 118- команд, большинство исполняемых за один машинный такт

  • 328 рабочих регистра общего назначения

  • Полностью статический режим

  • 16 MIPS производительность при 16 МГц

  • Память

    • 2К байтов FLASH памяти программ с внутрисистемным программированием

    • 1000 циклов записи- стирания

    • 128 байтов EEPROM c внутрисистемным программированием

    • 100 000 циклов записи- стирания

    • 128 байтов внутренней SRAM

    • Программируемый ключ доступа к программам и памяти данных

  • Периферия

    • 8- битный таймер/счётчик с программируемым предделителем

    • 8- битный скоростной делитель с программируемым предделителем

    • 2 скоростных ШИМ выхода с отдельным выходным регистром сравнения не совмещённый выход инверсной ШИМ

  • Универсальный последовательный интерфейс с детектором старта

  • 10- бит АЦП

    • 11 простых униполярных входа

    • 8 дифференциальных входа

    • 7 дифференциальных входа с программируемым усилением ( 1, 10 )

  • Встроенный аналоговый компаратор

  • Внешние прерывания

  • 11 прерываний по изменению потенциала вывода

  • Программируемый Watchdog с переключаемымим генераторами

  • Специальные функции контроллера

  • Режим экономии энергии, режим подавления шума, режим Выкл.

  • Сброс при включении и понижению напряжения питания

  • Внешние и внутренние источники прерывания

  • Внутрисистеммное программирование через SPI порт

  • Внутренний калиброванный RC генератор

  • 20- выводной корпус PDIP или SOIC

  • 16 программируемых входа-выхода

  • Рабочее напряжение питания:

    • 2.7 В до 5.5 В ATtiny26L

    • 4.5 В до 5.5 В ATtiny26

  • Рабочая тактовая частота:

    • 0- 8 МГц ATtiny26L

    • 0-16 МГЦ ATtiny26

ATtiny26 (Arduino IDE) Arduino, Программирование, Самоделки, Электроника, Длиннопост

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

Для поддержки ATtiny26 в Arduino IDE необходимо выполнить несколько простых операций:

  • Добавление поддержки платы

Откройте в Arduino IDE вкладку Файл > Настройки и добавьте ссылку для менеджера плат

https://nich1con.github.io/tiny26.json

ATtiny26 (Arduino IDE) Arduino, Программирование, Самоделки, Электроника, Длиннопост

Далее перейдите во вкладку Инструменты > Плата > Менеджер плат

ATtiny26 (Arduino IDE) Arduino, Программирование, Самоделки, Электроника, Длиннопост

Далее в Инструменты > Плата выберите плату ATtiny26.

Установите параметры платы как показано на скриншоте:

ATtiny26 (Arduino IDE) Arduino, Программирование, Самоделки, Электроника, Длиннопост
  • Для прошивки скетча  Вам понадобится программатор USBAsp

ATtiny26 (Arduino IDE) Arduino, Программирование, Самоделки, Электроника, Длиннопост

Схемы подключения

ATtiny26 (Arduino IDE) Arduino, Программирование, Самоделки, Электроника, Длиннопост

Распиновка программатора USBAsp

ATtiny26 (Arduino IDE) Arduino, Программирование, Самоделки, Электроника, Длиннопост

Далее необходимо выставить нужные фьюзы для микроконтроллера, чтобы он всегда работал на выбранной Вами частоте. Для этого в настройках Arduino IDE выберите программатор USBasb и нажмите Инструменты > Записать загрузчик. Эту операцию необходимо проводить всего один и снова повторить если Вы будете менять частоту работы микроконтроллера.

Для загрузки скетча в настройках Arduino IDE выберите программатор USBasb и во вкладке Скетч нажмите на Загрузить через программатор.

Для примера, можно загрузить простой скетч мигания светодиода, к выводу 13(PB5) контроллера подключите светодиод через резистор 200 Ом.

#include <avr/io.h>

#include <util/delay.h>

int main(){  DDRB |=(1<<PB5); 

while(1){  PORTB |=(1<<PB5);  

_delay_ms(1000);  

PORTB &=~(1<<PB5);  

_delay_ms(1000);  

}}

Для нормальной работы микроконтроллера необходимо подать напряжение VCC через резистор 10 кОм на вход RST микроконтроллера.

Ошибка компиляции (проверялось в Linux Ununtu 20.04 | Arduino IDE 1.8.15)

chmod: невозможно получить доступ к ‘/root/.arduino15/packages/ATtiny26/hardware/avr/1.1.0/scripts/create_disassembler_listing.sh’: Нет такого файла или каталога
exit status 1
Ошибка компиляции для платы ATtiny26.

Загрузить файл — create_disassembler_listing.sh

Разместить файл по указанному пути: packages/ATtiny26/hardware/avr/1.1.0/scripts/create_disassembler_listing.sh

Ошибка компиляции (проверялось в Linux Ununtu 20.04 | Arduino IDE 1.8.15)

***failed;
avrdude: WARNING: invalid value for unused bits in fuse «hfuse», should be set to 1 according to datasheet
This behaviour is deprecated and will result in an error in future version
You probably want to use 0x12 instead of 0xf2 (double check with your datasheet first).

Открыть файл — packages/ATtiny26/hardware/avr/1.1.0/boards.txt

Найти строки:

t26.menu.bod.2V7=2.7V
t26.menu.bod.2V7.bootloader.high_fuses=0b11110{bootloader.eesave_bit}10
t26.menu.bod.4V=4.0V
t26.menu.bod.4V.bootloader.high_fuses=0b11110{bootloader.eesave_bit}00
t26.menu.bod.OFF=Disable
t26.menu.bod.OFF.bootloader.high_fuses=0b11110{bootloader.eesave_bit}01

заменить на:

t26.menu.bod.2V7=2.7V
t26.menu.bod.2V7.bootloader.high_fuses=0b00010{bootloader.eesave_bit}10
t26.menu.bod.4V=4.0V
t26.menu.bod.4V.bootloader.high_fuses=0b00010{bootloader.eesave_bit}00
t26.menu.bod.OFF=Disable
t26.menu.bod.OFF.bootloader.high_fuses=0b00010{bootloader.eesave_bit}01

Перезапустить Arduino IDE.

Исходник — https://github.com/Nich1con/ATtiny26-Core

http://rcl-radio.ru/?p=129787

TECHNO BROTHER

2K постов13.4K подписчик

Правила сообщества

1-Мы А-политическое сообщество. 2-Запрещено оскорбление: Администрации Пикабу, сообщества, участников сообщества а также родных, близких выше указанных.

3-Категорически запрещается разжигание межнациональной розни или действий, направленных на возбуждение национальной, расовой вражды, унижение национального достоинства, а также высказывания о превосходстве либо неполноценности пользователей по признаку их отношения к национальной принадлежности или политических взглядов. Мат - Нежелателен. Учитесь выражать мысли без матерщины