Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Silnik prądu stałego Enkoder - STM32 biblioteka st.

03 Sty 2018 22:04 570 4
  • Poziom 2  
    Witam
    Proszę o pomoc w rozwiązaniu problemu. robię projekt silnika prądu stałego z enkoderem na STM32
    podpiąłem wyprowadzenia :
    -PA6 Enkoder CHA Wejście pływające (TIM3_CH1)
    -PA7 Enkoder CHB Wejście pływające (TIM3_CH2)

    i nie wiem jak ruszyć dalej by wyświetlać odczyt prędkości na wyświetlaczu LCD.
    Robie to na STM32f103VBT i Używam biblioteki ST
    Tyle udało mi się zrobić ale nie wiem czy ma to sens wiem że trzeba jeszcze przeskalować wynik i chyba użyć przerwania od przepełnienia licznika proszę o wskazówki czy nie tworze herezji ;D
    Kod: c
    Zaloguj się, aby zobaczyć kod

    Z góry dziękuje za wszystkie sugestie i pomoc .
  • Poziom 38  
    Wrzuć kod w znaczniki [syntax] (edytuj pierwszy post)
    Najlepiej dorzuć też schemat.
  • Poziom 21  
    Żeby wyznaczyć prędkość musisz podzielić liczbę impulsów przez czas w którym zostały zliczone. Z tego co widzę usiłujesz wyświetlić liczbę impulsów - czyli kąt (o jednostkach nie wspomnę) o jaki obrócił się enkoder a nie jego prędkość.
  • Poziom 2  
    Schemat jest taki
    Silnik prądu stałego Enkoder - STM32 biblioteka st.

    [/img]
  • Poziom 38  
    No to wzór na prędkość jest taki:

    $$V=\frac{n}{Nt}$$

    n - ilość impulsów jakie naliczyłeś
    N - ilość impulsów na obrót enkodera
    t - czas w jakim naliczyłeś te impulsy

    Jeśli masz na przykład enkoder inkrementalny z ilością kroków 500 i w czasie 100ms naliczyłeś 374 impulsy to podstawiając do wzoru masz 500/(374*0.1) czyli 13,37 obrotów na sekundę.

    Zauważ, że timery musisz mieć dwa. Jeden, który zlicza impulsy z enkodera i drugi który mierzy czas. Możesz to robić co przepełnienie (wtedy n jest stałe) albo co stały czas (wtedy t jest stałe).

    Tu masz jeszcze inne rozkminy dotyczące Twojego problemu, na pewno znajdziesz coś dla siebie:

    https://www.elektroda.pl/rtvforum/viewtopic.php?p=13182561#13182561
    https://www.elektroda.pl/rtvforum/viewtopic.php?p=12824551#12824551
    https://www.elektroda.pl/rtvforum/viewtopic.php?p=10794373#10794373

    I generalnie dużo informacji w wyszukiwarce forum znajdziesz.

    PS. Stringi w C terminują się same. Nie musisz dodawać tego \0