Entwicklung: Temperatur Funk Sensor

  • Ich versuche gerade meinen BMP180 aus der Sammelbestellung mit dem Send_BMP085_Watchdog Script von meigrafd zum laufen zu bekommen, was mir bisher nicht geglückt ist. Es scheint wohl doch so zu sein, dass der BMP180 mit dem BMP085 NICHT kompatibel ist...

    Teste ich den BMP180 an einem Arduino Micro nach der Anleitung von Sparkfun funktioniert er Problemlos. Dort wird aber die SFE_BMP180 Library aus dem BMP180 Archiv verwendet.

    Verkabelt habe ich, wie im Sketch von meigrafd angegeben:

    - TinyTX Pin 7 an SCL des BMP180
    - TinyTX Pin 8 an SDA des BMP180
    - TinyTX Pin 9 an VIN des BMP 180
    - TinyTX GND an GND des BMP180

    Gibt es einen Sketch für den TinyTX3/4 mit dem BMP180? Ich konnte bisher keinen finden...

    Edited once, last by doing (May 12, 2015 at 10:48 AM).

  • Ich hab nur einen BMP085 direkt am RPi, aber ich kann ja mal drauf los raten:

    Hast Du vielleicht die angegebenen Pullup-Widerstände vergessen? Oder hast Du (wie ich neulich) vergessen, bei den neuen Tinys den "Bootloader" (die Fuses) zu flashen?

    Im Datenblatt vom BMP180 steht 1.8 bis 3.6V Versorgungsspannung (max. 4.25V). Passt das bei Dir?

    Wie ist denn das Fehlerbild? Sendet er gar nichts oder sendet er falsche Werte? Blinkt eine LED, wenn Du sie testweise (über einen Vorwiderstand) anschliesst?

  • Der BMP180, den ich über die Sammelbestellung erhalten habe, trägt die Bezeichnung GY-68. Wie ich diesem Schaltplan entnehme hat er die zwei 4K7 Pullup Widerstände bereits auf der Platine verbaut. Direkt am Arduino Micro angeschlossen liefert er - mit der SFE_BMP180 Library und dem Beispiel Sketch von Sparkfun, wie im letzten Beitag beschrieben - die passenden Werte, funktioniert also.

    Der Bootloader ist vorhanden, er kann es also auch nicht sein; die Versorgungsspannung beträgt 3.32V, passt also ebenfalls. Gesendet wird jedoch nichts, auch die mit Vorwiderstand angeschlossene LED blinkt nicht.

    Zum Gegencheck des TinyTX habe ich den Send_DHT22_Watchdog Sketch auf den gleichen TinyTX geflasht. Dann funktioniert er, auch die LED blinkt brav und es kommen Temperatur- und Feuchtigkeitswerte an.

  • Hallo,

    leider funktionieren einige Spoiler nicht!
    z.B.:

    Ist es so richtig?

    Also wofür ist "No Booster" gedacht, falls ich keine Batterie benutze?
    Wohin kommen die Sensoren?
    0, 3, 7, 8, 9, 10 oder wie?
    Wo z.B. der DHT22.

    Habe zwar einiges gelesen, aber mir schwirrt noch etwas der Kopf ...
    Ich gib mir gleich die goldene Kugel. ;)

    Danke + Grüße

    Michael

    Edited once, last by michaMEG (May 13, 2015 at 10:49 PM).

  • meigrafd

    Hast du den TinyTX3/4 mal mit deinem BMP085_Watchdog Sketch und dem BMP180 getestet? Läuft die Kombination bei dir? Ich würde mich wirklich über Hilfe freuen, da ich den BMP180 zum verrecken nicht mit dem TinyTX3/4 zum laufen bekomme :(

    michaMEG

    No Booster ist dafür da, dass du den TinyTX4 auch OHNE den aufgelöteten Booster nutzen kannst. Wenn du hier ne 2 Pin Stiftleiste setzt und nen Jumper drauf steckst bleibt der Booster aus. Das wird aber eigentlich im Thread bei der Beschreibung des TinyTX4 auch alles erklärt. Wenn du in die Sketches von meigrafd mal reinschaust, dann kannst du auch sehr gut sehen wo der DHT22 hingehört oder wie du die Pins an die er angeschlossen wird abändern kannst :)

    Edited once, last by doing (May 13, 2015 at 10:54 PM).

  • Tach'schen,

    dank des Herrentags liess mich mein Weib heute ungestört basteln :D . So dass ich einige Boards aus der Sammelbestellung in Betrieb nehmen konnte. Dank meigrafd github repo war das 'ne Sache von Minuten - hatte allerdings vergessen (wie peinlich :blush: ) dem DHT22 einen Widerstand zu spendieren, dadurch hat sich der TX nach 'ner Weile aufgehängt und nix mehr gesendet. Ist inzwischen aber behoben.

    Was mir jedoch aufgefallen ist: Die Sketche funktionieren nur bis einschliesslich Arduino IDE 1.0.6, kompilieren zwar mit einigen warnings, lassen sich flashen (ich habe einen USBasp von Tom Fischl verwendet). Auf den Betrieb haben die warnings wohl keinen Einfluss.

    Mit der Arduino IDE 1.6.4 kompilieren die Sketches auch und lassen sich flashen. ABER dann leuchtet lediglich die LED an pin 8 permanent, auch nicht in voller Helligkeit. Das gilt sowohl für das TX als auch das RX Board. Ich vermute mal, dass da was mit den TinyCore files nicht stimmt http://highlowtech.org/?p=1695. Leider steht man damit total auf dem Schlauch, weil nicht mal eine Fehlermeldung ausgegeben wird. :huh:

    Hat jemand von Euch mal die IDE 1.6.4 mit den Sketches getestet oder tritt der Fehler nur bei mir auf?

  • Ich habe eine aktualisierte Version der TinyCore Dateien (basierend auf den TinyCore Files von "Google-Code") entdeckt mit der sich meigrafd's Sketches vom github (allerdings nicht die mit jeelib) und der Arduino IDE 1.6.4 kompilieren und flashen lassen. :thumbs1: Da ist sogar ein umfassendes Tutorial dabei, sowie ein Linker-Patch für Windows (ld.exe) und MacOS (unter Linux braucht man den nicht). Das Tutorial beschreibt die die manuelle Installation der TinyCore Dateien, denn es geht wohl noch nicht mit dem neuen BoardManager. Hut ab, denn Leonardo Miliani hat sich da viel Arbeit gemacht. :bravo2:

    Beim kompilieren des "Send_DHT22_Watchdog.ino", "Receive_Pi.ino" und "Send_Repeater.ino" Sketches gab es nicht einmal "warnings", d.h. der avr-gcc ist absolut sauber durchgelaufen :thumbs1: Das ist super, weil die alte 1.0.6 IDE an vielen Stellen gemeckert hatte ...

    Bei den aktualisierten TinyCore Dateien ist eine Dokumentation als pdf dabei, sowie die libraries: EEPROM, SoftwareSerial, tinySPI, tinyWireM, tinyWireS, die man manuell in den sketches Ordner > hardware > tiny > avr > libraries kopieren muss (das geht nicht mit dem neuen BoardManager). Im Menü der IDE erscheint dann nach Neustart unter Boards eine Liste mit:

    ATiny x4
    ATiny x5
    ATiny x313
    Optiboot ATiny85 @8MHz

    Unter dem Menüpunkt "Micro", stellt man dann ATiny84 @8MHz (Internal oscillator, BOD disabled) ein.

    Ich habe nun mal testweise je einen TX mit DHT22 und Watchdog, einen Repeater und einen RX mit Receive Pi, dem Bootloader und unter 1.6.4 kompilierten Sketch geflasht. Läuft bislang alles stabil - ich werde mal den Dauerbetrieb testen und dann hier berichten.

    Update:
    Nach 12 Stunden läuft der DHT22 TX immer noch, der Repeater hat wegen eines "schlechten" Batteriepacks über Nacht aufgegeben - eine Zelle war total entladen. Inzwischen konnte ich auch mein Python-Skript
    zum Auslesen der seriellen Schnittstelle (/dev/ttyS2) auf dem Banana Pi verbessern, so dass die Werte zuverlässiger empfangen werden.

    Die Sketches mit der jeelib lassen sich wegen der Zeile

    Code
    rf12_sendStart(GATEWAYID, (uint8_t *)msg, strlen(msg), requestACK);

    nicht kompilieren. Da ist wohl das "requestACK" Parameter der Funktion zuviel. Die jeelib hat wohl kürzlich ein Update bekommen. Eine Lösung habe ich dafür leider nicht finden können.

  • leider funktionieren einige Spoiler nicht!

    Hm, da muss ich mal gucken welche Bilder das waren...


    Wohin kommen die Sensoren?
    0, 3, 7, 8, 9, 10 oder wie?
    Wo z.B. der DHT22.

    Das kannst du dir im Prinzip aussuchen. Wie du der Tiny(R/T)X4 Beschreibung entnehmen kannst, entsprechen die oberen Lötaugen jeweils einem Pin des ATtiny's. Du musst dann nur den Sketch entsprechend anpassen.

    Hast du den TinyTX3/4 mal mit deinem BMP085_Watchdog Sketch und dem BMP180 getestet? Läuft die Kombination bei dir?

    Nein ich hab hier nur den BMP085. Wie man den BMP180 ansteuert konnte ich auf die Schnelle nicht herausfinden..


    Die Sketches mit der jeelib lassen sich wegen der Zeile

    Code
    rf12_sendStart(GATEWAYID, (uint8_t *)msg, strlen(msg), requestACK);

    nicht kompilieren. Da ist wohl das "requestACK" Parameter der Funktion zuviel. Die jeelib hat wohl kürzlich ein Update bekommen. Eine Lösung habe ich dafür leider nicht finden können.

    Guck ich mir bei Zeiten mal an - hab ich nicht mitgekriegt..

    Wo finde ich die Schaltpläne die zu den Tiny(T/R)X4 Boards gehören?

    Die Eagle Dateien (PCB Layouts) findest du auf Github: https://github.com/meigrafd

  • :s@meigrafd

    Ich habe mir inzwischen einen neuen sketch-Ordner angelegt, ausschließlich für die TinyTX Sensoren. Auch bei der jeelib bekomme ich nun keinen Fehler beim Kompilieren des DHT22_watchdog_jeelib.ino sketches.

    Nach dem Flashen/Einschalten blinkt die LED jedoch nur 1x kurz auf, dann nicht mehr. Auf der 433 Mhz Frequenz kann ich aber ein permanents "Brummen" empfangen, so als ob der RFM12 zwar initialisiert wurde und etwas sendet, dann aber nicht mehr damit aufhört.

    Gibt es bei den watchdog sketches eine Mindestintervall für die Stromspar-Funktion? Ich habe nämlich festgestellt, dass mein DHT22-TinyTX gelegentlich "einfriert" wenn ein 60 Sekunden Intervall eingestellt ist. Wenn ich 2 min einstelle, sind (bislang) keine Störungen aufgetreten.


  • ich meinte nicht die PCB-Layouts sondern die Schaltpläne sowas wie z.B. > hier <.

    Ja, wir meinen das selbe.

    EAGLE installieren, die *.brd und *.sch Dateien von github (board und schaltplan) und mit EAGLE öffnen...


    luetzel: Keine Ahnung. Die JeeLib's habe ich persönlich nicht im Einsatz ;)

  • meigrafd

    Wie Du schreibst, hast du selbst die JeeLib's nicht im Einsatz, hast aber einen BMP085 und einen Sketch für diesen auf GitHub hinterlegt - allerdings einen mit der JeeLib. Schliesse ich daraus richtig, dass Du einen Sketch für den BMP085 mit der RFM12B Lib hast? Würdest Du den auf GitHub zur Verfügung stellen? Wenn ich das richtig sehe, dann ist der BMP085 Sketch der Einzige, der nicht auch mit der RFM12B Lib sondern nur mit der JeeLib auf GitHub liegt.

    Ich würde gerne mal testen, ob mein BMP180 wegen der JeeLib nicht mit dem TinyTX4 läuft... Danke!

  • meigrafd

    Ah, ok macht nix - ich dachte nur da gäbe es irgendeinen Unterschied bezüglich der Stabilität.
    Der DHT22 "zickt" ja manchmal ein bisschen rum und "friert ein". Ich habe einen direkt an meinen Raspi
    angeschlossen und verwende dafür das in C geschriebene lol_dht programm von "technion", aber selbst damit friert der Sensor alle paar Wochen mal ein ...

  • luetzel

    Ich habe ein paar DHT22 seit Mitte Januar mit TinyTX3 Boards am laufen und kann nicht bestätigen, dass der DHT22 einfriert. Wenn einer mal einen Aussetzer hatte, dann lag es an einer schlechten (Steck)Verbindung. Hast Du den DHT22 fest auf einem TinyTX Board verlötet oder mit Kabeln angeschlossen? Seit ich alle meine DHT22 auf angelötete Male Crimp Pins umgerüstet habe, die dann über eine Buchse und Kabel mit dem TinyTX Board verbunden sind, hatte ich keine Ausfälle mehr; auch nicht durch 3 Wände und eine (Stahlbeton)Decke zur nächsten Etage.

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!