Jump to content

Markus

Members
  • Gesamte Inhalte

    13
  • Benutzer seit

  • Letzter Besuch

Alle erstellten Inhalte von Markus

  1. @ borg Moin, Hast Du Dir mein Perioden-Länge Problem schon angeschaut, bzw. eine Lösungsidee? Beste Grüße, Markus
  2. @ borg Mit "Schlachtplan" meinte ich eigentlich sowas wie: "guck dir am besten zuerst Clock XY an" Mach dir aber bitte wegen mir keinen Stress - mein Aufbau läuft ja auch so einigermaßen! Ich lasse von mir hören, falls ich in der Sache irgendwas gebacken kriege! Vielen Dank und beste Grüße, Markus
  3. @ borg Hallo, hast du dir das mit den niedrigen Frequenzen schon angeschaut? Falls dir der Aufwand zu groß ist, wäre ich dir sehr dankbar, wenn du eine Art "Schlachtplan" posten könntest - ich würde mir das dann hier am Institut mit jemandem angucken, der hin und wieder Controller programmiert. Vielen Dank und beste Grüße, Markus
  4. Ich bin gespannt! Unter 15Hz zu kommen würde mir schon sehr helfen (ist die maximale Frequenz der Kamera, die ich verwende --> deswegen sind die 15,26Hz auch so ärgerlich^^) Viele Grüße, Markus
  5. @ photron Danke für den Tipp. Die Funktion dürfte ideal sein, um Kamera und Beleuchtung aufeinander abzustimmen. (anscheinend hatte ich das mit der Bitmask in der API-Beschreibung einfach nicht richtig verstanden, als ich es zum ersten Mal gelesen hatte^^) Das einzige was ich jetzt noch bräuchte ist eine Möglichkeit, die Frequenzlimitierung der Servo-Funktion aufzulösen. Meine for-Schleifen-Variante ist extrem ungenau und völllig ungeeignet für mehrere Signale. Meinst du, die Idee mit dem 10er Multiplikator in der Brick-Software ist möglich, oder ist die Dauer des Spannungspulses irgendwie über die Hardware beschränkt? Vielen Dank und beste Grüße, Markus
  6. @ AuronX Hi, für mein Problem (2) wäre eine Funktion, die die Parameter mehrerer Servos und eine Beziehung zwischen diesen an den Brick weiter reicht natürlich die optimale Lösung. Ich befürchte bloß, dass die Komplexität einer solchen Lösung meine Möglichkeiten überfordern würde. Hast Du eine Idee, wie man an Problem (1) rangehen könnte? Grüße, Markus
  7. Hallo Tinker, ich habe jetzt schon seit einiger Zeit den Servo-Brick und bin ziemlich zufrieden mit den Ergebnissen. Das Ventil lässt sich genauso ansteuern, wie ich mir das vorgestellt hatte. Um auch niedriger Frequenzen abbilden zu können, habe ich mir in C eine Krücke gebastelt: for(counter = 1; counter < npuls; counter++) { servo_enable(&servo, 0); // Servo an servo_set_position(&servo, 0, counter); // Servo einen weiter servo_disable(&servo, 0); // Servo aus usleep(apuls); // z.B. 0,5 Sekunden Pause für apuls = 500000 } Das Ganze klappt ganz gut für sehr niedrige Frequenzen (unter 4Hz) – darüber allerdings hat die Schwankung von usleep() (vermutlich auch die USB-Latenz) einen starken Einfluss. Immerhin kann ich jetzt die Frequenz zumindest in den niedrigen Bereichen (<4Hz) und den hohen Bereichen (>13Hz) genau einstellen. Aber: Wenn ich zwei Servos (bzw. zwei Ausgänge für Ventil und Kamera) innerhalb der for-Schleife ansteuere, springt das Signal des als zweites angesteuerten Servos wie wild durch die Gegend, bzw. ist sehr unsynchron (lt. Oszilloskop). Ich kann so zwar prinzipiell meine Versuche durchziehen, aber ich habe mir zwei Dinge überlegt, die ich gerne noch ändern würde: 1) ich habe mir überlegt, dass wenn ich die Servo-Perioden-Funktion auf dem Brick so umschreiben könnte, dass sie für einen Wert von „65500“ (als Eingabewert) nicht 65500, sondern 655000 Mikrosekunden rausgibt (für mehr Spielraum bei den Frequenzen). Kurzum: ein 10er Multiplikator in die Brick-Software einbauen. 2) eine sichere Variante, um 2 Signale, die der Brick an verschiedenen Ausgängen ausgibt mit einem vorgegebenen Versatz zu synchronisieren (z.B. Kamera macht immer 1000ys nachdem das Ventil geöffnet hat ein Bild) - könnte etwas tricky werden Über Anregungen und Ideen würde ich mich sehr freuen! Beste Grüße, Markus
  8. Danke für die vielen Antworten! @ Nic Ich möchte über einen Ausgang die Kamera und über einen anderen Ausgang das Ventil ansteuern. Die Periodenlänge sollte dabei für beide Ausgänge gleich sein, lediglich zeitversetzt zueinander. (ich wollte nicht über einen Ausgang abwechselnd Kamera und Ventil ansteuern) @ AuronX Die Latenz wird für meine Anwendung in der Tat nur zum Problem, wenn sie stark schwankt - in einem anderen Forum habe ich dazu gelesen, dass die Latenzzeiten stark von den übertragenen Datenmengen abhängig sind. Vermutlich muss ich es einfach mal ausprobieren. @ ThomasKI So in etwa könnte ich mir das vorstellen. Du meinst also man könnte den Zeitversatz einfach über die Startzeiten von 1 und 2 einstellen. Da Du anscheind auch von der prinzipiellen Machbarkeit überzeugt bist, werd ich mir den Brick einfach mal bestellen und mit einem Oszilloskop durchmessen, was tatsächlich an Spannungen rauskommt. Vielen Dank und beste Grüße, Markus
  9. @ Nic Jop genauso hatte ich mir das vorgestellt. Ich will ein Linux-System aufstezen. @ Christian USB gibt aber keinen "eigenen Takt" vor oder? Das heißt, wenn das System (wenn es denn echtzeitfähig ist) die Befehle/Nachrichten zum richtigen Zeitpunkt sendet (und z.B. bei 15Hz dürften das ja deutlich weniger sein als 1000) könnte es doch funktionieren oder? Also solange nicht zwei Befehle mit weniger als einer Millisekunde Abstand losgeschickt werden. Viele Grüße, Markus
  10. @ Nic Hi, Mit dem Ventil wird ein Druckstoß erzeugt und die Kamera nimmt dessen Auswirkungen auf. Die Steuerung müsste eine Genauigkeit im Bereich von 0,1ms aufweisen - wenn Du sagst, dass eine µs-Genauigkeit nicht realisierbar ist, meinst Du die Skalen von 1µs bis 10µs? Würdest Du denn sagen, dass die Programmierung von Zeitverzögerungen (auch mit Abhängigkeiten zwischen verschiedenen Steuerausgängen) möglich ist? Grüße, Markus
  11. Hallo Tinker, Ich würde gern einen Servo Brick zur Ansteuerung eines Schnellschlussventils und einer Kamera in einem Versuchsaufbau benutzen. Bevor ich jedoch den Brick bestelle, würde ich gern wissen, ob die Art der Programmierung die mir vorschwebt realisierbar ist. Sowohl das Ventil, als auch die Kamera benötigen einen bestimmten Spannungsimpuls um angesteuert zu werden. Der Servo Brick hat 7 Anschlüsse und die verfügbaren Impulslängen und –höhen aus dem Datenblatt passen schonmal sehr gut. Über die folgenden Fragen bin ich mir jedoch im Unklaren: 1) Kann man den Abstand zwischen 2 Spannungsimpulsen z.B. durch eine Art Timer künstlich strecken? (bei der maximalen Periodendauer im Datenblatt landet man bei ca. 15Hz, könnte man diesen Wert irgendwie auf z.B. 3Hz oder sogar auf einen einzelnen Impuls herabsenken?) 2) Die Kamera soll um einige hundert Mikrosekunden versetzt zum Ventil angesteuert werden. Kann man in der Programmierung einen solchen Bezug zwischen den Ansteuerungszeiten von zwei Anschlüssen herstellen? (Periodenversatz durch einen Timer?) 3) Kann man die ganzen Parameter des Servo Bricks über den USB-Anschluss „online“ variieren? (der Abschnitt Test your Servo Brick im Datenblatt vermittelt den Eindruck, dass dies möglich ist) Vielen Dank und beste Grüße, Markus
×
×
  • Neu erstellen...