Обсуждаем контроллеры компании Atmel.
Ответить

Re: помогите получить прошивку для тини13

Ср янв 26, 2022 00:36:30

veso74, Вы будете смеяться но у меня появилось 4 новых папки в Документах за последние сутки и ярлык
Гитхаб десктоп. который требовал репозиторий. Ни одна из 12 подпапок в Ардуино ему не подошла. создал Новую типа Гитхаб в доках,
оно стало искать емэйл...вобще нахально. И ничего похожего на вашу красивую картинку...(

Еще создались 3 папки Студио - визуал, микрочип и атмел...)
Честно я запутался с непривычки. Но чувствую покопаться будет интересно если АВР дойдет до стадии программирования.

Добавлено after 34 minutes 17 seconds:
VNS, посмотрел Ваш emergency_start.hex .
первые 8 это адресация видимо как всегда. Потом 25с0
и 9 штук 1895 забавно. Что это такое?...В конце строки наверно контрольная сумма.
В начале число слов и адрес воде для зашивки. Вспоминается.

В вашем коде я бы инвертировал обратно РВ1, без оптопары будет обычный делитель так проще и дешевле.
Конечно оптопара выглядит красиво на схеме...
0,5 сек паузы было вполне нормально для снятия питания с платы управления но можно и больше ждать, нечего аварии вызывать...

5сек пожалуй многовато, может не пройти команда, я бы выбрал от 4.1 ... до 5ти. Хотя в некоторых случаях срабатывание происходит после 2х сек, надо проверять, но надежнее 4с. Практика покажет когда оно всё заработает.
А вот после пуска контроль надо проводить через 4сек чтоб всё устаканилось, через 1сек ничего толкового ещё не появится на выходе. Надо ждать >4 сек.
то есть - 5...10сек. нормально.

интересно что за 0F93 1F93 после инициализации процессора? )

Добавлено after 6 minutes 14 seconds:
можно выделить одну ножку для оптопары а другую для логического входа от делителя на резисторах Тогда сработка по переходу 1 в 0 ....))) и опрашивать по очереди

Добавлено after 3 minutes 1 second:
и после всего цикла контроль восстановления работы когда на доп. входе РВ? =1
Вложения
papki25jan22.jpg
(97.59 KiB) Скачиваний: 59

Re: помогите получить прошивку для тини13

Ср янв 26, 2022 00:54:35

... но у меня появилось 4 новых папки в Документах за последние сутки и ярлык
Гитхаб десктоп. который требовал репозиторий. Ни одна из 12 подпапок в Ардуино ему не подошла. создал Новую типа Гитхаб в доках,
оно стало искать емэйл...вобще нахально. И ничего похожего на вашу красивую картинку...

Сложная работа скорее всего :).

Попробуйте действия на картинках и на отмеченных шагах:
1. Скопируйте архив с Гитхаба.
2. Перейдите в папку Arduino и создайте собственная hardware, если ee нет.
3. Разархивируйте там пакет архива с папками и файлами, с основная папка MicroCore-master.
4. Переименуйте папку до MicroCore (удалить -master).

Это при закрытая программа Arduino IDE. Таких действий достаточно. При запуске меню должно появиться в Arduino IDE.
Вложения
1.jpg
(238.46 KiB) Скачиваний: 54
2.jpg
(96.11 KiB) Скачиваний: 55
3.jpg
(110.42 KiB) Скачиваний: 53

Re: помогите получить прошивку для тини13

Ср янв 26, 2022 02:39:02

VNS, посмотрел Ваш emergency_start.hex .
первые 8 это адресация видимо как всегда.

Да Вы батенька профи как оказалось… :)) я лишь просто любитель и такими знаниями не владею… читать машинные коды не умею… :dont_know: уж извините, это без меня. :beer:
VitalV писал(а):В вашем коде я бы инвертировал обратно РВ1, без оптопары будет обычный делитель так проще и дешевле.

Ну раз желаете через делитель, то как говорится: хозяин – барин. Но имейте ввиду, что при таком подходе необходимо позаботится о защите вывода МК на случай неисправности делителя.
Так или иначе но по Вашей просьбе вывод РВ1 инвертировал… паузу импульса 5 сек (РВ4), уменьшил до 4 сек. Паузу контроля при восстановлении напряжения увеличил с 1 сек, до 7 сек.
emergency_start_d.hex
(451 байт) Скачиваний: 137

Re: помогите получить прошивку для тини13

Ср янв 26, 2022 09:08:55

VNS, посмотрел Ваш emergency_start.hex .
первые 8 это адресация видимо как всегда.

необходимо позаботится о защите вывода МК на случай неисправности делителя.

спасибо за труды!...осталось купить и зашить корпус...
по защите я посмотрел пдф на атини13 - там пара диодов должна ограничивать ток пробоя через последовательный резистор делителя входа. У меня 1М5 поставлен, но надо подумать - ток утечки входа до 8мкА допускается в пин. Может делитель по_низкоомней придется подобрать если реально такая большая утечка.
Изображение

Добавлено after 46 minutes 9 seconds:
Это при закрытая программа Arduino IDE. Таких действий достаточно. При запуске меню должно появиться в Arduino IDE.

Уважаемый veso74 а вот это Arduino IDE когда и откуда появляется? В микрокоре.зип вообще нет экзе- файлов только си и тп. md....
:shock:
у меня студии 7,0 стоят но не работают совсем, микрочипская и атмеловская( никакого макроассемблера хотя бы...бесполезные...

Посоветуйте пож. простенький Ардуино где лучше взять :)

Re: помогите получить прошивку для тини13

Ср янв 26, 2022 09:33:34

Уважаемый veso74 а вот это Arduino IDE когда и откуда появляется? В микрокоре.зип вообще нет экзе- файлов только си и тп. ...
Посоветуйте пож. простенький Ардуино где лучше взять :)

С оригинального сайта:
1. https://www.arduino.cc/en/software
2. DOWNLOAD OPTIONS: Windows Win 7 and newer
3. JUST DOWNLOAD
4. установка со всеми опциями, работающими по умолчанию

Готово. И начинаете обновлять IDE для ATtiny13A, от предыдущего сообщения.

Для китайской клон Arduino понадобятся и их драйвера чипа CH340. Примерно здесь:
http://www.wch.cn/download/CH341SER_EXE.html

Re: помогите получить прошивку для тини13

Ср янв 26, 2022 10:01:46

Это хорошо, ежли у желающего комп с виндовс7 или 10кой.
Если старый с ХР то придется ограничиться 1.8.9 (в "portable" варианте + флэшка гигабайт на 8 минимум) и некоторыми "танцами с бубном" при содействии дружественного знакомого, имеющего комп с 7/10й.
8)

Re: помогите получить прошивку для тини13

Ср янв 26, 2022 10:14:11

Большинство старых версий также там есть:
https://www.arduino.cc/en/software/OldSoftwareReleases

На работе у меня на старом компе с winXP стоит точно Arduino IDE v1.8.9. Работают нормально (без последних надстроек и устройств). А и пытаемся написать код, совместимый "вниз" :). Не то, чтобы это всегда происходит, но интересно.

Re: помогите получить прошивку для тини13

Ср янв 26, 2022 11:55:56

Для комфортной работы как вновь установленной IDE, так и при установке расширенного перечня платформ(обновления версий ранее установленных) именно на компе с ХР придётся таки солидным "шаманизмом" заниматься.
Это связано с изменением чего-то в протоколах интернета.
Ежли упаси боже запустить менеджер платформ на компе с ХР при активном подключении к тырнету можно полностью угробить уже установленную 1.8.9
А использовать старый добрый комп с ХР таки привычно и удобно...
Воть потому и пришлось на этот случай перейти к "портале" варианту сразу на двух носителях - одна версия на диске компа с ХР, вторая установлена на флешке (тоже в самом начале под ХР).
Далее уже проще - тащим флешку на ПК с 7/10, там запускаемых и обновляем.
Затем флешка ставится на ПК с ХР и содержимое копируется в соответствующие каталоге на диске в ПК.
8)
Для более поздних операционок и версий IDE такой шаманизм уже не требуется.
:beer:

Re: помогите получить прошивку для тини13

Ср янв 26, 2022 12:28:07

Так как неоднократно возникло несоответствия обновленными библиотеками (авторы иногда обновляют библиотеки, почему-то иногда они несовместимы со старыми), я оставил все в "ручном режиме" (снимаю галочку в настройках для обновления) (liquidCrystal_I2C, Si5351и др.). И стараюсь иметь проекты с локальными путями для вложенных внешние библиотек. Так контроль более полный. А расширенные комментарии, например. для версии IDE, libs и др. в файлах (.ino, .cpp) в прошлом, экономит время в настоящем :).

Re: помогите получить прошивку для тини13

Ср янв 26, 2022 14:57:53

Тут уж зависит от навыков и предпочтений.
Кто и сам библиотеки напишет, а кому и готовенькими воспользоваться удобно.
Портаблу с шаманством делал не для библиотек, а более для возможности установки и оперативного обновления "сторонних платформ" (да и "стандартных" в разумных пределах).
К примеру та же 1.8.9 дополнена всеми вариантами платформ с АВРками включая тиньки13, 2313, меги8515/162 и другие варианты.
Насчёт самодельных и не только библиотек - обычно на стадии написания и отладки проекта вставляют файлы в папке основного проекта без дополнительных папок-оболочек - тогда их удобно из основного окна IDE редактировать/ просматривать. А уж потом можно и по паркам раскидать.
8)
Но мы тут от основной темы несколько удалились - подождем, чего топикстартер новенького выложит.
:beer:

Re: помогите получить прошивку для тини13

Ср янв 26, 2022 15:20:51

поставил Ардуино 222МБ скачал, ввел код из начала темы с лупом и делэями, получил ошибку Аксесс денайед-


Installing Servo@1.1.8
Failed to install library: Arduino_BuiltIn:1.0.0.
Error: 13 INTERNAL: Library install failed: moving extracted archive to destination dir: rename C:\Users\User\Documents\Arduino\libraries\package-565094140\Servo-1.1.8 C:\Users\User\Documents\Arduino\libraries\Servo: Access is denied.
Изображение

пс. кстати - скачал понипрог, загрузил эмерженси.hex что выше выложили, так пони только первую строку прочёл и то кажется до половины ...(((
а дальше нули вроде или фф

Re: помогите получить прошивку для тини13

Ср янв 26, 2022 18:46:31

VitalV, .hex VNS-а для ATtini13A при силуляция в Proteus работает именно так, как он описал - при L -> PB1, выводы PB2, PB3 поднимаются и опускаются во времени.

.hex нормально загружается в программе программирования (eXtreme Burner - AVR). Если необходимо, и на реальном микроконтроллере могу попробовать. Проблема вероятно где-то в Ваших настройках и программах.

А за Arduino IDE: пока лучше вернитесь к версии v1.8.19.
(На v2.0.0-rc3 даже с blink я запутался в "изменениях программы" :) ).
Последний раз редактировалось veso74 Ср янв 26, 2022 19:03:19, всего редактировалось 1 раз.

Re: помогите получить прошивку для тини13

Ср янв 26, 2022 18:57:37

Если речь о моих прошивках, то они 100% отрабатывают тот алгоритм, который заказан… :) проверенно в железе на девборде… да там и код то всего несколько строчек, сложно было бы допустить ошибку… хотя я иногда будучи невнимательным оных допускаю, :))) потому стараюсь даже самый простой вариант проверить на девборде. Благо она имеется (и не одна) под рукой… так что с ними (прошивками) всё нормуль - рабочие. :beer:

Re: помогите получить прошивку для тини13

Ср янв 26, 2022 20:29:54

Стабильной и локализованой для офф-лайн работы можно считать только ардуиноIDE 1.8.19.
Двойка требует значительно больших ресурсов от компьютера.
8)
Но если уж комп воспринимает 1.8.19 (с учетом предварительно установленных пакетов jawa ver8 update321)
то есть смысл использовать автоматическую установку платформ через менеджер плат.
Там для тиньки 13 есть два варианта от разных авторов:
Код:
https://mcudude.github.io/MicroCore/package_MCUdude_MicroCore_index.json

и
Код:
https://raw.githubusercontent.com/sleemanj/optiboot/master/dists/package_gogo_diy_attiny_index.json

:roll:

Re: помогите получить прошивку для тини13

Ср янв 26, 2022 22:23:58

что то написал но стёрлось браузером само...

спасибо всем за введение в тему! нашел тут дизассемблер
https://www.radiokot.ru/forum/viewtopic.php?p=665596

и прокомментил
----------
AVR DISASSEMBLER LISTING
Address Opcode Instruction
----------
000000 C025 RJMP L1
000001 9518 RETI
000002 9518 RETI
000003 9518 RETI
000004 9518 RETI
000005 9518 RETI
000006 9518 RETI
000007 9518 RETI
000008 9518 RETI
000009 9518 RETI

00000A 930F L5: PUSH R16 //пауза delay(R16, R17)
00000B 931F PUSH R17
00000C E207 LDI R16,$27
00000D E011 LDI R17,$01
00000E 5001 L2: SUBI R16,$01
00000F 4010 SBCI R17,$00
000010 F7E9 BRNE L2
000011 0000 NOP
000012 0000 NOP
000013 911F POP R17
000014 910F POP R16
000015 930F L4: PUSH R16
000016 931F PUSH R17
000017 E208 LDI R16,$28
000018 E011 LDI R17,$01
000019 5001 L3: SUBI R16,$01
00001A 4010 SBCI R17,$00
00001B F7E9 BRNE L3
00001C 0000 NOP
00001D 0000 NOP
00001E 0000 NOP
00001F 911F POP R17
000020 910F POP R16
000021 5001 SUBI R16,$01
000022 4010 SBCI R17,$00
000023 F789 BRNE L4
000024 0000 NOP
000025 9508 RET


000026 E90F L1: LDI R16,$9F
000027 BF0D OUT SPL,R16
000028 E108 LDI R16,$18
000029 BB07 OUT DDRB,R16
00002A E005 LDI R16,$05
00002B BB08 OUT PORTB,R16
00002C E60F LDI R16,$6F
00002D E117 LDI R17,$17 //7
00002E DFDB RCALL L5

00002F EE07 L6: LDI R16,$E7 //1
000030 E013 LDI R17,$03
000031 DFD8 RCALL L5

000032 99B1 SBIC PINB,1 //это контролька входа
000033 CFFB RJMP L6

000034 9AC3 SBI PORTB,3 //3=1
000035 ED0B LDI R16,$DB //1,5 сек
000036 E015 LDI R17,$05
000037 DFD2 RCALL L5

000038 98C3 CBI PORTB,3 //3=0
000039 EE07 LDI R16,$E7 //1
00003A E013 LDI R17,$03
00003B DFCE RCALL L5

00003C 9AC4 SBI PORTB,4 //4=1
00003D EE07 LDI R16,$E7
00003E E013 LDI R17,$03
00003F DFCA RCALL L5

000040 98C4 CBI PORTB,4 //4=0
000041 EE07 LDI R16,$E7 //1
000042 E013 LDI R17,$03
000043 DFC6 RCALL L5

000044 9AC4 SBI PORTB,4 //4=1
000045 E90F LDI R16,$9F //5сек
000046 E01F LDI R17,$0F
000047 DFC2 RCALL L5

000048 98C4 CBI PORTB,4 //4=0
000049 E60F LDI R16,$6F //7с
00004A E117 LDI R17,$17
00004B DFBE RCALL L5

00004C CFE2 RJMP L6

хоть понятно где константы времени подбирать. оперативно.
А время надо Ардуино поизучать и Студио разные)

пс. хотел листинг приаттачить но чего то админом запрещено? хм могу переименовать но принцип запрета непонятен
:dont_know: :dont_know:

Re: помогите получить прошивку для тини13

Чт янв 27, 2022 08:00:37

Теперь пора вспомнить и о следующем вопросе:
viewtopic.php?p=4167790#p4167790
который остался без ответа. :)
Так нужно ли организовывать конкретное число попыток запуска, или пусть долбит бесконечно при какой либо неисправности? :))

Re: помогите получить прошивку для тини13

Чт янв 27, 2022 08:36:35

VNS, в начале не было указано, так что пусть перезапускает...
Если после испытаний будут предложения. то можно доработать программу, я полагаю.
Мой рабочий макет на рассыпухе работает "бесконечно" ) вот уже несколько дней...
конечно приходится вызывать перегрузки "ручным" способом, это как пожарный топор висит с ведром на красном щите...
на тот самый случай.
Как сделаю платушку и запрограммирую, отпишусь.

пс. по здравому размышления, если произошёл сбой в системе вследствие аварии или случайного сброса, то
например, минут 5 можно пытаться запускать раз в несколько минут,
если причины сбоя не устранены типа короткого замыкания, допустим нет людей для легкого ремонта,
или приедут через неделю, :shock:
можно перейти на режим пробного пуска через пол часа - час по одной минуте или несколько циклов.
Пока не хочется фантазировать особо... единственно можно обсудить быстродействие такого устройства и выбор внутренней частоты АВРа. :wink:

Re: помогите получить прошивку для тини13

Чт янв 27, 2022 09:34:17

VNS, посмотрел Ваш emergency_start.hex .
первые 8 это адресация видимо как всегда. Потом 25с0

ihex не так кодируется. После двоеточия первые 1 байт (две цифры) это количество данных, потом 2 байта адрес, потом 1 байт флаг типа данных (данные это вообще или еще что-то), потом собственно данные и наконец LRC-контрольная сумма.
Код:
 размер начало код         данные       контрольная сумма
:   0A   0090   00 C4980FE617E1BEDFE2CF       CF

AVR DISASSEMBLER LISTING
Address Opcode Instruction

Если уж вы пытаетесь разобраться в формате ihex и ассемблерных кодах, надо ли возиться с Ардуиной? Может проще начать с начала - AVRStudio4, встроенный симулятор, ассемблер?

Re: помогите получить прошивку для тини13

Чт янв 27, 2022 10:59:44

единственно можно обсудить быстродействие такого устройства и выбор внутренней частоты АВРа. :wink:

При таком алгоритме, частота тактирования вообще не важна. То есть ничего она особо не изменит. Предлагаю оставить заводскую установку (1,2 МГц). Меньше повода ошибиться с фьюзами и в следствии чего "потерять" МК. :)

ЗЫ. Сейчас набросаю дополнение о вышеизложенном... :write:

Добавлено after 43 minutes 29 seconds:
Алгоритм по временным интервалам практически тот же, но с добавлением количества попыток и световой индикацией.
Алгоритм:
При подаче питания выдерживается пауза (7 сек) перед опросом вывода РВ1. Если на выводе РВ1 лог 1, то зажигается зелёный светодиод (РВ2), и последующая проверка вывода РВ1 производится через каждую секунду.
Если на выводе РВ1 появился лог 0, то гаснет зелёный светодиод и через 500 мс производится алгоритм пуска. При этом красный светодиод начнёт мигать. После окончания алгоритма пуска производится пауза (7 сек.), после которой производится проверка вывода РВ1.
Если на выводе РВ1 лог 1, то через 1 секунду зажигается зелёный светодиод, и последующая проверка вывода РВ1 продолжает производится через каждую секунду.
Если после первой попытки алгоритма пуска на выводе РВ1 лог 0 то через 500 мс производится повторная попытка алгоритма пуска.
По окончании трёх попыток, красный светодиод начинает постоянно гореть, сигнализируя о завершении процедуры запуска. Далее МК ничего не контролирует, но включает таймер простоя (примерно 30 минут). По завершении отсчёта таймера проверяется вывод РВ1, если за время простоя никто не произвёл врукопашную запуск, то попытки запуска возобновляются. Если запуск во время простоя был кем-то произведён, то включается зелёный светодиод, сигнализируя о работе в дежурном режиме.
emergency_start_Vb.hex


Поправил алгоритм… добавил процедуру которую выпустил из виду (для корректной работы)… и организовал проверку вывода РВ1 в момент отсчёта паузы (30 мин), а не по окончании данного отсчёта как в предыдущей версии (которую удалил).
emergency_start_Vb.hex
(1.04 KiB) Скачиваний: 91

Re: помогите получить прошивку для тини13

Чт янв 27, 2022 21:06:10

Проверил на железе, работает как описано.
Ответить