vtor Napisano Grudzień 18, 2019 Udostępnij Napisano Grudzień 18, 2019 Witam chce zbudować " obrotomierz ". Element wirujący czarny z białymi znacznikami. Cny70 podłączony do komparatora z potencjometrem. I tu wszystko działa , jak przed czujnikiem jest biała powierzchnia to komparator na multimetrze daje 0v , na czarnym 5v. Jak na Arduino dam przerwanie ze zboczem to układ zachowuje się tak jak by to zbocze w ułamku sekundy wystąpiło kilka do kilku set razów. W przerwaniu zmienna ma być zwiększana o 1 a wzrasta nawet o 300. Zauważyłem że dzieje się tak przy powolnym obracaniu elementu wirującego , od pewnej prędkości sytuacja wydaje się normalizować. Nie mam dostępu do oscyloskopu. Czy można to jakoś rozwiązać żeby jedno "mignięcie " białego znacznika było interpretowane jako jeden impuls? Cytuj Link do komentarza Share on other sites More sharing options...
rziomber Grudzień 18, 2019 Udostępnij Grudzień 18, 2019 unsigned long lastTimeInterrupt = 0; void interruptHandler(){ if(millis() - lastTimeInterrupt > costam) { lastTimeInterrupt = millis(); dalsza czesc przerwania } } Problem podobny do switch bouncing? 1 Cytuj Link do komentarza Share on other sites More sharing options...
Jamik Grudzień 18, 2019 Udostępnij Grudzień 18, 2019 Nie wygląda, tylko występuje. Komparatory są bardzo czułe. W momencie gdy przez jakiś czas wartości napięcia są do siebie bardzo zbliżone (powolne obracanie) nawet niewielkie oscylacje zasilania, czy drgania osi silnika powodują serię przejść wyjścia komparatora pomiędzy 0 i 5 V co Wywołuje przerwanie wielokrotnie. Też niedawno robiłem obrotomierz, ale podłączyłem wyjście CNY bezpośrednio do wejścia cyfrowego i nie wystąpiły takie efekty. Spróbuj zrobić tak samo, albo użyj układu z histerezą. Cytuj Link do komentarza Share on other sites More sharing options...
vtor Grudzień 19, 2019 Autor tematu Udostępnij Grudzień 19, 2019 CNY70 mam połączony w taki sposób. Z tego co doczytałem , żeby stworzyć histerezę powinienem rezystorem połączyć wyjście komparatora z wejściem z napięciem referencyjnym ( to połączone z potencjometrem , u mnie wejście odwracające ). Czy taka modyfikacja jednym dobrze dobranym rezystorem rozwiąże problem w moim przypadku? Cytuj Link do komentarza Share on other sites More sharing options...
Polecacz 101 Zarejestruj się lub zaloguj, aby ukryć tę reklamę. Zarejestruj się lub zaloguj, aby ukryć tę reklamę. Produkcja i montaż PCB - wybierz sprawdzone PCBWay! • Darmowe płytki dla studentów i projektów non-profit • Tylko 5$ za 10 prototypów PCB w 24 godziny • Usługa projektowania PCB na zlecenie • Montaż PCB od 30$ + bezpłatna dostawa i szablony • Darmowe narzędzie do podglądu plików Gerber Zobacz również » Film z fabryki PCBWay
Jamik Grudzień 19, 2019 Udostępnij Grudzień 19, 2019 Witam. To nie dość, że w Twoim układzie nie pomoże, to wręcz zaszkodzi. Jeśli spojrzysz na schematy komparatorów z histerezą to zobaczysz, że pracują w układzie odwracającym, czyli napięcie referencyjne mają podane na wejście nieodwracające (+) a sygnał na wejście odwracające (-). Co stanie się, jeśli połączysz rezystorem wyjście z wejściem (-) w Twoim układzie? Powiedzmy, że masz napięcie odniesienia 2,5V. Na wejściu (+) pojawia się ciut więcej. Komparator zmienia wyjście z 0V na 5V. I teraz dzięki rezystorowi pomiędzy wyjściem a wejściem (-) napięcie na tej końcówce wzrasta. Jest więc większe niż na wejściu (+) Komparator przełącza wyjście na 0V co powoduje spadek napięcia na wejściu (-) czyli przełączenie wyjścia na 5V, co powoduje... i tak w kółko. Przerób układ na odwracający z histerezą. Wtedy przełączenie wyjścia z 0 na 5V nastąpi przy opadającym napięciu wejścia. 5V na wyjściu, dzięki rezystorowi podniesie napięcie odniesienia i spowoduje, że przełączenie powrotne (z 5 na 0V) nastąpi przy wyższym napięciu wejściowym. I masz histerezę. A jedyna zmiana będzie taka, że zbocza zamienią Ci się miejscami, co dla programu (jak przypuszczam) nie będzie miało żadnego znaczenia, bo jedynie zamiast zliczać przejścia z czarnego na biały, będzie zliczał przejścia z białego na czarny (lub odwrotnie). Pozdrawiam. Cytuj Link do komentarza Share on other sites More sharing options...
Popularny post marek1707 Grudzień 19, 2019 Popularny post Udostępnij Grudzień 19, 2019 1 godzinę temu, Jamik napisał: Jeśli spojrzysz na schematy komparatorów z histerezą to zobaczysz, że pracują w układzie odwracającym To nie do końca jest prawdą. Nie ma takiej reguły a konfiguracja komparatora zależy bardziej od rodzaju źródeł sygnałów. Klasyczny komparator z histerezą ma opornik sprzężenia zwrotnego podłączony od wyjścia do wejścia (+), bo głównym pomysłem tej całej histerezy jest właśnie dodatnie sprzężenie zwrotne w układzie. A dopiero teraz zastanawiamy się co do którego wejścia podłączyć. Różnica między wejściami jest taka, że wejście (-) w takim układzie jest jakby "gołe" tj. wprowadzamy sygnał wprost do pinu. Jak pamiętamy, wejścia wzmacnoiaczy operacyjnych czy komparatorów nie pobierają prądu a więc wejście odwracające komparatpora z histerezą nie obciąża źródła - jest jakby dobrym woltomierzem. A niestety dodanie opornika sprzęgającego wejście (+) z wyjściem powoduje, że oprócz histerezy (to dobrze) dostajemy także przepływ prądu (to źle) i od tej pory źródło sterujące tym wejściem musi się "wysilić" by zapodać jakieś napięcie. Zawsze to trzeba rozumieć i dobrze wybrać. Jeśli np. źródłem sygnału jaki chcemy obrobić komparatorem jest opornik szeregowy w obwodzie pomiaru prądu jakiegoś zasilacza, to ma on zwykle bardzo małą rezystację a więc jest bardzo "sztywnym" źródłem napięcia. Czy go nie obciążymy w ogóle, czy obciążymy rezystancją 1k to napięcie na nim prawie w ogóle się nie zmieni. Wtedy aż się prosi, by podłączyć do niego wejście (+) komparatora, prawda? Natomast wejście (-) w takim układzie możemy sterować np. z potencjometru (który ma zerową wydajność prądową) zadającego napięcie referencyjne i to zadziała bardzo dobrze. Gdbyśmy zrobili odwrotnie, to a) opornikowi pomiarowemu nic by to nie "ulżyło" i nie poprawiło dokładności pomiaru prądu, b) potencjometr byłby "zduszony" wejściem (+) komparatora pobierającym prąd więc zależność napięcia progowego od kąta obrotu potencjometru byłaby nielinowa a co gorsza szerokość histerezy zależałaby od miejsca ustawienia suwaka. W tym konkrenym przypadku oba źródła są słabe. Ani kolektor tranzystora z opornikiem do plusa nie jest dobrym źródłem sygnału napięciowego, bo w sposób oczywisty napięcie na kolektorze będzie się zmieniać gdy podłączymy jakąś dodatkową rezystancję do masy albo do plusa, ani też potencjometr jak napisałem wyżej nie jest dobrą referencją jeśli jest czymś obciążony. Ja bym zwyczajnie użył drugi (bo zwykle jest drugi na chipie) komparator jako wzmacniacz/bufor sygnału - skoro i tak go mam, zapłaciłem za niego a się nudzi. Natomiast w konfiguracji z jednym, to z dwojga złego wybrałbym jednak układ gdzie do (+) podłączam potencjometr a do (-) sygnał. Tutaj ważny jest sygnał z detektora opto a potencjometrem mogę sobie pokręcić jak chcę - liniowość nie jest ważna. Jeżeli dodatkowo obwód "histerezowy" miałby sporą rezystancję, powiedzmy na wejściu 10k a w pętli sprzężenia 510k to pobierany z potencjometru prąd byłby znikomy. gdybyś jeszcze dali potencjometr rzędu 2 lub 5k to sygnał z niego byłby już całkiem odporny na prąd wpływający do obwodu histerezy. I jeszcze jedno: na sygnał z tranzystora może być nałożone bardzo silne zakłócenie od oświetlenia i wyniki/jakość pracy układu może być silnie zależna od pory dnia. W dzień Słońce zza okna daje jedynie stały offset, który po skompensowaniu potencjometrem umożliwia całkiem poprawne działanie. A gdy przychodzi wieczór i włączasz swoją lampkę zobaczysz nagle, że na tle tych samych impulsów dostajesz dziwne 100Hz. Jeżeli nie masz histerezy wycinającej co pomniejsze śmieci, to nagle te 100Hz staje się głównym sygnałem zliczanym i kicha. Dlatego oprócz kombinowania z układem megaważna jest separacja detektora od jakiegokolwiek oświetlenia z otoczenia. Fototranzystor nie odróżnia jednego od drugiego a gdy to się w nim zmiesza, odseparowanie jednego od drugiego może być już niemożliwe. 4 Cytuj Link do komentarza Share on other sites More sharing options...
Jamik Grudzień 19, 2019 Udostępnij Grudzień 19, 2019 Witaj. Zgadzam się z Tobą. Każdy przypadek wymaga zastanowienia się i sposób realizacji histerezy zależy od tego jaki mamy sygnał wzorcowy i porównywany. Odniosłem się do tego konkretnego przypadku, gdzie uważam, że sugerowany przeze mnie układ jest najprostszym, pozwalającym uzyskać efekt o jaki chodziło. Pozdrawiam. 1 Cytuj Link do komentarza Share on other sites More sharing options...
vtor Grudzień 19, 2019 Autor tematu Udostępnij Grudzień 19, 2019 Dziękuję za wyjaśnienie tematu. Niestety układ z komparatorem jest już na gotowym PCB więc zamiana nie jest możliwa. Zostaje mi tylko modyfikacja programu mikrokontrolera. Wypowiedzcie się jeszcze w kwestii wstawienia między obecnym komparatorem a mikrokontrolerem kolejnego komparatora z histerezową bo to jest fizycznie możliwe. Cytuj Link do komentarza Share on other sites More sharing options...
Jamik Grudzień 19, 2019 Udostępnij Grudzień 19, 2019 Moim zdaniem to nic nie da. Pierwszy komparator generuje sygnał 0 lub 5V. Drugi już nic z tym nie zrobi. Gdybyś mógł umieścić komparator pomiędzy czujnikiem a obecnym układem, to i owszem. A nie możesz usunąć (wylutować) istniejącego komparatora? Albo do tego nowego pobrać sygnału pomiędzy czujnikiem i istniejącym układem? Cytuj Link do komentarza Share on other sites More sharing options...
vtor Grudzień 19, 2019 Autor tematu Udostępnij Grudzień 19, 2019 czujniki są po kabelku ze złączem , podłączone do pcb z kilkoma komparatorami, to pcb jest kabelkiem podłączone do kontrolera. Wiem że najrozsądniej było by przeprojektować PCB z komparatorami ale na to nie ma czasu i możliwości więc mogę ten układ tylko rozbudować o dodatkowe moduły. Więc co radzicie mi w takiej sytuacji? Co było by najrozsądniejszym rozwiązaniem? Z tego co piszecie to każde rozwiązanie sprzętowe problemu w moim przypadku równa się z budową nowego pcb a na to nie mam czasu. Cytuj Link do komentarza Share on other sites More sharing options...
Jamik Grudzień 19, 2019 Udostępnij Grudzień 19, 2019 A możesz dać jakieś zdjęcie, rysunek, czy coś? Bo trudno tak w ciemno doradzać. Cytuj Link do komentarza Share on other sites More sharing options...
vtor Grudzień 19, 2019 Autor tematu Udostępnij Grudzień 19, 2019 Problem wygląda na rozwiązany. Drgania wyeliminowane programowo. Na elemencie wirującym tylko jeden znacznik Program liczy ilość milisekund które upłynęły między impulsami. I na tej podstawie wylicza ilość obrotów. Cytuj Link do komentarza Share on other sites More sharing options...
Pomocna odpowiedź
Dołącz do dyskusji, napisz odpowiedź!
Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!