Step by step & back...oder:
Der langsamste Fortschritt der Weltgeschichte!



Schrittmotor, Typ: "Fortschritt" – Raspberry Pi

ZUTATEN

WERKZEUGE

ANLEITUNG

Die aus weißen LGO-Steinen und Papier bestehende Konstruktion mit integriertem Schrittmotor wurde durch eine Maschine von Walter Ruffler aus Bremen inspiriert, die "Arbeitsmarktpolitik" heißt. Ohne Agenda 2010 wäre diese humorvolle Papierkonstruktion wohl undenkbar gewesen – die dazugehörige Hand aus Papier, befestigt an einem Zahnstocher, wurde entwendet und Teil der Maschine Schrittmotor, Typ: "Fortschritt", die wiederum auf der Maschine "Geradschub-Kurbelgetriebe", ebenfalls von Walter Ruffler, basiert.

Datenblatt Schrittmotor
Voraussetzung für die Steuerung des Schrittmotors ist die Verbindung mit einer Motorsteuerungsplatine – in diesem Fall ist es die ULN2003A. Die fünf in einem einzigen Stecker eingefassten Kabel des Schrittmotors werden in die Buchse der Platine gesteckt, die Eingänge IN1 – IN4 sowie die Eingänge für 5V und GND auf der diametral entgegengesetzten Seite der Platine wie folgt mit den Pins am Raspberry Pi verbunden:


Verbindungen ULN2003A – Raspberry Pi

– (hier: weiß)       an GND

+ (hier: gelb)       an 5V

IN1 (schwarz)    an PIN 7 (=GPIO4)

IN2 (rot)    an PIN 11 (=GPIO17)

IN3 (lila)     an PIN 13 (=GPIO27)

IN4 (orange)     an PIN 15 (=GPIO22)

CODE

Hier findest Du den Code zur Schrittmotorsteuerung am Raspberry Pi, jenen für Arduino findest Du hier

	
  # +++ servo-motorsteuerungscode für raspberry pi +++  
  
  import RPi.GPIO as GPIO
  import time

  # GPIO.BOARD ist ident mit der physikalischen 
  # Nummerierung am Raspberry Pi
  
  GPIO.setmode(GPIO.BOARD)

  ControlPin= [7,11,13,15]

  for pin in ControlPin:
  GPIO.setup(pin,GPIO.OUT)
  GPIO.output(pin,0)

  seq =   [ [1,0,0,0],
	  [1,1,0,0],
          [0,1,0,0],
          [0,1,1,0],
          [0,0,1,0],
	  [0,0,1,1],
          [0,0,0,1],
          [1,0,0,1] ]

  for i in range(51200):
	for halfstep in range(8):
		for pin in range(4):
	GPIO.output(ControlPin[pin], seq[halfstep] [pin])
  time.sleep(0.001)

  GPIO.cleanup()
	
	

Happy Coding!
Die Papiermaschinist_innen ;-)