Forum: Mikrocontroller und Digitale Elektronik MSP430F169 - Sinus Generator / Spannungsmessung


von Bla blubb B. (walterwhite)


Lesenswert?

Hallo MCTForum,

Im Rahmen meiner Abschlussarbeit stellt sich mir das Problem, dass ich 
einen 10Hz Sinusgenerator mit einer Uss von 5V mit Hilfe eines 
MSP430F169 realisieren muss.

Das zweite Problem ist eine Spannungsmessung im Bereich von 5-6kV. Bei 
meinen Berechnungen komme ich auf einen Spannungsteiler von 2400:1. Es 
ist kein Schwerpunkt auf die Genauigkeit zu legen. Diese Voltmeterfkt, 
soll lediglich überprüfen ob der Kondensator mit Hochspannung geladen 
ist oder nicht.

Was muss ich bei der Realisierung beachten bezogen auf Leckströme und 
MCT-Schutz?

Ich habe im Internet eine Möglichkeit für den MSP430F169 - Sinus 
generator gefunden:
1
    #include <msp430x16x.h>   
2
       
3
       
4
       
5
    static int Sin_tab[200] = {   
6
    1639,   
7
    1690,   
8
    1742,   
9
    1793,   
10
    1844,   
11
    1895,   
12
    1946,   
13
    1996,   
14
    2046,   
15
    2096,   
16
    2145,   
17
    2194,   
18
    2242,   
19
    2290,   
20
    2337,   
21
    2383,   
22
    2428,   
23
    2473,   
24
    2517,   
25
    2560,   
26
    2602,   
27
    2643,   
28
    2683,   
29
    2722,   
30
    2761,   
31
    2797,   
32
    2833,   
33
    2868,   
34
    2901,   
35
    2934,   
36
    2965,   
37
    2994,   
38
    3022,   
39
    3049,   
40
    3075,   
41
    3099,   
42
    3122,   
43
    3143,   
44
    3163,   
45
    3181,   
46
    3197,   
47
    3213,   
48
    3226,   
49
    3238,   
50
    3249,   
51
    3258,   
52
    3265,   
53
    3271,   
54
    3275,   
55
    3277,   
56
    3278,   
57
    3277,   
58
    3275,   
59
    3271,   
60
    3265,   
61
    3258,   
62
    3249,   
63
    3239,   
64
    3227,   
65
    3213,   
66
    3198,   
67
    3182,   
68
    3163,   
69
    3144,   
70
    3123,   
71
    3100,   
72
    3076,   
73
    3051,   
74
    3024,   
75
    2996,   
76
    2966,   
77
    2935,   
78
    2903,   
79
    2870,   
80
    2835,   
81
    2799,   
82
    2762,   
83
    2724,   
84
    2685,   
85
    2645,   
86
    2604,   
87
    2562,   
88
    2519,   
89
    2475,   
90
    2431,   
91
    2385,   
92
    2339,   
93
    2292,   
94
    2244,   
95
    2196,   
96
    2148,   
97
    2099,   
98
    2049,   
99
    1999,   
100
    1949,   
101
    1898,   
102
    1847,   
103
    1796,   
104
    1744,   
105
    1693,   
106
    1642,   
107
    1590,   
108
    1539,   
109
    1487,   
110
    1436,   
111
    1385,   
112
    1335,   
113
    1284,   
114
    1234,   
115
    1184,   
116
    1135,   
117
    1087,   
118
    1038,   
119
    991,   
120
    944,   
121
    898,   
122
    852,   
123
    807,   
124
    763,   
125
    720,   
126
    678,   
127
    637,   
128
    597,   
129
    558,   
130
    519,   
131
    482,   
132
    446,   
133
    412,   
134
    378,   
135
    346,   
136
    315,   
137
    285,   
138
    257,   
139
    230,   
140
    204,   
141
    180,   
142
    158,   
143
    136,   
144
    116,   
145
    98,   
146
    81,   
147
    66,   
148
    52,   
149
    40,   
150
    30,   
151
    21,   
152
    13,   
153
    8,   
154
    3,   
155
    1,   
156
    0,   
157
    1,   
158
    3,   
159
    7,   
160
    12,   
161
    20,   
162
    28,   
163
    39,   
164
    50,   
165
    64,   
166
    79,   
167
    95,   
168
    114,   
169
    133,   
170
    154,   
171
    177,   
172
    201,   
173
    226,   
174
    253,   
175
    281,   
176
    310,   
177
    341,   
178
    373,   
179
    407,   
180
    441,   
181
    477,   
182
    514,   
183
    552,   
184
    591,   
185
    631,   
186
    672,   
187
    714,   
188
    757,   
189
    801,   
190
    845,   
191
    891,   
192
    937,   
193
    984,   
194
    1031,   
195
    1079,   
196
    1128,   
197
    1177,   
198
    1227,   
199
    1277,   
200
    1327,   
201
    1378,   
202
    1429,   
203
    1480,   
204
    1531,   
205
    1582   
206
    };   
207
       
208
       
209
    void dac12_init()   
210
    {   
211
       
212
      //Setup DMA triggers for both DMA channels   
213
     DMACTL0 = DMA0TSEL_5; // DAC12IFG trigger   
214
       
215
     // Setup DMA0   
216
     DMA0SA = (int) Sin_tab;      // Source block address   
217
     DMA0DA = DAC12_0DAT_;        // Destination single address   
218
     DMA0SZ = 0xc8;               // Block size   
219
     DMA0CTL = DMADT_4 + DMASRCINCR_3 + DMAEN; // Rpt single ch, inc src, word-word   
220
       
221
     //Setup DAC0 Load with Timer_A, group with DAC1   
222
     DAC12_0CTL = DAC12LSEL_2 + DAC12IR + DAC12AMP_2 + DAC12IFG + DAC12ENC;   
223
        
224
     //Setup Timer_A   
225
     TACCTL1 = OUTMOD_3; // CCR1 set/reset   
226
     TACCR1 = 1; // CCR1 PWM Duty Cycle   
227
     TACCR0 = 800; // Clock period of CCR0   
228
     TACTL = TASSEL_2 + ID_0 + MC_1; // ACLK, upmode   
229
        
230
        
231
     DAC12_1CTL = DAC12IR + DAC12AMP_5 + DAC12ENC;   
232
         
233
    }   
234
    void dac12_ctl(unsigned int dac_dat)   
235
    {   
236
      DAC12_1DAT = dac_dat;   
237
    }

Was muss an diesem Code noch gemacht werden? hat jemand schon einmal 
erfahrung mit dem MSP430F169 DAC gemacht und kann mir helfen?

Da mein Schwerpunkt in der Hardwareentwicklung liegt bin ich leider 
überfordert...

Grüße

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Bla blubb Blubba schrieb:
> Was muss an diesem Code noch gemacht werden?

Funktioniert er nicht?

> hat jemand schon einmal erfahrung mit dem MSP430F169 DAC gemacht und
> kann mir helfen?

Von TI gibt es für jede Variante der MSP430-Familie Codebeispiele für 
die verschiedenen Peripheriekomponenten, auch für den völlig veralteten 
und überteuerten 'F169.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.