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

Удалить.

СообщениеДобавлено: 07 фев 2019, 10:14
Андрей
Удалить.

Re: Atmega328P - в протеусе работает, в железе виснет

СообщениеДобавлено: 07 фев 2019, 11:53
agent_serg
А подтяжку входов к плюсу питания Вы сделали?
Можно программно, лучше резистором.

Re: Atmega328P - в протеусе работает, в железе виснет

СообщениеДобавлено: 07 фев 2019, 12:00
Андрей
Подтяжка на плате сделана с помощью резисторов 5.1кОм

Re: Atmega328P - в протеусе работает, в железе виснет

СообщениеДобавлено: 07 фев 2019, 13:06
Виктор53
Андрей, твоя конструкция в железе на печатной плате без длинных проводов, идущих к датчикам? Причины неустойчивой работы, как минимум- блок питания, пульсации, возбуждение стабилизатора (как исполнен-имп. или статик), шунтирование емкостями(0.1-1мкф) входов меги, идущих к датчикам.
И почему Мега328, даже в Меге8, в таком же корпусе HEX занимает одну треть? Попробуй Мегу8, корпус один в один.

Re: Atmega328P - в протеусе работает, в железе виснет

СообщениеДобавлено: 07 фев 2019, 13:23
livrena
Вечером гляну в железе.

Re: Atmega328P - в протеусе работает, в железе виснет

СообщениеДобавлено: 07 фев 2019, 13:52
Андрей
Wiktor53 писал(а):Андрей, твоя конструкция в железе на печатной плате без длинных проводов, идущих к датчикам? Причины неустойчивой работы, как минимум- блок питания, пульсации, возбуждение стабилизатора (как исполнен-имп. или статик), шунтирование емкостями(0.1-1мкф) входов меги, идущих к датчикам.
И почему Мега328, даже в Меге8, в таком же корпусе HEX занимает одну треть? Попробуй Мегу8, корпус один в один.


Изначально были космические планы на этот проект, купил этот контроллер с большим объемом памяти. Сейчас что есть то есть.

Блок питания - ЛБП (тут все отлично), стабилизатор для питания МК 5 вольт как вкопанные, просадок нет. Ёмкостей на плате полно - по каждому входу, по каждой ножке питания. Датчики - обычные кнопки, на столе это кусок провода 2 см длинной.

Все таки после долгих мучений я увидел закономерность - программа "начинает коряво работать" при выполнении нужных условий при выходе из SWITCH CASE "Chto_Delaem_1". В этот момент должны выполнится эти уравнения:
Rezhim_LED_Day_Night = 2
Chto_delaem = 0
Timer_ogidanie_konc_vorot = 0
Так вот, Rezhim_LED_Day_Night = 2 - говорит о том, что у нас в перывании должен начать мигать светодиод по выходу порт С5, а он в этот момент тухо тухнет. Вот после этого момента программа начинает работать некорректно.

Самое удивительное что до этого глюка (он появляется через энное количество ПРАВИЛЬНО отработанных переходов) переход из этого режима и возврат в этот режим назад - работает отлично. Но в какой то момент выход из этого режима вызывает глюк. Тут либо МК глючит (покупался в чип и дип), либо код.

После этого "Глюка", уже не выполняется код из ветки (фото во вложении)

Re: Atmega328P - в протеусе работает, в железе нет (глюк про

СообщениеДобавлено: 07 фев 2019, 19:51
Андрей
Здравствуйте попробуйте скомпилировать в 6 версии или в 8. У меня было один раз на Atmega16 в 5 был глюк в 6 работало как часы.

Re: Atmega328P - в протеусе работает, в железе нет (глюк про

СообщениеДобавлено: 07 фев 2019, 20:05
Андрей
Да вот у меня мысль была может глюк в FC файле 328Р ?
И мне не понятно почему протеус не глючит...
А где взять 6-ую версию? Или 8 но с кряком?

А если взять другой МК, глюк может уйти?

Re: Atmega328P - в протеусе работает, в железе нет (глюк про

СообщениеДобавлено: 07 фев 2019, 20:10
Enigm
Фловкоде 8
https://www.softustad.com/programming/flowcode/

viewtopic.php?f=8&t=2160&start=60 почитать

Re: Atmega328P - в протеусе работает, в железе нет (глюк про

СообщениеДобавлено: 07 фев 2019, 20:25
livrena
Andrey0016 писал(а):Добрый день. Прошу помощи.
Есть проект, который в зависимости от сигнала на порту (вход 1 или 0) должен выполнить 1 или 2 действие и ждать изменения на порту.
Также, в случае сигнала на другой порт (лог.0) - включается режим аварии и выполняется 3 код.
Проблема:

немного глянул твой проект.непонятно как работает if (Opros_Koncevikov).
четверть секунды идет подсчёт до 31 и сразу выполняется сброс в 0 в макросе Opros_Koncevikov и опять ждём четверть секунды для следующего опроса.
на мой взгляд алгоритм несколько странный для опроса концевиков.
полностью понять что ты задумал нужно более подробное описание работы и ......время

в макросе прерыване по таймеру нужно организовывать нужные временные интервалы в (переменных) а всевозможные расчёты делать в теле программы .