Skocz do zawartości

[Bascom] Przesunięte przebiegi prostokątne


czmiel24

Pomocna odpowiedź

skoro ty nie mas żadnej koncepcji to może najprościej tak:

dim czas as word
czas=100  'dla przykładu

do
 set wy1
 waitms czas
 reset wy1
 set wy2
 waitms czas
 reset wy2
 set wy3
 waitms czas
 reset wy3
 set wy4
 waitms czas
 reset wy4
loop
Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

Np. tak:

Dim Wsk As Byte  'wskaźnik kontrolny
Dim Ster As Byte

On Timer0 Obrot


Obrot:
 Read Ster          'odczytaj z tablicy krok element.
 Portb = Ster       'wystaw go na port B
 Incr Wsk            'zwiększ o 1, wskaźnik pomocniczy
 If Wsk > 4 Then  'jeżeli wsk większy od 4, to:
   Wsk = 1           ' - wsk = 1
   Restore Krok    ' - restartuj wskaźnik systemy do tablicy krok na pierwszy jej element
 End If
Return ' powrót z procedury obsługi przerwania.

Restore Krok
Wsk = 1
Start Timer 0
Do
Loop

Krok:
Data &H01                     '_-___-
Data &H04                     '___-__
Data &H02                     '__-___
Data &H08                     '____-_

W tablicy krok masz zapisane poszczególne kombinacje sterujące cewkami. procedura Obrot wywoływana przerwaniem od Timera0 odczytuje w zadanych odcinkach czasu, poszczególne elementy tablicy krok i w ten sposób wysterowuje odpowiednio cewki silnika.

PS. to tylko fragment poglądowy, nie gotowy kod, całego programu.

Zaletą tego rozwiązania w porównaniu do kolegi wyżej, jest to że nie zajmuje ono całego czasu procesora, i z uwagi na użycie Timera jest bardziej precyzyjne. Dodatkowo dosyć łatwo to przerobić, aby uzyskać sterowanie pół krokowe, oraz kierunek obrotów lewo/prawo. Aczkolwiek wtedy trzeba inaczej zorganizować tablicę, i same ciało pobierające dane z niej.

Link do komentarza
Share on other sites

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.