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 BLCD + 293d + arduino

23 Maj 2013 18:16 1761 2
  • Poziom 10  
    Mam problem z silniczkiem z cd rom. Jest to silniczek BLCD. Wyznaczyłem sobie fazy według tego artykułu Link
    Lecz nie kręci się on zbyt szybko (jak na filmiku).

    Sterowany przez L293D


    Link


    Kod Programu:
    Kod: cpp
    Zaloguj się, aby zobaczyć kod
  • Moderator na urlopie...
    Nie pomyślałeś, że prędkość jest zależna od tego jak szybko zmieniasz stany na pinach?
    A po pierwsze masz opóźnienia w programie (po 5ms na "krok"),
    po drugie samo wykorzystanie ekspandera wprowadza opóźnienia - transmisja też zajmuje pewien czas.

    Poza tym, żeby taki silniczek rozpędzić, musisz zrobić tzw. "rampowanie" - czyli zaczynasz od małej częstotliwości, a potem stopniowo ją zwiększasz do pożądanej (dzięki temu nie będziesz musiał używać ręki do rozkręcania). W kwestii bezpieczeństwa - dobrze, że nie kręci się szybciej, bo ten drut miałbyś szansę znaleźć w oku.

    Ponadto całe generowanie "podstawy czasu" zleć timerowi - stosowanie delay w takich operacjach jest niedopuszczalne.
  • Poziom 10  
    Wiem, że prędkość jest zależna od szybkości podawania stanów.
    Dodałem opóźnienia bo nie chciał się ruszyć.
    Z tą kwestią bezpieczeństwa to bez przesady ;p (drucik był po to żeby ustalić fazy)
    Co do "delay()" to inaczej nie umiałem a tylko tak ruszał... (Arduino mam od 2 tygodni a wcześniej miałem mało do czynienia z elektroniką)

    czyli:
    1. Podłączyć piny bezpośrednio do arduino.
    2. Wykonać "rampowanie".
    3. Użyć Timera.

    Czy jeśli miał byś chęci i czas mógł byś mi pomóc w 2 i 3 kwestii? Bo tak jak pisałem wyżej Arduino mam od 2 tygodni i wiedzę czerpie z tutoriali więc ciężko samemu wchodzić w kwestie timera czy rampowania. Poza tym nawet jeśli bym coś wiedział na temat timera to i tak nie wiem jak go tu użyć.