RTV forum PL | NewsGroups PL

Wybór między wewnętrznymi a zewnętrznymi rezystorami podciągającymi w Atmega128

Atmega i podciąganie wejść

NOWY TEMAT

elektroda NewsGroups Forum Index - Elektronika Polska - Wybór między wewnętrznymi a zewnętrznymi rezystorami podciągającymi w Atmega128

sundayman
Guest

Thu May 01, 2014 6:09 pm   



Jest sobie sterownik z Atmegą128. No i do tej pory miałem podłączone
przyciski -oczywiście standardowo - do masy, z użyciem wewnętrznych
rezystorów podciągających.

Ponieważ kiedyś mi się zdarzyło, że to podciąganie wewnętrzne się samo
"odłączyło", to teraz dałem normalne rezystory na zewnątrz.
No i teraz pytanie - wyłączyć to podciąganie wewnętrzne, czy zostawić ?

Wydaje się, że można zostawić - no bo z uwagi na dużą rezystancję
wejścia to w sumie żadna różnica - wewnątrz są rezystory chyba coś
20-50kOhm (w dataszicie nie widzę ?), na zewnątrz dałem 10k.

No to w sumie wypadkowa będzie kilka kohm. Wyłączenie wewnętrzego
pull-up prawie nic nie zmieni.

No ale - może jest jakiś powód, żeby to jednak zrobić ??

sundayman
Guest

Thu May 01, 2014 7:08 pm   



Quote:
Zależy, jak bardzo masz ekologiczne podejście do życia Wink

Chodzi mi wyłącznie o stabilność działania urządzenia - koszty
poniesione przez naturę, zatrucie powietrza, wody, odpady chemiczne,
skażenie promieniotwórcze itp. latają mi koło wentla w tym przypadku Smile

Jan
Guest

Thu May 01, 2014 7:10 pm   



Użytkownik "sundayman" napisał w wiadomości grup
dyskusyjnych:lju2s0$ali$1@node1.news.atman.pl...

Jest sobie sterownik z Atmegą128. No i do tej pory miałem podłączone
przyciski -oczywiście standardowo - do masy, z użyciem wewnętrznych
rezystorów podciągających.

Ponieważ kiedyś mi się zdarzyło, że to podciąganie wewnętrzne się samo
"odłączyło", to teraz dałem normalne rezystory na zewnątrz.
No i teraz pytanie - wyłączyć to podciąganie wewnętrzne, czy zostawić ?

Wydaje się, że można zostawić - no bo z uwagi na dużą rezystancję
wejścia to w sumie żadna różnica - wewnątrz są rezystory chyba coś
20-50kOhm (w dataszicie nie widzę ?), na zewnątrz dałem 10k.

No to w sumie wypadkowa będzie kilka kohm. Wyłączenie wewnętrzego
pull-up prawie nic nie zmieni.

No ale - może jest jakiś powód, żeby to jednak zrobić ??





Zależy, jak bardzo masz ekologiczne podejście do życia Wink

sundayman
Guest

Thu May 01, 2014 7:52 pm   



W dniu 2014-05-01 21:20, leming.show@gmail.com pisze:
Quote:
10-47nf na wejscie, 4k7-10k pull up
+ procedura startowa 0,5s _nop-ow aby
kondensatory naladowaly sie po wlaczeniu
zasilania. Same rezystory w
nieprzyjaznym srodowisku to cieniutko.

A jak dasz jeszcze dlawik na wejscie
i kilkukrotne probkowanie .... to bedzie super:)


kondensatory są oczywiście, czas na start też.
Z działaniem programu nie ma żadnego problemu - pytam bardziej "na
wszelki wypadek"...

Dykus
Guest

Thu May 01, 2014 7:58 pm   



Witam,

W dniu 2014-05-01 21:52, sundayman pisze:

Quote:
kondensatory są oczywiście, czas na start też.

Zwieranie kondensatorów bezpośrednio przez klawisz nie jest korzystne,
więc jeszcze szeregowo z klawiszem rezystor 100R... :)


Quote:
Z działaniem programu nie ma żadnego problemu - pytam bardziej "na
wszelki wypadek"...

A czym sterujesz? Domowym akwarium? :)


--
Pozdrawiam,
Dykus.

sundayman
Guest

Thu May 01, 2014 9:09 pm   



Quote:
kondensatory są oczywiście, czas na start też.

Zwieranie kondensatorów bezpośrednio przez klawisz nie jest korzystne,
więc jeszcze szeregowo z klawiszem rezystor 100R... Smile

kondensatorki są 100n, no i już teraz nie dodam szeregowego. Ale z
działaniem klawiatury problemu nie ma.

Quote:
A czym sterujesz? Domowym akwarium? Smile

Gooooorzej, dużo gorzej Smile Pewną pompą, która jak wypompuje za dużo, to
może być bardzo poważny kłopot.

Guest

Thu May 01, 2014 9:20 pm   



10-47nf na wejscie, 4k7-10k pull up
+ procedura startowa 0,5s _nop-ow aby
kondensatory naladowaly sie po wlaczeniu
zasilania. Same rezystory w
nieprzyjaznym srodowisku to cieniutko.

A jak dasz jeszcze dlawik na wejscie
i kilkukrotne probkowanie .... to bedzie super:)

Zbych
Guest

Fri May 02, 2014 6:31 am   



W dniu 01.05.2014 20:09, sundayman pisze:
Quote:
Jest sobie sterownik z Atmegą128. No i do tej pory miałem podłączone
przyciski -oczywiście standardowo - do masy, z użyciem wewnętrznych
rezystorów podciągających.

Ponieważ kiedyś mi się zdarzyło, że to podciąganie wewnętrzne się samo
"odłączyło", to teraz dałem normalne rezystory na zewnątrz.
No i teraz pytanie - wyłączyć to podciąganie wewnętrzne, czy zostawić ?

Nie wyłączaj wewnętrznego podciągania. Zawsze się może zdarzyć, że
zewnętrzny rezystor (albo połączenie między nim a uC) po jakimś czasie
padnie (uszkodzenie mechaniczne, zimny lut itp.) i urządzenie zacznie
chodzić samo po menu.

Oczywiście tester przy uruchamianiu sterownika powinien sprawdzać prąd
zwarciowy wejścia do masy, żeby się upewnić, że zewnętrzny podciąg
działa prawidłowo.

Robbo
Guest

Fri May 02, 2014 12:02 pm   



Quote:
Ponieważ kiedyś mi się zdarzyło, że to podciąganie wewnętrzne się samo
"odłączyło", to teraz dałem normalne rezystory na zewnątrz.

Jak możesz, to napisz coś więcej o tym zdarzeniu. Sam używam wewnętrznego
podciągania (na razie bez problemów) i mnie nastraszyłeś.

R.

Piotr Gałka
Guest

Fri May 02, 2014 12:54 pm   



Użytkownik "sundayman" <sundayman@poczta.onet.pl> napisał w wiadomości
news:lju2s0$ali$1@node1.news.atman.pl...
Quote:

No ale - może jest jakiś powód, żeby to jednak zrobić ??


Ewentualne ESD są powodem, aby między podwieszającym 10k a nogą procesora
dać filtr RC (np. 100k i 1..100n) i wtedy raczej wyłączyć podwieszenie w
procku.
P.G.

sundayman
Guest

Fri May 02, 2014 2:24 pm   



Quote:
Jak możesz, to napisz coś więcej o tym zdarzeniu. Sam używam
wewnętrznego podciągania (na razie bez problemów) i mnie nastraszyłeś.

Swego czasu (coś z rok temu) opisywałem. W skrócie to tak ;

sterownik (wtedy miał tylko wewnętrzne podciąganie) zainstalowany na
ulicy, w PLASTYKOWEJ dużej skrzyni instalacyjnej przy torach
tramwajowych. No jakby ta skrzynia była metalowa, to pewnie by się to
nie zdarzyło...

Sam sterownik też jest w obudowie plastykowej - no więc ekranowania
zasadniczo brak.

Była burza - w pobliżu - chyba jakieś kilkadziesiąt metrów wg. ustaleń -
przywalił piorun (nie bezpośrednio w urządzenie - normalnie w
piorunochron na pobliskim budynku chyba) - no i zaczęły się dziać cuda -
jak gdyby jakiś duch zaczął obsługiwać klawiaturę sterownika :)

Okazało się, po dochodzeniu, że impuls elektromagnetyczny spowodował, że
w MCU (atmega128) "odłączyło" się właśnie podciąganie klawiatury. Wtedy
linie wejściowe "zawisły w powietrzu", no zaczęło się
losowe uruchamianie klawiszy - bo sam program dział nadal poprawnie.


Dało się to ustalić, bo sterownik ma rejestr zdarzeń, i można było
odczytać, co się dokładnie działo - od pewnej chwili po prostu było
widać , że są naciskane klawisze, chociaż nikt tego nie robił :)

To był tylko jeden taki przypadek - ale skończyło się na dość poważnym
problemie, ponieważ "duch elektrostatyczny", losowo naciskając te
"wirtualne klawisze" zdołał wykonać kilka całkiem niepożądanych czynności :)

Żeby zapobiec temu na przyszłość, zastosowałem zabezpieczenie programowe
(hasło przed wejściem w menu) + rezystory zewnętrzne.

Dodatkowo zwracam uwagę na konieczność (w poważniejszych zastosowaniach)
nadmiarowego zapisywania danych w pamięci ERAM !
Niestety, nie można mieć specjalnie zaufania do tej pamięci i trzymanie
tam istotnych parametrów tak "po prostu" może skończyć się kłopotem.

Jak się to robi ?

Każdą daną zapisuje się np. w 5 komórkach.
Następnie przy każdym odczycie (albo nawet okresowo po prostu)
sprawdzamy, że wszystkie 5 komórek ma tą samą daną. Jeśli nie -
odczytujemy, która wartość jest w największej ilości komórek.
Czyli np. zapisaliśmy pierwotnie liczbę 5.

Podczas odczytu mamy w ERAM;
komórka 1 = 5
komórka 2 = 184
komórka 3 = 5
komórka 4 = 5
komórka 5 = 5

Wtedy wiadomo, że "5" jest zapisane najwięcej razy - więc zapisujemy
ponownie wszystkie komórki tą wartością.

Oczywiście - może się teoretycznie zdarzyć, że nie da się tego zrobić,
bo np. będzie tak;
komórka 1 = 5
komórka 2 = 184
komórka 3 = 5
komórka 4 = 2
komórka 5 = 2

I wtedy dupa blada Smile No ale wtedy wiadomo, że coś bardzo poważnie się
wysypało i trzeba alarmowo wyłączyć cały interes na wszelki wypadek.
W praktyce aż taka wywałka się nie zdarza raczej, i to w mocno
nieprzyjaznym środowisku (silne zakłócenia).

Osobiście stosuję zapis w 10 komórkach, rzecz jasna tylko chodzi o
najważniejsze dane, których przekłamanie może spowodować poważne kłopoty.

Jan
Guest

Fri May 02, 2014 5:34 pm   



Użytkownik "sundayman" napisał w wiadomości grup
dyskusyjnych:lk0a19$n8f$1@node2.news.atman.pl...


Quote:
Jak możesz, to napisz coś więcej o tym zdarzeniu. Sam używam
wewnętrznego podciągania (na razie bez problemów) i mnie nastraszyłeś.

Swego czasu (coś z rok temu) opisywałem. W skrócie to tak ;

sterownik (wtedy miał tylko wewnętrzne podciąganie) zainstalowany na
ulicy, w PLASTYKOWEJ dużej skrzyni instalacyjnej przy torach
tramwajowych. No jakby ta skrzynia była metalowa, to pewnie by się to
nie zdarzyło...

Sam sterownik też jest w obudowie plastykowej - no więc ekranowania
zasadniczo brak.

Była burza - w pobliżu - chyba jakieś kilkadziesiąt metrów wg. ustaleń -
przywalił piorun (nie bezpośrednio w urządzenie - normalnie w
piorunochron na pobliskim budynku chyba) - no i zaczęły się dziać cuda -
jak gdyby jakiś duch zaczął obsługiwać klawiaturę sterownika :)

Okazało się, po dochodzeniu, że impuls elektromagnetyczny spowodował, że
w MCU (atmega128) "odłączyło" się właśnie podciąganie klawiatury. Wtedy
linie wejściowe "zawisły w powietrzu", no zaczęło się
losowe uruchamianie klawiszy - bo sam program dział nadal poprawnie.


Dało się to ustalić, bo sterownik ma rejestr zdarzeń, i można było
odczytać, co się dokładnie działo - od pewnej chwili po prostu było
widać , że są naciskane klawisze, chociaż nikt tego nie robił :)

To był tylko jeden taki przypadek - ale skończyło się na dość poważnym
problemie, ponieważ "duch elektrostatyczny", losowo naciskając te
"wirtualne klawisze" zdołał wykonać kilka całkiem niepożądanych czynności :)

Żeby zapobiec temu na przyszłość, zastosowałem zabezpieczenie programowe
(hasło przed wejściem w menu) + rezystory zewnętrzne.

Dodatkowo zwracam uwagę na konieczność (w poważniejszych zastosowaniach)
nadmiarowego zapisywania danych w pamięci ERAM !
Niestety, nie można mieć specjalnie zaufania do tej pamięci i trzymanie
tam istotnych parametrów tak "po prostu" może skończyć się kłopotem.

Jak się to robi ?

Każdą daną zapisuje się np. w 5 komórkach.
Następnie przy każdym odczycie (albo nawet okresowo po prostu)
sprawdzamy, że wszystkie 5 komórek ma tą samą daną. Jeśli nie -
odczytujemy, która wartość jest w największej ilości komórek.
Czyli np. zapisaliśmy pierwotnie liczbę 5.

Podczas odczytu mamy w ERAM;
komórka 1 = 5
komórka 2 = 184
komórka 3 = 5
komórka 4 = 5
komórka 5 = 5

Wtedy wiadomo, że "5" jest zapisane najwięcej razy - więc zapisujemy
ponownie wszystkie komórki tą wartością.

Oczywiście - może się teoretycznie zdarzyć, że nie da się tego zrobić,
bo np. będzie tak;
komórka 1 = 5
komórka 2 = 184
komórka 3 = 5
komórka 4 = 2
komórka 5 = 2

I wtedy dupa blada Smile No ale wtedy wiadomo, że coś bardzo poważnie się
wysypało i trzeba alarmowo wyłączyć cały interes na wszelki wypadek.
W praktyce aż taka wywałka się nie zdarza raczej, i to w mocno
nieprzyjaznym środowisku (silne zakłócenia).

Osobiście stosuję zapis w 10 komórkach, rzecz jasna tylko chodzi o
najważniejsze dane, których przekłamanie może spowodować poważne kłopoty.



Perfidna sytuacja.
Swojego czasu miałem wejścia PIC zwierane na przekaźniku odległym o 5-6
metrów. Kabel działał jak antena a PIC:
1. dla zwolenników Pawłowa - jak radio
2. dla zwolenników prawdy historycznej: jak wykrywacz burz.
Oczywiście PIC wariował przy każdej burzy.

Adam Wysocki
Guest

Thu May 08, 2014 3:05 pm   



sundayman <sundayman@poczta.onet.pl> wrote:

Quote:
To był tylko jeden taki przypadek

Ale wewnętrzny pullup padł na amen, czy wyłączył się do najbliższego
resetu (prądowego)?

Quote:
Osobiście stosuję zapis w 10 komórkach, rzecz jasna tylko chodzi o
najważniejsze dane, których przekłamanie może spowodować poważne kłopoty.

Może dla pewności XOR-uj te dane z czymś (w każdej komórce z czymś
innym), inaczej np. błędne ustawienie któregoś bitu w kilku komórkach
jednocześnie będzie niezauważone.

--
SELECT finger FROM hand WHERE id = 3;
http://www.chmurka.net/

elektroda NewsGroups Forum Index - Elektronika Polska - Wybór między wewnętrznymi a zewnętrznymi rezystorami podciągającymi w Atmega128

NOWY TEMAT

Regulamin - Zasady uzytkowania Polityka prywatnosci Kontakt RTV map News map