Atmega644-20AU /Timer /L293 /Pinbelegung

OP #3056014
Lesenswert?

Hallo,

ich möchte über einen Atmega644-20AU (habe nur den auf einem 
Entwicklerboard mit 20 MHz) 2x L293D Motortreiber ansprechen (insgesamt 
4x 2polige DC Motoren mit Stromaufnahme ca. 100 mA).

Ich möchte die Geschwindigkeit per PWM ansprechen. Hierzu möchte ich die 
Hardware-PWM nutzen bei 20 MHz.

Ich kann aus den Datenblättern immer nie die Bezeichnungen der PWM-Pins 
herauslesen und welcher von den wieviel Bit kann.

1) 8Bit Timer0
2) 16Bit Timer1
3) 8Bit Timer2

Aber sowas wie OCF2A oder OCF2B finde ich bei den Pins nicht...

Danke für Hilfe,

Christoph
OP #3056449
Lesenswert?

Hallo,

leider startet mein Atmega644 nach dem Print "Ctrl v.0.1" immer wieder 
neu...

Ich möchte 4 DC Motoren in der Richtung und über 4x PWM in der 
Geschwindigkeit regeln - aber da stimmt was nicht!


1
'################################################################
2
'
3
' Control  v. 0.1
4
' -------------------------------------
5
'
6
' Stand: 21.02.2013, ATmega644
7
'
8
'
9

10
'################################################################
11

12

13

14
'--------------------------------------------------------------------------
15
' Compilerinstruktionen und Compilerdirektiven
16
'--------------------------------------------------------------------------
17

18
$regfile = "m644def.dat"
19
$crystal = 20000000
20
$hwstack = 64
21
$swstack = 64
22
$framesize = 64
23
$baud = 9600
24

25
'--------------------------------------------------------------------------
26
' Definition von Ressourcen
27
'--------------------------------------------------------------------------
28

29
Led Alias Portd.2                                           ' rote LED
30

31

32
'Treiber L293 oben (1) / Timer2
33
1_pwm1_z Alias Portd.7
34
1_m1a_z Alias Portc.3
35
1_m1b_z Alias Portc.4
36

37
1_pwm2_f Alias Portd.6
38
1_m2a_f Alias Portc.7
39
1_m2b_f Alias Portc.6
40

41

42
'Treiber L293 unten (2) / Timer0
43
2_pwm1_p Alias Portb.3
44
2_m1a_p Alias Portb.1
45
2_m1b_p Alias Portb.2
46

47
2_pwm2_t Alias Portb.4
48
2_m2a_t Alias Portb.0
49
2_m2b_t Alias Portc.5
50

51

52

53

54
'--------------------------------------------------------------------------
55
' Definition von Konstanten
56
'--------------------------------------------------------------------------
57

58

59

60
'--------------------------------------------------------------------------
61
' Definition von Variablen und Datentypen
62
'--------------------------------------------------------------------------
63

64
'---- PWM für A293D ----
65
Dim 1z As Integer
66
Dim 1f As Integer
67
Dim 2p As Integer
68
Dim 2t As Integer
69

70

71

72
'--------------------------------------------------------------------------
73
' Konfiguration und Basiseinstellungen
74
'--------------------------------------------------------------------------
75

76

77
' Timer2 für PWM 8Bit L293D (1) "oben"
78
Config Timer2 = Pwm , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down , Prescale = 8
79

80
' Timer0 für PWM 8Bit L293D (2) "unten"
81
Config Timer0 = Pwm , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down , Prescale = 8
82

83

84

85
'---- Timer ----
86

87

88
'---- Outputs ----
89
Config Led = Output
90

91

92
'Treiber L293 oben (1) / Timer2
93
Config 1_pwm1_z = Output                                    'OC2A
94
Config 1_m1a_z = Output
95
Config 1_m1b_z = Output
96

97
Config 1_pwm2_f = Output                                    'OC2B
98
Config 1_m2a_f = Output
99
Config 1_m2b_f = Output
100

101

102
'Treiber L293 unten (2) / Timer0
103
Config 2_pwm1_p = Output                                    'OC0A
104
Config 2_m1a_p = Output
105
Config 2_m1b_p = Output
106

107
Config 2_pwm2_t = Output                                    'OC0B
108
Config 2_m2a_t = Output
109
Config 2_m2b_t = Output
110

111

112

113

114
'---- Interrupts ----
115
Enable Interrupts
116
Enable Timer0
117
Enable Timer2
118

119

120

121
'--------------------------------------------------------------------------
122
' Init
123
'--------------------------------------------------------------------------
124

125
1_m1a_z = 0                                                 ' L293D Zoom OFF
126
1_m1b_z = 0
127
'1z = 150                                                    ' Anfangsgeschwindigkeit für PWM L293D
128
'Ocr2a = 1z
129

130
1_m2a_f = 0                                                 ' L293D Focus OFF
131
1_m2b_f = 0
132
'1f = 150                                                    ' Anfangsgeschwindigkeit für PWM L293D
133
'Ocr2b = 1f
134

135
2_m1a_p = 0                                                 ' L293D PAN OFF
136
2_m1b_p = 0
137
'2p = 150                                                    ' Anfangsgeschwindigkeit für PWM L293D
138
'Ocr0a = 2p
139

140
2_m2a_t = 0                                                 ' L293D TILT OFF
141
2_m2b_t = 0
142
'2t = 150                                                    ' Anfangsgeschwindigkeit für PWM L293D
143
'Ocr0b = 2t
144

145
Led = 1
146

147
Print "Ctrl v.0.1"
148

149

150
'--------------------------------------------------------------------------
151
' Hauptprogramm
152
'--------------------------------------------------------------------------
153

154

155
Do
156

157
2_m2a_t = 1
158
2_m2b_t = 0
159

160
Ocr0b = 150
161

162

163

164

165
Loop
166

167
End

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren