Jump to content

thunderbird

Members
  • Gesamte Inhalte

    225
  • Benutzer seit

  • Letzter Besuch

Posts erstellt von thunderbird

  1. Moin Patrick,

    klar gerne ;-)

     

    Als das mit der Windrichtungsanzeige..

    Ich weiß nicht ob deine Windrichtungsanzeige nach dem gleichen Prinzip funktioniert wie das bei mir der Fall ist. Vielleicht kannst du mal ein paar Bilder machen und sie mir schicken.

     

    Bei mir ist es so das es 4 Lichtschranken gibt. Zwischen den Lichtschranken läuft eine Art Lochscheibe die dann entweder Licht durch lässt (logisch 1) oder eben nicht(logisch 0) Mit dieser Technik kann ich 2^4 Zustände erzeugen

     

     

    1  0000

    2  0001

    3  0010

    4  0011

    5  0100

    6  0101

    7  0110

    8  0111

    9  1000

    10 1001

    11 1010

    12 1011

    13 1100

    14 1101

    15 1110

    16 1111

     

     

    Diese Zustände werden dann einfach in Richtungen übertragen also z.B.

    1 => N

    2 => NNO

    ...

     

    Wenn du natürlich 8 Lichtschranken hast hast du eine höhere Auflösung und 2^8 Zustände. Deswegen nutze ich ein IO Bricklet.

    Ich hoffe das hilft dir erstmal weiter.

    Wegen der Windgeschwindigkeit suche ich dir nachher mal die Formeln raus.

    Wobei ich gerade an einem 2. Windmesser arbeite :-)

     

    Klar gerne kann dich dann auch gerne verlinken.

    Vielleicht kann man ja sogar Daten austauschen wenn du da Interesse hast so eine Art Wetterdaten Schnittelle.

     

  2. Hallo zusammen,

    ich habe in den letzten 2 Tagen ein interessantes Phänomen bezüglich der RS485 Geschwindigkeit gefunden.

     

    Ich habe 2 Stacks mit RS485 verbunden.

     

    1 Stack

        RS485 (als Slave)

        Master

          Temp Bricklet

          Humidity Bricklet

          Barometer Bricklet

        Step Down Power

     

    2 Stack

        RS485 (als Master)

        Master (per USB am Raspberry Pi)

            Voltage/Current Bricklet

        Step Down Power

     

    Beide Stacks habe ich über ein ca. 10m Telefonkable verbunden, über das auch die Stromversorgung von Stack 2 erfolgt.

     

    Jetzt zum Problem:

    Ist die RS 485 Geschwindigkeit 2000000 läuft alles problemlos. Gehe ich jetzt hin und stelle die Geschwindigkeit auf 1000000 runter so bekomme ich bei Temp Bricklet und Barometer Bricklet Fehler wie im Bild unten zu sehen. Stelle ich jetzt beim Temp Bricklet setI2CMode auf 1 bekomme ich nur noch Fehler beim Barometer Bricklet.

     

    Grundsätzlich ist das kein Problem ich lasse die Geschwindigkeit jetzt einfach auf 2000000. Da eine zweite Station aber nur mit 1000000 ohne Abbrüche läuft wollte ich gerne alles einheitlich haben eigentlich sollte das doch kein Problem sein oder ???

     

    Ich frage den Stack 2 alle 30 Sekunden ab.

    Alle Bricklets sind mit geschirmten 2m Kabeln angeschlossen.

    965131990_Bildschirmfoto_vom_2013-05-03_101814.png.321d858360ae6e8c039460b00d74b765.png

  3. Hallo BorgelMorgel,

     

    ja das ist das oben beschriebene Verhalten

    Das Temp Bricklet hat ab und an Probleme mit langen Kabeln da muss man nen bisschen aufpassen aber sonst kein Thema(da gibts eine Einstellung http://www.tinkerforge.com/de/doc/Software/Bricklets/Temperature_Bricklet_Java.html#fortgeschrittene-funktionen die man anpassen kann.).

    Ich habe es leider noch nicht geschafft das in meine Software einzubauen.

  4. Hallo,

    hört sich gut an. Es wäre cool wenn du mit der Implementierung der Formel fertig bist deinen Quellcode mal hier vorstellen könntest.

     

    Mit der WLAN Extension kann ich dir leider nicht helfen ich habe keine ;-)

    Aber ich gehe davon aus das du den Stack erstmal per USB anschließen musst dann die Zugangsdaten von deinem wlan AP angibst und die IP auf DHCP stellst. Dann sollte der Stack beim nächsten reboot eine IP bekommen die du im brickv eingeben kannst und dich damit verbinden kannst.

  5. Ahh ok

     

    Also normal ist es ja so, das du einfach irgendwas ans IO4 anschließt und dann in der Software abfragen kannst wie der aktuelle Zustand ist.

    Da das beim Windmesser extrem schnell sein muss wenn viel Wind da ist kannst du bei TF eine Callback Funktion definieren diese Funktion wird immer dann aufgerufen wenn sich der Zustand deines IO4 ändert. Das nennt sich Interrupt.

     

    Somit bekommst du immer eine "Info" wenn ein Kontakt geschlossen wird.

  6. Moin moin,

    joo du hast recht ein Master und ein IO -4 sind dafür gut geeignet.

    Ich habe auch schon ein solches Anemometer über TF ausgelesen.

    Du kannst dafür sehr gut den Interrupt benutzen.

    Als Hilfestellung kann ich dir noch diese Seite geben.

    http://www.mikrocontroller.net/topic/106108#1327294

    Dort ist eine Formel angegeben, wie man sowas berechnet.

     

    Was genau für ein Anemometer hast du ? Ich habe ein TX23das hat nur einen Kontakt pro Umdrehung.

     

     

    www.sven-lindeboom.net

  7. Na endlich geht`s auch hier wieder weiter.

    Ich habe meine 2 Station noch ein bisschen umgebaut. Sie hat jetzt einen externen Lan-Anschluss über den man den Laptop direkt mit dem Raspberry Pi verbinden kann. Außerdem habe ich die Kiste mit einer Folie bespannt, so das das Holz auch ein bisschen geschützt ist. Da ich mit dem aktuellen UMTS Stick ein bisschen Probleme hatte habe ich einen Huawai E303 eingebaut. Für diesen Stick ist kein Programm mehr erforderlich die Verbindung wird automatisch aufgebaut und wird von Pi als zusätzliche Lan-Karte erkannt. Das ist sehr praktisch.

    Habe noch einige aktuelle Bilder angehängt.

    In 2 bis 3 Wochen wird die Station an ihren richtigen Standort gebracht. Dann kann ich mich daran machen Software und Sensoren weiter zu verbessern.

    IMG_0353.geaendert.JPG.1815d970121775974718ae40ccad2859.JPG

    IMG_0354.geaendert.JPG.a994b7f511c619bcb484a7476fc7f8fe.JPG

    IMG_0355_besch.geaendert.JPG.21f1de99b2176c80e7c1b06459aa4f03.JPG

  8. @borg

    Schön wäre, wenn man die Stepper einfach Gruppieren könnte und dann nur noch eine Funktion hat die man aufrufen müsste.

     

    Sowas wie setStepsGrouped(Stepper1,Stepper2, ...);

     

    @jan

    Wenn ich das richtig verstehe, geht es nicht darum, einfach 2 Stepper die gleichzeitig eine Anzahl an Schritten fahren zu lassen sondern mehrere Stepper gleichzeitig zu starten und unterschiedlich viele Schritte fahren zu lassen.

     

  9. Hallo luxor,

     

    grundsätzlich besteht meine Software aus zwei Teilen.

     

    Der eine Teil läuft direkt auf einem kleinen PC in der Fräse. Dieser Teil macht die eigentliche Steuerung der Motoren, der Endschalter und des Displays (LCD 20x4). Außerdem macht dieser Teil beim Starten eine Initialfahrt bei dem die Anfangs- und Endpositionen festgelegt werden. Nach dieser Initialfahrt wird noch ein TCP Server gestartet. Dieser Server nimmt die einzelnen Schritte der Motoren, sowie die Geschwindigkeit an(X-Achse#Y-Achse#Z-Achse#Geschwindigkeit) und steuert die Motoren entsprechend.

     

    Der zweite Teil der Software läuft auf einem normalen PC und ist per Lan Kabel mit der Fräse verbunden. Er übernimmt die Berechnung der einzelnen Schritte aus einer G-Code Datei. Dieser G-Code lässt sich aus den meisten Zeichnungen erstellen und beinhaltet eigentlich alles was man zum Fräsen wissen muss.

     

    Beide Teile der Software sollen in Java geschrieben sein (Teil 1 ist schon fertig, Teil 2 noch nicht). Ich hoffe das das mit der Geschwindigkeit ausreicht sonst werde ich wohl nochmal c++ nutzen müssen ;-).

  10. Hallo,

     

    ich habe gerade den Brickd (v2.0.1) auf meinem Raspberry installiert soweit kein Problem. Nach einem neustart des Pis läuft der Brickd auch wieder lässt aber keine Verbindung mehr zu:

    2013-02-01 17:20:31.538641 <I> <main_linux.c:315> Brick Daemon 2.0.1 started
    2013-02-01 17:20:31.733478 <I> <usb.c:149> Added USB device (bus: 1, device: 4) at index 0: Master Brick [67N4R2]
    2013-02-01 17:20:35.787436 <E> <client.c:171> Could not get peer name of client (socket: 15): EAI_AGAIN (72000003)
    2013-02-01 17:20:35.899697 <E> <client.c:171> Could not get peer name of client (socket: 15): EAI_AGAIN (72000003)
    2013-02-01 17:20:36.009019 <E> <client.c:171> Could not get peer name of client (socket: 15): EAI_AGAIN (72000003)
    2013-02-01 17:20:36.121698 <E> <client.c:171> Could not get peer name of client (socket: 15): EAI_AGAIN (72000003)
    2013-02-01 17:20:36.231471 <E> <client.c:171> Could not get peer name of client (socket: 15): EAI_AGAIN (72000003)
    2013-02-01 17:23:49.801646 <E> <client.c:171> Could not get peer name of client (socket: 15): EAI_AGAIN (72000003)
    

     

    Verbindung wollte ich mit dem Brickv aufnehmen der auf einem anderen PC läuft (Ubuntu 12.4 64bit) direkt nach der Installation kein Problem. Nach dem neustart nicht mehr möglich.

     

    Pi und PC haben je eine feste IP.

     

     

×
×
  • Neu erstellen...