Seite 8 von 10

Re: Schrittmotorsteuerung für Drehscheibe

Verfasst: Di 21. Dez 2021, 09:25
von Admin
Wir müßen ja trotzdem wissen, welches Programm BEI DIR nicht funktioniert hat. Wir können nicht wissen warum ein Programm das du dir irgendwo runtergeladen hast, bei dir nicht funktioniert. Das schaffen auch 100 Wahrsager nicht. Wir können nicht auf deinen Tisch sehen, genauso wenig in deinen Computer.

Wenn ich dir sage, ich habe da ein Auto, das nicht mehr geht, welches es ist, weiß ich nicht, wie es aussieht, weiß ich nicht, Diesel-, Benzin-, Elektroauto, weiß ich auch nicht, aber kannst du mir sagen warum es nicht mehr geht? Da wirst du mir recht geben, wird es mit einer hilfreichen Antwort schwierig.

Franz

Re: Schrittmotorsteuerung für Drehscheibe

Verfasst: Di 21. Dez 2021, 11:07
von e69-fan
:!: Beitrag am 22.12.2021 nach viewtopic.php?p=837#p837 verschoben.
Servus - Wolfgang

Re: Schrittmotorsteuerung für Drehscheibe

Verfasst: Di 21. Dez 2021, 11:22
von Daniel-MOBA
Hallo Ihr beiden,

das ist ein Sketch den ich auch so probiert hatte. 2 Taster 2 Widerstände ULN2003 mit 28BYJ-48. Ich
hatte auch so zusammen gesteckt wie es auf der Seite angezeigt wurde. Wolfgang, werde dein
Sketch Morgen Vormittag ausprobieren. Leider ist heute schon wieder die Zeit um :( muss zur Spätschicht.

Die Moba-Tools hatte ich aus der Bibliothek geladen, denke das ist richtig so oder?

Code: Alles auswählen

// Ansteuerung eines Schrittmotors

// Mit 2 Tastern kann die Drehrichtung gewählt und der Schrittmotor gestartet werden.
// Der Schrittmotor läuft nur so lange, wie der Taster EINSCHALTER am Port 2 gedrückt wird.
// Standardmäßig läuft der Schrittmotor rechts herum - also im Uhrzeigersinn.
// Nur bei gedrücktem Taster DREHRICHTUNG an Port 3 dreht der Schrittmotor links herum.

// P1x sind die Eingänge des Controllers
// P11 = Port 8, P12 = Port 9, P13 = Port 10, P14 = Port 11:
#define P11 8
#define P12 9
#define P13 10
#define P14 11

#define EINSCHALTER 2
#define DREHRICHTUNG 3
#define LINKS 0
#define RECHTS 1

// Länge der  Stepper-Phase
#define STEPLENGTH 5 // Minimaler Wert = 4!

// Rechtslauf
int arrayStepsP11[] = {1, 1, 0, 0};
int arrayStepsP12[] = {0, 0, 1, 1};
int arrayStepsP13[] = {0, 1, 1, 0};
int arrayStepsP14[] = {1, 0, 0, 1};

// Schalter-Variable definieren
boolean varEinschalter = 0;
// Drehrichtungs-Variable definieren
// 1 = RECHTS = Rechtslauf, 0 = LINKS = Linkslauf
boolean varDrehrichtung = LINKS;

void setup() {
  pinMode(P11, OUTPUT);
  pinMode(P12, OUTPUT);
  pinMode(P13, OUTPUT);
  pinMode(P14, OUTPUT);

  // Schalter-Port auf Eingang setzen
  pinMode(EINSCHALTER, INPUT);
  // Drehrichtungs-Port auf Eingang setzen
  pinMode(DREHRICHTUNG, INPUT);  
}

void loop() {

  // Einschalter abfragen
  varEinschalter = digitalRead(EINSCHALTER);
  // Drehrichtungsschalter abfragen
  varDrehrichtung = digitalRead(DREHRICHTUNG);
 
  if (varEinschalter == 1)
  {
    if (varDrehrichtung == RECHTS)
    {
      // Rechtslauf
      // Es sind definitiv 4 Phasen beim Vollschrittbetrieb:
      for (int i = 0; i < 4; i++)
      {
        if (arrayStepsP11[i] == 1)
        {
          digitalWrite(P11, HIGH);
        }
        else
        {
          digitalWrite(P11, LOW);
        }
        if (arrayStepsP12[i] == 1)
        {
          digitalWrite(P12, HIGH);
        }
        else
        {
          digitalWrite(P12, LOW);
        }
        if (arrayStepsP13[i] == 1)
        {
          digitalWrite(P13, HIGH);
        }
        else
        {
          digitalWrite(P13, LOW);
        }
        if (arrayStepsP14[i] == 1)
        {
          digitalWrite(P14, HIGH);
        }
        else
        {
          digitalWrite(P14, LOW);
        }
       delay(STEPLENGTH);
      }
    }
    else
    {
      // Linkslauf
      // Es sind definitiv 4 Phasen beim Vollschrittbetrieb:
      for (int i = 3; i >= 0; i--)
      {
        if (arrayStepsP11[i] == 1)
        {
          digitalWrite(P11, HIGH);
        }
        else
        {
          digitalWrite(P11, LOW);
        }
        if (arrayStepsP12[i] == 1)
        {
          digitalWrite(P12, HIGH);
        }
        else
        {
          digitalWrite(P12, LOW);
        }
        if (arrayStepsP13[i] == 1)
        {
          digitalWrite(P13, HIGH);
        }
        else
        {
          digitalWrite(P13, LOW);
        }
        if (arrayStepsP14[i] == 1)
        {
          digitalWrite(P14, HIGH);
        }
        else
        {
          digitalWrite(P14, LOW);
        }
       delay(STEPLENGTH);
      }
    }
  }
}
Gruß Daniel

Re: Schrittmotorsteuerung für Drehscheibe

Verfasst: Di 21. Dez 2021, 11:33
von Admin
Ich habe hier mal die Schaltung auf das was Wolfgang in Betrieb hat, angepasst.

Wolfgang, schau mal ob das so stimmt. Ich denke das ist der letzte Stand.

Re: Schrittmotorsteuerung für Drehscheibe

Verfasst: Di 21. Dez 2021, 15:37
von e69-fan
Hallo Daniel,

ich habe doch geschrieben, Du brauchst 5 Taster , 3 Stück für den Referenzpunkt und vorläufig 2 Stück zum "drehen"

Was machst Du mit den Widerständen ???

Servus - Wolfgang

Re: Schrittmotorsteuerung für Drehscheibe

Verfasst: Di 21. Dez 2021, 16:59
von Admin
Hi Daniel.
So ein Programm habe ich noch gar nicht in den Händen. Es sieht so aus, als ob man damit Motoren ohne einen Motortreiber ansteuert. Also nicht mit Dir / Puls / Enable, sondern die beiden Wicklungen der Motoren hängen direkt an den Pins der CPU. Allerdinge mit Transistoren, die von den Pins gesteuert werden. Also nehme mal das Programm das der Wolfgang dir hier reingesetzt hat. Und alles nach der Schaltung die ich rein gesetzt habe verdrahten.

Die 5 Taster die du dafür brauchst, sind erst mal nur der "Gleis1", "Gleis2", "links", "rechts", "setzen". Die Widerstände werden hier nicht gebraucht, weil die Taster-Eingänge anders definiert werden.

Die anderen Gleis3-5 Taster brauchst du wahrscheinlich später.

Franz

Re: Schrittmotorsteuerung für Drehscheibe

Verfasst: Di 21. Dez 2021, 17:29
von Daniel-MOBA
Hallo Wolfgang,

ja das mit den 2 Taster war auch das was ich vorher getestet hatte, bevor ich euch gefunden habe. Das mit den Widerständen
weiß ich auch nicht, war so mit eingezeichnet. Würde euch ja den genauen Artikel Posten, aber weiß nicht ob ich das hier darf.
Wenn ich Morgen dazu kommen sollte, dann baue ich kurz zusammen und teste. Der TB6600 und das Oled sollten heute
auch eingetroffen sein.

Gruß Daniel

Re: Schrittmotorsteuerung für Drehscheibe

Verfasst: Mi 22. Dez 2021, 10:34
von Admin
Den Artikel kannst du schon posten. Würde mich interessieren worum es da ging. Er macht nur Sinn, wenn die ohne Treiber gearbeitet haben. Aber das ist wiederum unsinn. Dann muss man jeden der 4 Steuerausgänge mit Mosfets und eigentlich auch noch Optokopler beschalten. Warum den Aufwand, wenn es diese Treiber wie z.B. den TB6600 in allen Größen für kleines Geld gibt.

Franz

PS: Wenn du nach der Schaltung aufbaust, die ich reingehängt habe, und das Programm vom Wolfgang benutzt, dann läuft die Kiste. Denke an das Mäuseklavier, also die 6 kleinen Dipschalter im Treiber. Die gehören wie weiter oben beschrieben, eingestellt. Bist du eigentlich irgendwo in unterer Gegend zuhause?

Re: Schrittmotorsteuerung für Drehscheibe

Verfasst: Mi 22. Dez 2021, 11:07
von Daniel-MOBA
Hallo Ihr beiden,

dies ist das Projekt: http://www.elektronik.nmp24.de/?Mikroco ... _ansteuern

Ich habe einiges verdrahtet aber leider keine Zeit mehr.
Siehe Anhang. Foto konnte ich irgendwie nicht reinsetzen. Komme aus Magdeburg und wäre bissel weit weg :)
Leider ist erstmal bis Wochenende Ruhe und werde dann erst weiter machen können. Franz deine Schaltung
werden ich nehmen sowie das Programm von Wolfgang. Mäuseklavier stelle ich noch um.

Ich Wünsche euch ein schönes Weihnachtsfest und bedanke mich für eure intensive Hilfe.

Gruß Daniel

Re: Schrittmotorsteuerung für Drehscheibe

Verfasst: Mi 22. Dez 2021, 11:33
von Admin
Danke, dir auch schöne Weihnachten.

Es sieht so aus, als ob du zwei Netzteile benutzt. Eines für 5 Volt und eines für 24 Volt. in dem Fall musst du zwischen GND 24 Volt und GND 5 Volt eine Verbindung machen. Also die beiden Minus auf einen gemeisammen GND. Das übernimmt in meiner Schaltung der DC/DC Wandler. Ohne den, mit zwei Netzteilen geht es absolut genauso, aber du musst dann eben diese Brücke machen.

Ja, Magdeburg ist zu weit weg, um sich auch mal direkt bei den Problemen zu helfen. Aber ist ja egal. Ich dachte mal, dass diese Arduino Elektronik ein so schönes Hobby ist, dass es in jedem Bereich viele Leute gibt die das machen. Und jeder hat was, kann was, was den anderen wieder helfen kann. Aber da bin ich wohl zu sehr von meiner Begeisterung für diese Elektronik - Basteleien ausgegangen :(o): Sogar in einem größeren Forum bekommt man kaum Kontakt zu Gleichgesinnten aus der selben Ecke. Hier sind wir bis jetzt nur drei Leute aus der Ecke. Aber das mit der gegenseitigen Hilfe klappt jedefalls ganz gut. Jeder hat was spezielles, was die anderen nicht haben.

Grüße aus Ohlstadt (Kreis Garmisch)
Franz