Witam
mam układ z atmega 168 na wejściu int1 mam wyzwalanie poprzez zwarcie do masy. Układ jest zamontowany na motocyklu. Wszystko pracuje ok do momentu odpalenia. Kiedy chodzi silnik to przerwanie bardzo często wyzwala się samo. Sam układ elektryczny zbudowany jest tak
po dołożeniu tego kondensatora troszkę jest lepiej ale nadal źle. Kondensatory na zasilaniu tez mam. jak to można wyeliminować.Poza tym cały układ chodzi ok
Wader669 @Zasilanie mam na 7805 kondensator przed i po nim.Przy samym procku na zasilaniu mam 100nF. Temat tamten ma inny problem , ale fakt nie znalazłem go(tematu oczywiście).
elektryk2000 @ Musze sprawdzić z tym zmniejszeniem R2 nie pomyślałem o tym.
janbernat @ do S1 mam ok 0.5 do 0.8 metra.
ogólnie układ jest na lcd mierzy napięcie itp itd i z niczym nie ma problemów ogólnie stabilnie działa poza tym że właśnie przerwanie wyzwala mi się samo w momencie odpalania lub przegazowania.
generalnie nie liczy impulsów. To załącza,wyłącza/resetuje licznik czasu jazdy.Nie chodzi o przyspieszenia do 100 tylko czas podroży, chcę mieć jednak załączany ręcznie.
Pisząc znieczulić programowo miałeś na myśli np wydłużenie impulsu tak aby piki itp nie robiły śmieci?
Ja miałem podobny problem ale INT0 wykorzystałem jako wejście stanu awaryjnego pewnego urządzenia.
Pracuje to przy napięciu 230V/50Hz a przy awarii pojawia się szereg impulsów z optotranzystora. Bez znieczulenia też zdarzały się przypadkowe przerwania na co nie mogłem sobie absolutnie pozwolić. Zrobiłem tak, że licznik zlicza impulsy z INT0 i po osiągnięciu 40 generuje obsługę awarii. Co 1s jest licznik zerowany.
W Twoim przypadku trzeba to rozwiązać inaczej (u mnie przerwanie było 1 raz na okres sinusoidy napięcia).
"do S1 mam ok 0.5 do 0.8 metra."
A na świecy masz 10-20kV napięcia w impulsie.
Te przewody do S1 MUSZĄ być skręcone i w ekranie podłączonym z JEDNEJ TYLKO strony do masy(motocykla).
Przy "fajce" świecy MUSI być sprawny opornik tłumiący.
Dodano po 4 [minuty]:
R1 do 470Ohm, C1 do 1uF, zamiast R3 dławik 100uH na początek.
"do S1 mam ok 0.5 do 0.8 metra."
A na świecy masz 10-20kV napięcia w impulsie.
Te przewody do S1 MUSZĄ być skręcone i w ekranie podłączonym z JEDNEJ TYLKO strony do masy(motocykla).
Przy "fajce" świecy MUSI być sprawny opornik tłumiący.
Dodano po 4 [minuty]:
R1 do 470Ohm, C1 do 1uF, zamiast R3 dławik 100uH na początek.
Dołóż napięcia... potrafi sięgnąć 40kV na wyjściu cewki w nietypowych stanach pracy(tyle mniej więcej mi wychodziło z pomiarów które robiłem jak zaczynałem orać temat mikroprocesorowego zapłonu). Jeszcze bym dorzucił odsprzęganie zakłóceń zdolnych zresetować/zawiesić procesor - przy wejściu kabli na płytkę dodaj po jednym kondensatorze ceramicznym dla każdej żyły kabla(nieważne że jedna z tych żył jest podłączona później do masy), a kondensatory podłącz do obudowy(o ile jest metalowa, samą obudowę połącz z masą zewnętrznym przewodem). Jeżeli obudowa nie jest metalowa podepnij kondensatory oddzielną ścieżką bezpośrednio do wejścia masy na płytkę. Tak to się robi w centralkach samochodowych (patrz np. centralki IAW, a także centralki do 1.3JTD, w innych nie grzebałem/nie pamiętam jak jest). Podobnież jak pisali przedpisemcy należy układ znieczulić na krótkie impulsy, zrób eliminację impulsów krótszych niż 100 us. Samo zakłócenie od zapłonu trwa na ogół kilkadziesiąt us i składa się z dość losowych szpilek nierzadko o bardzo dużej amplitudzie więc filtrowanie kondensatorem nie na wiele się zdaje bo po przejściu przez filtr RC taka szpilka owszem ma o wiele, wiele mniejszą amplitudę ale też czas jej trwania się mocno wydłuża(przynajmniej w moim przypadku takie filtrowanie na nic się nie zdawało). Śmiem twierdzić że zdałoby egzamin obcinanie sygnału wejściowego diodami do zakresu 0-VCC i wycinanie impulsów krótszych niż ww. 100 us układzikiem na bramce Schmitta. Jeżeli znajdę czas i będzie zainteresowanie to Ci to ładnie narysuję.
Od resetu do + daj diodę (najlepiej szybką) równolegle do opornika katodą do +.
Mniejsze prawdopodobieństwo latch-up.
I nie zapomnij o kondensatorze od reset do masy.
R1 do 470Ohm, C1 do 1uF, zamiast R3 dławik 100uH na początek.
R1 - nie widzę takiego. Może to ten od świecy?
C1 - obleci.
R3 - dławik? Nic głupszego się nie da? Albo w ogóle wywal R3, albo daj za nim kondensator do masy. Albo zamiast niego daj dławik ale z kondensatorem.
Dławik z kondensatorem lepszy od rezystora, ale dławik bez kondensatora gorszy.
Słuchaj Atoma, dobrze gada .
Podstawowy błąd to C1, jest nie w tym miejscu co trzeba, podpiął bym go bezpośrednio do INT1 i masy. R1 = R2 = 1k Ohm. Wszystkie 3 elementy ( C1, R1, R2) daj blisko uProcka. Przycisk z przewodem możesz sobie poprowadzić na większe odległości.
Czyli C1 nie jest praktycznie na nogach procesora. Na nogach procesora to może być ten kondensator za R3.
Skoro to służy jako włącznik to C1 = 10uF nawet nie był by zły. Ale mały ceramiczny 100nF do tego też by sie przydał.
No ja tak właśnie mam. poza wartościami rezystorów.S1 to jest przycisk stanowiący fragment oryginalnej instalacji, nie ma do niego nic więcej podłączone tylko 1 przewód drugim jest masa (kierownica)
A juz wiem o co chodzi , hmmm faktycznie teraz nie pamiętam jak podpiąłem C1 ale wydaje mi się ze ne nogach procka od spodu płytki przylutowałem. Musze to sprawdzić ale teraz nie mam jak.
No ja tak właśnie mam. poza wartościami rezystorów.S1 to jest przycisk stanowiący fragment oryginalnej instalacji, nie ma do niego nic więcej podłączone tylko 1 przewód drugim jest masa (kierownica)
Może atom1477 masz rację z kondensatorem za dławikiem.
Ale nie jestem pewien.
Te dwa kable od S1(skręcone!) to bym przewlókł parę razy przez mały pierścień ferrytowy przy procesorze.
To dobrze tłumi sygnały współbieżne w.cz.
Kiedyś to stosowano w oscyloskopach.
Dodano po 3 [minuty]:
No to można sobie skręcić kierownicę z jednym kablem...
Nie używaj do odczytu przerwania, tylko zrób skanowanie jak w normalnej klawiaturze. Stan portu odczytujesz ciągle co np. 5ms (wykorzystaj przerwanie timera). Jeżeli 3 odczyty (lub więcej, dobierzesz eksperymentalnie) pod rząd są takie same to oznacza, że odczytałeś jego stan.