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

Неиспользуемые пины переключить на выход

Добавлено: 29 май 2019, 11:23
SSSergeich
IMHO, было бы не плохо получить возможность, все неиспользуемые в проекте пины, объединить в группу и назначить как "выход"
В последнее время часто сталкивался с зависаниями, в некоторых случаях помогло такое решение. Ладно на atmega328p еще не так много пинов, можно в ручную поклацать, а вот например с mega2560 несколько хуже...

Неиспользуемые пины переключить на выход

Добавлено: 29 май 2019, 13:25
pvorobei
Вот эти блоки посотрите там есть блок выхода к земле.
[spoiler]
Сон_v2.ubl
[/spoiler]

Неиспользуемые пины переключить на выход

Добавлено: 29 май 2019, 13:27
Goosr
А вы полагаете, что не объявленный пин может привести к зависанию контроллера? :smile37:

Неиспользуемые пины переключить на выход

Добавлено: 29 май 2019, 13:41
pvorobei
[ref]Goosr[/ref], Да, вполне. особенно если помех рядом куча.
выставление пинов, конечно не панацея, но ощутимый результат дает.

Неиспользуемые пины переключить на выход

Добавлено: 29 май 2019, 14:08
Goosr
Просто у мнея ардуинки стоят в шкафах управления станков, рядом с пускателями, трансформаторами и силовыми проводами и ни разу таких проблем за три года не было.
Что-то я не так делаю. :smile171:
[spoiler]
P90529.jpg
[/spoiler]

Неиспользуемые пины переключить на выход

Добавлено: 29 май 2019, 15:55
kulibinsvv
[ref]pvorobei[/ref], посмотрите в datasheet. Там про эту ситуацию всё написано:
[spoiler]
Конфигурация выводов.png
[/spoiler]
[spoiler]
Неподключенные выводы.png
[/spoiler]

Неиспользуемые пины переключить на выход

Добавлено: 29 май 2019, 17:14
SSSergeich
Goosr писал(а): 29 май 2019, 14:08 Просто у мнея ардуинки стоят в шкафах управления станков, рядом с пускателями, трансформаторами и силовыми проводами и ни разу таких проблем за три года не было.
Что-то я не так делаю. :smile171:
[spoiler]P90529.jpg[/spoiler]
Аналогично, стоят в таких шкафах без сбоев.

Отправлено спустя 2 минуты 5 секунд:
А вот на кухне, рядом с пьезоподжигом висло часто, пока не переключил все неиспользуемые пины на выход.
Недавно столкнулся с проблемой с панелью NEXTION, при подключении всего лишь к одному источнику питания, контроллер зависает наглухо

Отправлено спустя 3 минуты 39 секунд:
pvorobei писал(а): 29 май 2019, 13:25 Вот эти блоки посотрите там есть блок выхода к земле.
Это немножко не то, хотелось бы автоматом в программе иметь такую... чтобы не высматривать самому, какие остались и прописывать в ручную

Неиспользуемые пины переключить на выход

Добавлено: 29 май 2019, 20:24
benic
Пишут можете физически подтянуть,опасно.
Так до конца и не понял, но вот интересно
__no_operation ();

аналог nop

Неиспользуемые пины переключить на выход

Добавлено: 29 май 2019, 21:42
SSSergeich
benic писал(а): 29 май 2019, 20:24 Пишут можете физически подтянуть,опасно.
Как я понял, то опасно сажать на + или GND, что лучше настроить их на output

Неиспользуемые пины переключить на выход

Добавлено: 30 май 2019, 06:55
kulibinsvv
После сброса во всех внутренних регистрах управления микроконтроллера записаны нули (см datasheet). Поэтому, согласно приведённой таблицы, все выводы находятся в высокоимпедансном состоянии (Z-состояние, или по простому - отключены от линии) до тех пор пока вы чего-нибудь не запишите в регистры.
Рекомендуется пересмотреть печатный монтаж, расположение элементов, применить блокировочные конденсаторы, изменить расположение платы относительно силовых и/или помехоизлучающих элементов конструкции.
Изучите внимательнее устройство микроконтроллера и его конфигурирование и подобные "трюки" возможно вам больше не понадобятся.

Неиспользуемые пины переключить на выход

Добавлено: 30 май 2019, 10:00
SSSergeich
kulibinsvv писал(а): 30 май 2019, 06:55 Рекомендуется пересмотреть печатный монтаж, расположение элементов, применить блокировочные конденсаторы, изменить расположение платы относительно силовых и/или помехоизлучающих элементов конструкции.
При условии, что когда сам разрабатываешь печатную плату для устройства - абсолютно согласен. А вот когда имеешь дело с купленной ардуиноподобной платой, то тут в схемотехнику уже не полезешь.

Неиспользуемые пины переключить на выход

Добавлено: 30 май 2019, 17:00
dizzyy
а если создать пользовательский блок где огласить все пины выходами и притянуть их к минусу...блок разместить самым первым в 1 плате?
если по ходу будут встречатся другие оглашения пинов они просто перепишут дефолтное на нужное .

Неиспользуемые пины переключить на выход

Добавлено: 31 май 2019, 06:59
benic
В случае если ( к примеру) сидит на входе кнопка с нормально замкнутым контактом, то выход из строя.
Если подтянуть PULLUP, потом digitalRead, положительный результат то, на выход и это все в setup.

Неиспользуемые пины переключить на выход

Добавлено: 08 окт 2019, 08:57
ingener
Что-то не помогают никакие методы в борьбе с помехами в случае, если контроллер раполагается вблизи сварочного аппарата TIG (у которого бесконтактный поджиг дуги осуществляется за счет мощного высоковольтного импульса). Так вот при этом импульсе часто и виснет.
Осталось попробовать только заземлить корпус кварца (вроде Sancho соетовал где-то), и разве что сунуть контроллер в коробочку из медной фольги)
Все-таки хотелось бы понять, что именно сбивается в контроллере от помехи? Работа генератора? Алгортм программы?
PS - рядом лежит и работает простенький генератор с али (платка с дисплеем, регулируется частота и ШИМ) - так вот ему вообще фиолетово на все, любые помехи ему ни по чем.

Неиспользуемые пины переключить на выход

Добавлено: 08 окт 2019, 09:11
pan
ingener писал(а): 08 окт 2019, 08:57 контроллер раполагается вблизи сварочного аппарата
хорошо еще что там не прошило всё нафиг

Неиспользуемые пины переключить на выход

Добавлено: 08 окт 2019, 10:00
ingener
[ref=#ff8000]pan[/ref], прошивать там нечего, он же не в контакте со сварочным кабелем или высоковольтным трансом, а просто вынужден находиться вблизи источника (0,5.....1м)

Отправлено спустя 31 минуту 21 секунду:
Вопрос вообще не по методам защиты (обсуждалось уже много), а именно по механизму воздействия помехи на контроллер (что именно нарушается, какой процесс) :smile37:

Неиспользуемые пины переключить на выход

Добавлено: 08 окт 2019, 15:18
pan
ingener писал(а): 08 окт 2019, 10:00 прошивать там нечего, он же не в контакте
всё зависит от монтажа.
от сварки такие наводки могут прилетать...

а сбивается вероятнее всего тактирование

Неиспользуемые пины переключить на выход

Добавлено: 08 окт 2019, 15:51
ingener
pan писал(а): 08 окт 2019, 15:18 сбивается вероятнее всего тактирование
Можно поподробнее? Это внутренний генератор 16МГц? Т.е. просто вместо него если приспособить внешний, не такой нежный, то контроллеру будет фиолетово помехи?

Неиспользуемые пины переключить на выход

Добавлено: 08 окт 2019, 16:36
edyapd
Где-то читал, что внутренний генератор менее подвержен помехам. И от него самого тоже меньше помех. А внешний специально садят корпус на землю, чтобы он не влиял на МК.
Помехи могут идти и по питанию, если оно неправильно разведено. Бывает из дорожек получается петля, которая отлично выполняет роль антенны.

Неиспользуемые пины переключить на выход

Добавлено: 08 окт 2019, 17:07
ingener
интересно было бы продумать тему оптоволоконной связи контроллера с внешним миром в условиях сильных помех. Как показал опыт в конкретной ситуации, обычные оптопары не спасают. То ли емкости у них хватает, то ли еще что, но помеха проскакивает. Пробовал разные оптопары, в т.ч увеличенного размера (CNY65)
Что если использовать обычное декоративное оптоволокно (лампы из него делают), по торцам ставим фото- и светодиоды, и готова 100% помехозащищенная связь? Правда, на каждый сигнал будет нужна своя жила, но обычно сигналов от внешних датчиков не так много. Да и протокол наверняка так можно передавать.
А если светодиод видимого спектра, то вообще можно будет визуально наблюдать наличие сигнала :)