Problem z układem detekcji maksimum (peak detector)
Problem z układem detekcji maksimum (peak detector)
Potrzebuję wykonać układ detekcji maksimum sygnału pochodzącego z czujnika piezo. Znalazłem taki schemat:
http://4.bp.blogspot.com/-IsPRd-5PoBQ/T ... BOpAmp.gif
Przy czym ja mam zasilanie 5V i TL072 jako wzmacniacz operacyjny. Niestety układ daje cały czas 5V na wyjściu. Zauważyłem też, że na wejściu nieodwracającym jest jest 1V, który również nie wiem skąd się bierze. Co ciekawe układ zaczyna działać po odłączeniu R1. Napięcie na wyjściu spada do 0V i po stuknięciu w czujnik piezo rośnie do szczytowej wartości sygnału z czujnika. Nie mogę zrozumieć czemu dołączenie tego rezystora tak wpływa na układ. Poza tym chciałbym żeby tam był, gdyż dzięki niemu możliwe jest "dociążenie" czujnika piezo, przez co nie generuje on aż tak dużego sygnału i wtedy byłaby szansa na rozróżnienie słabszych uderzeń od mocniejszych. Bez rezystora nawet niewielkie stuknięcie daje na wyjściu maksimum. Spróbowałem też z układem NE5532, ale wtedy nawet odłączenie R1 nie pomaga. Będę wdzięczny, gdyby ktoś mógłby mi wytłumaczyć czemu układ tak się zachowuje?
http://4.bp.blogspot.com/-IsPRd-5PoBQ/T ... BOpAmp.gif
Przy czym ja mam zasilanie 5V i TL072 jako wzmacniacz operacyjny. Niestety układ daje cały czas 5V na wyjściu. Zauważyłem też, że na wejściu nieodwracającym jest jest 1V, który również nie wiem skąd się bierze. Co ciekawe układ zaczyna działać po odłączeniu R1. Napięcie na wyjściu spada do 0V i po stuknięciu w czujnik piezo rośnie do szczytowej wartości sygnału z czujnika. Nie mogę zrozumieć czemu dołączenie tego rezystora tak wpływa na układ. Poza tym chciałbym żeby tam był, gdyż dzięki niemu możliwe jest "dociążenie" czujnika piezo, przez co nie generuje on aż tak dużego sygnału i wtedy byłaby szansa na rozróżnienie słabszych uderzeń od mocniejszych. Bez rezystora nawet niewielkie stuknięcie daje na wyjściu maksimum. Spróbowałem też z układem NE5532, ale wtedy nawet odłączenie R1 nie pomaga. Będę wdzięczny, gdyby ktoś mógłby mi wytłumaczyć czemu układ tak się zachowuje?
- Calineczka
- Posty: 7578
- Rejestracja: niedziela 11 lis 2007, 20:19
- Lokalizacja: Wejherowo
- Kontakt:
Niestety nie pomaga, a nawet pogarsza sprawę. Generalnie caly czas na wejściu 3 mam 1v, a na wyjściu 2,5v. Jak wejście 3 odłączę od układu i zostawię przy nim tylko oscyloskop, to też tak jest. Jeśli odłączę oscyloskop, to napięcie na wyjściu spada do 1v, ale nigdy do zera. Nie zmienia się też niemal nic kiedy wejście 2 dołączę bezpośrednio za diodą do wyjścia zamiast przez dzielnik.
https://gitaradiy.pl - zapraszam
A zasilanie masz symetryczne ? , musi być minimum katalogowe.
R2 daj 10k
R3 daj 100 ohm
Dioda powinna być za dzielnikiem sprzężenia zwrotnego.
kondensator równoległy na wyjściu ma zbyt dużą pojemność, jeśli musi mieć taką pojemność powinien być podłączony w szeregu z rezystorem np 330ohm
między wejściami ujemnym i dodatnim daj C o wartości 68p.
jeśli układ ma mieć zasilanie napięciem pojedynczym to musi mieć rezystory ustalające punkt pracy wejścia nieodwracającego.
wzmocnienie możesz zmniejszyć dzielnikiem sprzężenia zwrotnego , zasady elementy piezo ceramiczne wytwarzają bardzo wysokie napięcia ale bardzo bardzo małe prądy. Możne nawet wzmocnienie 1 by wystarczyło.
oczywiście na zasilaniu blisko nóg zasilani układu masz pojemności kilka uF ?
R2 daj 10k
R3 daj 100 ohm
Dioda powinna być za dzielnikiem sprzężenia zwrotnego.
kondensator równoległy na wyjściu ma zbyt dużą pojemność, jeśli musi mieć taką pojemność powinien być podłączony w szeregu z rezystorem np 330ohm
między wejściami ujemnym i dodatnim daj C o wartości 68p.
jeśli układ ma mieć zasilanie napięciem pojedynczym to musi mieć rezystory ustalające punkt pracy wejścia nieodwracającego.
wzmocnienie możesz zmniejszyć dzielnikiem sprzężenia zwrotnego , zasady elementy piezo ceramiczne wytwarzają bardzo wysokie napięcia ale bardzo bardzo małe prądy. Możne nawet wzmocnienie 1 by wystarczyło.
oczywiście na zasilaniu blisko nóg zasilani układu masz pojemności kilka uF ?
Ni-Cd Man.
Zasilanie mam pojedyncze tak, jak na schemacie i nie bardzo mam możliwość zrobić symetryczne.Defcio pisze:A zasilanie masz symetryczne ? , musi być minimum katalogowe.
Czemu za? Jak tak zrobię, to pojawi mi się chyba ok. 0,6V martwego napięcia zanim zobaczęcoś na wyjściu. Chyba o to właśnie chodzi żeby dioda była w sprzężeniu?Defcio pisze: R2 daj 10k
R3 daj 100 ohm
Dioda powinna być za dzielnikiem sprzężenia zwrotnego.
Raczej nie musi i aktualnie nawet nie ma, bo pod ręką był 1uF, ale rezystor mogę dodać.Defcio pisze: kondensator równoległy na wyjściu ma zbyt dużą pojemność, jeśli musi mieć taką pojemność powinien być podłączony w szeregu z rezystorem np 330ohm
O tym nie wiedziałem. Wzorowałem się na schemacie, który komuś dzialał w identycznej aplikacji.Defcio pisze: między wejściami ujemnym i dodatnim daj C o wartości 68p.
jeśli układ ma mieć zasilanie napięciem pojedynczym to musi mieć rezystory ustalające punkt pracy wejścia nieodwracającego.
Rzeczywiście wzmocnienie 1 wystarczy, a nawet za pomocą R1 planowałem dodatkowo "stłumić" sensor żeby być w stanie odróżnić kilka poziomów. Nie wiem czemu ktoś dał takie duże wzmocnienie w sumie. Dodatkowo wyjście piezo spiąłem diodami do masy i zasilania żeby zabezpieczyć przed zbyt wysokim napięciem i to rozwiązanie działa, bo mam przedział 0-5V +- napięcie przewodzenia diody.Defcio pisze: wzmocnienie możesz zmniejszyć dzielnikiem sprzężenia zwrotnego , zasady elementy piezo ceramiczne wytwarzają bardzo wysokie napięcia ale bardzo bardzo małe prądy. Możne nawet wzmocnienie 1 by wystarczyło.
Tak.Defcio pisze: oczywiście na zasilaniu blisko nóg zasilani układu masz pojemności kilka uF ?
Witam
Przede wszystkim należy zacząć od tego, że MCP601 i TL072, to dwa zupełnie różne układy. Kluczem jest tu pewna właściwość MCP601 "Rail-to-Rail Output" oraz "Single-Supply: 2.7V to 6.0V", co powoduje, że układ potrafi na wyjściu utrzymać 0V, przy zasilaniu z pojedynczego napięcia. Układ TL072, tego nie potrafi. Ponadto MCP ma jeszcze jedną właściwość "Input Range Includes Ground" czyli w skrócie, układ rozpoznaje 0V na wejściu.
Biorąc pod uwagę dobór elementów oryginału, układ jest zaprojektowany właściwie.
Dioda na wyjściu też jest we właściwym miejscu. Ma ona ładować kondensator, i uniemożliwić jego rozładowanie przez wyjście układu. Rezystory układu sprzężenia zwrotnego, są dobrane dla uzyskania odpowiedniej stałej czasowej, umożliwiającej rozpoznanie maksymalnego sygnału i utrzymanie tej wartości przez określony czas. Nic tam nie potrzeba zmieniać. Sprzężenie zwrotne ma umożliwić wzmacnianie tylko sygnałów których amplituda przekracza wartość określoną wzmocnieniem i poziomem napięcia na kondensatorze, tak więc układ wzmacnia tylko sygnały o amplitudzie umożliwiającej "doładowanie" kondensatora na wyjściu.
Niestety układ NE5532 też się tutaj nie nadaje. Zwróć uwagę, że minimalne zalecane napięcie zasilania to ± 5V (symetryczne).
W ostateczności możesz spróbować z układem LM358, który ma parametry bardziej zbliżone do MCP601, pod względem zasilania i poziomów sygnałów.
Pozdrawiam
Przede wszystkim należy zacząć od tego, że MCP601 i TL072, to dwa zupełnie różne układy. Kluczem jest tu pewna właściwość MCP601 "Rail-to-Rail Output" oraz "Single-Supply: 2.7V to 6.0V", co powoduje, że układ potrafi na wyjściu utrzymać 0V, przy zasilaniu z pojedynczego napięcia. Układ TL072, tego nie potrafi. Ponadto MCP ma jeszcze jedną właściwość "Input Range Includes Ground" czyli w skrócie, układ rozpoznaje 0V na wejściu.
Biorąc pod uwagę dobór elementów oryginału, układ jest zaprojektowany właściwie.
Dioda na wyjściu też jest we właściwym miejscu. Ma ona ładować kondensator, i uniemożliwić jego rozładowanie przez wyjście układu. Rezystory układu sprzężenia zwrotnego, są dobrane dla uzyskania odpowiedniej stałej czasowej, umożliwiającej rozpoznanie maksymalnego sygnału i utrzymanie tej wartości przez określony czas. Nic tam nie potrzeba zmieniać. Sprzężenie zwrotne ma umożliwić wzmacnianie tylko sygnałów których amplituda przekracza wartość określoną wzmocnieniem i poziomem napięcia na kondensatorze, tak więc układ wzmacnia tylko sygnały o amplitudzie umożliwiającej "doładowanie" kondensatora na wyjściu.
Niestety układ NE5532 też się tutaj nie nadaje. Zwróć uwagę, że minimalne zalecane napięcie zasilania to ± 5V (symetryczne).
W ostateczności możesz spróbować z układem LM358, który ma parametry bardziej zbliżone do MCP601, pod względem zasilania i poziomów sygnałów.
Pozdrawiam
Izali miecz godniejszy niżli topór w boju?
Piszmy po polsku, wszak jesteśmy Polakami.
Piszmy po polsku, wszak jesteśmy Polakami.
Rzeczywiście masz rację. Znalazłem LM358 i po zamianie jest znacznie lepiej. Teraz oryginalny układ z jedyną modyfikacją w postaci C1=1uF daje na wyjściu ok. 1,7V w spoczynku i to napięcie rośnie do 3V po uderzeniu w piezo i następnie spada. Po zmianie R1 na rezystor ok. 0,3k mam napięcie jałowo na wyjściu spada do 0,7V i po uderzeniu (mocniejszym) w piezo również rośnie do 3V. Zastanawiam się, czy dałoby się jakoś pozbyć tego napięcia na wyjściu w stanie spoczynku.
Ostatnio zmieniony sobota 10 sty 2015, 12:41 przez cob, łącznie zmieniany 2 razy.
Właśnie przepiąłem wejście odwracające z dzielnika bezpośrednio za diodę i napięcie na wyjściu spadło do 0. Teraz zmienia się ono w zakresie 0-3,2V. Wnioskuję więc, że wcześniej układ miał duże wzmocnienie i te śmieci objawiały się napięciem na wyjściu.
https://gitaradiy.pl - zapraszam
W sumie z tą diodą to macie racje że będzie detekcja liniowa ale miałem na myśli że dioda na wyjściu bardzo szybkiego układu który zawsze zawiera jakieś tam szumy w tym w.cz. może powodować detekcję co może rozstabilizować cały wzmacniacz.
Ja myślę że układ był wstanie wzbudzenia jakimiś oscylacjami, nie było żadnej pojemności ograniczającej wpływ w.cz. na wejściach układ pracował z ogromną prędkością sam w sobie mógł wytworzyć drgania w.cz. poprzez wewnętrzne pojemności podczas przekraczania zgodności fazy sprzężenia zwrotnego, na to też ma wpływ podanie bardzo wysokiej rezystancji dzielnika który przyśpieszy przesuniecie fazy i łatwiejszą niestabilność.
Bardzo rzadko ale jednak jest to możliwe sam przetwornik ceramiczny staje się rezonatorem i poprzez wewnętrzną pojemność wysoko impedancyjnego układu jest pobudzany ponieważ na jego zacisk dostaje się część napięcia z wyjścia a rezonatory są na to bardzo podatne i układ generuje jakąś częstotliwość z zakresu podstawowego lub harmonicznych mechanicznej płytki piezo.
Możliwe że układ nie miał pracować liniowo dlatego jest zasilany z pojedynczego napięcia i ale zawsze detekcja nastąpi z tym że poszarpana ale tu to może nie przeszkadzać.
Ja myślę że układ był wstanie wzbudzenia jakimiś oscylacjami, nie było żadnej pojemności ograniczającej wpływ w.cz. na wejściach układ pracował z ogromną prędkością sam w sobie mógł wytworzyć drgania w.cz. poprzez wewnętrzne pojemności podczas przekraczania zgodności fazy sprzężenia zwrotnego, na to też ma wpływ podanie bardzo wysokiej rezystancji dzielnika który przyśpieszy przesuniecie fazy i łatwiejszą niestabilność.
Bardzo rzadko ale jednak jest to możliwe sam przetwornik ceramiczny staje się rezonatorem i poprzez wewnętrzną pojemność wysoko impedancyjnego układu jest pobudzany ponieważ na jego zacisk dostaje się część napięcia z wyjścia a rezonatory są na to bardzo podatne i układ generuje jakąś częstotliwość z zakresu podstawowego lub harmonicznych mechanicznej płytki piezo.
Możliwe że układ nie miał pracować liniowo dlatego jest zasilany z pojedynczego napięcia i ale zawsze detekcja nastąpi z tym że poszarpana ale tu to może nie przeszkadzać.
Ni-Cd Man.
W obecnej postaci układ działa już dobrze. Niestety na wyjściu tracę ok. 1,8V, co tłumaczy nota katalogowa (do 1,5V spadku) wraz z diodą, która również wprowadza spadek. Chyba muszę kupić jednak MCP601, który potrafi na wyjściu dać niemal pełne napięcie zasilania.
Idąc dalej, chciałbym ten wykryty poziom spróbkować przetwornikiem ADC z ATMEGi8, a następnie zmienić stan portu na wyjście i ustawiając stan niski wyzerować napięcie na kondensatorze. Gdzieś widziałem takie rozwiązanie, ale nie jestem pewien, czy powinno się tak robić. Co jeśli procesor będzie w trakcie zerowania, a pojawi się nowy impuls i wzmacniacz operacyjny będzie ciągnął wyjście w górę? Wzmacniaczowi się pewnie nic nie stanie, ale czy procesor się nie uszkodzi?
Idąc dalej, chciałbym ten wykryty poziom spróbkować przetwornikiem ADC z ATMEGi8, a następnie zmienić stan portu na wyjście i ustawiając stan niski wyzerować napięcie na kondensatorze. Gdzieś widziałem takie rozwiązanie, ale nie jestem pewien, czy powinno się tak robić. Co jeśli procesor będzie w trakcie zerowania, a pojawi się nowy impuls i wzmacniacz operacyjny będzie ciągnął wyjście w górę? Wzmacniaczowi się pewnie nic nie stanie, ale czy procesor się nie uszkodzi?
Witam
A po co tak kombinować... wystarczy dać mniejszy kondensator, lub zmniejszyć ogólną rezystancję dzielnika.
Wszelkie zwieranie kondensatora, wpływa też na obciążenie wyjścia wzmacniacza, dodanie rezystora, na pewno zabezpieczy wzmacniacz, ale znów spowolni rozładowywanie kondensatora.
Tranzystor bipolarny, też "nie potrafi" rozładować kondensatora do zera.
Pozdrawiam
A po co tak kombinować... wystarczy dać mniejszy kondensator, lub zmniejszyć ogólną rezystancję dzielnika.
Wszelkie zwieranie kondensatora, wpływa też na obciążenie wyjścia wzmacniacza, dodanie rezystora, na pewno zabezpieczy wzmacniacz, ale znów spowolni rozładowywanie kondensatora.
Tranzystor bipolarny, też "nie potrafi" rozładować kondensatora do zera.
Pozdrawiam
Izali miecz godniejszy niżli topór w boju?
Piszmy po polsku, wszak jesteśmy Polakami.
Piszmy po polsku, wszak jesteśmy Polakami.
Masz rację. R1 dałem ok. 200k, C1 = 1uF, R2+R3 = 11k i wejście odwracające bezpośrednio za diodą. Układ zaczyna działać jak należy łącznie z programem uC, ale musiałem trochę kombinować i może nawet przekombinowałem.
Układ dołączyłem do pinu dającego zewnętrznego przerwania oraz do pinu ADC. Po wystąpieniu przerwania (zbocze rosnące) startowany jest ADC i kiedy przetwarzanie jest zakończone pojawia się odpowiednie przerwanie z przetwornika. W przerwaniu sprawdzany jest poziom i podejmowana jest odpowiednia akcja w zależności od wartości. Niestety opadające napięcie nawet po zmniejszeniu R2+R3 powodowało wyzwalanie zewnętrznego przerwania (swoją drogą trochę dziwne) i całość powtarzała się wielokrotnie. Zatem w przerwaniu z ADC blokuję przerwanie zewnętrzne i odpalam kolejne przetwarzanie aż do momentu kiedy napięcie spadnie do niskiego poziomu. Wtedy odblokowuję przerwanie zewnętrzne i układ jest gotowy na kolejne pobudzenie.
Układ dołączyłem do pinu dającego zewnętrznego przerwania oraz do pinu ADC. Po wystąpieniu przerwania (zbocze rosnące) startowany jest ADC i kiedy przetwarzanie jest zakończone pojawia się odpowiednie przerwanie z przetwornika. W przerwaniu sprawdzany jest poziom i podejmowana jest odpowiednia akcja w zależności od wartości. Niestety opadające napięcie nawet po zmniejszeniu R2+R3 powodowało wyzwalanie zewnętrznego przerwania (swoją drogą trochę dziwne) i całość powtarzała się wielokrotnie. Zatem w przerwaniu z ADC blokuję przerwanie zewnętrzne i odpalam kolejne przetwarzanie aż do momentu kiedy napięcie spadnie do niskiego poziomu. Wtedy odblokowuję przerwanie zewnętrzne i układ jest gotowy na kolejne pobudzenie.