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

 
 
> Программа уходит в мир иной, PIC16F877A
tarasik
сообщение Aug 7 2008, 19:40
Сообщение #1





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



Господа у меня такая проблема. Включаю питание, и..... полностью стирается программа, включая данные и бит конфигурации. А вот если снять джемпер по плюсу питания, затем включить сам блок, затем поставить джемпер (перемычку) на место-- все работает. Очевидно что программу сносит какие-то переходные процессы при включении (блок питания импульсный). Вопрос как защититься от этих самых помех? У кого какие соображения? Помогите советом. Спасибо.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 10)
Wildcat
сообщение Aug 7 2008, 20:32
Сообщение #2


Частый гость
**

Группа: Участник
Сообщений: 104
Регистрация: 21-12-06
Пользователь №: 23 770



Что-то есть у меня сомнения, что программа стирается при включении. Сколько возился с такими контроллерами, подобного не было.
Посмотрите осциллом, что происходит при включении на линиях питания, общих шинах, выводах, используемых для программирования (для 16F877 это RB6 и RB7, если я не ошибаюсь). Попоробуйте запитать блок не от импульсного источника. Возьмите другой чип.
Как защищаться от помех...конденсаторы по питанию в первом приближении...Покажите схему, что-ли, и рисунок платы.

P.S. А что, контроллер питается от источника напрямую? Без промежуточных линейных стабилизаторов?


--------------------
Затравленный и прижатый к стене кот превращается в тигра. Мигель Сервантес.
Go to the top of the page
 
+Quote Post
miga
сообщение Aug 7 2008, 21:07
Сообщение #3


Частый гость
**

Группа: Свой
Сообщений: 117
Регистрация: 6-04-05
Пользователь №: 3 928



tarasik,
Попробуйте в слове конфигурации следующие биты:
- Отключите LVP (bit7=0) (по ходу вопрос - какой режим используется для программирования ?)
- Если питание 5 вольт то включите BOREN (bit 6=1)
- Прошейте PWRTEN (bit 3=0).
Go to the top of the page
 
+Quote Post
tarasik
сообщение Aug 7 2008, 22:10
Сообщение #4





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



Да собственно у меня тоже такое впервые. Схема проста, на выходе вторичной обмотки трансформатора (7кГц) включен диод шотки, далее кондер 4,7 мкф стабилизатор L78L05AB и снова кондер 4,7 мкф и еще один кондер 0,1 вот собственно и все. Самое интересное что на макетной плате все работало. Единственное отличие это то, что конденсатор после стабилизатора стоял 1мкф, поменять обратно проблемно, поскольку Пик в корпусе 44-pin TQFP и уже залит эпоксидкой crying.gif Доступен только 5-ти штырьковый разъем для программирования. Странно все это как то: прошиваю-считываю все замечательно, включаю импульсник- ставлю перемычку(подаю питание на Пик) все работает! Далее включаю при установленной перемычке- не работает-считываю везде 'F' ПУСТО!!! Снова прошиваю ......
Пробовал с бубном вокруг бегать не помогает smile.gif
P.S. Как грамотно повесить вывод MCLR на плюс? У меня так: на MCLR подается плюс через резистор 10к, параллельно которому включен диод, катодом к плюсу и в завершении непосредственно на MCLR висит кондер 0,1 вторым выводом на общий (зачем диод не знаю, где то в журнале высмотрел)
Go to the top of the page
 
+Quote Post
Wildcat
сообщение Aug 7 2008, 22:51
Сообщение #5


Частый гость
**

Группа: Участник
Сообщений: 104
Регистрация: 21-12-06
Пользователь №: 23 770



Цитата
Пробовал с бубном вокруг бегать не помогает

Бубен маленький...надо больше... smile.gif

Цитата
на выходе вторичной обмотки трансформатора (7кГц) включен диод шотки, далее кондер 4,7 мкф стабилизатор L78L05AB и снова кондер 4,7 мкф и еще один кондер 0,1 вот собственно и все

Если я правильно понял, то "вторичная обмотка трансформатора" и "диод шотки" и есть выход с импульсника (ну и конденсатор).
Маловат конденсатор для выхода импульсного источника. Если он не на единицы миллиампер, то меньше чем 47 мкф я бы не ставил.
Цитата
уже залит эпоксидкой
Это плохо...
Быстрый обзор приложенного файла подтвердил мои подозрения wink.gif о наличии алгоритма стирания. Посему в вероятность стирания программы таким образом я верю мало...
В доках на контроллер написано, что наличие отрицательного напряжения на MCLR может вызвать триггерный эффект. Может в этом дело. Зачем диод на MCLR я тоже не понял. Попробуйте его замкнуть. Это первое. И все-таки, посмотрите питание и сигналы на доступных выводах осциллографом.
Добавить 0,1 мкф конденсаторы на все выводы питания(У 16F877 в TQPF их 2).
Прикрепленные файлы
Прикрепленный файл  39589b.pdf ( 353.04 килобайт ) Кол-во скачиваний: 57
 


--------------------
Затравленный и прижатый к стене кот превращается в тигра. Мигель Сервантес.
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Aug 7 2008, 23:02
Сообщение #6


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(Wildcat @ Aug 8 2008, 01:51) *
Зачем диод на MCLR я тоже не понял.
Чтобы разрядить конденсатор на MCLR при выключении питания (проанализируйте схему при Vcc 5в->0в).


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
wangan
сообщение Aug 8 2008, 03:49
Сообщение #7


Местный
***

Группа: Свой
Сообщений: 265
Регистрация: 30-11-05
Из: Омск
Пользователь №: 11 590



дак глянте запоминающим осилоскопом питание при включении и все увидете, имхо проходит импульс >13в на MCLR.
можно не решая проблему приделать затычку - это односторонний супрессор по питанию. ну и смотреть есть ли висячие ноги как входа
Go to the top of the page
 
+Quote Post
tarasik
сообщение Aug 8 2008, 14:44
Сообщение #8





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



Спапибище! Вы правы. На входе MCLR импульс аж 21 вольт! К тому же RB7 и RB6 в воздухе, я же их использую при программировании! Хотя в проге я их и не использую. Вероятная причина найдена, теперь буду думать, как ее придушить. Всем Спасибо! a14.gif
Go to the top of the page
 
+Quote Post
Wildcat
сообщение Aug 8 2008, 22:01
Сообщение #9


Частый гость
**

Группа: Участник
Сообщений: 104
Регистрация: 21-12-06
Пользователь №: 23 770



Цитата
На входе MCLR импульс аж 21 вольт! К тому же RB7 и RB6 в воздухе, я же их использую при программировании! Хотя в проге я их и не использую. Вероятная причина найдена, теперь буду думать, как ее придушить.

А откуда берется на MCLR импульс в 21 В если там перед ней линейный стабилизатор ? Или что-то в схеме не то, либо что-то не договариваете wink.gif

Цитата
Чтобы разрядить конденсатор на MCLR при выключении питания (проанализируйте схему при Vcc 5в->0в).

Возможно да, для этого (Проглядел, что конденсатор включен напрямую на вывод MCLR wub.gif )

Сообщение отредактировал Wildcat - Aug 8 2008, 22:02


--------------------
Затравленный и прижатый к стене кот превращается в тигра. Мигель Сервантес.
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Aug 9 2008, 08:04
Сообщение #10


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(Wildcat @ Aug 9 2008, 01:01) *
Возможно да, для этого
Не "возможно" а точно. Попробуйте без этого диода выключить и сразу же включить питание. Емкость останется заряженой, низкого уровня на RESET не получится, программа не сбросится. Я такой эксперимент проводил неоднократно на заре своего общения с контроллерами.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
Wildcat
сообщение Aug 9 2008, 19:04
Сообщение #11


Частый гость
**

Группа: Участник
Сообщений: 104
Регистрация: 21-12-06
Пользователь №: 23 770



Цитата(Сергей Борщ @ Aug 9 2008, 12:04) *
Попробуйте без этого диода выключить и сразу же включить питание. Емкость останется заряженой, низкого уровня на RESET не получится, программа не сбросится.


Попробую как нибудь smile.gif
Я для надежного сброса супервизор по питанию ставлю.


--------------------
Затравленный и прижатый к стене кот превращается в тигра. Мигель Сервантес.
Go to the top of the page
 
+Quote Post

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

 


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


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