Хостинг - Обзор: эпицентр русскоязычного хостинга

Здравствуйте, гость ( Вход | Регистрация )

> Микроконтроллеры, Взгрустнулось и сделалось 2
Admin
сообщение 25.02.2011, 08:31
Сообщение #1





Группа: Admin
Сообщений: 10,656
Регистрация: 16.05.2002
Из: "ХостОбзор"
Пользователь №: 2


Репутация: 302


Вслед за Виктором, тоже взгрустнулось и в порыве ностальгии взялся в руку паяльник. Иван Сергеевич Карпухин во время последнего совместного чаепития убедил, что делать в наше время что-либо на рассыпухе не по-пацански, надо на микроконтроллерах. Послушался и собрал вот такую фигулину для лабораторного блока питания - http://elektrosvit.narod.ru/shems/cifr_izm...fr_izm_zash.htm

Работает прерасно. Одна беда - работает не всегда. Понятное дело, что программу я брал готовую, более того, и контроллер программировал не я. Я вообще первый раз микрокотроллер живьём в руках держал. Только собирал всё это в кучку. Лезть на форумы, где спецы тусуются стесняюсь, а тот же Иван Сергеевич говорил, что на нашем форуме он знает людей, которые зубы съели на этом деле. Поэтому вопросы адресую им всем.

Суть проблемы - сбоит процессор. Обычно при включении. На дисплее высвечены отдельные сегменты и полная статичность картинки. На кнопки может не реагировать, а может иногда и реагировать и можно "подтолкнуть" программу. Не всегда снятие питания с процессора приводит к положительным результатам, т.к. в соответствии с алгоритмом программы последние установки сохраняются в памяти, и получается, что программа стартует считывая весь этот сохраненный накануне мусор.

Кабы все это было на рассыпухе - ясен пень, алгоритм простой - проверяй монтаж, качество пайки и элементов. А вот с МК не знаю как люди обходятся. Монтаж проверил раз 12, столько же раз проверил места пайки, спирта на промывку платы извел столько, что отдельно взятого человека можно было бы конченным алкашом сделать, грешить на программу и качество записи её в МК не могу, т.к. может неделю работать без всяких нареканий, а потом раз и взбеситься. Питание на LM317 приходит чистое, без выбросов.

И собственно, конкретный вопрос к тем, кому не лень будет на схему взглянуть. Может нужно к какой-нибудь ноге единицу подтянуть или что-то конденсатором зашунтировать, чтобы МК уверенность в этой жизни почувствовал? Может из-за того, что MCLR посажен прямо на +5,12V сброс проходит раньше, чем сам чип выходит на рабочий режим? В общем, сам я до влияния пятен на солнце дойду. Если есть опытные микроконтроллерщики, подскажите: Что проверять, где проверять, в какую сторону вообще рыть, какие ноги щупать...
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
2 страниц V  1 2 >  
Reply to this topicStart new topic
Ответов(1 - 29)
kolobok
сообщение 25.02.2011, 09:06
Сообщение #2


*Nix admin


Группа: Старые пользователи
Сообщений: 518
Регистрация: 03.06.2004
Из: RU, Lipetsk
Пользователь №: 498


Репутация: 222


Если смотреть Datasheet на этот контроллер, то можно заметить, что
Код

Power-On Reset (POR)
A Power-on Reset pulse is generated on-chip when
VDD rise is detected (in the range of 1.2V - 1.7V). To
take advantage of the POR, tie the MCLR pin directly
(or through a resistor) to VDD. This will eliminate
external RC components usually needed to create a
Power-on Reset. A maximum rise time for VDD is specified.
See Electrical Specifications for details.
When the device starts normal operation (exits the
RESET condition), device operating parameters (voltage,
frequency, temperature,...) must be met to ensure
operation. If these conditions are not met, the device
must be held in RESET until the operating conditions
are met. Brown-out Reset may be used to meet the
start-up conditions. For additional information, refer to
Application Note, AN007, ”Power-up Trouble Shooting”,
(DS00007).

К тому же,
Код

Voltage on MCLR with respect to VSS (Note 2) ......0 to +14 V
Note 2: Voltage spikes below VSS at the MCLR pin, inducing currents greater than 80 mA, may cause latch-up.
Thus, a series resistor of 50-100Ω should be used when applying a ”low” level to the MCLR pin, rather than
pulling this pin directly to VSS.


Как вариант, навесить по питанию дополнительную фильтрацию (керамику на 0.1мкф). Посмотреть что творится по выходу кренки.

Сообщение отредактировал kolobok - 25.02.2011, 09:07
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Admin
сообщение 25.02.2011, 11:45
Сообщение #3





Группа: Admin
Сообщений: 10,656
Регистрация: 16.05.2002
Из: "ХостОбзор"
Пользователь №: 2


Репутация: 302


Спасибо, Павел, что откликнулись.


Цитата(kolobok @ 25.02.2011, 09:06) *

Если смотреть Datasheet на этот контроллер

Смотрел, распечатал, опять изучал. Но т.к., несмотря на все усилия преподавателей, язык вероятного противника так и не осилил, то чтение документации с помощью машинных переводчиков только запутывает.

Правильно ли я понял вторую цитату, что притянуть ближе к нулю MCLR посредством резистора в 50-100ом между MCLR и Vcc не только желательно, но и настоятельно рекомендуется производителем?

Цитата

Как вариант, навесить по питанию дополнительную фильтрацию (керамику на 0.1мкф). Посмотреть что творится по выходу кренки.

Насколько позволяют возможности моего старенького С94, после кренки криминала не наблюдается. Да и С2 там уже стоит. Хотя, кашу маслом не испортишь, пойду попробую повесить 0.1 мкф где-то поближе, прямо на 20-ю ногу.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Admin
сообщение 25.02.2011, 12:08
Сообщение #4





Группа: Admin
Сообщений: 10,656
Регистрация: 16.05.2002
Из: "ХостОбзор"
Пользователь №: 2


Репутация: 302


Кстати, Павел, уж коли Вы так добры, не подскажите нагрузочную способность портов RA0-5? Что об этом пишут в Даташите?

Вопрос возник из-за того, что схемка всем хороша, но нет сигнализации о сработавшей защите. Имело бы смысл повесить на RA3 светодиод хотя бы, если потянет. А не потянет, то хотя бы брать сигнал на запуск тригера и уже им включать хоть световую, хоть звуковую сигнализацию...
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Ivan
сообщение 25.02.2011, 17:49
Сообщение #5


Отдыхаю


Группа: Старые пользователи
Сообщений: 3,533
Регистрация: 02.08.2002
Из: ЗАО "Рувеб"
Пользователь №: 35


Репутация: 260


Я в даташит не глянул, но обычно, в таких случаях, таймер на 2 сек и + на RST. Включаем, через 2 секунды в любом случае жмется ресет и через 4 все живет.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Admin
сообщение 25.02.2011, 19:35
Сообщение #6





Группа: Admin
Сообщений: 10,656
Регистрация: 16.05.2002
Из: "ХостОбзор"
Пользователь №: 2


Репутация: 302


Докладываю.

Резистор 100ом субъективно жизнь улучшил. Раз 100 включал-выключал, глюк наблюдал только один раз, и то, скорее всего, по собственной вине, т.к. по-моему сделал короткий промежуток перед включением, конденсаторы фильтра не успели разрядиться.

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

В общем, жизнь налаживается, жить стало лучше, жить стало веселее (IMG:style_emoticons/default/smile.gif). Спасибо за советы. Форум у нас хороший, полезный (IMG:style_emoticons/default/smile.gif)

User is offlineProfile CardPM
Go to the top of the page
+Quote Post
kpv
сообщение 25.02.2011, 19:43
Сообщение #7


DELEGATED, VERIFIED


Группа: Старые пользователи
Сообщений: 913
Регистрация: 10.03.2005
Из: Рувеба
Пользователь №: 1,129


Репутация: 237


Цитата(Admin @ 25.02.2011, 12:08) *

Кстати, Павел, уж коли Вы так добры, не подскажите нагрузочную способность портов RA0-5?

25 mA

спросите кто программировал пикушку - что записали в этот регистр

REGISTER 12-1: CONFIGURATION WORD (ADDRESS 2007h)

Керамику надо вешать прямо на ножки процессора.
причины глюков могут быть из-за кварца или питания. Попробуйте соорудить кнопку ресета: от первой ножки через 10 кОм на +5V и от первой ножки через резюк 100 ом замыкайте на землю. Если в моменты глюков ресет помогает - значит, скорее всего, проблемы с питанием.

индикаторы какие использовали? если питание плохое, то в момент включения светодиодов могут проскакивают иголки которые пагубно на микроконтроллер влияют.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
kolobok
сообщение 25.02.2011, 21:34
Сообщение #8


*Nix admin


Группа: Старые пользователи
Сообщений: 518
Регистрация: 03.06.2004
Из: RU, Lipetsk
Пользователь №: 498


Репутация: 222


Цитата(kpv @ 25.02.2011, 19:43) *

индикаторы какие использовали? если питание плохое, то в момент включения светодиодов могут проскакивают иголки которые пагубно на микроконтроллер влияют.

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

А на тему микроконтроллеров - по бОльшей части работаю щас с Atmega ... Начинал конечно с пиков .... но что то не "срослось" у меня с ними ....
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
kpv
сообщение 25.02.2011, 22:39
Сообщение #9


DELEGATED, VERIFIED


Группа: Старые пользователи
Сообщений: 913
Регистрация: 10.03.2005
Из: Рувеба
Пользователь №: 1,129


Репутация: 237


Цитата(kolobok @ 25.02.2011, 21:34) *

К слову говоря, на мой взгляд управление сегментами индикаторов лучше делать через транзисторы.

в пикушке всё нормально с этим: 25 mA на линию и 200 mA на порт - атмег, помоему, и нету таких, которые смогут подобное.
микроконтроллеры специально придумали, чтобы избавиться от всей шелухи вокруг.

Сообщение отредактировал kpv - 25.02.2011, 22:40
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Admin
сообщение 25.02.2011, 23:58
Сообщение #10





Группа: Admin
Сообщений: 10,656
Регистрация: 16.05.2002
Из: "ХостОбзор"
Пользователь №: 2


Репутация: 302


Цитата(kpv @ 25.02.2011, 19:43) *

Попробуйте соорудить кнопку ресета: от первой ножки через 10 кОм на +5V и от первой ножки через резюк 100 ом замыкайте на землю. Если в моменты глюков ресет помогает - значит, скорее всего, проблемы с питанием.

Ну, после того, как первую ногу подключил к +5V не напрямую, а через 100ом, глюки исчезли, но в тот единственный раз, когда наблюдался глюк, ресет помог.

По поводу питания. Этот блок управления у меня питается от отдельной обмотки транса, а вот сам блок питания, которым он управляет, представляет собой импульсный стабилизатор. Токи не слабые (до 3А), да и расположен весьма близко. Может по общей земле и гадит чем-нибудь.

Цитата

индикаторы какие использовали? если питание плохое, то в момент включения светодиодов могут проскакивают иголки которые пагубно на микроконтроллер влияют.

Индикаторы не хилые, 4 сдвоенных блока милиметров по 20 высотой каждый.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Admin
сообщение 26.02.2011, 00:20
Сообщение #11





Группа: Admin
Сообщений: 10,656
Регистрация: 16.05.2002
Из: "ХостОбзор"
Пользователь №: 2


Репутация: 302


Цитата(kolobok @ 25.02.2011, 21:34) *

А на тему микроконтроллеров - по бОльшей части работаю щас с Atmega ... Начинал конечно с пиков .... но что то не "срослось" у меня с ними ....

О, то что надо (IMG:style_emoticons/default/smile.gif). Павел, а в чем, в двух словах, принципиальная разница между PIC и AVR? Почему отдали предпочтение Atmega? Это вопрос на случай, если вдруг у меня этот паяльный зуд не пройдет (IMG:style_emoticons/default/smile.gif). Я немного посерфил по радиолюбительским сайтам, так почему-то действительно намного чаще сейчас все Atmega упоминают, чем PIC или что-то другое. Дань моде или причины более глубокие?
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Admin
сообщение 26.02.2011, 00:34
Сообщение #12





Группа: Admin
Сообщений: 10,656
Регистрация: 16.05.2002
Из: "ХостОбзор"
Пользователь №: 2


Репутация: 302


Цитата(kpv @ 25.02.2011, 22:39) *

микроконтроллеры специально придумали, чтобы избавиться от всей шелухи вокруг.

Согласен. Но это два разных удовольствия - сделать что-то на МК или на рассыпухе. В принципе, тот же блок питания, и даже лучше, можно же было просто пойти и купить за несколько т.р. Это раньше все делали сами, потому что не купить было того, что хотелось. Но вот, время прошло, условия изменились, а всё равно руки чешутся.

Кстати, вот Иван и ответ на Ваши "зачем сам платы делашь, заказал бы, и развели бы и прислали готовые, с металлизацией, с маской":
это, Иван, как секс, тоже ведь можно просто пойти в дом ребенка и взять там готового, если не процесс, а только результат интересует (IMG:style_emoticons/default/smile.gif).
User is offline