реклама на сайте
подробности

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Глюки у PIC18
avartemiy
сообщение Apr 21 2010, 07:58
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 34
Регистрация: 9-04-08
Пользователь №: 36 629



День добрый, если он добрый... help.gif
Вопрос на засыпку:
Может ли измениться ROM в PIC18F4520-I/P от каких-то помех?
Ситуация следующая:
Есть контроллер инкубатора, недавно работающий нормально и в какой-то момент (возможно при смене положения лотков) стал работать не стабильно, т.е. не правильно выполнять переход по меню, не в тех пределах изменять задаваемые параметры (пределы заданы #define) и т.д. Лотки ворочает 12В привод от стеклоподъемника ВАЗ-2110.
Не исправляет ситуацию даже выключение питания на длительное время.
Выкладываю схему и плату контроллера, может там баги..??

Сообщение отредактировал avartemiy - Apr 21 2010, 08:00
Эскизы прикрепленных изображений
Прикрепленное изображение
Прикрепленное изображение
Прикрепленное изображение
Прикрепленное изображение

 
Go to the top of the page
 
+Quote Post
evc
сообщение Apr 21 2010, 11:23
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 206
Регистрация: 17-03-07
Из: Москва
Пользователь №: 26 266



Цитата(avartemiy @ Apr 21 2010, 12:13) *
...Может ли измениться ROM в PIC18F4520-I/P от каких-то помех?...
Не исправляет ситуацию даже выключение питания на длительное время...


У 18-ой серии есть возможность перезаписывать программную память в процессе работы.
Если программу не писали вы, есть две возможности: Либо плохо написана программа (не исключена возможность случайной записи во FLASH), либо тот кто писал программу, поставил "time-bomb" - через некоторое время, программа "сбивается" и вы (по идее) должны ему позвонить, что бы он это исправил (за деньги, конечно). Во втором случае помогло бы перепрограммирование микроконтроллера (поскольку внешней памяти нет), если файл прошивки у вас имеется, конечно.
Если программу писали вы, второй возможности нету. ( smile.gif , без обид!)
Попробуйте перепрограммировать PIC18F4520.
Ну и по схеме не видно что за блок питания там у вас. При включении двигателя возникает большой пусковой ток, превышающий номинальный в 10 - 20 раз...


--------------------
УЭР
Go to the top of the page
 
+Quote Post
avartemiy
сообщение Apr 21 2010, 20:40
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 34
Регистрация: 9-04-08
Пользователь №: 36 629



1. Прогу писал я, но процедуры записи в ПЗУ не использовал вообще здесь.
2. БП трансформаторный с номинальным током обмотки транса 7А, причем обмотка питания для процессора отдельная.
Общую схему приложил.
Причина редактирования: Бездумное цитирование

Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
evc
сообщение Apr 22 2010, 05:29
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 206
Регистрация: 17-03-07
Из: Москва
Пользователь №: 26 266



Цитата(avartemiy @ Apr 22 2010, 00:55) *
1. Прогу писал я, но процедуры записи в ПЗУ не использовал вообще здесь.

А в EEPROM пишете?
Power Up Timer включен?
Brown Out Detect?
Цитата(avartemiy @ Apr 22 2010, 00:55) *
2. БП трансформаторный с номинальным током обмотки транса 7А, причем обмотка питания для процессора отдельная.

Я бы убрал L1 и R11 (процессорный блок) и уменьшил R10 до 1к.
А что это за телефонный разъем?
В связи с этим задумайтесь, если в цепи +5В откуда ни возьмись появиться напряжение выше 5-ти, кто будет его ограничивать?
А у вас и управление нагрузками гальванически не развязано ...
Например, если получиться пик напряжения в цепи +5В, из-за L1 и C6 + C7 на выводе питания процессора существенного увеличения не произойдет, за то на вывод RST/Vpp получиться тот самый пик. Это может привести к вхождению в режим программирования.
Это общие рассуждения, раз вы сами делали весь проект, разберетесь.
Но самовольного стирания/изменения содержимого FLASH-а я не наблюдал.

ПП После 7805 рекомендуется хотя бы конденсатор 0,1мкФ ставить.


--------------------
УЭР
Go to the top of the page
 
+Quote Post
avartemiy
сообщение Apr 22 2010, 07:28
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 34
Регистрация: 9-04-08
Пользователь №: 36 629



Цитата(evc @ Apr 22 2010, 07:44) *
А в EEPROM пишете?
Power Up Timer включен?
Brown Out Detect?

В EEPROM пишу.
Power Up Timer выключен, включить?
Brown Out Detect установлен на 2,7 В

Цитата(evc @ Apr 22 2010, 07:44) *
А что это за телефонный разъем?

Датчики подключаются DS18B20 и аналоговый влажности HIH4000.

Цитата(evc @ Apr 22 2010, 07:44) *
А у вас и управление нагрузками гальванически не развязано ...

Как не развязано? от 220В - оптроны, а от мощных 12В - реле. И резисторы в базах транзисторов и анодах оптронов должны гасить кратковременные помехи, идущие на PIC.

Цитата(evc @ Apr 22 2010, 07:44) *
Например, если получиться пик напряжения в цепи +5В, из-за L1 и C6 + C7 на выводе питания процессора существенного увеличения не произойдет, за то на вывод RST/Vpp получиться тот самый пик. Это может привести к вхождению в режим программирования.

Присмотритесь, нога RST/Vpp подтягивается к той же цепи Vpp после L1, которая и пик питает... так что должно быть так, как вы сказали "на выводе питания процессора существенного увеличения не произойдет"

Цитата(evc @ Apr 22 2010, 07:44) *
ПП После 7805 рекомендуется хотя бы конденсатор 0,1мкФ ставить.

Там он есть, но чуть дальше - возле разъема XS1
Go to the top of the page
 
+Quote Post
evc
сообщение Apr 22 2010, 09:39
Сообщение #6


Местный
***

Группа: Свой
Сообщений: 206
Регистрация: 17-03-07
Из: Москва
Пользователь №: 26 266



Цитата(avartemiy @ Apr 22 2010, 11:43) *
В EEPROM пишу.

WREN сбрасываете после записи?
Лучше сбрасывать, причем выставлять непосредственно до, и сбрасывать сразу после.
Цитата(avartemiy @ Apr 22 2010, 11:43) *
Power Up Timer выключен, включить?

Не помешало бы.
Цитата(avartemiy @ Apr 22 2010, 11:43) *
Как не развязано?

У меня был такой случай, ПИК включал напрямую мощную емкостную нагрузку через транзистор и реле. Ну именно как у вас. Каждый раз в момент включения реле, процессор сбрасывался. Оказалось совсем тривиальная причина - реле возвращает обратно как токовый трансформатор импульс, который по питанию сбрасывает систему. Да, но посмотрели мы этот импульс осциллографом, оказался совсем не хилый такой импульсЧег вольт эдак на 30. С тех пор всегда развязываю выходы процессора оптронами (мои устройства работают в промышленной среде). Может и чуть дороже, зато (тьфу тьфу) не было больше проблем.
Цитата(avartemiy @ Apr 22 2010, 11:43) *
Присмотритесь, нога RST/Vpp подтягивается к той же цепи Vpp после L1...

Да, но я все таки L1 убрал бы. Может многие не согласятся, но мне магнитные антенны в цепи питания процессора не нужны. Тем более после линейного стабилизатора...


--------------------
УЭР
Go to the top of the page
 
+Quote Post
ViKo
сообщение Apr 22 2010, 14:04
Сообщение #7


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Цитата(evc @ Apr 22 2010, 12:54) *
Да, но я все таки L1 убрал бы. Может многие не согласятся, но мне магнитные антенны в цепи питания процессора не нужны. Тем более после линейного стабилизатора...

Я бы не убирал дроссель, а переставил его на вход линейного стабилизатора, который от НЧ помех избавит, а вот от ВЧ уже не сможет.
А проблема, мне кажется, чисто в программе. Не стабильно работает, потому что так написана.
Я не нашел, Вы сравнивали содержимое PIC после сбоев со своим кодом?
Go to the top of the page
 
+Quote Post
evc
сообщение Apr 22 2010, 14:52
Сообщение #8


Местный
***

Группа: Свой
Сообщений: 206
Регистрация: 17-03-07
Из: Москва
Пользователь №: 26 266



Цитата(ViKo @ Apr 22 2010, 18:19) *
Я бы не убирал дроссель, а переставил его на вход линейного стабилизатора...


Там хороший фильтр уже есть.


--------------------
УЭР
Go to the top of the page
 
+Quote Post
ar__systems
сообщение Apr 22 2010, 15:06
Сообщение #9


self made
****

Группа: Свой
Сообщений: 855
Регистрация: 7-03-09
Из: Toronto, Canada
Пользователь №: 45 795



Цитата(evc @ Apr 22 2010, 04:54) *
Да, но я все таки L1 убрал бы. Может многие не согласятся, но мне магнитные антенны в цепи питания процессора не нужны. Тем более после линейного стабилизатора...

Я бы тоже убрал. Оно абсолютно лишнее и вредное. Не забывайте L стабилизирует ток, что при это проихсодит с напряжением его не волнует, а вас наоборот.

А отладочные средства есть какие-то в системе? Я делал несколько систем с сенсорами, и простейший сом-порт в который я выдаю всю необходимую инфу помагает при отладке чрезвычайно. Не говоря уже о тех случаях, когда плата не пашет нормально по вине клиента (дефекты сборки) -- подключаю комп к плате, и все им наглядно показыаю. А без этого была бы попа.... Предыдущий разработчик не предусмотрел такой функции, на чем и погорел, когда начались глюки (при чем не по его вине! -- был глючный сенсор).

Если есть возможность сделать двунаправленный ком-порт, тогда вообще красота. я вставлял в свои системы возможность читать и писать произвольные адреса памяти через него. Вот сейчас бы вам это пригодилось.

ФЛЕШ из поломанной системы назад читать не пробовали?
Go to the top of the page
 
+Quote Post
avartemiy
сообщение Apr 22 2010, 18:45
Сообщение #10


Участник
*

Группа: Участник
Сообщений: 34
Регистрация: 9-04-08
Пользователь №: 36 629



Цитата(ar__systems @ Apr 22 2010, 17:21) *
ФЛЕШ из поломанной системы назад читать не пробовали?


FLASH не читал еще, та плата у клиента за 600 км, да и залочена от чтения мной же.

Возможно причина в том, что BODEN у меня был установлен на 2,7 В, а проц работает по даташиту от 4,2, от этого при броске FLASH может измениться?

Исходя из всех подсказок форумчан, сегодня поднял BODEN до 4,2В, посадил программно все не неиспользуемые ноги проца программно на землю и после программирования повесил MCLR джампером на +5В. Как думаете, этого достаточно в данной схеме?
Go to the top of the page
 
+Quote Post
ar__systems
сообщение Apr 23 2010, 00:56
Сообщение #11


self made
****

Группа: Свой
Сообщений: 855
Регистрация: 7-03-09
Из: Toronto, Canada
Пользователь №: 45 795



Цитата(avartemiy @ Apr 22 2010, 14:00) *
FLASH не читал еще, та плата у клиента за 600 км, да и залочена от чтения мной же.

Возможно причина в том, что BODEN у меня был установлен на 2,7 В, а проц работает по даташиту от 4,2, от этого при броске FLASH может измениться?

Исходя из всех подсказок форумчан, сегодня поднял BODEN до 4,2В, посадил программно все не неиспользуемые ноги проца программно на землю и после программирования повесил MCLR джампером на +5В. Как думаете, этого достаточно в данной схеме?

Как мертвому припарки.
Operating Voltage Range (V) 2 to 5.5
Flash наврядли может слететь.
Go to the top of the page
 
+Quote Post
avartemiy
сообщение Apr 23 2010, 05:50
Сообщение #12


Участник
*

Группа: Участник
Сообщений: 34
Регистрация: 9-04-08
Пользователь №: 36 629



Цитата(ar__systems @ Apr 23 2010, 03:11) *
Operating Voltage Range (V) 2 to 5.5


- Это для LF серии.
Гляньте раздел ELECTRICAL CHARACTERISTICS, FIGURE 26-1
Go to the top of the page
 
+Quote Post
zksystem
сообщение Apr 23 2010, 11:34
Сообщение #13


embedder
***

Группа: Свой
Сообщений: 264
Регистрация: 11-05-05
Из: Казань
Пользователь №: 4 911



Лично мне попадались два PIC18F4585 у которых через какое-то время стиралась самопроизвольно ячейка Flash памяти, замена пика на новый устранила дефект.


--------------------
Мечты стареют куда быстрее мечтателей… Стивен Кинг. "Ловец снов"
Go to the top of the page
 
+Quote Post
DL36
сообщение Apr 24 2010, 15:02
Сообщение #14


Местный
***

Группа: Свой
Сообщений: 460
Регистрация: 5-10-06
Из: Херсон
Пользователь №: 21 006



Цитата(avartemiy @ Apr 21 2010, 11:13) *
Есть контроллер инкубатора, недавно работающий нормально и в какой-то момент (возможно при смене положения лотков) стал работать не стабильно,

В разводке значительные ошибки, общие рекомендации "помехоустойчивые устройства"
Уже несколько раз лечил проекты начинающих подобные вещи переразводкой.
-очень желателен полигон под процессором.
-совершенно неправильно разведен разведен кварцевый генератор.
-под контроллером практически все пусто сделай земляной полигон в топе под контроллером
и пятивольтовый в боттоме. Вообще полигон далеко не лишняя вещь.
Go to the top of the page
 
+Quote Post
avartemiy
сообщение Apr 24 2010, 16:12
Сообщение #15


Участник
*

Группа: Участник
Сообщений: 34
Регистрация: 9-04-08
Пользователь №: 36 629



Кто-то защищал от записи FLASH в PIC18 путем установки битов конфигурации Table Write Protect ? Я смогу потом переписать потом его программатором, или уже нет? В даташите ничего по этому поводу не нашел...

Сообщение отредактировал avartemiy - Apr 24 2010, 16:13
Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th July 2025 - 15:17
Рейтинг@Mail.ru


Страница сгенерированна за 0.01625 секунд с 7
ELECTRONIX ©2004-2016