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

Enkoder optyczny - prędkość

mog123 14 Lip 2011 15:49 1171 4
  • #1 14 Lip 2011 15:49
    mog123
    Poziom 15  

    Myślałem by mierzyć prędkość silnika czujnikiem optycznym - preferowalnie tcrt5000, podłączyć to wszystko do AVR'ka albo LPC'ka poprzez bramkę Schmitta do przerwania zewnętrznego. Zastanawiam się nad szybkością takiego rozwiązania - jakie maksymalne prędkości uzyskam. Zastanawiają mnie głównie 2 rzeczy:

    1. Przy średnicy tarczy ~2,5 cm i odległości czujnika 2mm (by uzyskać jak największą czułość) chciałbym mieć 8 pól (4czarne i 4białe) conajmniej i mieć 1000-2000 RPM jak mogę to dokładnie wyliczyć? Czy jest to w ogóle do osiągnięcia?

    2. Czy przy większych prędkościach bramka Schmitta będzie nadążać z przełączaniem, czy prędkość będzie wpływać na odczyty z czujnika i będzie dawać mniejsze/uśrednione napięcie?

    Z góry dziękuję za odpowiedzi

    0 4
  • #2 14 Lip 2011 16:05
    Mol
    Poziom 30  

    Może spróbuj coś na AS5040.

    0
  • #3 14 Lip 2011 16:22
    mog123
    Poziom 15  

    Myślałem o tym, ale silnik jest rownolegle do PCB, a w ten sposób płytka musiałaby mieć dwie mniejsze pionowo przylutowane, tak by były rownolegle do osi obrotu - to raczej odpada

    0
  • Pomocny post
    #4 14 Lip 2011 23:36
    janwilk
    Poziom 9  

    Według mnie to wychodzi tak : dla czujnika z 4 polami odbiciowymi przy prędkości 2000 rmp uzyskasz 8000 imp / min, co daje częśtotliwosć ok. 133 Hz. Przy tej wartości nie bedziesz mial problemów ze Shmittem.
    Wyjście z czujnika podajesz np. na wejście INT0 mikrokontrolera i w przerwaniu sterujesz wewnętrznym timerem. Po prostu przerwanie INT0 powinno zatrzymać timer (licznik), przepisać jego wartość do jakieś zmiennej, wyzerować i wystartować od nowa. Zmienną przeliczasz na prędkość i tyle. To jedna metoda.
    Druga to wyjście z czujnika podajesz na wejście licznika np. T1. Ustawiasz wewnętrzny timer np. T0 aby odliczał określony czas, w którym zliczasz impulsy z czujnika. Przerwanie od timera T0 zatrzymuje licznik T1, przepisuje jego wartość do zmiennej i zeruje, potem ponownie ustawia T0 i pozwala na zliczanie T1.
    Każda z metod ma swoje wady i zalety. Jedna jest lepsza dla mniejszych prędkości obrotowych, druga odwrotnie. Można też połączyć obie metody, aby uzyskać lepsze wyniki. Pozdrawiam.

    0
  • #5 15 Lip 2011 08:51
    mog123
    Poziom 15  

    Dzięki wielkie! To zabieram się za próby ;)

    0