Elektroda.pl
Elektroda.pl
X
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

[DELPHI] Szybki timer <<1ms

Farkick 07 Nov 2009 12:07 2273 4
  • #1
    Farkick
    Level 10  
    Witam,

    Podobny temat był już na forum elektrody, nawet nie wiem czy nie o takim samym tytule. Jednak problem nie został w nim rozwiązany (była tam jakaś procedura, ale nie działa), dlatego założę ten temat.

    W Delphi jest dostępny Timer, który najmniejsza wartość ma 1ms. Co choć krótko, to i tak za długo. Jest jakiś komponent, który przyjmuje liczby wymierne jako interwał, ale jest płatny.

    Przykładowo, gdy chcę sterować silnikiem krokowym z LPT, z w miarę dużą szybkością, robienie kroku co 1ms. to za mało. Jak więc opóźnić kolejne kroki, a jakiś mniejszy czas, tak by uzyskać dobrą częstotliwość ?
  • Helpful post
    #2
    KeinXor
    Level 24  
    Witam, nie wiem czy trafiłeś na ten temat szukając na elektrodzie, myślę że powinien Ci pomóc. LINK
  • #4
    Farkick
    Level 10  
    Bardzo dziękuje za odpowiedź.

    To pomogło i teraz silnik kręci się dużo szybciej ;)

    Mam jeszcze pytanie. Ustawiłem mu aby wykonał 5 obrotów. Ale kiedy ustawie wartość na powiedzmy 50 us to silnik tylko drgnie i kończy ruch. Dlaczego tak jest ? Przy wartości 79 us to samo, a już przy 80 us ładnie się kręci. Myślę, że jest to dlatego, że za szybko przechodzi do wysyłania następnych kroków do silnika, jak to można rozwiązać ?
  • #5
    KeinXor
    Level 24  
    Trudno wróżyć z fusów i z Twoich nie pełnych informacji... możliwe że silnik fizycznie się nie wyrabia przy większej częstotliwości.