PIC16F1847 a falesne spinani vstupnich pinu na portu RA

Andrej Jancura aj.hwlist na gmail.com
Pondělí Květen 27 15:54:39 CEST 2013


Ahoj,

2013/5/27 Jaromir Sukuba <jarin.hw na gmail.com>

> 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.
>

Pokial mas na mysli mna, tak som chcel vylucit chybu v softe v
minimalistickej aplikacii. Lebo ako hovori skusenost, najviac chyb je medzi
stolickou a klavesnicou...


>
> 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".
>

No pokial mas na mysli kapacitu 100nF, ako si tu prezentoval, tak si
myslim, ze nemas predstavu co za rusivy impulz tym kondikom vobec pohne. A
to nehovorim o tom, ze tam mas vysokoimpedancny vstup IO pinu zatlmeny
odporom 4k7. To na vzdusne vyboje dotykom srobovaka urcite reagovat nebude
(pokial cosi samozrejme nevyskratujes). Si skor myslim, ze tam je nejaka
funkcna chyba ako EMC. Tipujem nieco s LVP, nieco okolo tych pull-upov a
toho mTouch... No ale vsak on nam to kolega snad prezradi, ked to rozchodi.

A.



>
>
> 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>
>>
>
>
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list na list.hw.cz
> 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/ec05f7c8/attachment.htm>


Další informace o konferenci Hw-list