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

Добавление не родного микроконтроллера Attiny-13

Ответить
Turb0user
Рядовой
Сообщения: 44
Зарегистрирован: 20.03.2017{, 19:33}
Репутация: 10
Имя: Евгений

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

#1

Сообщение Turb0user » 08.06.2020{, 20:27}

Всем привет.
Известно что начиная с шестой версии программы появилась возможность добавлять поддержку сторонних микроконтроллеров.
Недавно мне попался в руки Attiny-13. И я попробовал добавить его. Оказалось не сложно. Работать теперь очень удобно.

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

shpuntic48
Рядовой
Сообщения: 21
Зарегистрирован: 26.06.2020{, 07:17}
Репутация: 0
Откуда: Khabarovsk
Имя: михаил

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

#2

Сообщение shpuntic48 » 26.06.2020{, 07:57}

Почему то не загружается вложение

Аватара пользователя
ivanpost
Сержант
Сообщения: 140
Зарегистрирован: 24.09.2016{, 22:26}
Репутация: 4
Откуда: Тольятти
Имя: Иван
Контактная информация:

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

#3

Сообщение ivanpost » 09.10.2020{, 19:27}

Turb0user писал(а):
08.06.2020{, 20:27}
Всем привет.
Известно что начиная с ...
Пробуем, тестируем, отписываемся, если что - будем править.
У вас не правильно указаны аналоговые входы. В результате, с их использованием не будет работать скетч. Я исправил - вроде все включается.
Вложения
ATTINY-13.zip
(1.37 МБ) 293 скачивания

Radiomaestro
Рядовой
Сообщения: 3
Зарегистрирован: 11.10.2020{, 09:03}
Репутация: 1
Имя: Сергей

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

#4

Сообщение Radiomaestro » 11.10.2020{, 09:15}

Добрый день! А как добавить аттини в Arduino IDE

shpuntic48
Рядовой
Сообщения: 21
Зарегистрирован: 26.06.2020{, 07:17}
Репутация: 0
Откуда: Khabarovsk
Имя: михаил

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

#5

Сообщение shpuntic48 » 27.02.2021{, 04:17}

Подскажите не работает аналоговый вход
управление потенциометром
Вложения
pwm_ attiny13.flp
(2.23 МБ) 71 скачивание
Безымянный.jpg
Безымянный.jpg (52.58 КБ) 1887 просмотров
555.jpg
555.jpg (6.05 КБ) 1887 просмотров

Аватара пользователя
AlexCrane
Капитан
Сообщения: 895
Зарегистрирован: 20.10.2017{, 13:22}
Репутация: 294
Откуда: Ульяновск
Имя: Александр

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

#6

Сообщение AlexCrane » 27.02.2021{, 09:51}

shpuntic48, Используйте версию платы 1.0.7. Начиная с версии 2.0 аналоговые входа надо объявлять как А0, А1 и т.д. Существующий редактор пользовательских контроллеров видимо так не умеет, либо я не знаю как.
Если не знаю, то не скажу. Если скажу, то сначала проверю...
Если нет возможности отблагодарить материально, хотя бы оцени пост....

Labu559
Лейтенант
Сообщения: 359
Зарегистрирован: 25.01.2018{, 22:23}
Репутация: 95
Откуда: Bukovyna
Имя: Василий

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

#7

Сообщение Labu559 » 27.02.2021{, 13:34}

shpuntic48 писал(а):
27.02.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 байта а тут ещё умножение и деление). Несколько дней потерял надеясь, что это виноват
Протеус с его симуляцией схемы,Показать
Tiny13wTM1637.png
но в железе получился тот-же результат, даже функцию map() приводил к беззнаковому целочисленному типу uint16_t (опять привет FLProg!) вместо long. К тому же указанная функция не упоминается как поддерживаемая в фреймворке MicroCore. Как решение рекоммендую применять вместо функции map() другие способы масштабирования:
Первый способПоказать
Битовый сдвиг 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;
Второй способПоказать
Применениё множественных измерений с накоплением (суммированием) результатов и отбрасыванием шума АЦП (девиаций измерений) или младших бит в которых он присутствует. Так для 2-х измерений суммирующее значение АЦП превратиться в диапазон 0...2048 отсчетов, 3-х в 0...3072, 4-х в 0...4096 и т.д. Этот принцип (упрощённо) заложен в основе оверсемплинга АЦП, как в ардуиносовместимых платах MassDuino328D, в которых 12-битный АЦП, и результат измерений 16-ти битный 0...65536 и в функциях усреднения значений/фильтрах.
Третий способПоказать
Варьировать питанием МК (необходима высокоточная стабилизация) с включением AREF External (т.е. от питания МК). Таким образом макс.1024 отсчётов АЦП могут соответствовать от 1,8 до 5,5В для частоты тактирования до 4МГц и от 2,7 до 5,5В для максимальной частоты 9,6МГц тактирования от внутреннего RC-генератора без прескаллера. В таком случае резистор запитки АЦП отъест один вывод Attiny13 (ADC0 если не ошибаюсь).
И результат:Показать
Attiny13_analogRead_Write.ino
(373 байт) 50 скачиваний
Attiny13_analogRead_Write.png
Удачи!

com
Капитан
Сообщения: 831
Зарегистрирован: 31.05.2018{, 22:12}
Репутация: 83
Откуда: Санкт-Петербург
Имя: Ринат

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

#8

Сообщение com » 15.01.2022{, 13:52}

Labu559, можно ли на attiny реализовать modbus?

Labu559
Лейтенант
Сообщения: 359
Зарегистрирован: 25.01.2018{, 22:23}
Репутация: 95
Откуда: Bukovyna
Имя: Василий

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

#9

Сообщение Labu559 » 17.01.2022{, 16:50}

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

com
Капитан
Сообщения: 831
Зарегистрирован: 31.05.2018{, 22:12}
Репутация: 83
Откуда: Санкт-Петербург
Имя: Ринат

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

#10

Сообщение com » 17.01.2022{, 19:58}

Labu559, Спасибо. Не хватит этой тиньки. Пробывал на нано, иде просит 4 кб флеша. А надо мне изобразить модуль реле по модбас, вот и ищу для этой задачи контроллер подешевле.

Naladchik
Капитан
Сообщения: 822
Зарегистрирован: 04.10.2015{, 19:10}
Репутация: 151
Откуда: Новосибирск
Имя: Павел

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

#11

Сообщение Naladchik » 18.01.2022{, 05:23}

com писал(а):
17.01.2022{, 19:58}
Не хватит этой тиньки.
13-й не хватит, смотри 85-тую , еще.
Win10-64. FLProg Portable.
Изображение

com
Капитан
Сообщения: 831
Зарегистрирован: 31.05.2018{, 22:12}
Репутация: 83
Откуда: Санкт-Петербург
Имя: Ринат

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

#12

Сообщение com » 18.01.2022{, 07:32}

Спасибо, то что нужно

Ответить

Вернуться в «Arduino. Другие МК»