Страница 1 из 1

FLProg есть поддержка Attiny-13 (ТЕСТИРУЕМ)

Добавлено: 08 июн 2020, 20:27
Turb0user
Всем привет.
Известно что начиная с шестой версии программы появилась возможность добавлять поддержку сторонних микроконтроллеров.
Недавно мне попался в руки Attiny-13. И я попробовал добавить его. Оказалось не сложно. Работать теперь очень удобно.

Оказывается в тини можно впихнуть кучу логики, кнопки, ШИМ сохранение в епром и др. огромное количество кода в рамках одного килобайта :) .
Базовых элементов, триггеров,переключателей влазит просто немерено :yes:
Коротко кто не в курсе как добавить :) :
Инструменты->Редактор пользовательских описаний контроллеров->Загрузить описание контроллера->выбрать файл.
Пятая нога (RESET) программируется только при прошивке определённых фьюзов микроконтроллера, соответственно после этого пропадает RESET и прошить микроконтроллер через SPI уже нельзя. fusebit doctor только в помощь-хорошо что у меня он есть :D .
Естественно добавить аттини в Arduino IDE ссылко
[spoiler]https://mcudude.github.io/MicroCore/pac ... index.json[/spoiler]
Логика профиля файла микроконтроллера такая - при выборе в прграмме пина вы выбираете ПОРТ PB0, PB1 и т.д., а пин (нога тини) определяется согласно рисунка
[spoiler]
687474703a2f2f692e696d6775722e636f6d2f4a7362677550562e6a7067.jpeg
[/spoiler]
Вот рабочий тестовый безсмысленный проектик. Скетч использует 738 байт (72%) памяти устройства. Всего доступно 1024 байт.
[spoiler]
2020-06-08_20-57-08.png
[/spoiler]
Файл профиля аттини
[spoiler]
Attiny.zip
[/spoiler]
Пробуем, тестируем, отписываемся, если что - будем править.

FLProg есть поддержка Attiny-13 (ТЕСТИРУЕМ)

Добавлено: 26 июн 2020, 07:57
shpuntic48
Почему то не загружается вложение

FLProg есть поддержка Attiny-13 (ТЕСТИРУЕМ)

Добавлено: 09 окт 2020, 19:27
ivanpost
Turb0user писал(а): 08 июн 2020, 20:27 Всем привет.
Известно что начиная с ...
Пробуем, тестируем, отписываемся, если что - будем править.
У вас не правильно указаны аналоговые входы. В результате, с их использованием не будет работать скетч. Я исправил - вроде все включается.

FLProg есть поддержка Attiny-13 (ТЕСТИРУЕМ)

Добавлено: 11 окт 2020, 09:15
Radiomaestro
Добрый день! А как добавить аттини в Arduino IDE

FLProg есть поддержка Attiny-13 (ТЕСТИРУЕМ)

Добавлено: 27 фев 2021, 04:17
shpuntic48
Подскажите не работает аналоговый вход
управление потенциометром

FLProg есть поддержка Attiny-13 (ТЕСТИРУЕМ)

Добавлено: 27 фев 2021, 09:51
AlexCrane
[ref]shpuntic48[/ref], Используйте версию платы 1.0.7. Начиная с версии 2.0 аналоговые входа надо объявлять как А0, А1 и т.д. Существующий редактор пользовательских контроллеров видимо так не умеет, либо я не знаю как.

FLProg есть поддержка Attiny-13 (ТЕСТИРУЕМ)

Добавлено: 27 фев 2021, 13:34
Labu559
shpuntic48 писал(а): 27 фев 2021, 04:17 Подскажите не работает аналоговый вход
управление потенциометром
Посмею утверждать исходя из собственного опыта, что функция map() или её представление в ядре ArduinoIDE

Код: Выделить всё

// Функция масштабирования (ядро) 
long map(long x, long in_min, long in_max, long out_min, long out_max)
{
  return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min;
}
не работает в Attiny13, - неподъёмная она для "малютки" с SRAM всего 64bytes (одни аргументы функции и return отщипнут 24 байта а тут ещё умножение и деление). Несколько дней потерял надеясь, что это виноват [spoiler title= Протеус с его симуляцией схемы,]
Tiny13wTM1637.png
[/spoiler] но в железе получился тот-же результат, даже функцию map() приводил к беззнаковому целочисленному типу uint16_t (опять привет FLProg!) вместо long. К тому же указанная функция не упоминается как поддерживаемая в фреймворке MicroCore. Как решение рекоммендую применять вместо функции map() другие способы масштабирования:
[spoiler title= Первый способ]Битовый сдвиг ADC>>N (где N-колличество сдвигов или деление на 2 в степени N) для приведения диапазона измерений к значению АЦП: ADC>>1 соотв. диапазону 0...512 отсчётов (диапазон вольтметра=ADC/100, или 0...5,12V), ADC>>2 соотв. диапазону 0...256 отсчётов (диапазон изм.вольтметра- 0...2,56V или 25,6V, 256V, 0.256V) и т.д. Примененив способы приведения измеряемого диапазона к значениям АЦП с помощью подбора плеч делителя напряжения, сопротивления токового шунта, или коеффициента усиления (на ОУ) на входе, можно убрать погрешность (см.ниже) и избавиться вообще от ненужных пересчётов в настолько ограниченном пространстве. :)
Пример:
1) необходимый диапазон измерений (входного сигнала) 0...1,00V, выбрать AREF Internal (1.1V), макс ADC=1024 (сдвиг не нужен), вес/цент отсчета-0,0009765625В. Как результат- фактических 0,9765625V соответствует 1000 отсчётам, макс. погрешность -0,024В. Это значит что не нужны никакие рассчёты и достаточно для дисплея "сырого" значения АЦП (RAW), а разделитель дробей/запятую поставить в 1-м разряде (1, 024 В) или принять как есть результат в миливольтах для дисплея.
2) необходимый диапазон измерений 0...2,56В, AREF Internal (1.1V), при 2, 56V входных с помощью внешних делителей добиваемся на входе АЦП напряжения 1,1V, макс ADC=1024, применяем сдвиг ADC>>2 == 256 выводим сразу на дисплей как 256mV или с запятой 2.56V;
[/spoiler]
[spoiler title= Второй способ ]Применениё множественных измерений с накоплением (суммированием) результатов и отбрасыванием шума АЦП (девиаций измерений) или младших бит в которых он присутствует. Так для 2-х измерений суммирующее значение АЦП превратиться в диапазон 0...2048 отсчетов, 3-х в 0...3072, 4-х в 0...4096 и т.д. Этот принцип (упрощённо) заложен в основе оверсемплинга АЦП, как в ардуиносовместимых платах MassDuino328D, в которых 12-битный АЦП, и результат измерений 16-ти битный 0...65536 и в функциях усреднения значений/фильтрах. [/spoiler]
[spoiler title= Третий способ] Варьировать питанием МК (необходима высокоточная стабилизация) с включением AREF External (т.е. от питания МК). Таким образом макс.1024 отсчётов АЦП могут соответствовать от 1,8 до 5,5В для частоты тактирования до 4МГц и от 2,7 до 5,5В для максимальной частоты 9,6МГц тактирования от внутреннего RC-генератора без прескаллера. В таком случае резистор запитки АЦП отъест один вывод Attiny13 (ADC0 если не ошибаюсь). [/spoiler]
[spoiler title= И результат:]
Attiny13_analogRead_Write.ino
Attiny13_analogRead_Write.png
[/spoiler]
Удачи!

FLProg есть поддержка Attiny-13 (ТЕСТИРУЕМ)

Добавлено: 15 янв 2022, 13:52
com
[ref]Labu559[/ref], можно ли на attiny реализовать modbus?

FLProg есть поддержка Attiny-13 (ТЕСТИРУЕМ)

Добавлено: 17 янв 2022, 16:50
Labu559
com писал(а): 15 янв 2022, 13:52 ...на attiny реализовать modbus?
Ув. Ринат! Можно или нет не скажу, так как мне неизвестны Ваши остальные задачи и к собственному стыду не имел никаких соприкосновений с этими протоколами. Могу сказать, что програмный интерфейс UART будет "стоить" около 600 кБ памяти программ (Flash). А вот возможно ли создать необходимый буфер для приёма целиком кадра (пакета) данных MODBUS и при этом посчитать его контрольную суму при оперативной памяти в 64 байта- :smile44: ???

FLProg есть поддержка Attiny-13 (ТЕСТИРУЕМ)

Добавлено: 17 янв 2022, 19:58
com
[ref]Labu559[/ref], Спасибо. Не хватит этой тиньки. Пробывал на нано, иде просит 4 кб флеша. А надо мне изобразить модуль реле по модбас, вот и ищу для этой задачи контроллер подешевле.

FLProg есть поддержка Attiny-13 (ТЕСТИРУЕМ)

Добавлено: 18 янв 2022, 05:23
Naladchik
com писал(а): 17 янв 2022, 19:58 Не хватит этой тиньки.
13-й не хватит, смотри 85-тую , еще.

FLProg есть поддержка Attiny-13 (ТЕСТИРУЕМ)

Добавлено: 18 янв 2022, 07:32
com
Спасибо, то что нужно

Re: FLProg есть поддержка Attiny-13 (ТЕСТИРУЕМ)

Добавлено: 16 июл 2025, 12:40
Engineer09
Так и не не понял как добавить тиньку в ардуино иде, по ссылке не пойми что открывается и всё

Re: FLProg есть поддержка Attiny-13 (ТЕСТИРУЕМ)

Добавлено: 16 июл 2025, 13:46
Engineer09
Всё, разобрался! плохо что таймеры в этой тиньке не работают, придётся 85 брать