Rev 50 | Rev 58 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 50 | Rev 51 | ||
---|---|---|---|
Line 12... | Line 12... | ||
12 | #include "main.h" |
12 | #include "main.h" |
Line 13... | Line 13... | ||
13 | 13 | ||
14 | unsigned int PWM = 0; |
14 | unsigned int PWM = 0; |
15 | unsigned int Strom = 0; //ca. in 0,1A |
15 | unsigned int Strom = 0; //ca. in 0,1A |
16 | unsigned char Strom_max = 0; |
16 | unsigned char Strom_max = 0; |
17 | unsigned char Mittelstrom = 0; |
17 | unsigned char Mittelstrom = 0; |
18 | unsigned int Drehzahl = 0; // in 100UPM 60 = 6000 |
18 | unsigned int Drehzahl = 0; // in 100UPM 60 = 6000 |
19 | unsigned int KommutierDelay = 10; |
19 | unsigned int KommutierDelay = 10; |
20 | unsigned int I2C_Timeout = 0; |
20 | unsigned int I2C_Timeout = 0; |
21 | unsigned int SIO_Timeout = 0; |
21 | unsigned int SIO_Timeout = 0; |
Line 143... | Line 143... | ||
143 | Delay_ms(300); |
143 | Delay_ms(300); |
144 | } |
144 | } |
145 | Delay_ms(1000); |
145 | Delay_ms(1000); |
146 | } |
146 | } |
Line 147... | Line 147... | ||
147 | 147 | ||
148 | #define TEST_STROMGRENZE 100 |
148 | #define TEST_STROMGRENZE 90 |
149 | unsigned char DelayM(unsigned int timer) |
149 | unsigned char DelayM(unsigned int timer) |
150 | { |
150 | { |
151 | while(timer--) |
151 | while(timer--) |
152 | { |
152 | { |
153 | FastADConvert(); |
153 | FastADConvert(); |
154 | if(Strom > TEST_STROMGRENZE) |
154 | if(Strom > TEST_STROMGRENZE) |
155 | { |
155 | { |
156 | STEUER_OFF; |
156 | FETS_OFF; |
157 | return(1); |
157 | return(1); |
158 | } |
158 | } |
159 | } |
159 | } |
160 | return(0); |
160 | return(0); |
Line 161... | Line 161... | ||
161 | } |
161 | } |
162 | 162 | ||
163 | unsigned char Delay(unsigned int timer) |
163 | unsigned char Delay(unsigned int timer) |
164 | { |
164 | { |
- | 165 | while(timer--) |
|
165 | while(timer--) |
166 | { |
166 | { |
167 | // if(SENSE_H) { PORTC |= ROT; } else { PORTC &= ~ROT;} |
167 | } |
168 | } |
Line -... | Line 169... | ||
- | 169 | return(0); |
|
- | 170 | } |
|
- | 171 | ||
- | 172 | void ShowSense(void) |
|
- | 173 | { |
|
- | 174 | if(SENSE_H) { PORTC |= ROT; } else { PORTC &= ~ROT;} |
|
- | 175 | ||
- | 176 | } |
|
- | 177 | ||
- | 178 | #define HIGH_A_EIN PORTB |= 0x08 |
|
- | 179 | #define HIGH_B_EIN PORTB |= 0x04 |
|
- | 180 | #define HIGH_C_EIN PORTB |= 0x02 |
|
Line 168... | Line 181... | ||
168 | return(0); |
181 | #define LOW_A_EIN PORTD |= 0x08 |
169 | } |
182 | #define LOW_B_EIN PORTD |= 0x10 |
170 | 183 | #define LOW_C_EIN PORTD |= 0x20 |
|
- | 184 | ||
171 | 185 | void MotorTon(void) |
|
172 | void MotorTon(void) |
186 | //############################################################################ |
173 | //############################################################################ |
187 | { |
- | 188 | unsigned char ADR_TAB[5] = {0,0,2,1,3}; |
|
- | 189 | unsigned int timer = 300,i; |
|
- | 190 | unsigned int t = 0; |
|
174 | { |
191 | unsigned char MosfetKurzschluss = 0, MosfetOkay = 0,anz = 0; |
175 | unsigned int timer = 300,i; |
192 | |
176 | unsigned int t; |
- | |
177 | unsigned char MosfetKurzschluss = 0, MosfetOkay = 0,anz = 0; |
- | |
178 | DISABLE_SENSE_INT; |
- | |
179 | cli();//Globale Interrupts Ausschalten |
193 | PORTC &= ~ROT; |
180 | PORTC &= ~ROT; |
194 | Delay_ms(300 * ADR_TAB[MotorAdresse]); |
181 | PWM = 0; |
- | |
182 | SetPWM(); |
- | |
183 | uart_putchar('\n'); |
- | |
- | 195 | DISABLE_SENSE_INT; |
|
184 | STEUER_OFF; |
196 | cli();//Globale Interrupts Ausschalten |
185 | //#define STEUER_A_L {PORTD &= ~0x30; PORTD |= 0x08;} |
197 | uart_putchar('\n'); |
186 | //#define STEUER_B_L {PORTD &= ~0x28; PORTD |= 0x10;} |
198 | STEUER_OFF; |
187 | //#define STEUER_C_L {PORTD &= ~0x18; PORTD |= 0x20;} |
199 | |
188 | //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
200 | //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
189 | //+ High-Mosfets auf Kurzschluss testen |
- | |
190 | //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
201 | //+ High-Mosfets auf Kurzschluss testen |
191 | Strom = 0; |
202 | //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
192 | PORTD |= 0x08; // Low A ein |
203 | Strom = 0; |
193 | PORTB |= 0x04; // High B ein; und A gegen B |
- | |
194 | //PORTB |= 0x08; // Test A |
204 | LOW_B_EIN; |
195 | if(DelayM(3)) |
205 | HIGH_A_EIN; |
196 | { |
206 | if(DelayM(3)) |
197 | MosfetKurzschluss = 0x01; |
207 | { |
198 | anz = 1; |
208 | anz = 1; |
199 | uart_putchar('A'); |
209 | uart_putchar('1'); |
200 | } |
210 | } |
201 | STEUER_OFF; |
211 | FETS_OFF; |
202 | DelayM(100); |
- | |
203 | Strom = 0; |
212 | Delay(1000); |
204 | PORTD |= 0x10; // Low B ein |
213 | Strom = 0; |
205 | PORTB |= 0x02; // High C ein |
214 | LOW_A_EIN; |
206 | //PORTB |= 0x04; // Test B |
- | |
207 | if(DelayM(3)) |
215 | HIGH_B_EIN; |
208 | { |
216 | if(DelayM(3)) |
209 | anz = 2; |
217 | { |
210 | MosfetKurzschluss = 0x02; |
218 | anz = 2; |
211 | uart_putchar('B'); |
219 | uart_putchar('2'); |
212 | } |
220 | } |
213 | STEUER_OFF; |
221 | FETS_OFF; |
214 | DelayM(100); |
- | |
215 | Strom = 0; |
- | |
216 | PORTD |= 0x20; // Low C ein |
222 | Delay(1000); |
217 | PORTB |= 0x04; // High B ein |
223 | Strom = 0; |
218 | //PORTB |= 0x0C; // High A+B ein |
224 | LOW_B_EIN; // Low C ein |
219 | //PORTB |= 0x02; // Test C |
- | |
220 | if(DelayM(3)) |
225 | HIGH_C_EIN; // High B ein |
221 | { |
226 | if(DelayM(3)) |
222 | anz = 3; |
227 | { |
223 | MosfetKurzschluss = 0x04; |
228 | anz = 3; |
224 | uart_putchar('C'); |
229 | uart_putchar('3'); |
225 | } |
230 | } |
226 | STEUER_OFF; |
- | |
227 | DelayM(100); |
231 | FETS_OFF; |
228 | PORTD |= 0x08; // Low A ein; und A gegen C |
232 | Delay(1000); |
229 | PORTB |= 0x02; // High C ein |
233 | LOW_A_EIN; // Low A ein; und A gegen C |
230 | //PORTB |= 0x08; // Test A |
234 | HIGH_C_EIN; // High C ein |
231 | if(DelayM(3)) |
235 | if(DelayM(3)) |
232 | { |
236 | { |
233 | anz = 3; |
237 | anz = 3; |
234 | MosfetKurzschluss = 0x01; |
238 | MosfetKurzschluss = 0x01; |
235 | uart_putchar('C'); |
239 | uart_putchar('7'); |
- | 240 | } |
|
236 | } |
241 | FETS_OFF; |
237 | STEUER_OFF; |
242 | DelayM(10000); |
238 | DelayM(100); |
243 | if(anz) while(1) RotBlink(anz); // bei Kurzschluss nicht starten |
- | 244 | ||
239 | if(anz) while(1) RotBlink(anz); |
245 | //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
240 | //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
246 | //+ LOW-Mosfets auf Schalten und Kurzschluss testen |
- | 247 | //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
|
241 | //+ Low-Mosfets auf Kurzschluss testen |
248 | if(UDR == ' ') {t = 65535; uart_putchar('_');} else t = 1000; // Ausführlicher Test |
242 | //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
249 | Strom = 0; |
243 | Strom = 0; |
250 | for(i=0;i<t;i++) |
244 | PORTB |= 0x08; // Test A |
251 | { |
- | 252 | LOW_A_EIN; |
|
245 | //PORTD |= 0x08; // Low A ein |
253 | DelayM(1); |
- | 254 | FETS_OFF; |
|
246 | if(DelayM(3)) |
255 | Delay(5); |
247 | { |
256 | HIGH_A_EIN; |
- | 257 | DelayM(1); |
|
248 | anz = 4; |
258 | FETS_OFF; |
- | 259 | if(Strom > 40) {anz = 4; uart_putchar('4'); break;} |
|
249 | MosfetKurzschluss = 0x01; |
260 | Delay(5); |
250 | uart_putchar('a'); |
261 | } |
- | 262 | Delay(10000); |
|
251 | } |
263 | |
252 | STEUER_OFF; |
264 | Strom = 0; |
253 | Strom = 0; |
265 | for(i=0;i<t;i++) |
254 | PORTB |= 0x04; // Test B |
266 | { |
255 | //PORTD |= 0x10; // Low B ein |
267 | LOW_B_EIN; |
256 | if(DelayM(3)) |
268 | DelayM(1); |
257 | { |
269 | FETS_OFF; |
- | 270 | Delay(5); |
|
258 | anz = 5; |
271 | HIGH_B_EIN; |
- | 272 | DelayM(1); |
|
- | 273 | FETS_OFF; |
|
259 | MosfetKurzschluss = 0x02; |
274 | if(Strom > 40) {anz = 5; uart_putchar('5'); break;} |
260 | uart_putchar('b'); |
275 | Delay(5); |
- | 276 | } |
|
261 | } |
277 | |
- | 278 | Strom = 0; |
|
- | 279 | Delay(10000); |
|
262 | STEUER_OFF; |
280 | |
263 | Strom = 0; |
281 | for(i=0;i<t;i++) |
264 | PORTB |= 0x02; // Test C |
282 | { |
265 | //PORTD |= 0x20; // Low C ein |
283 | LOW_C_EIN; |
266 | if(DelayM(3)) |
284 | DelayM(1); |
267 | { |
285 | FETS_OFF; |
- | 286 | Delay(5); |
|
268 | anz = 6; |
287 | HIGH_C_EIN; |
269 | MosfetKurzschluss = 0x04; |
288 | DelayM(1); |
270 | uart_putchar('c'); |
- | |
Line 271... | Line 289... | ||
271 | } |
289 | FETS_OFF; |
272 | STEUER_OFF; |
290 | if(Strom > 40) {anz = 6; uart_putchar('6'); break;} |
273 | 291 | Delay(5); |
|
274 | if(anz) while(1) RotBlink(anz); |
292 | } |
275 | 293 | ||
276 | //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
294 | //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
277 | //+ High-Mosfets auf Schalten testen |
295 | //+ High-Mosfets auf Schalten testen |
278 | //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
296 | //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
279 | SENSE_A; |
297 | SENSE_A; |
280 | STEUER_OFF; |
298 | FETS_OFF; |
- | 299 | LOW_B_EIN; // Low B ein |
|
281 | PORTD |= 0x10; // Low B ein |
300 | LOW_C_EIN; // Low C ein |
- | 301 | Strom = 0; |
|
- | 302 | #define TONDAUER 40000 |
|
282 | PORTD |= 0x20; // Low C ein |
303 | #define SOUND_E 2 |
283 | Strom = 0; |
304 | #define SOUND1_A 300 |
284 | #define TONDAUER 100000 |
305 | #define SOUND2_A 330 |
285 | #define SOUND_E 5 |
306 | #define SOUND3_A 360 |
286 | #define SOUND2_A 500 |
307 | |
287 | for(i=0; i< (TONDAUER / SOUND2_A) ; i++) |
308 | for(i=0; i< (TONDAUER / SOUND2_A) ; i++) |
288 | { |
309 | { |
289 | PORTB |= 0x08; // Test A |
310 | HIGH_A_EIN; // Test A |
290 | Delay(SOUND_E); |
311 | Delay(SOUND_E); |
291 | if(SENSE_L) { MosfetOkay |= 0x01; } else { MosfetOkay &= ~0x01;} |
312 | if(MessAD(0) > 50) { MosfetOkay |= 0x01; } else { MosfetOkay &= ~0x01;}; |
292 | PORTB = 0; |
313 | PORTB = 0; |
293 | Delay(SOUND2_A); |
314 | Delay(SOUND1_A); |
294 | } |
- | |
295 | STEUER_OFF; |
315 | } |
296 | SENSE_B; |
316 | FETS_OFF; |
297 | PORTD |= 0x08; // Low A ein |
317 | |
298 | PORTD |= 0x20; // Low C ein |
318 | LOW_A_EIN; // Low A ein |
299 | #define SOUND1_A 600 |
319 | LOW_C_EIN; // Low C ein |
300 | for(i=0; i<(TONDAUER / SOUND1_A); i++) |
320 | for(i=0; i<(TONDAUER / SOUND1_A); i++) |
301 | { |
321 | { |
302 | PORTB |= 0x04; // Test B |
322 | HIGH_B_EIN; // Test B |
Line 303... | Line 323... | ||
303 | Delay(SOUND_E); |
323 | Delay(SOUND_E); |
304 | if(SENSE_L) { MosfetOkay |= 0x02; } else { MosfetOkay &= ~0x02;} |
- | |
305 | PORTB = 0; |
324 | if(MessAD(1) > 50) { MosfetOkay |= 0x02; } else { MosfetOkay &= ~0x02;}; |
306 | Delay(SOUND1_A); |
325 | PORTB = 0; |
307 | } |
- | |
308 | 326 | Delay(SOUND1_A); |
|
309 | STEUER_OFF; |
327 | } |
310 | SENSE_C; |
328 | |
311 | PORTD |= 0x08; // Low A ein |
329 | FETS_OFF; |
312 | PORTD |= 0x10; // Low B ein |
330 | LOW_A_EIN; // Low A ein |
313 | #define SOUND3_A 700 |
331 | LOW_B_EIN; // Low B ein |
314 | for(i=0; i<(TONDAUER / SOUND3_A); i++) |
332 | for(i=0; i<(TONDAUER / SOUND3_A); i++) |
315 | { |
333 | { |
316 | PORTB |= 0x02; // Test C |
334 | HIGH_C_EIN; // Test C |
317 | Delay(SOUND_E); |
335 | Delay(SOUND_E); |
318 | if(SENSE_L) { MosfetOkay |= 0x04; } else { MosfetOkay &= ~0x04;} |
336 | if(MessAD(2) > 50) { MosfetOkay |= 0x04; } else { MosfetOkay &= ~0x04;}; |
319 | PORTB = 0; |
337 | PORTB = 0; |
320 | Delay(SOUND3_A); |
338 | Delay(SOUND2_A); |
321 | } |
339 | } |
322 | STEUER_OFF; |
340 | FETS_OFF; |
323 | //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
341 | //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
324 | //+ Low-Mosfets auf Schalten testen |
342 | //+ Low-Mosfets auf Schalten testen |
325 | //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
343 | //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
326 | SENSE_B; |
344 | SENSE_B; |
327 | PORTD |= 0x08; // Low A ein |
345 | LOW_A_EIN; // Low A ein |
328 | #define SOUND2_A 500 |
346 | #define SOUND2_A 500 |
329 | for(i=0; i< (TONDAUER / SOUND2_A) ; i++) |
347 | for(i=0; i< (TONDAUER / SOUND2_A) ; i++) |
330 | { |
348 | { |
331 | PORTB |= 0x04; // Test B |
349 | HIGH_B_EIN; // Test B |
332 | Delay(SOUND_E); |
350 | Delay(SOUND_E); |
333 | if(SENSE_L) { MosfetOkay |= 0x08; } else { MosfetOkay &= ~0x08;} |
- | |
334 | PORTB = 0; |
351 | if(MessAD(0) > 50) { MosfetOkay &= ~0x08;} else { MosfetOkay |= 0x08;}; |
335 | Delay(SOUND2_A); |
352 | PORTB = 0; |
336 | } |
353 | Delay(SOUND2_A); |
337 | 354 | } |
|
338 | STEUER_OFF; |
355 | |
339 | SENSE_C; |
356 | //++++++++++++++++++++++++++++++++++++ |
340 | PORTD |= 0x10; // Low B ein |
357 | LOW_C_EIN; // Low C ein |
341 | for(i=0; i<(TONDAUER / SOUND3_A); i++) |
358 | for(i=0; i<(TONDAUER / SOUND1_A); i++) |
342 | { |
359 | { |
343 | PORTB |= 0x02; // Test C |
- | |
344 | Delay(SOUND_E); |
360 | HIGH_B_EIN; // Test B |
- | 361 | Delay(SOUND_E); |
|
345 | if(SENSE_L) { MosfetOkay |= 0x10; } else { MosfetOkay &= ~0x10;} |
362 | if(MessAD(2) > 50) { MosfetOkay &= ~0x20;} else { MosfetOkay |= 0x20;}; |
346 | PORTB = 0; |
363 | PORTB = 0; |
347 | Delay(SOUND3_A); |
364 | Delay(SOUND3_A); |
348 | } |
365 | } |
349 | 366 | FETS_OFF; |
|
350 | STEUER_OFF; |
367 | //++++++++++++++++++++++++++++++++++++ |
351 | SENSE_B; |
368 | FETS_OFF; |
352 | PORTD |= 0x20; // Low C ein |
369 | LOW_B_EIN; // Low B ein |
353 | for(i=0; i<(TONDAUER / SOUND1_A); i++) |
370 | for(i=0; i<(TONDAUER / SOUND3_A); i++) |
354 | { |
371 | { |
- | 372 | HIGH_C_EIN; // Test C |
|
- | 373 | Delay(SOUND_E); |
|
Line -... | Line 374... | ||
- | 374 | if(MessAD(1) > 50) { MosfetOkay &= ~0x10;} else { MosfetOkay |= 0x10;}; |
|
355 | PORTB |= 0x04; // Test B |
375 | PORTB = 0; |
356 | Delay(SOUND_E); |
376 | Delay(SOUND3_A); |
357 | if(SENSE_L) { MosfetOkay |= 0x20; } else { MosfetOkay &= ~0x20;} |
377 | } |
358 | PORTB = 0; |
378 | FETS_OFF; |
359 | Delay(SOUND1_A); |
379 | //++++++++++++++++++++++++++++++++++++ |
360 | } |
380 | |
361 | 381 | //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
|
362 | sei();//Globale Interrupts Einschalten |
382 | sei();//Globale Interrupts Einschalten |
- | 383 | // Delay_ms(250 * MotorAdresse); |
|
- | 384 | /* |
|
363 | Delay_ms(250 * MotorAdresse); |
385 | LOW_A_EIN; // Low B ein |
364 | 386 | #define SOUND8_A 650 |
|
365 | #define SOUND8_E 7 |
387 | for(i=0; i<(TONDAUER / SOUND8_A); i++) |
366 | #define SOUND8_A 650 |
388 | { |
367 | for(i=0; i<(TONDAUER / SOUND8_A); i++) |
389 | HIGH_B_EIN; // Test B |
368 | { |
390 | Delay(SOUND_E); |
369 | for(timer = 0; timer < SOUND8_E; timer++) PORTB |= 0x04; // Test B |
391 | PORTB = 0; |
370 | for(timer = 0; timer < SOUND8_A; timer++) PORTB = 0; |
392 | Delay(SOUND8_A); |
371 | } |
393 | } |
372 | 394 | */ |
|
Line 373... | Line 395... | ||
373 | if(!(MosfetOkay & 0x01)) { anz = 1; uart_putchar('A'); } else |
395 | if(!(MosfetOkay & 0x01)) { anz = 1; uart_putchar('A'); } else |
Line 374... | Line -... | ||
374 | if(!(MosfetOkay & 0x02)) { anz = 2; uart_putchar('B'); } else |
- | |
375 | if(!(MosfetOkay & 0x04)) { anz = 3; uart_putchar('C'); } else |
- | |
376 | if(!(MosfetOkay & 0x08)) { anz = 4; uart_putchar('a'); } else |
- | |
377 | if(!(MosfetOkay & 0x10)) { anz = 5; uart_putchar('b'); } else |
- | |
378 | if(!(MosfetOkay & 0x20)) { anz = 6; uart_putchar('c'); } |
396 | if(!(MosfetOkay & 0x02)) { anz = 2; uart_putchar('B'); } else |
379 | Delay_ms(250 * (4-MotorAdresse)); |
- | |
380 | - | ||
381 | if(MosfetOkay != 0x3f) Delay_ms(1000); |
- | |
382 | - | ||
383 | #define TONDAUER 80000 |
- | |
384 | #define SOUND9_E 20 |
- | |
385 | #define SOUND9_A 500 |
- | |
386 | - | ||
387 | while(anz--) |
- | |
388 | { |
- | |
389 | PORTC |= ROT; |
- | |
390 | if(!(MosfetOkay & 0x04) || !(MosfetOkay & 0x20)) // Schalter C defekt |
- | |
391 | { |
- | |
392 | PORTD |= 0x10; // Low B ein |
- | |
393 | for(i=0; i< (TONDAUER / SOUND9_A) ; i++) |
- | |
394 | { |
- | |
395 | for(timer = 0; timer < SOUND9_E; timer++) PORTB |= 0x08; // Test A |
- | |
396 | for(timer = 0; timer < SOUND9_A; timer++) PORTB = 0; |
- | |
397 | } |
- | |
398 | } |
- | |
399 | else |
- | |
400 | if(!(MosfetOkay & 0x02) || !(MosfetOkay & 0x10)) // Schalter B defekt |
- | |
401 | { |
- | |
402 | PORTD |= 0x20; // Low C ein |
- | |
403 | for(i=0; i< (TONDAUER / SOUND9_A) ; i++) |
- | |
404 | { |
- | |
405 | for(timer = 0; timer < SOUND9_E; timer++) PORTB |= 0x08; // Test A |
- | |
406 | for(timer = 0; timer < SOUND9_A; timer++) PORTB = 0; |
- | |
407 | } |
- | |
408 | } |
- | |
409 | else |
- | |
410 | if(!(MosfetOkay & 0x01) || !(MosfetOkay & 0x08)) // Schalter A defekt |
- | |
411 | { |
397 | if(!(MosfetOkay & 0x04)) { anz = 3; uart_putchar('C'); } else |
412 | PORTD |= 0x20; // Low C ein |
- | |
413 | for(i=0; i< (TONDAUER / SOUND9_A) ; i++) |
398 | if(!(MosfetOkay & 0x08)) { anz = 4; uart_putchar('a'); } else |
Line 414... | Line 399... | ||
414 | { |
399 | if(!(MosfetOkay & 0x10)) { anz = 5; uart_putchar('b'); } else |
415 | for(timer = 0; timer < SOUND9_E; timer++) PORTB |= 0x04; // Test B |
400 | if(!(MosfetOkay & 0x20)) { anz = 6; uart_putchar('c'); } |
416 | for(timer = 0; timer < SOUND9_A; timer++) PORTB = 0; |
401 | Delay_ms(300 * (4-ADR_TAB[MotorAdresse])); |
Line 561... | Line 546... | ||
561 | // zum Test der Hardware; Motor dreht mit konstanter Drehzahl ohne Regelung |
546 | // zum Test der Hardware; Motor dreht mit konstanter Drehzahl ohne Regelung |
562 | if(TEST_MANUELL) Anwerfen(TEST_MANUELL); // kommt von dort nicht wieder |
547 | if(TEST_MANUELL) Anwerfen(TEST_MANUELL); // kommt von dort nicht wieder |
Line 563... | Line 548... | ||
563 | 548 | ||
564 | while (1) |
549 | while (1) |
- | 550 | { |
|
- | 551 | //ShowSense(); |
|
565 | { |
552 | |
566 | if(!TEST_SCHUB) PWM = SollwertErmittlung(); |
553 | if(!TEST_SCHUB) PWM = SollwertErmittlung(); |
567 | //I2C_TXBuffer = PWM; // Antwort über I2C-Bus |
554 | //I2C_TXBuffer = PWM; // Antwort über I2C-Bus |
Line 568... | Line 555... | ||
568 | if(MANUELL_PWM) PWM = MANUELL_PWM; |
555 | if(MANUELL_PWM) PWM = MANUELL_PWM; |