logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

PWM z komparatorem analogowym - jak uzyskać 20kHz i 12-bitową rozdzielczość?

st4chuu 24 Paź 2015 11:57 1359 11
REKLAMA
  • #1 15092118
    st4chuu
    Poziom 15  
    Posty: 228
    Pomógł: 2
    Ocena: 16
    Cześć, chcę zrobić PWM o możliwie jak najwyższej częstotliwości (na pewno powyżej 20kHz) przy zachowaniu przyzwoitej rozdzielczości (12 bitów)
    Procek żeby dać sygnał PWM o częstotliwości 10kHz i 12 bit musi mieć częstotliwość minimum 82Mhz przy założeniu, że timer od PWM ma preskaler 1.
    Pomyślałem, o wykorzystaniu atxmegi, która ma sprzętowy DAC aby zadawać napięcie na komparator. Na 2 wejście dać liniowo zmieniające się napięcie.
    Czy realizował ktoś podobny układ?
    Może ma ktoś pomysł jak to ugryźć?
    Albo ktoś jest w stanie powiedzieć czy i dla czego jest to ślepy zaułek.
  • REKLAMA
  • Pomocny post
    #2 15092626
    jarek_lnx
    Poziom 43  
    Posty: 22750
    Pomógł: 4203
    Ocena: 6134
    Cytat:
    Może ma ktoś pomysł jak to ugryźć?

    Najważniejsze to zrobić dobry stabilny generator przebiegu piłokształtnego.
    Potrzeba komparatora z histerezą albo dwóch komparatorów i przerzutnika RS (na wzór wnętrzności 555) - w tym drugim przypadku chyba łatwiej o dobrą precyzję progów przełączania. To będzie część odpowiedzialna za zakres napięć piły. Generowanie przebiegu liniowo narastającego to przełączane żródła prądowe i kondensator, albo integrator sterowany z przełaczanych źródeł napiecia odniesienia, drugie rozwiązanie raczej da lepszą dokładność.
    Na początek nie utrudniał bym sopbie robieniem generatora puiły rail-to-rail tylko dopuścił niewielką stratę rozdzielczości, chyba że masz szerszy zakres napięć zasilania dla analogówki niż zakres wyjściowy DAC'a


    Szybkość można bedzie podnieść znacznie powyżej 10kHz, zależy jakie bedziesz miał wymagania na liniowość, stabilność itp.
  • #3 15092631
    strikexp
    Poziom 27  
    Posty: 2416
    Pomógł: 101
    Ocena: 104
    Procesorem nie generuje się PWM, używa się specjalnych układów generujących. W ATmega328 masz wbudowane takie oddzielne układy peryferyjne, działające niezależnie od procesora. Poczytaj o PWM na ATmega, nie pamietam dokłądnych parametrów, ale chyba 6 wyjść po max 20kHz.

    Jednak Ty albo piszesz tak niezrozumiale że nie rozumiem, albo po prostu nie wiesz o czym piszesz.
    Napisz prosto, chcesz ten sygnał generować czy odczytywać? Bo przy generowaniu żadnych bitów nie masz...
  • REKLAMA
  • #4 15092658
    _jta_
    Specjalista elektronik
    Posty: 49148
    Pomógł: 3212
    Ocena: 4260
    Można - analogowy generator trójkąta/piły + komparator z niewielką histerezą (jest potrzebna, żeby na wyjściu uzyskać prostokąt). Żeby to dobrze działało, musi być generator o wysokiej stabilności napięć generowanego przebiegu - bo jak popłyną, to zmieni się wypełnienie. Poza tym nie uzyskasz wypełnień bliskich 0 lub 1, z powodu histerezy (można to znacznie zmniejszyć, jeśli użyjesz dwóch układów, pierwszy do wzmocnienia sygnału różnicy nastawionego napięcia i przebiegu z generatora, drugi do zrobienia prostokąta, i histerezę zrobisz w tym drugim). Może być problem ze stabilnością napięć (dotyczy to i generatora, i komparatora, i DAC-a), bo przy 12 bitach i zakresie napięcia np. 5V popłynięcie o 1.22 mV zmieni wynik tak, jak zmiana o 1 liczby podanej na DAC.
  • #5 15092664
    jarek_lnx
    Poziom 43  
    Posty: 22750
    Pomógł: 4203
    Ocena: 6134
    Cytat:
    Jednak Ty albo piszesz tak niezrozumiale że nie rozumiem, albo po prostu nie wiesz o czym piszesz.

    A dla mnie to całkiem zrozumiałe kolega chce jednocześnie dużej rozdzielczości i częstotliwości co wymaga bardzo szybkiego taktowania licznika PWM, zauważył że już przy 10kHz trudno uzyskać 12bit a co jeśli chciał by 100kHz albo 1MHz, analogowo nie trudno wygenerować, pytanie tylko jaką dokładność da sie uzyskać.
  • #6 15092687
    strikexp
    Poziom 27  
    Posty: 2416
    Pomógł: 101
    Ocena: 104
    Tylko ja nie widzę sensu określania rozdzielczości przez bity bo przecież wtedy zapomina się o czasach narastania i opadania zbocza.
  • REKLAMA
  • #7 15092736
    jarek_lnx
    Poziom 43  
    Posty: 22750
    Pomógł: 4203
    Ocena: 6134
    Cytat:
    Tylko ja nie widzę sensu określania rozdzielczości przez bity bo przecież wtedy zapomina się o czasach narastania i opadania zbocza.

    A co przeszkadzaja czasy narastania i opadania? Nawet jeśli wynoszą 10% okresu to mogą być zastosowania w których zmiana wypełnienia o 0,02% jest potrzebna.
    Gorszy jest jitter bo jeśli ten bedzie duży to uzyskanie dużej rozdzielczości straci sens.
  • REKLAMA
  • #8 15092824
    strikexp
    Poziom 27  
    Posty: 2416
    Pomógł: 101
    Ocena: 104
    To prawda, ale jeśli mówimy o wysokich częstotliwościach to niemal zawsze ograniczeniem są właśnie te czasy narastania i opadania. Sygnał musi być w końcu prostokątny a nie trapezoidalny.
  • #9 15093135
    st4chuu
    Poziom 15  
    Posty: 228
    Pomógł: 2
    Ocena: 16
    @strikexp szukasz dziury w całym. jasne że sam procesor nie ma pwm, a są to odpowiednie peryferia

    @jarek_lnx dokładnie o to chodzi. Wysoka częstotliwość przy dość dużej rozdzielczości.
    Sygnał który muszę wygenerować w początkowej fazie będzie miał wypełnienie bliskie 100%.
    Później w okolicy 10% i tak go będę filtrował aby uzyskać maksymalnie możliwy sygnał płaski więc to czy będzie na wyjściu pwm trapez trójkąt czy nawet sinus nie bardzo mnie interesuje, chce uzystać generację możliwie wysokiej częstotliwości którą będę mógł w miarę łatwo odfiltrować.
    A nie oszukujmy się, częstotliwość rzędu 20 kHz przy niewielkich mocach (mniej niż 2 W) to nie jest wielka częstotliwość. tutaj bardzo częstotliwość ogranicza sprzętowy PWM
  • #10 15093178
    strikexp
    Poziom 27  
    Posty: 2416
    Pomógł: 101
    Ocena: 104
    Szkoda że od razu nie napisałeś o co chodzi. Tylko czy w takim przypadku nie lepiej będzie zrobić jakieś sterowane źródło prądowe/napięciowe?

    Moim zdaniem do mocy 2W świetnie by się sprawdził układ regulacji PID. Plus przetwornik D/C np MCP4726A0T-E/CH jako źródło sygnału sterującego.
  • #11 15094532
    jarek_lnx
    Poziom 43  
    Posty: 22750
    Pomógł: 4203
    Ocena: 6134
    A ja bym zapyatał jaki jest powód przetwarzania DC na PWM i znowu na DC jeśli to układ małej mocy
  • #12 15101729
    Konto nie istnieje
    Poziom 1  

Podsumowanie tematu

LABEL_AI_GENERATED
Użytkownik poszukuje sposobu na generowanie sygnału PWM o częstotliwości powyżej 20 kHz z 12-bitową rozdzielczością. Wskazano, że procesor musi pracować z częstotliwością co najmniej 82 MHz, a zastosowanie ATxmega z wbudowanym DAC i komparatorem może być korzystne. W odpowiedziach podkreślono znaczenie stabilnego generatora przebiegu piłokształtnego oraz komparatora z histerezą. Zasugerowano również użycie układów dedykowanych do PWM, takich jak dsPIC33 z serii GS, który oferuje szybki PWM z rozdzielczością 16 bitów, oraz STM32F334. Wskazano na problemy związane z czasami narastania i opadania sygnału oraz ich wpływ na uzyskiwaną rozdzielczość.
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
REKLAMA