Jump to content

ETS

Members
  • Gesamte Inhalte

    22
  • Benutzer seit

  • Letzter Besuch

Alle erstellten Inhalte von ETS

  1. Dann ist mir noch nicht klar, wie das genau läuft... Die Firmware befindet sich auf dem Bricklets, wird dann aber vom Master ausgelesen und auf eben diesem ausgeführt? Dann wäre ja "nur" die Frage, wie ich an den Timer komme. Nur dass ich von Mikroprozessoren absolut keine Ahnung habe :-/
  2. Hm, aber am Red kann kein Bricklet angeschlossen werden, also hätte ich wieder die Netzwerkstrecke und bestenfalls eine Abfrage pro Millisekunde drin. Dann brauch ich auch nicht an der Firmware des IO4 rumdoktorn.
  3. Wäre das wirklich möglich? Um das mal durchzugehen: Um möglichst kompatibel zu bleiben, könnte ich den Parameter für die ValueMask zweckentfremden (oder hat die eine maximale Stringlänge?). Dann müsste ich aber irgendwie einen Zeitstempel oder ähnliches abfragen können, z.B. über einen Timer auf dem Bricklet, richtig? Ist das überhaupt gegeben? Falls ja, wäre das ein schöner Ansatz. Denn es kommt nicht drauf an, wie lange es dauert, bis die Daten beim Interrupt ankommen, wenn die Zeitstempel exakt und vergleichbar sind.
  4. Mehrere Lichtschranken für Zwischenzeiten oder auch um Fahrzeuge getrennt zu erfassen. Dass Lichtschranken, die an verschiedenen IO-4 angeschlossen sind nicht auf die Millisekunde genau gleichzeitig über USB erfaset werden können ist mir klar. Das ist ja grad der Umstand, den ich gern behoben hätte.
  5. Es geht mir im Endeffekt um eine mobile Rundenzeitmessung für Autos aller Art. Für Vergleichszwecke zählt jede Millisekunde
  6. Ok, dann muss ich mir mal irgendwann Gedanken darum machen, wie ich das mit Mikrocontrollern machen könnte und akzeptiere erstmal die Schwankungen und auf den Red Brick. Danke für eure Hilfe.
  7. Momentan habe ich lediglich ein IO-4-Bricklet am MasterBrick angeschlossen, der wiederum per USB am Rechner angeschlossen ist. Am IO-4 ist eine Lichtschranke angeschlossen, von der ich an einem der Eingänge den Interrupt per Callback-Function abfange. Geschrieben mit C#. In der Callback-Function erfasse ich die Millisekunden über die Stopwatch-Klasse und lege ein Objekt mit diesem und weiteren Werten (z.B. Interruptmask) in einer Queue ab, die ich bei Bedarf in Ruhe auswerte. Worauf ich halt am liebsten hinaus möchte, wäre die Netzwerk- und USB-Strecke komplett zu eliminieren um möglichst wenig Abweichung bei der Erfassung der vergangenen Millisekunden (oder weniger!) seit Programmstart zu haben. Wenn dazu eine andere Programmiersprache nötig ist, dann würde ich das schon irgendwie hinbekommen.
  8. Ok, schade, ich hatte gehofft, dass ich mir irgendwie auch die Netzwerkstrecke sparen kann. Ich denke das größere Problem stellt aktuell die USB-Verbindung dar. Ein "Zeitverlust" wäre auch nicht so schlimm, nur variiert die Messung um 10-20ms. Da muss ich mir mal überlegen, ob ich mir den Red-Brick wirklich zulege und es mal ausprobiere, ob es damit besser wird. Zumindest dürfte es ja nicht viel geben, dass die interne Netzwerkkommunikation stört, wenn ich nur ein Programm laufen lasse.
  9. Keiner? Wenn ich nochmal genauer nachdenke, wäre es ohne die Netzwerkstrecke ja eine native Programmierung, dann wahrscheinlich mit C? Ich bin der Meinung, darüber etwas gelesen zu haben. Theoretisch müsste es ja möglich sein, ist halt nur die Frage ob der Weg auch offen ist.
  10. Hallo zusammen, zum folgenden Thema konnte ich leider bisher keine Informationen finden. Ich habe ein System am Laufen, dass per IO-4-Bricklet die Unterbrechung mehrerer Lichtschranken erkennt. Bei jeder Unterbrechung wird ein Interrupt ausgelöst. Nun ist es ja aber so, dass zwischen dem IO-4 und meiner Callback-Funktion der Master Brick sowie eine Netzwerk- und USB-Verbindung liegen, womit es zu Abweichungen bei der Messung kommen kann (bei mir aktuell ca. 10ms, im Extremfall auch mal 20ms). Wenn ich jetzt einen Red Brick einsetzen würde, spare ich mir die USB-Verbindung. Aber spare ich mir intern auch die Netzwerkverbindung? Ich meine irgendwo gelesen zu haben, dass für den Red Brick die Kommunikation zwischen den Bricks und Bricklets geändert werden musste. Mein Ziel ist, dass ich deutlich weniger Abweichung bei der Messung erhalte. Ich würde dann auf dem Red Brick den Interrupt auswerten und in aller Ruhe die Daten an einen Rechner im Netzwerk senden. Dabei wäre ja dann egal, ob ich Ethernet oder WLAN benutzen würde. Also, wäre eine genauere Messung mit dem Red Brick möglich? Vielleicht auch mit einer anderen Programmiersprache als C#? MfG
  11. Hm, toll Mal gucken, dann schicke ich das ggf. zurück.
  12. Wenn ich dich jetzt richtig verstanden habe, bezieht sich die Angabe des maximalen Ausgangsstromes nur auf die vier digitalen Ausgänge und der fünfte Ausgang liefert so viel Strom, wie der Stack bereitstellen kann? Dann wäre das analoge Out-Bricklet bei mir ja völlig nutzlos?
  13. Naja, ich habe mir jetzt einfach einen Analog-Out-Bricklet mitbestellt, dann sollte ich auf der sicheren Seite sein Mal gucken, ob dann alles so klappt, wie es ich mir erhoffe.
  14. Ok, ich habe mich nochmal damit beschäftigt. Also ich denke den Anschluss bekomme ich nun hin, danke. Aber eine Frage bleibt dann noch: Der IO-4 bietet pro Ausgang 6mA. Bei vier Lichtschranken hätte also jede LEDs lediglich 1,5mA zur Verfügung. Kann das wirklich reichen? Bei herkömmlichen LEDs muss ich ja mit ca. 15 mA rechnen. Klar, die leuchten auch stärker, aber trotzdem... EDIT: Achja, nicht zu vergessen natürlich die Fototransistoren als solches, die von dem einen Ausgang ja auch noch ein wenig Strom abhaben möchten. Ich kann mir nicht vorstellen, dass das reicht.
  15. Oh man, so langsam verzweifel ich wirklich Dank dem Beitrag von Nic habe ich nun verstanden, wie es mit einer Lichtschranke am IO-4 funktioniert. Warum es funktioniert, verstehe ich aber immer noch nicht... Trotzdem habe ich nun ewig versucht die Schaltung so hinzubiegen, dass ich zwei Lichtschranken (an zwei verschiedenen Eingängen) anschließen kann. Das bekomme ich aber einfach nicht hin. Kann mir hier nochmal jemand auf die Sprünge helfen? Und um die Idee mal etwas weiterzuspinnen: Könnte man am IO-4 auch vier Lichtschranken betreiben?
  16. So, im Anhang dann mal meine Schaltung Am IO-16 hätte ich dann 5 rote, 5 grüne und 2 gelbe LEDs, wobei niemals alle zusammen eingeschaltet sind. Da würde der Strom ja auch nicht reichen... Am IO-4 dann zwei Gabellichtschranken. Passt das vom Layout und sind die Widerstände richtig? Bei den LEDs gucke ich dann nochmal, welche genau ich im Endeffekt nehme. Die Widerstände passe ich dann noch entsprechend an. @Nic: Grad mit den Lichtschranken bin ich mir sehr unsicher... Laut Produktblatt sind 60mA angegeben, also deutlich mehr als der IO-4 liefert. Aber bei dir scheint es ja auch funktioniert zu haben. Edit: Anhang entfernt, da die Schaltung, wie ich jetzt weiß, definitiv falsch war. Sonst macht sich am Ende noch jemand was kaputt.
  17. Ok, cool Danke schonmal für eure Hilfe. Ich hoffe ich komme heute Abend dazu alle Widerstände zu berechnen und schreibe sie hier dann nochmal sicherheitshalber rein, bevor ich die Bestellung abschicke.
  18. Mir geht es darum, dass die fünf grünen LEDs entweder alle zusammen an oder aus sind. Wenn die Spannung so nicht reicht, dann kann ich die aber sonst auch einzeln anschließen und setze dann im Programmcode alle Signale "gleichzeitig". Der Zeitunterschied dürfte ja klein genug sein, dass man nicht sieht, dass die LEDs einzeln angehen, oder? Da ich möglichst ohne weitere Stromquelle auskommen möchte (wenn möglich), würde ich wohl auf die 3,3V setzen. Aber wenn wir schon dabei sind: Beim ersten Testaufbau hätte ich dann folgende Komponenten: - Master Brick - IO-16 mit je 5 grünen und roten LEDs, ggf. noch zwei gelbe - IO-4 mit zwei Lichtschranken (CNY 37), nimmt die Signale auf und liefert den Strom - Voltage/Current Brick Reicht da die Stromversorgung über einen einzelnen USB-Anschluss? Ich glaub zwar schon, aber lieber nochmal fragen...
  19. Ja Dann hätte ich noch zwei Fragen: Am IO-16 würde ich gerne 10 LEDs anschließen, jeweils 5 grüne (Reihe) und 5 rote (Einzelne). Nur habe ich keine Ahnung, wie ich die Vorwiderstände berechnen soll Zweite Frage: Ich würde gerne eine Gabellichtschranke am IO-4 anschließen, habe aber auch hier keine Ahnung, wie das vonstatten geht. Kann mir noch jemand etwas zu den beiden Punkten sagen?
  20. Danke für die Zeiten! Ich bin schwer am überlegen mir die Hardware einmal zu beschaffen und zu gucken, wie gut das funktioniert. Weitere Anwendungsfälle hätte ich notfalls genug und vielleicht muss ich einfach damit leben, dass es auch mal wenige Millisekunden Abweichung geben kann, wenn ich mir nicht selber aufwändig eine eigene Schaltung entwerfe. Das wäre mir nämlich aktuell zu viel Aufwand...
  21. Mir geht es um das Delta zwischen zwei Unterbrechungen, aber dann möglichst in Millisekunden. Wenn die Verzögerung immer auf die Millisekunde gleich ist, ist alles in Ordnung. Wäre halt die Frage... Ansonsten habe ich gelesen, dass die Callbacks gecached werden und der Mikrocontroller Timer besitzt. Wäre es dann nicht möglich den realen Zeitpunkt der Unterbrechung abzufragen? Also dass der Zeitpunkt erfasst wird, dann in Ruhe über USB übertragen wird und auf Seite des Computers ausgelesen werden kann?
  22. Hallo, ich möchte Lichtschranken bauen und würde gerne wissen, ob das, wie es mir denke, mit Tinkerforge möglich ist: Ich habe an die Verwendung eines IO-16 Bricklets gedacht, der per Master Brick (und USB) an einen PC oder Raspberry Pi angeschlossen wird. Am IO-16 möchte ich dann z.B. Gabellichtschranken anschließen und per Interrupt den Zeitpunkt der Unterbrechung des Sensors feststellen. Im Falle eines PCs würde ich C# einsetzen und entsprechend in der Callback-Funktion DateTime.Now aufrufen. Die Frage: Bekomme ich damit eine Genauigkeit von einer Millisekunde hin? Oder wäre dann eine Python-Lösung auf Grundlage eines Raspberry Pi besser geeignet oder gar notwendig? Ich habe leider keine Information darüber gefunden, wie lange es zwischen Eingangssignal und Aufrufen des Callbacks dauern kann (oder ob es womöglich noch variiert).
×
×
  • Neu erstellen...