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

Ответить
Turb0user
Рядовой
Сообщения: 46
Зарегистрирован: 20 мар 2017, 19:33
Имя: Евгений

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

Сообщение 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]
Пробуем, тестируем, отписываемся, если что - будем править.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
shpuntic48
Рядовой
Сообщения: 25
Зарегистрирован: 26 июн 2020, 07:17
Откуда: Khabarovsk
Имя: михаил

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

Сообщение shpuntic48 »

Почему то не загружается вложение
Аватара пользователя
ivanpost
Сержант
Сообщения: 203
Зарегистрирован: 24 сен 2016, 22:26
Откуда: Тольятти
Имя: Иван
Благодарил (а): 3 раза
Поблагодарили: 8 раз
Контактная информация:

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

Сообщение ivanpost »

Turb0user писал(а): 08 июн 2020, 20:27 Всем привет.
Известно что начиная с ...
Пробуем, тестируем, отписываемся, если что - будем править.
У вас не правильно указаны аналоговые входы. В результате, с их использованием не будет работать скетч. Я исправил - вроде все включается.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Radiomaestro
Рядовой
Сообщения: 3
Зарегистрирован: 11 окт 2020, 09:03
Имя: Сергей

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

Сообщение Radiomaestro »

Добрый день! А как добавить аттини в Arduino IDE
shpuntic48
Рядовой
Сообщения: 25
Зарегистрирован: 26 июн 2020, 07:17
Откуда: Khabarovsk
Имя: михаил

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

Сообщение shpuntic48 »

Подскажите не работает аналоговый вход
управление потенциометром
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
AlexCrane
Капитан
Сообщения: 903
Зарегистрирован: 20 окт 2017, 13:22
Откуда: Ульяновск
Имя: Александр
Поблагодарили: 12 раз

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

Сообщение AlexCrane »

[ref]shpuntic48[/ref], Используйте версию платы 1.0.7. Начиная с версии 2.0 аналоговые входа надо объявлять как А0, А1 и т.д. Существующий редактор пользовательских контроллеров видимо так не умеет, либо я не знаю как.
Если не знаю, то не скажу. Если скажу, то сначала проверю...
Если нет возможности отблагодарить материально, хотя бы оцени пост....
Labu559
Лейтенант
Сообщения: 359
Зарегистрирован: 25 янв 2018, 22:23
Откуда: Bukovyna
Имя: Василий

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

Сообщение 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]
Удачи!
У вас нет необходимых прав для просмотра вложений в этом сообщении.
com
Капитан
Сообщения: 832
Зарегистрирован: 31 май 2018, 22:12
Откуда: Санкт-Петербург
Имя: Ринат

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

Сообщение com »

[ref]Labu559[/ref], можно ли на attiny реализовать modbus?
Labu559
Лейтенант
Сообщения: 359
Зарегистрирован: 25 янв 2018, 22:23
Откуда: Bukovyna
Имя: Василий

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

Сообщение Labu559 »

com писал(а): 15 янв 2022, 13:52 ...на attiny реализовать modbus?
Ув. Ринат! Можно или нет не скажу, так как мне неизвестны Ваши остальные задачи и к собственному стыду не имел никаких соприкосновений с этими протоколами. Могу сказать, что програмный интерфейс UART будет "стоить" около 600 кБ памяти программ (Flash). А вот возможно ли создать необходимый буфер для приёма целиком кадра (пакета) данных MODBUS и при этом посчитать его контрольную суму при оперативной памяти в 64 байта- :smile44: ???
com
Капитан
Сообщения: 832
Зарегистрирован: 31 май 2018, 22:12
Откуда: Санкт-Петербург
Имя: Ринат

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

Сообщение com »

[ref]Labu559[/ref], Спасибо. Не хватит этой тиньки. Пробывал на нано, иде просит 4 кб флеша. А надо мне изобразить модуль реле по модбас, вот и ищу для этой задачи контроллер подешевле.
Naladchik
Капитан
Сообщения: 908
Зарегистрирован: 04 окт 2015, 19:10
Откуда: Новосибирск
Имя: Павел
Благодарил (а): 20 раз
Поблагодарили: 22 раза

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

Сообщение Naladchik »

com писал(а): 17 янв 2022, 19:58 Не хватит этой тиньки.
13-й не хватит, смотри 85-тую , еще.
Win10-64. FLProg Portable.
Изображение
com
Капитан
Сообщения: 832
Зарегистрирован: 31 май 2018, 22:12
Откуда: Санкт-Петербург
Имя: Ринат

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

Сообщение com »

Спасибо, то что нужно
Ответить

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

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя