Gast
#3345633
Hallo, ich bin dabei eine Phasenanschnittsteuerung für eine B2-Stromrichterschaltung auf dem ATMega2561 zu programmieren. Hierfür werden netzsynchrone Zündimpulse zum Einschalten von Thyristoren berechnet und übergeben. Für eine Regelung wird allerdings noch die Stromleitdauer der Thyristoren benötigt. Diese wird mit einer Optokopplerschaltung ermittelt und dann an den PIN PD1 als TTL-Signal (grüner Verlauf) übergeben. Die Dauer des Signals soll über den Timer3 gemessen werden. Der Timer3 soll im Zündzeitpunkt der Thyristoren bei null starten und in der ISR (INT1), durch die positive Flanke des grünen Verlaufs ausgelöst, in LAMBDA geschrieben werden. Das Problem besteht aber darin, dass der Timer3 im Interupt1 nicht aufhört zu zählen und den Wert in LAMBDA kontinuierlich erhöht. Wie kann ich den Timer3 nach dem Übergeben des Zählerstandes stoppen, so dass dieser bei der nächsten Zündung wieder bei null anfängt zu zählen?
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
16 | |
17 | |
18 | |
19 | |
20 | |
21 | |
22 | |
23 | |
24 | |
25 | |
26 | |
27 | |
28 | |
29 | |
30 | |
31 | |
32 | |
33 | |
34 | |
35 | |
36 | |
37 | |
38 | |
39 | |
40 | |
41 | |
42 | |
43 | |
44 | |
45 | |
46 | |
47 | |
48 | |
49 | |
50 | |
51 | |
52 | |
53 | |
54 | |
55 | |
56 | |
57 | |
58 | |
59 | |
60 | |
61 | |
62 | |
63 | |
64 | |
65 | |
66 | |
67 | |
68 | |
69 | |
70 | |
71 | |
72 | |
73 | |
74 | |
75 | |
76 | |
77 | |
78 | |
79 | |
80 | |
81 | |
82 | |
83 | |
84 | |
85 | |
86 | |
87 | |
88 | |
89 | |
90 | |
91 | |
92 | |
93 | |
94 | |
95 | |
96 | |
97 | |
98 | |
99 | |
100 | |
101 | |
102 | |
103 | |
104 | |
