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

Generator PWM z wyświetlaczem: regulacja 2-5 kHz, 5V, 1-99% wypełnienia

Tadziorek 23 Sie 2016 21:25 2988 14
REKLAMA
  • #1 15887261
    Tadziorek
    Poziom 12  
    Posty: 43
    Ocena: 8
    Witam kolegów.

    Potrzebuję wykonać generator PWM z wyświetlaczem o parametrach:

    - częstotliwość regulowana w kilku zakresach (2, 3, 4, 5 kHz)
    - amplituda 5 V
    - współczynnik wypełnienia regulowany w zakresie (1-99%)

    Częstotliwość chciałbym ustawiać pokrętłem.

    Będę bardzo wdzięczny za pomoc
    w doborze układu i napisaniu programu
    (maksymalna częstotliwość 5 kHz)
    Generator PWM z wyświetlaczem: regulacja 2-5 kHz, 5V, 1-99% wypełnienia
  • REKLAMA
  • #2 15887310
    Konto nie istnieje
    Poziom 1  
  • #3 15887312
    excray
    Poziom 41  
    Posty: 5500
    Pomógł: 739
    Ocena: 656
    Jakikolwiek mikrokontroler z 16-bitowym licznikiem i zegarem co najmniej 1MHz.
  • REKLAMA
  • Pomocny post
    #4 15887329
    rb401
    Poziom 39  
    Posty: 3002
    Pomógł: 750
    Ocena: 984
    Tadziorek napisał:
    - częstotliwość regulowana w kilku zakresach (2, 3, 4, 5 kHz)
    - amplituda 5 V
    - współczynnik wypełnienia regulowany w zakresie (1-99%)


    Brakuje konkretnego określenia rozdzielczości nastawy współczynnika wypełnienia i wymagań dokładności częstotliwości PWM. Bo od tego zależy, czy w ogóle na Arduino lub innych ATMEGA da się to zrealizować. Te kostki mają n.p. dość skromny zestaw nastaw preskalera.
  • #5 15887364
    Tadziorek
    Poziom 12  
    Posty: 43
    Ocena: 8
    Żeby było prościej na początek.
    Stała częstotliwość 5 kHz
    Zmienny współczynnik (1, 2, 3 ..... 99%)
  • #6 15887379
    Konto nie istnieje
    Poziom 1  
  • REKLAMA
  • #7 15887418
    rb401
    Poziom 39  
    Posty: 3002
    Pomógł: 750
    Ocena: 984
    atom1477 napisał:
    Dla 2, 3, 4 kHz też się da dobrać nastawy żeby uzyskać zerowy błąd samych nastaw.


    Ale choćby dla 4kHz to już nie jest już tak różowo. Trzeba kombinować z doborem podziału timera i odpowiednio skalować wartość zadaną. Jeśli jeszcze wyjdzie że rozdzielczość 1% to za grubo, to się robi masakra.

    Ale na potrzeby zmodyfikowanych wymagań autora wątku to ok.
  • #8 15887443
    Konto nie istnieje
    Poziom 1  
  • REKLAMA
  • #9 15887527
    rb401
    Poziom 39  
    Posty: 3002
    Pomógł: 750
    Ocena: 984
    atom1477 napisał:
    No jak? Przecież dla 4kHz wychodzi dokładny podział.


    Wychodzi. Owszem. Ale trzeba jednak kombinować z doborem dwóch wartości. A jak sam przyznałeś, brak dokładnego rozwiązania dla 3kHz.
    Nie jest tak żebym się czepiał, ale z ograniczeniami PWM w atmelkach się już dużo naszarpałem, a jak wszedłem w STM32 to się okazało że precyzyjne PWM jest praktycznie bezstresowe. Taka sobie refleksja.
  • #10 15887539
    BlueDraco
    Specjalista - Mikrokontrolery
    Posty: 6479
    Pomógł: 939
    Ocena: 421
    A tak uczciwie:

    Zaczynamy od określenia wymagań na częstotliwość wejściową timera. Musi ona być wielokrotnością wszytskich możliwych wartości częstotliwości pomnożonych przez wymaganą liczbę stopni wypelnienia. Jeśli np. chcemy mieć 100 stopni i częstotliwości 2, 3, 4 i 5 kHz, to częstotliwość wejściowa timera musi być wielokrotnością 200, 300, 400 i 500 kHz. Czyli inaczej wielokrotnością 6 MHz. W przypadku ATmega oznacza to konieczność pracy z kwarcem o takiej częstotliwości (np. 6 lub 12 MHz, ale nie 8 ani 16 MHz. Tymczasem typowo współczesne uC można popędzić na n*6MHz z dowolnym kwarcem.

    Jak zwykle złośliwie napomknę, że gotowa płytka STM32F103 MDB za 7 zł może działać np. na 72 lub 48 MHz, czyli pasuje. Koledzy od AVR za chwilę napiszą, o ile droższa lub tańsza będzie płytka z ATmega (proszę doliczyć koszt odpowiedniego kwarcu i przelutowania go). ;)

    Poprawka: miało być Arduino, to trzeba jeszcze doliczyć koszt przeróbki bootloadera Arduino do tego kwarcu.

    Na F103MDB można wgrać oprogramowanie STM32duino i będzie Arduino jak jasna ... za 7 zł.
  • #12 15887613
    Tadziorek
    Poziom 12  
    Posty: 43
    Ocena: 8
    Generator PWM z wyświetlaczem: regulacja 2-5 kHz, 5V, 1-99% wypełnienia

    Chyba, że gotowca zastosować?
    Ktoś testował?

    Dodano po 20 [minuty]:

    Albo coś takiego: LTC6992
  • #13 15887726
    Konto nie istnieje
    Konto nie istnieje  
  • #14 15887874
    Konto nie istnieje
    Poziom 1  
  • #15 15890282
    deus.ex.machina
    Poziom 32  
    Posty: 1923
    Pomógł: 91
    Ocena: 341
    Zrób sobie programowy modulator Delta Sigma rzędu drugiego i po kłopocie - możesz tez użyć wyższego rzędu DS w połączeniu z jakimś kilku bitowym PWM.

    https://hackaday.io/project/6356-delta-sigma-versus-pwm
    http://memweb.newsguy.com/~rhuang/DeltaSigma/DeltaSigma.html

    Dobra, nie pomyślałem ze tu chodzi o sztukę dla sztuki - w takim razie proponuje sprawdzony już pomysł DDS i sprawdzanie najstarszego bitu - w software nie będziesz ograniczony rozdzielczością sprzętowego PWM.

Podsumowanie tematu

✨ W dyskusji poruszono temat budowy generatora PWM z wyświetlaczem, który ma regulowaną częstotliwość w zakresie 2-5 kHz, amplitudę 5V oraz współczynnik wypełnienia od 1 do 99%. Uczestnicy sugerowali użycie mikrokontrolerów, takich jak ATMega8 lub nowsze modele z rodziny ATXmega, a także podkreślili znaczenie wyboru odpowiedniego kwarcu dla uzyskania wymaganej dokładności. Wskazano na konieczność precyzyjnego doboru wartości timera oraz preskalera, aby osiągnąć zamierzone parametry PWM. Zasugerowano również alternatywne podejścia, takie jak modulator Delta Sigma oraz wykorzystanie układów STM32, które oferują większą elastyczność w programowaniu PWM.
REKLAMA