Gast
#4604850
Guten Tach, Ich hab folgendes Problem. Und zwar hab ich einen ATMEGA8 MK2 Programmiert um einen LM23-K226 an zu steuern. Soweit funktioniert auch alles. Also Ausgänge vom uC geben das aus was sie ausgeben sollen. Problem ist, das die Leistung zu gering ist. Da kommt der ULN2803 ins Spiel. Im Anhang findet ihr einen Schaltplan, wie ich den ULN derzeit angeschlossen habe. Ich habe bereits verschiedene Schaltungen ausprobiert. Ich komme einfach nicht weiter. Mit dem Oszilloskop kann man kleine Reaktionen wahrnehmen aber das war's auch. Bitte um Hilfe ich komme nicht weiter... (sehr alten Compiler aber läuft) PORTD ist für die Aushabe am ULN PORTC lediglich für die Bestätigung, das der Taster an PORTB gedrückt wurde. PorgrammCode: #define F_CPU 3686400 #include <avr\io.h> #include <avr\wdt.h> #include <util\delay.h> #include <stdio.h> void newdelay(int x){ for(int i = 0;i<x;i++){ _delay_ms(10); } } main(){ DDRC = 0b11111111; DDRD = 0b11111111; DDRB = 0b00000000; PORTB = 0b11111111; char A1 = 0b00000100; char A2 = 0b00001000; char B1 = 0b00010000; char B2 = 0b00100000; int j; char schritt[4]={A1,B1,A2,B2}; while(1){ while(!(PINB & 0b00000001)){ PORTC = 0b00000001; if(j<sizeof(schritt)){ PORTD = schritt[j]; newdelay(50); j++; } else { j=0; } } while(!(PINB & 0b00000010)){ PORTC = 0b00000001; if(j>=0){ PORTD = schritt[j]; newdelay(50); j--; } else { j=3; } } PORTC = 0b00000000; } }
