INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Wegbegrenzung für Schrittmotor
09.02.2019, 16:05
Beitrag #57
RE: Wegbegrenzung für Schrittmotor
Das Problem hab ich gestern auch festgestellt. Ich habe heute noch eine andere Möglichkeit im Netz gefunden und zwar das ich statt der for Schleife das gleiche im void loop als if-Anweisung laufen lasse und zwar so.

Code:
if( currentSpeed <= 400 ) {
    md.setM1Speed(i);
    currentSpeed++;
    delay(300);
  }

Das ist nur ein Beispiel und muss noch an meinen Sketch angepasst werden. Damit musste doch die blockierende Wirkung umgangen werden können?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
09.02.2019, 16:31
Beitrag #58
RE: Wegbegrenzung für Schrittmotor
Zu einem Teil ja. Du hast dann aber immer noch die blockierende Wirkung des delay drin. Die ist zwar geringer aber vorhanden. Da würde Dir dann zusätzlich eine Zeitsteuerung über millis() helfen. Dazu gibt es BlinkWithoutDelay in den Beispielen und eine gute Erklärung in der Rubrik Tutorials und Literatur.

Gruß Tommy

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
09.02.2019, 21:40
Beitrag #59
RE: Wegbegrenzung für Schrittmotor
In den Tutorials hab ich (bisher) nur den Beitrag "Blink Without Delay - mal anders erklärt" von ardu_arne gefunden.
Wenn ich das Prinzip des BlinkWithoutDelay richtig verstanden habe wird ein Ausgang zeitlich definiert nach seinem Zustand abgefragt, bis ein, auch definierter, Zustand erreicht ist. Ok, soweit, so gut. Demnach müsste ich den Ausgang vom Motorshield abfragen, ob das ausgegebene PWM-Signal sein Maximum erreicht hat, und wenn nicht etwas dazu zählen.
Stimmt das soweit?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
09.02.2019, 21:59 (Dieser Beitrag wurde zuletzt bearbeitet: 09.02.2019 22:00 von Tommy56.)
Beitrag #60
RE: Wegbegrenzung für Schrittmotor
(09.02.2019 21:40)Scouter schrieb:  Stimmt das soweit?
Dann hast Du es noch nicht verstanden. Das Verstehen kann Dir aber keiner abnehmen. Das musst Du selbst erreichen.

Der Zustand des Pins ist ein Teil der Aktion beim Erreichen der Zeitschwelle. Die Aktion ist beliebig austauschbar.
Das einzig wichtige und allgemein verwendbare ist die erreichung der Zeitschwelle:
Code:
uint32_t aktMillis = millis();
if (aktMillis - lastMillis >= intervall) {
  lastMillis = aktMillis;
  // Tu was
}

Gruß Tommy

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
09.02.2019, 22:05
Beitrag #61
RE: Wegbegrenzung für Schrittmotor
Grundlage für "Blink Without Delay - mal anders erklärt " ist der Beitrag millis(), das unbekannte Wesen .
Den solltest Du dir zuerst verinnerlichen. Dann ist "Blink Without Delay - mal anders erklärt " besser verständlich.

Gruß Arne
Mit zunehmender Anzahl qualifizierter Informationen bei einer Fragestellung, erhöht sich zwangsläufig die Gefahr auf eine zielführende Antwort.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
09.02.2019, 22:19 (Dieser Beitrag wurde zuletzt bearbeitet: 09.02.2019 23:20 von Scouter.)
Beitrag #62
RE: Wegbegrenzung für Schrittmotor
Ah, ich glaub ich habs. Das ist nur der Ersatz für ein Delay. Also kommt als Aktion auf das if die eigentliche Anweisung für die Rampe.

In etwa so?
Code:
#include <Wire.h>
#include <Adafruit_MotorShield.h>

Adafruit_MotorShield AFMS = Adafruit_MotorShield();
Adafruit_DCMotor *AB_Drehen = AFMS.getMotor(1);
int Eingang1 = 12; //Empfängerkanal 1
int AB_DrehenSpeed = 0;            
unsigned long previousMillis = 0;        
unsigned long duration1; //Pulslänge 1
const long interval = 10;          

void setup() {
  AFMS.begin();
  pinMode(Eingang1, INPUT);

}

void loop() {
  Ueberwachen_Eingang1();
}
void Ueberwachen_Eingang1()
{
  unsigned long currentMillis = millis();
  if (duration1 > 1700) {
    if (currentMillis - previousMillis >= interval) {
      previousMillis = currentMillis;

      if (AB_DrehenSpeed < 255) {
        AB_DrehenSpeed + 1;
      }
      AB_Drehen->setSpeed(AB_DrehenSpeed);
    }
  }
AB_Drehen->run(FORWARD);
}

Ich probiere das Morgen mal aus und berichte.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
10.02.2019, 13:48
Beitrag #63
RE: Wegbegrenzung für Schrittmotor
War klar, funktioniert so überhaupt nicht. Langsam komme ich an den Punkt, dass ich das mit den Rampen lasse.
Trotz allem besten Dank für eure Hilfe und Unterstützung.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Projekt Portionierer mit Schrittmotor, Bluetooth hilfe Flieger 3 1.024 09.08.2018 13:02
Letzter Beitrag: Hilgi
  Endschalter für Schrittmotor clemens5555 10 3.402 18.04.2018 14:37
Letzter Beitrag: Tommy56
  Schrittmotor mit Puls/Richtung Steuern Günni 6 2.636 19.01.2018 10:30
Letzter Beitrag: Tommy56
  Schrittmotor Geschwindigkeit mit Wägezelle + HX711 Modul steuern Schrittmotor 10 4.196 30.08.2017 23:45
Letzter Beitrag: hotsystems
  Schrittmotor mit l298n Sequenz huber5093 10 3.648 26.04.2017 15:06
Letzter Beitrag: huber5093
  Haltestrom Schrittmotor reduzieren TimF 3 3.135 24.10.2016 12:33
Letzter Beitrag: Binatone
  Schrittmotor Clemens55555 9 4.512 25.08.2016 10:15
Letzter Beitrag: Binatone
  Schrittmotor soll auf Tasterdruck bis zum Endschalter fahren Wurstbemme 11 8.221 08.01.2016 11:56
Letzter Beitrag: hotsystems
  Piezosummer und Schrittmotor Gilbert Neon 0 1.384 20.12.2015 15:40
Letzter Beitrag: Gilbert Neon
  Problem mit 2 Potis und Schrittmotor Sven90 1 1.928 24.09.2015 10:19
Letzter Beitrag: Bitklopfer

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste