Отговори на тема  [ 24 мнения ]  Отиди на страница Предишна  1, 2
16F877A - Reset през RA5 
Автор Съобщение
Ранг: Ориентиран
Ранг: Ориентиран
Аватар

Регистриран на: Чет Май 12, 2005 11:10 am
Мнения: 211
Мнение 
Темата е старичка, но я подхващам отново само за да споделя моите наблюдения от вчера. Това би помогнало на други с подобен проблем. Значи и при мен се получи същата гадория с PIC16F873A. Имам 3 входа на процесора, които са свързани с бутони за входове - RA1, RA2, RA5. Входовете имат съпротивление 4к7 към +5В и С=100н към маса. С RA1, RA2 никакви ядове, но натисна ли RA5 действа като ресет. И най интересното е, че когато натискам RA5 в комбинация с другите бутони няма проблеми (имам и такива комбинации). Пуснах накрая само началото от програмата, забранени прекъсвания, без четене на бутоните, само конгигуриране на портовете и една цифра на индикация - проблемът остава. Когато сложа на входа микробутонче(тези от мишките), държи се нормално. Сменях съпротивлението към +5В (по-голямо и по-малко) няма ефект. Сменях кондензаторът с по-голям - стигнах до електролит - няма ефект. Накрая от многото смени, забравих да запоя кондензатор между входа и маса и всичко се оправи. Направо заспа. Нямам обяснение, но работи. Така, че ако използвате като вход RA5 - НИКАКВИ КОНДЕНЗАТОРИ КЪМ МАСА - защото става RESET!!!


Съб Ное 25, 2006 10:58 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пет Фев 25, 2005 1:58 pm
Мнения: 4585
Местоположение: US
Мнение 
Добре, да попитам, защо използвате кондензатори ? Никога на бутони не слагам кондензатори. Чета ги в главния цикъл на програмата ( обикновено 10ms), задейства ли се веднъж, вдигам флаг за първоначално задействане, след това в продължение на 10 периода на главния цикъл ги чета по един път и ако продължава да е задействан го възприемам като натиснат бутон. Ако е на прекъсване, пак действам по подобен начин.

_________________
Ето аз дишам, работя, живея и програми пиша тъй както умея, с проца под вежди се гледаме строго и боря се с него доколкото мога....


Съб Ное 25, 2006 1:25 pm
Профил WWW
Ранг: Ориентиран
Ранг: Ориентиран
Аватар

Регистриран на: Чет Май 12, 2005 11:10 am
Мнения: 211
Мнение 
Пирев и аз правя нещо подобно, като регистрирам натискане на бутон правя едно закъснение и пак го чета, ако се повтори значи е ОК, а кондензатори слагам когато бутоните са изнесени на голямо разстояние за филтрация. Но това няма значение, важното е, че този ефект се получава само при RA5. Аз и затова го разказах подробно, за да не се блъска друг. Мисля, че е от полза.


Съб Ное 25, 2006 1:41 pm
Профил
Ранг: Ориентиран
Ранг: Ориентиран

Регистриран на: Сря Юли 05, 2006 1:54 pm
Мнения: 279
Мнение 
много интересно е това с махането на кондензатора! Моят хардуер го оставих така както ми правеше ресет през РА5, но бутона го прекарах през съпротивление, както беше писал колегата в по-предните постове! Решение когато ти е зор - винаги намираш, но защо ще прави ресет ... това е!!! Дори занимавах и Микрочип .. ама отговор - тц.


Съб Ное 25, 2006 6:22 pm
Профил
Ранг: Ориентиран
Ранг: Ориентиран
Аватар

Регистриран на: Чет Май 12, 2005 11:10 am
Мнения: 211
Мнение 
Значи за серията PIC16F873A и PIC16F877A, RA5 го прави този номер, интересно за други серии дали е така? Но интересно ми е защо се държи както трябва когато се задейства заедно с друх вход(2 бутона натиснати едновременно). Значи ако имам друг вход даден на маса, този си работи както трябва (става дума при наличие на кондензатор).
Абе няма какво да го чепкаме по-вече, щом и Microchip не са отговорили на fuser.
Мисля си дали да не се отвори един раздел ERATA и да се сегментира по процесори. И там да се записват такива бъгове. Но добре ще е разделът да се управлява само от администратора и да се записват само бъговете, защото в противен случай ще се разводни много (имаме много такъв опит)!


Съб Ное 25, 2006 9:48 pm
Профил
Ранг: Ориентиран
Ранг: Ориентиран

Регистриран на: Сря Юли 05, 2006 1:54 pm
Мнения: 279
Мнение 
идеята за такъв раздел е супер ... нека се помисли върху въпроса - нужно ли е всеки да открива топлата вода?!


Нед Ное 26, 2006 2:52 pm
Профил
Ранг: Новодошъл
Ранг: Новодошъл
Аватар

Регистриран на: Пет Окт 27, 2006 6:23 pm
Мнения: 162
Местоположение: Севлиево
Мнение 
Винаги, когато се разреди директно един зареден кондензатор така, както се получава с бутона протича голям ток.
Този краткотраен импулс може да индуцира ток в някой от изводите на процесора. От където да дойде и смущението.
Софтуерното елеминиране на механичните трептения си е за препоръчване. По този начин се удължава и живота на бутона.


Нед Яну 21, 2007 2:15 pm
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Чет Окт 07, 2004 1:22 pm
Мнения: 1949
Местоположение: София
Мнение 
@mash, софтуерното елминиране на механичните трептения на бутона е просто двойна проверка за натиснат бутон през определен интервал от време (2-3ms или зависи от конкретната задачка) - за това време се очаква бутона да е установен в състояние "натиснат", това не елиминира обаче самите механични трептения на бутона и няма как да му удължи живота!


Нед Яну 21, 2007 3:06 pm
Профил
Ранг: Новодошъл
Ранг: Новодошъл
Аватар

Регистриран на: Пет Окт 27, 2006 6:23 pm
Мнения: 162
Местоположение: Севлиево
Мнение 
Predator_MF написа:
@mash, софтуерното елминиране на механичните трептения на бутона е просто двойна проверка за натиснат бутон през определен интервал от време (2-3ms или зависи от конкретната задачка) - за това време се очаква бутона да е установен в състояние "натиснат", това не елиминира обаче самите механични трептения на бутона и няма как да му удължи живота!

Съгласен съм с теб за механичните трептения, но се удължава живота на бутона заради елиминирането на искренето от тока, който протича при разряда на кондензатора. Имам практически наблюдения, че при използването на кондензатор на контактната система и се онищожава повърхностния слой и после бързо оксидира.


Нед Яну 21, 2007 6:02 pm
Профил ICQ
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 24 мнения ]  Отиди на страница Предишна  1, 2

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 4 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни