Fischertechnik fabrik mit Node Red programmieren

Community-Firmware (cfw), Selbstbaucontroller (TX-Pi, ftduino, usw.), usw.
Forumsregeln
Bitte beachte die Forumsregeln!
Antworten
Freeemind
Beiträge: 2
Registriert: 28 Apr 2018, 14:48

Fischertechnik fabrik mit Node Red programmieren

Beitrag von Freeemind » 28 Apr 2018, 15:28

Hallo zusammen,

Ich programmiere gerade mit Node Red die Fabrik von fischertechnik 24V (https://content.ugfischer.com/cbfiles/f ... iption.pdf) und habe schwierigkeiten den Quadrature Motor vom Vacuum Sauggreifer genau da anzuhalten wo ich es gern möchte (entweder vor Automatisiertes Hochregallager oder Brennofen oder Lichtschrank Rot, Blau, Weiß), ich habe ein counter erstellt, der bei dem Motor, die pulse zählt und der macht auch alles richtig, das problem ist, der hält immer nicht am selben Ort, obwohl der counter immer wieder die selben werte liefert (paar zenzimeter ungenau manchmal auch sehr ungenau, dass der gar nicht anhält, manchmal genau haha). ich versuche die komplett fabrik zum laufen zu bringen, aber stöß immer wieder auf neue Probleme die mir das Leben schwer machen :( . Ich wäre euch sehr dankbar, wennn ihr mir weiter helfen konnte, denn ich hänge mit dem quadrature encoder Motor seit eine Woche.
ich habe auch noch andere Fragen wie:

1/ was ist der unterschiede zwischen Impulse 1 und Impulse 2 ? (für mich tun die beiden das gleich oder ?)
2/ wie bringe ich den Farbsensor, mir die richtigen Daten zu liefern ? (der liefert mir immer die gleichen RAW Daten, ob was an ihm vorbei fährt oder nicht und ob die Farben anderes sind, der schickt einfach die selben unterschiedlichen zahlen immer wieder, als ob der gar nicht funktionniert oder habe ich irgendwas falsch gemacht ?)

vielen Dank und tut mir leid für meine Deutsch :D

Lars
Beiträge: 564
Registriert: 25 Okt 2016, 21:50

Re: Fischertechnik fabrik mit Node Red programmieren

Beitrag von Lars » 29 Apr 2018, 21:52

Hallo Freeemind,
Freeemind hat geschrieben:Ich programmiere gerade mit Node Red die Fabrik von fischertechnik 24V (https://content.ugfischer.com/cbfiles/f ... iption.pdf) und habe schwierigkeiten den Quadrature Motor vom Vacuum Sauggreifer genau da anzuhalten wo ich es gern möchte (entweder vor Automatisiertes Hochregallager oder Brennofen oder Lichtschrank Rot, Blau, Weiß), ich habe ein counter erstellt, der bei dem Motor, die pulse zählt und der macht auch alles richtig, das problem ist, der hält immer nicht am selben Ort, obwohl der counter immer wieder die selben werte liefert (paar zenzimeter ungenau manchmal auch sehr ungenau, dass der gar nicht anhält, manchmal genau haha).
Interessant, daß man in dem Modell überhaupt Motore mit Quadratur-Inkrementalgebern einbaut. Wenn man genau hinschaut, kann man die vierpoligen Encoder-Zuleitungen erkennen; bei den handelsüblichen Encodermotoren sind sie lediglich dreipolig. Aber sowas wäre ja eigentlich nur dann interessant, wenn neben den Motoren noch andere Kräfte auf den Roboter einwirken und dabei eine Positionsänderung des Armes bewirken könnten. Leider kann man auf den Bildern nicht erkennen, ob das technisch überhaupt möglich ist. ft verbaut bei seinen Antriebslösungen fast immer Schnecken, die eine Kraftübertragung nur vom Motor auf den Drehkranz bzw. den Armlifter, nicht aber umgekehrt zulassen.

Mit einem Quadratur-Inkrementalgeber kann man nämlich neben dem zurückgelegten Drehwinkel auch die Drehrichtung erkennen. Dazu muß man die Phasenverschiebung der Impulse aus den beiden Encodern eines Motors durch die Programmierung erkennen lassen. Die beiden Encoder sind so verbaut, daß der eine seinen Impuls immer kurz vor dem des anderen beginnt, während es in der entgegengesetzten Richtung genau umgekehrt ist.
Solange die Bewegung allerdings nur von den Motoren ausgeht, braucht man das aber nicht. Denn der Controller kennt ja die Drehrichtung, in die er den Motor laufen läßt. Nur wenn man das angetriebene Teil beispielsweise auch von Hand bewegen kann und sich dabei auch die Achse des Quadratur-Encodermotors schön mitdreht, könnte der Controller dies nachvollziehen und die aktuelle Position auch bei solch manueller Bewegung kennen. Von den nicht unbeträchtlichen Ungenauigkeiten der ft-Getriebe einmal abgesehen.

Was passiert denn, wenn Du in Deiner Programmierung erstmal nur einen der beiden Encoder im Drehkranz-Antrieb berücksichtigst? Den Motor also wie einen handelsüblichen Encodermotor behandelst? Ob Du die gelbe oder die schwarze Leitung berücksichtigst, ist gleich.
Freeemind hat geschrieben:2/ wie bringe ich den Farbsensor, mir die richtigen Daten zu liefern ? (der liefert mir immer die gleichen RAW Daten, ob was an ihm vorbei fährt oder nicht und ob die Farben anderes sind, der schickt einfach die selben unterschiedlichen zahlen immer wieder, als ob der gar nicht funktionniert oder habe ich irgendwas falsch gemacht ?)
Die Farberkennung ist sehr empfindlich gegen Umgebungslicht. Deshalb ist die Farberkennung in Deinem Modell ja auch eingehaust. In einer sehr hellen Umgebung - etwa bei Sonnenlicht - sind die roten Bauplatten allerdings nicht mehr lichtdicht. Eine Farberkennung findet nicht wirklich statt, sondern das Modell strahlt den zu untersuchenden Gegenstand mit rotem Licht an, das rote Gegenstände gut reflektieren und in dem Sensor nur einen kleinen Widerstand verursachen. Je weiter sich die Farbe des Gegenstandes spektral vom roten Licht entfernt, desto geringer ist der Anteil roten Lichts in der Reflektion und desto höher der Widerstand des Sensors.

Mit freundlichen Grüßen
Lars

Antworten