Elektroda.pl
Elektroda.pl
X

Search our partners

Find the latest content on electronic components. Datasheets.com
Elektroda.pl
Farnell IoTFarnell IoT
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Wybór kontrolera do generowania sygnału prostokątnego z małym wypełnieniem.

14 Nov 2016 14:14 924 14
  • Level 6  
    Witam,
    potrzebuję mikrokontrolerem generować sygnał prostokątny o częstotliwości regulowanej (najprawdopodobniej przez potencjometr) w zakresie 1-100 Hz, ale z wypełnieniem stałym (ustawianym już w programie) rzędu około 0.3%-2% z tym że ta regulacja wypełnienia ma być dość dokładna (przyjmijmy że co najmniej co 0.1 p.p.). Polecono mi układ z MSP430, ale jest sporo wersji płytek edukacyjnych, a nie wiem na co (oprócz częstotliwości zegara gdyż wydaję mi się że 32768 Hz to za mało na to zastosowanie) zwracać uwagę. Byłbym wdzięczny za pomoc.
    Czy Twoje urządzenia IoT są bezpieczne? [Webinar 22.06.2021, g.9.00]. Zarejestruj się za darmo
  • Farnell IoTFarnell IoT
  • Helpful post
    User removed account  
  • Moderator of Microcontroller designs
  • User removed account  
  • Farnell IoTFarnell IoT
  • Level 6  
    tmf wrote:
    Te podane 1-100 Hz to z jaką rozdzielczością?

    Myślę że zmiana co 1 Hz by wystarczyła. Częstotliwość też nie musi być dokładna, ale powinna być stała w czasie. Ma to służyć do pracy stroboskopowej.
    Sygnał ma sterować pracą tranzystora który to będzie wymuszał prąd w Power LED. Mam zadanie zbadać natężenie światła diody przy prądzie dochodzącym do 6 krotności znamionowego prądu. Ponoć przy tak małym wypełnieniu diody się nie psują.
  • Level 38  
    plakplak wrote:
    Mam zadanie zbadać natężenie światła diody przy prądzie dochodzącym do 6 krotności znamionowego prądu. Ponoć przy tak małym wypełnieniu diody się nie psują.


    Bez przesadyzmu z wymaganiami. Przeczytaj DS tego LEDa. Tak jasno zdefiniowano możliwości przesterowania względem czasu impulsu. A to tego celu wystarczy dowolny timer z dowolnego MCU, ba nawet na NE555 można to zrobić. Przerost formy nad treścią.

    Dodano po 3 [minuty]:

    A jak nie masz doświadczenia z MCU uważaj bo łatwo rożne rzeczy popalić w takim sterowaniu.
  • Moderator of Microcontroller designs
    Piotrus_999 wrote:
    To z szybkim zegarem i swobodnie ustawialnym prescalerem np dla STM32 można spokojnie przy dokładności PWM 0.01% mieć rozdzielczość ~1Hz dla wyższych i poniżej 1mHz dla najniższych częstotliwości, bez kombinowaniem ze zmianą zegara. Zmieniając zegar można to jeszcze dużo bardziej uprecyzyjnić


    Lepiej to policz zanim z taką pewnością coś napiszesz. Dla zakładanego PWM z rozdzielczością podaną przez ciebie, potrzebujemy 14 bitów. A więc dla 100 Hz, taktowanie timera musi wynosić co najmniej 1,6384 MHz.
    To teraz zakładając, że masz do dyspozycji 48 MHz, policzmy jaki musi być preskaler, żeby osiągnąć dokładnie takie f na wejściu. Całkowitego nie ma, mamy 29, co da nam na wyjściu 101,023 Hz, lub 30, co da nam 97,65. I już z rozdzielczości 1 Hz nici. Oczywiście można taktować timer znacznie szybciej, ale to już nie w każdym MCU, i nie zawsze ma sens pakowanie taktowanego 200 MHz procka do projektu, który jak się okazuje na szczęście steruje tylko diodą i ani dokładność, ani rozdzielczość nie są kluczowe.
    Natomiast jeśli te diody nie mają pojść z dymem przy pierwszym uruchomieniu, to ja bym zamiast MCU zrobił zwykłe sterowanie analogowe - rezystor pomiarowy, komparator i potencjometr do nastawienia prądu.
  • User removed account  
  • Level 6  
    Wiem że można z timerami NE555 stworzyć ten układ, mam nawet kawałek pracy naukowej z narysowanym gotowym układem, ale dostałem od promotora wytyczne aby sterować to z mikrokontrolera.
    Sygnał z niego będzie szedł przez diodę i rezystor na TL431. Napięcie odłożone na TL431 będzie przez potencjometr podawane na wejście nieodwracające wzmacniacza operacyjnego, ten z kolei będzie sterował pracą tranzystora. Coś podobnego to tego.
  • Level 38  
    Dowolne nucleo z STM32 sobie z tym poradzi, że hoho....
  • Helpful post
    Moderator of Microcontroller designs
    To zamiast potencjometru podaj sygnał z MCU - albo z wyjścia DAC (najprościej), albo z PWM poprzez filtr. Tylko napisz program tak, aby wyjściowo tranzystor był blokowany, podobnie, w przypadku pójścia procka w maliny, żeby odłączyć sterowanie diody. Wiele MCU ma komparatory w strukturze, można je wykorzystać. Jeśli to musi być MCU, bo takie są wymagania, to zrobisz to prosto praktycznie na każdym AVR i ARM. Poszukaj na stronie Microchip-Atmel - są noty i gotowce takich rozwiązań driverów do LEDów.
  • Level 38  
    tmf wrote:
    To zamiast potencjometru podaj sygnał z MCU - albo z wyjścia DAC (najprościej), albo z PWM poprzez filtr.


    Badanie jest całkowicie inne....., pytanie czy sterowanie prądem na być przez MCU czy ręczne wystarczy.
  • Moderator on vacation ...
    Pokombinuj trochę.

    1. użyj kwarcu będącego potęgą dwójki np. 16.384MHz

    2.a. użyj dwóch mikrokontrolerów, które mają timery 16-bitowe i połącz je szeregowo łącząc odpowiednie piny,

    2.b. lub użyj jednego mikrokontrolera, który ma dwa timery 16-bitowe i połącz je szeregowo łącząc odpowiednie piny lub jeśli ma taką możliwość to ustaw to programowo.

    Nie robiłem obliczeń, ale jeśli masz dwie ATmega8 lub inne AVR, to możesz spróbować to policzyć i wykorzystać:
    - timer1 i tryb FAST PWM mode 14 gdzie sam określasz do ilu liczy timer w rejestrze ICR1,
    - oprócz trybu FAST PWM można zastanowić się, czy jeden z timerów nie powinien pracować w trybie CTC,
    - dodatkowo możesz wykorzystać preskalery obu połączonych timerów.

    Warto byłoby się jeszcze zastanowić, czy czasem nie wystarczy jedna ATmega i połączenie timera1 z timer2 ...
  • Level 1  
  • Moderator on vacation ...
    Marek_Skalski wrote:
    Jestem pod wrażeniem :) Brać 2 uC zamiast NE555, ponieważ nie wyobrażamy sobie, że istnieją takie ukłądy, które mają liczniki 32-bitowe, albo generatory NCO.

    :)
    Oj, no przecież podałem alternatywne rozwiązanie na jednym mikrokontrolerze oraz napisałem i wytłuściłem:

    dondu wrote:
    Pokombinuj trochę.


    a o NE555 już była mowa, ale zadanie ma wykonać na mikrokontrolerze:

    plakplak wrote:
    Wiem że można z timerami NE555 stworzyć ten układ, mam nawet kawałek pracy naukowej z narysowanym gotowym układem, ale dostałem od promotora wytyczne aby sterować to z mikrokontrolera.


    Czytaj Marku wszystkie posty :)

    Swoją drogą autor nie wygląda na takiego, co znałby ARMy, ale jeśli chce to niech takowy wybierze.
pcbway logo