Hallo zusammen,
ich habe ein Bascomprogramm geschrieben, womit ich einen Schrittmotor
drehen lasse. Der Timer läuft im CTC-Modus. Wie kann ich jetzt die
Drehung des Schrittmotors auf einzelne Schritte begrenzen? Ich finde
jetzt keine Stelle wo ich einen Zähler einbauen kann. Auf dem
Schrittmotor ist ein Getriebe montiert und so wäre bei 1025 ganzen
Schritten ein Winkel von 180° erreicht. Wie kann ich die Schritte auf
1025 begrenzen?
Hie das Programm:
1 | ' Stepper Testprogram
|
2 |
|
3 | $prog , 255 , &B11011001,
|
4 | $regfile = "m2560def.dat"
|
5 | $hwstack = 82 '80
|
6 | $framesize = 68 ' 64
|
7 | $swstack = 68 '44
|
8 |
|
9 |
|
10 | $crystal = 16000000 'Quarzfrequenz
|
11 | $baud = 19200
|
12 |
|
13 | Config Pinb.5 = Output ' Pin PB5 für Timer1/ OC1A im CTC-Modus
|
14 |
|
15 |
|
16 | Config Pind.5 = Output
|
17 | Led Alias Portd.5
|
18 |
|
19 | Config Pinc.0 = Output ' Stiftleiste JP 2; Pin 3; PC0
|
20 | Stepper1_reset Alias Portc.0
|
21 |
|
22 | Config Pinc.1 = Output ' Stiftleiste JP 2; Pin 4; PC1
|
23 | Stepper1_direction Alias Portc.1
|
24 |
|
25 | Config Pinc.2 = Output ' Stiftleiste JP 2, Pin 5; PC2
|
26 | Stepper1_enable Alias Pinc.2
|
27 |
|
28 | Config Pinc.3 = Output ' Stiftleiste JP 2, Pin 6; PC3
|
29 | Stepper1_step Alias Pinc.3
|
30 |
|
31 | Config Pinb.7 = Output
|
32 | Takt Alias Pinb.7
|
33 |
|
34 | Dim I1 As Integer
|
35 | Dim Takt_hz As Long
|
36 |
|
37 | Echo Off
|
38 |
|
39 | Led = 0 ' LED einschalten
|
40 |
|
41 |
|
42 | Do
|
43 | Toggle Led
|
44 | Waitms 75
|
45 | I1 = I1 + 1
|
46 | Loop Until I1 = 20
|
47 |
|
48 | Wait 5
|
49 |
|
50 | Stepper1_direction = 0 ' Stepper1_direction = off (0 Volt); Stiftleiste JP 2; Pin 4; PC1
|
51 | Stepper1_enable = 0 ' Stepper1_enable = off (0 Volt); Stiftleiste JP 2, Pin 5; PC2
|
52 |
|
53 | Tccr1a = &B01000000 ' Pin PB5 auf OC1A umschalten. I/ O sind damit ausgeschaltet
|
54 | Tccr1b = &B00001101 ' Bit 3 = CTC Modus; Bit 0-2 = Prescaler 1024
|
55 |
|
56 | Compare1a = 30
|
57 |
|
58 | Do
|
59 | Loop
|
60 |
|
61 | ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
|
62 | End
|
Vielen Dank für die Hilfe.
Grüße
datatom