Projekt: Drahtführung für Wickelautomat (Teil 5)

Ein relativ einfacher nächster Schritt:

An Pin 9 des NANO wird ein Button gegen Vcc angeschlossen.  Das ist wieder der 5V-Anschluss am NANO, den ich schon zum Treiber „FAULT“ verbunden hatte. Gleichzeitig liegt am NANO-Pin 9 über einen 10k-Widerstand GND.
Die ganzen Grundlagen zu AVR, – nichts anderes ist der Arduino -, kann man sich auf Mikrocontroller.net erarbeiten.
Das Ziel dieser Aktion ist, dass der Motor losläuft, wenn der Button gedrückt wird.  Bei mir lief das problemlos. Der Motor macht eine volle Umdrehung, da 200 relative Schritte vorgegeben sind. Drückt man nochmal, wird wieder in die gleiche Richtung gedreht.

Hier das entsprechende Programm:

// step and button
// -*- mode: C++ -*-
//
// Make a single stepper turn on button press
//
// Thomas Sturm mit diversen Quellen

#include <AccelStepper.h>

// Define a stepper and the pins it will use
AccelStepper stepper(AccelStepper::DRIVER, 2, 5); // pin 2 = step, pin 5 = direction

// The button definition
const int buttonPin = 9;     // the number of the pushbutton pin, btn to Vcc, pin via resistor to ground
// only for test purpose
const int ledPin =  13;      // the number of the LED pin onboard

// variables will change:
int buttonState = 0;         // variable for reading the pushbutton status

void setup()
{
  // Change these to suit your stepper if you want
  stepper.setMaxSpeed(10);   // max 10 steps per second
  stepper.setAcceleration(5);
  // initialize the LED pin as an output:
  pinMode(ledPin, OUTPUT);      
  // initialize the pushbutton pin as an input:
  pinMode(buttonPin, INPUT);     

}

void loop()
{
  // read the state of the pushbutton value:
  buttonState = digitalRead(buttonPin);

  // check if the pushbutton is pressed.
  // if it is, the buttonState is HIGH:
  if (buttonState == HIGH) {     
    // turn LED on:    
    digitalWrite(ledPin, HIGH);
    stepper.move(200);
  }
  else {
    // turn LED off:
    digitalWrite(ledPin, LOW);
  }
stepper.run();   // run immer ausführen um Bewegung zu vollenden, siehe AccelStepper Classes
}

 

Der jetzt eingebaute Button ist praktisch der Umdrehungssensor an der Drahtspule. Das Signal wird am Filawinder durch einen Magneten erzeugt, der an einem Hall-Sensor vorbeiläuft. Pro Umlauf der Spule muss sich später die Drahtführung um einen Drahtdurchmesser weiterbewegen.
Ein weiterer Button wird jetzt eingefügt. Er simuliert die Endpositionen, – die linke und rechte Seite der Spule.

Meine Testkonstruktion ist auch schon fertig. Sämtliche Halter, der Reiter und die Verbindungsmuffe sind gedruckte Teile. Die Files werde ich später zur Verfügung stellen.

Drahtführung Testaufbau Antrieb und Verbindung Drahtführung Testaufbau linker Halter Drahtführung Testaufbau Reiter Drahtführung Testaufbau Gesamtansicht

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.