Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 18 wrz 2019, o 08:40


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 23 ] 
Autor Wiadomość
PostNapisane: 20 sie 2019, o 19:30 
Offline
Nowy

Dołączył(a): 30 gru 2017
Posty: 14
Pomógł: 0

Witam

Kończę projekt do sterowania skrzynią i natrafiłem na pewien problem, dotyczy on sygnału pochodzącego z czujnika halla. Impulsy obrotów z koła zamachowego odczytuję poprzez przerwania na pinie INT jako zbocze narastające. Problem polega na tym że jeżeli pin mam podpięty bezpośrednio do mikrokontrolera wraz z rezystorem PULLDOWN to szybki wzrost obrotów resetuje mi Atmegę. Dzieje się tak również podczas uruchamiania silnika ( Procek resetuje się kilka razy ), po odpięciu tego przewodu wszystko pracuje tak jak należy. Nie mam oscyloskopu więc nie jestem w stanie sprawdzić dokładnie przebiegu sygnału jednak na mierniku pokazuje ok 2.5V. Sygnał obrotów jest im potrzebny abym mógł dokończyć program i przetestować całość. Może ma ktoś jakiś pomysł co zrobić aby ta sytuacja się nie powtarzała ??



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 20 sie 2019, o 19:46 
Offline
Użytkownik

Dołączył(a): 28 wrz 2016
Posty: 161
Pomógł: 14

Wygląda na to, że wysokonapięciowy impuls z wejścia przedostaje się przez pojemności pasożytnicze do procesora.
Popraw blokowanie zasilania oraz dołóż transil na zasilaniu.
Dołóż też transil na pinie wejściowym.
Lub tez zastosuj optoizolator na wejściu.


Autor postu otrzymał pochwałę

_________________
de gustibus non est disputandum



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 20 sie 2019, o 19:54 
Offline
Nowy

Dołączył(a): 30 gru 2017
Posty: 14
Pomógł: 0

Dziękuję bardzo za szybką odpowiedź. Zasilanie zrobione jest dobrze wraz z filtrowaniem, podejrzewałem że to pewnie przez piki wysokiego napięcia ale nie wiedziałem jak temu zaradzić jestem początkujący w programowaniu i elektronice. Teraz poszukać tego transila i testować układ, jak zrobię to dam znać jak wyniki ;)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 sie 2019, o 09:00 
Offline
Użytkownik

Dołączył(a): 18 sie 2019
Posty: 47
Pomógł: 2

Raqu napisał(a):
Zasilanie zrobione jest dobrze wraz z filtrowaniem

Pewny jesteś? To trudny temat a piszesz
Raqu napisał(a):
jestem początkujący w programowaniu i elektronice

Jaka masz pewność, że projekt PCB, użyte kondensatory, dławiki są odpowiednie?

Raqu napisał(a):
Teraz poszukać tego transila

Nie każdy transil będzie się nadawał. Jakie przyjąłeś kryteria wyszukiwania?

Spróbuj użyć kabla ekranowanego. Ale to takie strzelanie na ślepo bez określenia jakie impulsy, jaką drogą powodują reset mikrokontrolera. Określ przyczynę resetu (EXT czy BOD).

Jakie elementy i jak podłączyłeś do nóżki reset?
Raqu napisał(a):
pin mam podpięty bezpośrednio do mikrokontrolera wraz z rezystorem PULLDOWN

Jak wartość? Może wystarczy zmniejszyć jego wartość?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 sie 2019, o 09:40 
Offline
Użytkownik

Dołączył(a): 17 sty 2014
Posty: 184
Pomógł: 11

Czujniki CKP bardzo często są indukcyjne. Jesteś pewien, że to jest czujnik halla?
Z drugiej strony, czujniki halla często mają wyjście OC, więc należy dać pullup (który na ogół jest już w komputerze auta).

Z trzeciej strony :) podłączyłbym to do wejścia timera skonfigurowanego jako licznik, a nie INT.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 sie 2019, o 15:22 
Offline
Użytkownik

Dołączył(a): 28 wrz 2016
Posty: 161
Pomógł: 14

Jeśli mogę doradzić. to po pierwsze ustal, czy za reset jest odpowiedzialny sprzęt czy program.
Możesz to zrobić np. tak, ze położyć układ "na stole", zasilić z pewnego źródła np z baterii a na wejście podać sygnał z generatora (np na 555).
Jeżeli na stole będzie działał poprawnie, to problem najprawdopodobniej leży w sprzęcie.

_________________
de gustibus non est disputandum



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 sie 2019, o 17:55 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 22 paź 2013
Posty: 1639
Lokalizacja: Lipsko
Pomógł: 117

Pokaż schemat, cały.

_________________
http://www.sylwekkuna.com



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 sie 2019, o 21:25 
Offline
Nowy

Dołączył(a): 30 gru 2017
Posty: 14
Pomógł: 0

Poniżej zdjęcia płytki z programu Eagle:

ObrazekObrazekObrazekObrazekObrazek

------------------------ [ Dodano po: 11 minutach ]

Semi napisał(a):
Jaka masz pewność, że projekt PCB, użyte kondensatory, dławiki są odpowiednie?


Filtrację robiłem według poradników Pana Mirka a także korzystając z informacji zawartych na forach.

Semi napisał(a):
Jak wartość? Może wystarczy zmniejszyć jego wartość?


20KOhm. Na schemacie podciągnięty jest do 5v (bo tam miał iść inny sygnał )jednak normalnie ten rezystor jest podciągnięty do GND. Nie jest to najnowszy schemat kilka drobnych elementów było zmienionych

Alef2 napisał(a):
Jeśli mogę doradzić. to po pierwsze ustal, czy za reset jest odpowiedzialny sprzęt czy program.

Wina sprzętu ponieważ po odłączeniu pinów które idą od silnika czyli imp. obrotów i prędkości program pracuje w 100%, po podpięciu jednego lub drugiego pinu atmega się resetuje.

Cytuj:
Czujniki CKP bardzo często są indukcyjne. Jesteś pewien, że to jest czujnik halla?
Z drugiej strony, czujniki halla często mają wyjście OC, więc należy dać pullup (który na ogół jest już w komputerze auta).


Teraz szukałem tego konkretnego czujnika i w instrukcji podają pomiar oporu więc musi to być indukcyjny. Jednakże program powinien tak samo zliczać impulsy na halla czy indukcyjnym, problemem pewnie są te piki napięcia wykraczające poza napięcie zasilania. Niestety tak to jest jak się nie ma dostępu do oscyloskopu.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 sie 2019, o 22:03 
Offline
Użytkownik

Dołączył(a): 17 sty 2014
Posty: 184
Pomógł: 11

Raqu napisał(a):
Teraz szukałem tego konkretnego czujnika i w instrukcji podają pomiar oporu więc musi to być indukcyjny. Jednakże program powinien tak samo zliczać impulsy na halla czy indukcyjnym, problemem pewnie są te piki napięcia wykraczające poza napięcie zasilania. Niestety tak to jest jak się nie ma dostępu do oscyloskopu.


Niestety ale jesteś w "mylnym błędzie" ;)
Do czujnika indukcyjnego praktycznie musisz mieć detektor przejścia przez zero. Amplituda sygnału z czujnika będzie w zależności od obrotów zmieniać się w zakresie od miliwoltów do nawet dziesiątek woltów.
Podłączając "na chama" procesor w najlepszym wypadku będzie to działać w wąskim zakresie obrotów. W najgorszym przypadku zabijesz procka.

Bez urazy, ale chyba musisz trochę teorii przyswoić do tego projektu.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 sie 2019, o 23:31 
Offline
Użytkownik

Dołączył(a): 28 wrz 2016
Posty: 161
Pomógł: 14

Zakładając, że źródłem kłopotów jest czujnik, i że przy małych obrotach czujnik pokazuje prawdę (nie gubi impulsów) spróbowałbym podać sygnał z czujnika nie bezpośrednio, a poprzez tranzystor. Tranzystor NPN kolektor do wejścia Atmegi i przez opornik np 1k, emiter do masy a baza do czujnika poprzez rezystor np 4k7. Faza sygnału zostanie odwrócona, ale nie powinno mieć to znaczenia. dodatkowo można dać diodę impulsowa miedzy bazą a emiterem by ujemne impulsy nie przebiły złącza baza-emiter. Oraz mały kondensator (powiedzmy 100p, choć wartość nie jest krytyczna) równolegle do diody by zwierać szpilki do masy. W takim układzie szpilki powinny "zatrzymać" się na tranzystorze.
Konkretny symbol czujnika byłby bardzo przydatny.

_________________
de gustibus non est disputandum



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 sie 2019, o 10:04 
Offline
Nowy

Dołączył(a): 30 gru 2017
Posty: 14
Pomógł: 0

mpo napisał(a):
Raqu napisał(a):
Teraz szukałem tego konkretnego czujnika i w instrukcji podają pomiar oporu więc musi to być indukcyjny. Jednakże program powinien tak samo zliczać impulsy na halla czy indukcyjnym, problemem pewnie są te piki napięcia wykraczające poza napięcie zasilania. Niestety tak to jest jak się nie ma dostępu do oscyloskopu.


Niestety ale jesteś w "mylnym błędzie" ;)
Do czujnika indukcyjnego praktycznie musisz mieć detektor przejścia przez zero. Amplituda sygnału z czujnika będzie w zależności od obrotów zmieniać się w zakresie od miliwoltów do nawet dziesiątek woltów.
Podłączając "na chama" procesor w najlepszym wypadku będzie to działać w wąskim zakresie obrotów. W najgorszym przypadku zabijesz procka.

Bez urazy, ale chyba musisz trochę teorii przyswoić do tego projektu.


Przecież się nie obrażam ;), nigdzie też nie napisałem, że jestem alfą i omegą mam problem więc pytam bardziej doświadczonych. Na początku byłem przekonany, że to czujnik halla nie zwracałem uwagi iż może to być czujnik indukcyjny ( Oba zewnętrznie się nie różnią ). Samo odczytywanie obrotów najpierw sprawdzałem miernikiem i pokazywało 2.5V więc myślałem, że to jest czujnik halla bo napięcie z obrotami nie wzrastało. Następnie podłączyłem czujnik pod atmege8 taką do testów i liczba impulsów rosła bez żadnych zacięć i resetów ale może to przez to że wersja DIP jest bardziej wytrzymała.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 sie 2019, o 10:13 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 22 paź 2013
Posty: 1639
Lokalizacja: Lipsko
Pomógł: 117

A próbowałeś dać równolegle z pinem pomiarowym uc, a masą zenerkę 4.7V i szeregowo rezystor 4,7-10k?
Ja kiedyś bezpośrednio procesorem czytałem sobie impulsy z tachometrycznej prądnicy, która dawała napięcie do 100V i nic się nie resetowało. Wykorzystałem właśnie tylko zenerkę i rezystor 22k.


Autor postu otrzymał pochwałę

_________________
http://www.sylwekkuna.com



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 sie 2019, o 10:15 
Offline
Nowy

Dołączył(a): 30 gru 2017
Posty: 14
Pomógł: 0

Nie wiem czy to dokładnie ten sam bo numeru na nim nie ma jednak w sklepach z częściami podają np ten czujnik: 52-72-0001/VEM

Tutaj schemat z książki serwisowej:
Obrazek

------------------------ [ Dodano po: 2 minutach ]

SylwekK napisał(a):
A próbowałeś dać równolegle z pinem pomiarowym uc, a masą zenerkę 4.7V i szeregowo rezystor 4,7-10k?
Ja kiedyś bezpośrednio procesorem czytałem sobie impulsy z tachometrycznej prądnicy, która dawała napięcie do 100V i nic się nie resetowało. Wykorzystałem właśnie tylko zenerkę i rezystor 22k.


Najpierw przez 2 dni szukałem przyczyny resetowania się sterownika, jak już znalazłem przyczynę to zacząłem szukać informacji ale ciężko cokolwiek znaleźć. Nie znalazłem jak ludzie te impulsy obrotów odczytywali dlatego napisałem temat.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 sie 2019, o 10:38 
Offline
Użytkownik

Dołączył(a): 18 sie 2019
Posty: 47
Pomógł: 2

Raqu napisał(a):
Nie mam oscyloskopu

na 99,99% masz, tylko nie chcesz go użyć. Częstotliwość nie duża więc bez problemu zobaczysz czo masz na wyjściu czujnika.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 sie 2019, o 10:51 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 22 paź 2013
Posty: 1639
Lokalizacja: Lipsko
Pomógł: 117

Raqu napisał(a):
Najpierw przez 2 dni szukałem przyczyny resetowania się sterownika, jak już znalazłem przyczynę to zacząłem szukać informacji ale ciężko cokolwiek znaleźć. Nie znalazłem jak ludzie te impulsy obrotów odczytywali dlatego napisałem temat.

Więc zrób tak jak Ci napisałem i sprawdź czy się poprawiło. Jeśli jesteś pewny, że z czujnika jest wyjście niskonapięciowe to zmniejsz rezystor do 1k (dla ochrony zenerki).

_________________
http://www.sylwekkuna.com



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 sie 2019, o 10:52 
Offline
Użytkownik

Dołączył(a): 17 sty 2014
Posty: 184
Pomógł: 11

Abstrahując od zenerek, oporników, tranzystorów i innych.

Jeżeli to jest czujnik położenia wału, to na ogół są tam stosowane koła "missing tooth" albo z innym układem pozwalającym ustalić _położenie wału korbowego_.
Taki sygnał niekoniecznie będzie właściwy do określania _prędkości obrotowej_ (chyba że będzie się mierzyć czas pomiędzy najkrótszymi impulsami albo jakiś inny fikuśny algorytm).
Może lepiej podpiąć się pod czujnik rozrządu. Tam prawie zawsze są czujniki halla.
Proponuję poguglować "megasquirt", "speeduino" itp



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 sie 2019, o 10:54 
Offline
Nowy

Dołączył(a): 30 gru 2017
Posty: 14
Pomógł: 0

Semi napisał(a):
Raqu napisał(a):
Nie mam oscyloskopu

na 99,99% masz, tylko nie chcesz go użyć. Częstotliwość nie duża więc bez problemu zobaczysz czo masz na wyjściu czujnika.


Fajnie nawet nie wiedziałem, że mam oscyloskop. Pokaż tylko gdzie to pójdę i go użyję ^^. A tak na serio to nie mam oscyloskopu, tak to nie wróżyłbym z fusów tylko dawno pokazał przebieg napięcia.

------------------------ [ Dodano po: 2 minutach ]

SylwekK napisał(a):
Raqu napisał(a):
Najpierw przez 2 dni szukałem przyczyny resetowania się sterownika, jak już znalazłem przyczynę to zacząłem szukać informacji ale ciężko cokolwiek znaleźć. Nie znalazłem jak ludzie te impulsy obrotów odczytywali dlatego napisałem temat.

Więc zrób tak jak Ci napisałem i sprawdź czy się poprawiło. Jeśli jesteś pewny, że z czujnika jest wyjście niskonapięciowe to zmniejsz rezystor do 1k (dla ochrony zenerki).


Tak szukam czy mam jakieś diody zenera, jak znajdę to zaraz sprawdzę układ.

------------------------ [ Dodano po: 9 minutach ]

mpo napisał(a):
Jeżeli to jest czujnik położenia wału, to na ogół są tam stosowane koła "missing tooth" albo z innym układem pozwalającym ustalić _położenie wału korbowego_.
Taki sygnał niekoniecznie będzie właściwy do określania _prędkości obrotowej_ (chyba że będzie się mierzyć czas pomiędzy najkrótszymi impulsami albo jakiś inny fikuśny algorytm).
Może lepiej podpiąć się pod czujnik rozrządu. Tam prawie zawsze są czujniki halla.


No tak wyszukiwana jest przerwa na kole i jest to po prostu dłuższy sygnał lub jego brak, zliczając zbocza opadające albo narastające nie ważne jest ile tych impulsów będę miał, może być nawet 1 imp/obr wtedy w programie zrobię odpowiedni przelicznik i już wiem z jaką prędkością obraca się wał silnika. W teorii też mogę wykorzystać czujnik położenia wałka rozrządu, (tam stosunek prędkości to 2:1 więc impulsy zmienię to nie problem) tylko czy nie będzie to samo co z czujnikiem z wału.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 sie 2019, o 11:09 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 22 paź 2013
Posty: 1639
Lokalizacja: Lipsko
Pomógł: 117

Zenerka może być od 3.3 do 5V

_________________
http://www.sylwekkuna.com



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 sie 2019, o 11:15 
Offline
Użytkownik

Dołączył(a): 18 sie 2019
Posty: 47
Pomógł: 2

Raqu napisał(a):
Fajnie nawet nie wiedziałem, że mam oscyloskop. Pokaż tylko gdzie to pójdę i go użyję ^^. A tak na serio to nie mam oscyloskopu, tak to nie wróżyłbym z fusów tylko dawno pokazał przebieg napięcia.

Kardy dźwiękowej w komputerze nie masz?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 sie 2019, o 13:36 
Offline
Użytkownik

Dołączył(a): 28 wrz 2016
Posty: 161
Pomógł: 14

SylwekK napisał(a):
A próbowałeś dać równolegle z pinem pomiarowym uc, a masą zenerkę 4.7V i

w tym układzie zenerka może okazać się za wolna, dlatego proponowałem jej szybką odmianę transila.
Jeżeli źródłem zakłóceń jest prądniczka, to zenerka powinna wystarczyć, ale w przypadku, gdy źródłem zakłóceń jest układ zapłonowy zenerka jest za wolna.

_________________
de gustibus non est disputandum



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 sie 2019, o 10:52 
Offline
Nowy

Dołączył(a): 30 gru 2017
Posty: 14
Pomógł: 0

Przeprowadziłem test, podłączyłem czujnik halla bezpośrednio i to samo wywalało co chwila program. Następnie dodałem jeszcze rezystor 100nF na reset i podłączyłem układ jak pisał SylwekK zenera 3.9v i rezystor 4.7kOhm. Ten układ zadziałał i na czujniku halla (tylko że na ok 800 obr/min silnika miałem ok 8 impulsów na sekundę a to trochę mało) i na czujniku z koła zamachowego tam już jest super bo mam ok 800imp/s i zostawię go tam. Sterownik nie resetuje się już przy uruchamianiu silnika i przy zwiększaniu obrotów też.

Cytuj:
Kardy dźwiękowej w komputerze nie masz?


Mam ale nie chcę jej spalić.

Alef2 napisał(a):
w tym układzie zenerka może okazać się za wolna, dlatego proponowałem jej szybką odmianę transila.


Znalazłem transil w dysku twardym i 12v i 5v jak coś znów zacznie się psuć to będę go podłączał jako następnego.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 sie 2019, o 10:55 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 22 paź 2013
Posty: 1639
Lokalizacja: Lipsko
Pomógł: 117

Kondensator 100n skutecznie wytłumi ci sporo impulsów. Można je stosować przy przyciskach, ale nie tam gdzie wymagana jest szybkość odczytu.

------------------------ [ Dodano po: 2 minutach ]

Ooooo, teraz doczytałem, że to na resecie ten kondek :)
Skoro impulsów mało to chyba nie obejdzie się bez oscyloskopu, bo jakimś cudem mogą się zlewać przy większej prędkości, albo coś w nich ingeruje.

_________________
http://www.sylwekkuna.com



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 sie 2019, o 11:03 
Offline
Nowy

Dołączył(a): 30 gru 2017
Posty: 14
Pomógł: 0

Ale na indukcyjnym jest ok więc na razie go tam zostawię. To i tak płytka testowa a nową będę poprawiał i robił za jakiś czas, więc jak przez ten czas nic się nie stanie to zostanie jak jest.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 23 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 0 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO