Forum: Analoge Elektronik und Schaltungstechnik ATMEGA8 - ULN2803 - LM23-K


von Janschik92 (Gast)


Angehängte Dateien:

Lesenswert?

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;
   }
}

von MaWin (Gast)


Lesenswert?

Janschik92 schrieb:
> Problem ist, das die Leistung zu gering ist

CD+ des ULN2803 darf nicht an +12V, sondern entweder mit einer ZD15 an 
+12V oder mit einer ZD27 an GND.

Grundlagen Leute, Grundlagen:
http://www.dse-faq.elektronik-kompendium.de/dse-faq.htm#F.10

von Tom (Gast)


Lesenswert?

1.) Welchen Widerstand haben die Motorwicklungen? Wieviel Strom fließt 
bei der Ansteuerung mit 12V? Wieviel Strom verträgt der ULN2803?

2) Motor erstmal weglassen, neuen ULN2803 nehmen und statt der 4 
Motorwicklungen 4 LEDs mit Vorwiderständen anschließen, Geschwindigkeit 
langsamer einstellen und Blinkmuster von Hand verfolgen. Wenn diese so 
aussehen wie sie bei einem unipolaren Schrittmotor aussehen sollen, 
weitermachen.

von Janschik92 (Gast)


Lesenswert?

Kann man auch eine BZX15 benutzen ? Es funktioniert leider immer noch 
nicht.

von Janschik92 (Gast)


Lesenswert?

okay werde ich mal nach gucken danke. Ich melde mich!

von Janschik92 (Gast)


Lesenswert?

Hab jetzt alle Motorwicklungen durch LED's und Vorwiderstände ersetzt.
Der ULN2803 kann wohl 500mA ab und durch eine Spule von dem Stepper 
fließt bei 12VDC ein Strom von ca.290-300mA.

von Janschik92 (Gast)


Lesenswert?

Geht leider immer noch nicht.

von holger (Gast)


Lesenswert?

>Geht leider immer noch nicht.

Den ULN2803 falsch rum eingebaut?

von Hubert G. (hubertg)


Lesenswert?

Wird auch nicht gehen, Code falsch.
1
  char A1 = 0b00100100;
2
  char A2 = 0b00011000;
3
  char B1 = 0b00010100;
4
  char B2 = 0b00101000;

Probiers mal damit.

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.