Jestem nowy na forum i zwracam się z gorącą prośbą o pomoc.
Dopiero zaczynam zabawę z mikroprocesorami, choć w moim wieku już trudniej się uczyć.
Przetestowałem już część oślej łączki, a w tej chwili próbuję poskładać program sterownika silnika krokowego na ATTiny2313. Właśnie jest teraz potrzebny. Napisałem taki pierwszy programik (trochę nie tak jak się pisze z dobrą znajomością języków programowania, ale działa. Silnik pracuje tylko podczas trzymania wciśniętego przycisku. Tak ma być. Ale jest jeszcze pewna niedoróbka, a mianowicie silnik nie zatrzymuje się zaraz po zwolnieniu przycisku tylko po zakończeniu pętli. Tutaj przydała by się poprawka. Druga sprawa to: potrzeba dopisać część sterowania szybkością silnika, ale z tym nie mogę sobie poradzić. Bardzo proszę o pomoc. Dołączam to co udało mi się stworzyć, proszę ewentualnie o dopisanie tego co trzeba wstawić. Silnik powinien mieć regulację skokową w 4-5 pozycjach na dodatkowych przyciskach w górę i w dół.
Kod: Zaznacz cały
Rem sterowanie silnikiem krokowym unipolar
$regfile = "attiny2313.dat"
$crystal = 4000000
Config Portb = &B11111111
Portb = &B11111111
Config Portd = &B1110000
Portd = &B1110111
Dim X As Byte
X = 50
Do
If Pind.0 = 0 Then
Portb.2 = 0 : Waitms X : Portb.2 = 1
Portb.3 = 0 : Waitms X : Portb.3 = 1
Portb.4 = 0 : Waitms X : Portb.4 = 1
Portb.6 = 0 : Waitms X : Portb.6 = 1
End If
If Pind.1 = 0 Then
Portb.6 = 0 : Waitms X : Portb.6 = 1
Portb.4 = 0 : Waitms X : Portb.4 = 1
Portb.3 = 0 : Waitms X : Portb.3 = 1
Portb.2 = 0 : Waitms X : Portb.2 = 1
End If
Loop
End
Do sterowania prędkością należałoby wykorzystać PinD.2 i PinD.3
Pozdrowienia dla wszystkich!!!
Proszę używać tagów [code]/[/code]. marcing