PIC16F1847 a falesne spinani vstupnich pinu na portu RA

Jaromir Sukuba jarin.hw na gmail.com
Pondělí Květen 27 14:43:57 CEST 2013


To mate pravdu - ale nejaky debouncing je predsa absolutne samozrejma vec,
ktoru sa ucia deti v skolke, nie? ;-) (samozrejme, ze nie - staci si
prezriet internetove fora)
Tu kolegovia hladaju zapnute / vypnute nejake periferie, co je IMHO celkom
mimo.

Okrem toho skrtat skrutkovacom po pinoch prinasa rozlicne vysledky - podla
toho co mate oblecene, na com sedite/stojite/lezite, aka je vlhkost vzduchu
a tak.
Takze najprv to osetrit na EMC (kondik, transil) - co je vec, ktora musi
ist na akekolvek tlacidlo - a potom sa pripadne pohrat s debouncingom aby
bol viac ci menej citlivy na "rusenie".


2013/5/27 Pavel Hudecek <edizon na seznam.cz>

> No, ne tak docela. V mých zařízeních mám vstupy SW ošetřené tak, že se
> podobné problémy nedějí, přestože výchozí hodnotu definuje odpor řádově
> vyšší. Pinzetu k testování používám často a dokud piny skutečně nespojím,
> "stisk tlačítka" se nekoná.
>
> Nejčastěji používám něco v tomto stylu:
>
> Program v pravidelných intervalech, nejčastěji 1/ms kontroluje hodnotu.
> Pamatuje si původní stav a má-li dojít ke změně, musí nový stav detekovat v
> souvislé řadě, např. 16x za sebou.
>
> Skutečnou EMC odolnost lze dále zvýšit přítomností C paralelně ke vstupu,
> ale jak již bylo řečeno, nesmí se zapomenout na další R, který ochrání
> tlačítko před postupným zničením.
>
> PH
>
> From: "Jaromir Sukuba" <jarin.hw na gmail.com>
>
> Mozno som nieco zasadne prehliadol, ale - to, ze po skrkani skrutkovacom po
> IO pinoch dochadza k bezhlavemu skakaniu logickych hodnot snad nema nic
> spolocne so softwarovymi zalezitostami.
> To, co s tym skrutkovacom robite je EMC testovanie z ktoreho vyplvya iba
> to, ze na IO piny sa nesiaha bez adekvatnej ochrany. Tym 100nF kondikom bol
> vykonany prvy krok.
>
> 2013/5/27 Milos Sula <sula na rps.cz>
>
>> Tak jsem otočil polaritu spínání, a teď spínám proti GND a problém
>> přetrvává. Jediné co pomohlo je 100nF paralelně na tlačítko.
>> ANSEL  a komparátory jsou vypnuté ( vysledny ASM jsem nezkoumal - nevyznám
>> se v tom, debugovat nelze - mám jen PICKIT2 ), ale přikládám pro jistotu
>> .lst. Kapacitní snímače mě také napadly, ale nikde je nezapínám a pokud je
>> v ccsc neinicializuji, tak by měli zůstat vypnuté ....
>>
>> .................... SET_TRIS_B(0b11111000);
>> 0289:  MOVLW  F8
>> 028A:  TRIS   6
>> .................... SET_TRIS_A(0b00111110);
>> 028B:  MOVLW  3E
>> 028C:  TRIS   5
>> .................... port_b_pullups(0b11111000);
>> 028D:  MOVLW  F8
>> 028E:  MOVLB  04
>> 028F:  MOVWF  0D
>> 0290:  MOVLB  01
>> 0291:  BCF    15.7
>> ....................
>> .................... setup_adc( ADC_OFF );
>> 0292:  BCF    1D.0
>> .................... setup_adc_ports(NO_ANALOGS);
>> 0293:  BCF    1E.0
>> 0294:  BCF    1E.1
>> 0295:  BCF    1E.2
>> 0296:  MOVLW  00
>> 0297:  MOVLB  03
>> 0298:  MOVWF  0C
>> 0299:  MOVWF  0D
>> .................... setup_comparator(NC_NC_NC_NC );
>> 029A:  MOVLB  02
>> 029B:  CLRF   12
>> 029C:  CLRF   11
>> 029D:  CLRF   14
>> 029E:  CLRF   13
>>
>> Dne 27.5.2013 12:41, Andrej Jancura napsal(a):
>>
>>> tiez si myslim, ze je cosi zle nastavene. Okrem registrov TRIS, treba
>>>
>>> este nastavit analogove piny ( register ANSEL), pripadne vypnut
>>> komparatory
>>> a hlavne sa pozriet ci tam nie su zapnute kapacitne snimace CAPSense
>>> mTouch. Tie totiz strkaju uplne vsade, aj tam, kde ich netreba.
>>>
>>
> ______________________________**_________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/**listinfo/hw-list<http://list.hw.cz/mailman/listinfo/hw-list>
>
------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://list.hw.cz/pipermail/hw-list/attachments/20130527/73187f91/attachment.htm>


Další informace o konferenci Hw-list