Basic Stamp Programm einer Murmelsortiermaschine

#5745520
Lesenswert?

Hallo Leute.

Ich habe da so ein Problem. Ich muss für die Schule eine Murmel 
Sortiermaschine machen und ich weiß einfach nicht wie ich die Programme 
dazu schreiben soll.

Ps: Ich muss mit einem Basic Stamp Controller Arbeiten.

Es sollte dann ungefähr so aussehen und Funktionieren:

https://www.youtube.com/watch?v=F9h75kcUYdk

Ich habe schon verstanden das es so Funktionieren soll:

   1. LED anschalten.
   2. Sensor messen.
   3. LED ausschalten.
   4. Motor zur Öffnung ausrichten.
   5. Je nach Messergebnis nach im oder gegen den Uhrzeigersinn drehen.
   6. Wiederholen.

Aber wie soll ich dadurch ein Programm schreiben und was für einen 
Servomotor muss ich mir dazu kaufen ?

Danke im Voraus.
#5745529
Lesenswert?

Main M. schrieb:
> Ich muss für die Schule

Definiere das mal bitte genauer.

Main M. schrieb:
> Ich habe schon verstanden das es so Funktionieren soll:

Dann fang damit an. Schreibe kleine Testprogrämmchen die jeweils einen 
dieser Punkte können.
Wenn du das hast dann kann man diese Programmteile mit der 
entsprechdenden Logik verbinden und ... voila hat man ein 
funktionierendes Programm.
#5745549
Lesenswert?

Wir können dir hier nicht das Programm schreiben.
1. wissen wir nicht wie das aufgebaut ist und welche Bauteile du benutzt 
und wie die mit deinem µC verkabelt sind.
2. Haben (fast alle) keine Basic Stamp Umgebung oder Doku
3. "musst" du normalerweise in der Schule nichts machen, was du nicht 
soweit beigebracht bekommen hast das du es auch können müsstest.

Wenn es trotzdem irgendwo hängt dann wird dir hier gerne geholfen, aber 
die meisten hier haben eine Allergie gegenüber Schüler/Studenten die 
sagen "ich muss, habe aber keine Ahnung, also macht das bitte für mich"
(Firma: matzetronics) #5745567
Lesenswert?

Main M. schrieb:
> 4. Motor zur Öffnung ausrichten.

Wieviele Sorten Murmeln gibt es denn? Wenn es nur 2 sind, würde ich mir 
den Motor sparen und einen Elektromagneten nehmen. Der wird wie eine LED 
angesteuert, nur mit einer Treiberstufe dazwischen (und einer 
Freilaufdiode). Es bleibt nur noch, den Sensor sinnvoll abzufragen und 
das Ergebnis (0 oder 1) auf den E-Magneten zu schicken.
#5745571
Lesenswert?

Ja ich verstehe, meine Wortwahl habe ich unpassend gewählt. Im 
Nachhinein sehe ich das genauso. Ich möchte wirklich mein Problem lösen 
und nicht einfach nur das schnell hinter mich bringen. Ich gehe das 
Thema wirklich mit Leidenschaft an und möchte das auch in der Zukunft 
vertiefen. Ich möchte auch viele weitere Projekte während meinem Abitur 
und auch im Berufsleben angehen. Darum bräuchte ich hier Starthilfe, da 
ich in der Schule das Wissen nicht gut genug aufgenommen habe.
#5745595
Lesenswert?

Variante A)
Du läßt Dir den ADC-Wert anzeigen und legst den Schwellwert in die Mitte 
der Werte für schwarz und weiß.

Variante B)
Das Programm ist selbst lernend. Es ließt die Werte ein und merkt sich 
min und max. Dann legt es die Schwelle dazwischen.
Es kann dann sein, daß die ersten Murmeln falsch einsortiert werden, bis 
beide Farben die Lichtschranke passiert haben.

Ein Servomotor ist die einfachste Lösung. Dessen Position läßt sich 
einfach über einen PWM-Ausgang setzen.
(Firma: matzetronics) #5745597
Lesenswert?

Main M. schrieb:
> Youtube-Video "Murmelsortieranlage mit BASIC Stamp 1"

Ja, tolle Mechanik, aber eher langsame Verarbeitung. Der YTer verwendet 
ein Fernsteuerservo, das dann jeweils rechts und links dreht. Meine 
Lösung wäre eine Kugelbahn mit Weiche, bei der die Kugel über zwei 
Sensoren rollt (einmal 'Da kommt eine Kugel' und zum zweiten 'Die Kugel 
ist weiss') und dann die Weiche entsprechend stellen, die ein paar cm 
danach kommt.
Dann entfällt die Ansteuerung des Servos, die mögl. in Basic etwas 
kompliziert ist, sondern es ist eine reine Abfrage auf digitale Eingänge 
und Ausgänge.
#5746513
Lesenswert?

Hallo ich bin es wieder und habe da jetzt was ausprobiert.
Ich habe von einem Ferngesteuertes Spielzugauto den servo Motor raus 
genommen und werde ihn benutzen.
Ich komme gar nicht weiter...

' {$STAMP BS1}
OUTPUT 4
OUTPUT 5
MAIN:
PIN5 = 1
PAUSE 500
PIN5 = 0
PAUSE 500
POT 5, 127, B0
DEBUG B0
GOTO MAIN
END

Wie soll ich da jetzt weiter Arbeiten ?
Gast #5746547
Lesenswert?

Die Ansteuerung eines Modelbauservos ist hier im Wiki beschrieben: 
https://www.mikrocontroller.net/articles/Modellbauservo_Ansteuerung.

Leider kennt sich mit den Basic-Stamps wohl niemand hier wirklich aus, 
aber du suchst nach dem Begriff PWM für die Generierung des 
Ansteuerungssignals des Servos. Eine kurze Suche erbracht zumindest mal 
dieses Ergebnis (http://emesystems.com/OLDSITE/BS2PWM.htm). Mein Tipp, 
erzeuge erst mal mittels PWM ein Signal, schau dir das Signal mit einem 
Oszi oder Logic-Analyzer an (sofern in der Schule vorhanden) und 
vergleiche es mit der Signalform, welche im Wiki-Artikel beschrieben 
ist.
Gast #5746591
Lesenswert?

Main M. schrieb:
> Ich habe alles was ich benötige dafür und des sollte dann so
> Funktionieren.

Du hast meine Fragen nicht beantwortet. Du musst lernen, die Aufgabe in 
kleine Teilschritte zu zerlegen, sonst kommst du nicht voran.

> Ist Dir klar, wie man diese Teile anschliesst?
> Ist Dir klar, wie man die LED einschaltet?
> Welche Unterlagen liegen Dir dazu vor?
Gast #5746642
Lesenswert?

Okay, ich helfe dir mit dem Zerlegen:
- LED ansteuern (kannst du anscheinend)
- Servo ansteuern (kannst du noch nicht)
- Sensor auslesen (kannst du anscheinend auch noch nicht)

Schreibe also drei Programme:
Für jeden dieser Teil-Aufgaben ein Programm. Nichts dolles, einfach nur 
Motor dreht sich nach links, mal nach rechts. Wenn die alle 
funktionieren, meldest du dich nochmal und wir können wir dir helfen, 
diese Teile zu kombinieren.
#5746644
Lesenswert?

Vielleicht eine andere Idee, da es sehr schwer ist, wirklich Grundlagen 
über ein Forum zu vermitteln: Besuche doch einfach Leute, die sich mit 
solchen Sachen gerne beschäftigen. Du wohnst ja in Berlin, da gibt es 
viele Möglichkeiten, besuche doch einmal einen Hackerspace 
https://wiki.hackerspaces.org/Berlin und da bekommst du sicher Hilfe 
oder dir erklärt jemand ein paar Grundlagen, die du benötigst.

Ansonsten finde ich es eine coole Aufgabe, wo man einiges lernen kann. 
Bei den Murmeln nimmst du am Besten durchsichtige und undurchsichtige, 
dann wird es erstmal einfach :)
(Firma: matzetronics) #5746658
Lesenswert?

RC Servo: Nehmen wir mal an, das das Servo an deinem Pin 6 hängt.
Dann sollte dieses Unterprogramm es in die eine Richtung drehen:
1
PIN6 = 1
2
PAUSE 1
3
PIN6 = 0
4
PAUSE 19
5
RETURN
Vorrausgesetzt, PAUSE hat als Argument die Wartezeit als Millisekunden - 
dafür weiss ich zu wenig über den BASIC Stamp.
Und dieses Unterprogramm gibt einen Puls für die andere Richtung:
1
PIN6 = 1
2
PAUSE 2
3
PIN6 = 0
4
PAUSE 18
5
RETURN
Diese Unterprogramme solltest du ein paarmal hintereinander aufrufen 
oder in einer FOR-NEXT Schleife, denn die Servos mögen einen 
kontinuierlichen Signalstrom.
Gast #5746690
Lesenswert?

Narfie schrieb:
> Leider kennt sich mit den Basic-Stamps wohl niemand hier wirklich aus,

Kaum.
Vor 20 Jahren habe ich so einen Set geschenkt bekommen und schnell 
wieder weggelegt.

> aber du suchst nach dem Begriff PWM für die Generierung des
> Ansteuerungssignals des Servos. Eine kurze Suche erbracht zumindest mal
> dieses Ergebnis (http://emesystems.com/OLDSITE/BS2PWM.htm). Mein Tipp,
> erzeuge erst mal mittels PWM ein Signal, schau dir das Signal mit einem
> Oszi oder Logic-Analyzer an (sofern in der Schule vorhanden) und
> vergleiche es mit der Signalform, welche im Wiki-Artikel beschrieben
> ist.

Nach meiner Erinnerung macht das keine echte PWM.
Sondern die Frequenz wird irgendwie geändert.
PWM habe ich dann mit dem AVR gemacht.
Gast #5746789
Lesenswert?

leo schrieb:
> Mit Google-Suche "basic stamp pwm" findet sich genug.Syntax: PWM Pin,
> Duty, Duration
> Ob das passt mag wer beurteilen, der die Hardware hat.
>
> leo

Eben, ich hab die Hardware. Werd aber den Teufel tun, diesen Mist wieder 
zu aktivieren. Und vor allem in der 1. Generation. Wie kommt man heute 
noch darauf, das zu verwenden? Lehrer eben.
Und nicht nur Google-Theorie machen.

Vor 20 Jahren brauchte ich PWM.
Es sah gruselig auf dem Oszi aus.
Eigentlich ist es ein PIC mit BASIC-Interpreter.

Das Problem des TO wird nicht PWM sein.
Es kann also gehen.
Gast #5749726
Lesenswert?

Lieber Martin,

Wenn das ein Projekt für die Schule ist, dann wurden euch sicher die 
Grundlagen vermittelt.

Wie man das Problem in überschaubare Teilprobleme zerlegt, wurde dir 
hier gesagt.

Aber du willst diese Hilfe nicht annehmen, sondern willst, dass dir 
jemand das fertige Ergebnis liefert.
Sollen wir vielleicht auch deine nächste Mathearbeit für dich schreiben?

Du bist in der Schule, um was zu lernen.

Und offenbar bist du nicht mal im Stande, dein Problem so darzustellen, 
dass ein Außenstehender dir helfen kann.

Wenn du mit dem ganzen Thema völlig überfordert bist, dann bitte deinen 
Lehrer um Hilfe.
Dazu sind sie da!

Oder mach das, was Stefanus dir vorgeschlagen hat.
Melde den Misserfolg.
So ein Projekt dient dazu, den Lernerfolg der Schüler zu prüfen. Der 
scheint bei dir quasi Null zu sein.
Und dafür gibt es dann auch zurecht ne 6.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren