Entwicklung/Umfrage zur nächsten Version von "Temperatur Funk Sensor"

Registriere dich jetzt, um exklusive Vorteile zu genießen! Als registriertes Mitglied kannst du Inhalte herunterladen und profitierst von einem werbefreien Forum.
Mach mit und werde Teil unserer Community!

  • Wenn ich das richtig verstanden habe, ist der USB Port zum beschreiben des Tiny und als Stromversorgung da. Gefunkt wird über 433Mhz und es wird ein 10cm langes USB kabel empfohlen, sollte das Ding wired am Pi hängen, oder?


    Dabei handelt es sich ja erst mal nur um den Empfänger, also TinyRX5. Man kann ihn sowohl via USB direkt anschließen oder über Pins von JP5 und JP3 mit dem Pi verbinden (5V, GND, TX, RX).
    Auf der anderen Seite (rechts) besteht die Möglichkeit eine SMA Antenne anzubringen, oder in das mittlere Loch des SMA-Pads wie bisher auch einen Draht als Antenne anbringen.
    Die Unterseite des PCB ist komplett frei, also keinerlei Bauteile auf der Unterseite. Alles sind SMD Bauteile, mit Ausnahme des USB-Steckers wodurch zur Arretierung 2 so "Stifte" auch auf die Unterseite der PCB gelangen, ebenso wie bei der SMA Antennen Buchse und natürlich ggf auch die Jumper-Ports ;)


    Obs bei den Massen wirklich bleibt weiß ich noch nicht... habe gestern auch eine breitere Version im Format 5x5cm erstellt aber irgendwie krieg ich da kein gescheites Layout hin :(


    Das Problem ist halt diese "HF-Technische" Geschichte, die ich diesmal perfekt umsetzen und beachten möchte. Den Empfänger direkt auf den Pi aufzustecken soll halt genau so schlecht für den Empfang sein wie ein Stapel-Steck-System (wo man das RF Module oben auf die PCB des AVR's drauf stecken würde, diese Idee hatte ich nämlich auch schon um die PCB allgemein kleiner hinzukriegen).


    Und ich will es halt auch ermöglichen das die I/O's vom AVR nicht brach liegen, man also die ADC's oder PWM Ports des AVR's auch mit dem Pi nutzen kann - wie eine art Shield / Alamod


    //EDIT: Ach und nicht zu vergessen das ich den Hinweis von jar auch noch umsetzen möchte, nämlich die Pin-Kompatible Serie ATmega164A, ATmega164PA, ATmega324A, ATmega644A, ATmega644PA, ATmega1284 und ATmega1284P einzusetzen - jeder kann sich dann für sich überlegen ob er 16, 32, 64 oder 128 kB Flash benötigt und dann halt den entsprechenden Chip kaufen - für die TinyRX5 Platine spielt es keine Rolle ob er den kleinsten ATmega164 mit 16kB oder den größten ATmega1284 mit 128kB nimmt

  • Ich habs RFM nun doch um 90° gedreht gekriegt, musste die PCB aber etwas breiter machen damit das klappt.. Auch ist nun der ATmega*4 verbaut der halt sowohl etwas mehr Platz verbraucht und auch eine Gruppe an Pins mehr hat, nun also 4 JP's zum Einsatz kommen - leider sind diese anders angeordnet wodurch die JumperPorts nun nicht mehr ganz so geordnet sind wie zuvor... Auch RX/TX liegen jetzt auf JP4 direkt neben dem RFM Module..


    Wo ich aber noch Bedenken habe ist D+ und D- vom USB-Port: diese kreuzen die +5V Leitung vom USB Port... Ist das unbedenklich oder sollte man da lieber eine Kreuzung vermeiden?




    PS: Knapp in Führung liegt derzeit TinyESP in der Umfrage. Keiner mag mehr 433MHz ;)

  • Und einen TinyTX, der mit RFM69 läuft. Kann von mir aus auch ein TinyTX4 sein. Habe leider noch keinen Erfolg gehabt, das ans Laufen zu kriegen. Die lowpowerlab rfm69 Bibliothek scheint wohl gar nicht mehr auf attiny's ausgelegt zu sein... Wird der TinyTX5 dann auch mit einem atmega bestückt werden?

  • Bevor ihr euch wundert wieso so lange Zeit kein Update mehr kam:


    Ich versuche seit letzter Woche eine Kombination beider Projekte zu realisieren, nicht nur als PCB sondern auch ob das via Software möglich ist...


    Und zwar war mein Gedanke eine Adapterplatine für wahlweise RFM oder ESP auf die AVR-USB Platine aufzustecken. Der Hintergrund wäre das man dann auch einen Pi-Zero verwenden und dann über WLAN den Webserver auf dem Pi ansurfen könnte.
    Also eine Platine wo der AVR verlötet ist und ein Breadboard Zugriff auf die verfügbaren I/O's des AVR's ermöglicht, und am Ende der Platine eine Zweireihige 1mm Stiftleiste, wo man dann entweder RFM Module oder ESP8266 aufstecken kann. Im Fall des ESP8266 würde dieser nur als Gateway dienen, weiß derzeit aber nicht ob man den wie einen WLAN Stick umsetzen kann...


    Darüber ließen sich beide Wünsche der Umfrage auf einen Schlag umsetzen und wäre dann auch flexibler, ein Empfangsmodule für beides.


    Habe aber noch nichts was ich zeigen möchte da ich immer noch mit der Verkabelung zu kämpfen habe und mir auch noch bei der Logik selber nicht schlüssig bin... Vielleicht hat hier ja auch noch der ein oder andere eine Idee dazu?

  • Moin alter Frickler ;) ...


    ...
    Und zwar war mein Gedanke eine Adapterplatine für wahlweise RFM oder ESP auf die AVR-USB Platine aufzustecken.
    ...


    hm ... ich denke, prinzipiell wäre das möglich. Evtl. mithilfe einer Art Codierung, aufgrund der AVR feststellen kann, was gerade so dranhängt ...
    Aber: das solltest Du imho erstmal mit z.B. einem Pro Mini oder so ausprobieren.
    Ich fürchte, da wirst Du ein Problem mit dem SRAM bekommen ...


    cheers,
    -ds-

  • Naja ... ich denke, da müsste die Software zum Handling beider Komponenten ja implementiert sein.
    Und ich stosse mit meinen Pro Mini schon desöfteren an die Grenze ( da passieren dann sehr sonderbare Dinge ;) ) ... deswegen hatte ich mir ja mal das mit dem MEGA128 Arduino überlegt ...
    Wie gesagt ... nur so ein "Gefühl" ... würd' ich aber auf alle Fälle mal checken ...


    cheers,
    -ds-

  • Festzustellen was angeschlossen ist sollte eigentlich nicht allzu schwer sein, der ESP hat ja auch ne Firmware drauf die dann entsprechend Antworten kann: Alles einschalten, 3 Sekunden warten und wenn kein "ich bein ein esp" über UART kommt ists ein RFM :fies:


    Das es mit RAM Probleme geben könnte kann ich mir zZt nicht vorstellen, also so ein Problem hängt IMHO eigentlich nicht speziell mit dem neuen Vorhaben zusammen sondern könnte auch schon beim TinyTX4 auftreten...
    Son ATtiny84A hat 0.5 kB SRAM... Bei der neuen Entwicklung: ATmega164 hat 1 kB, ATmega324 hat 2 kB, ATmega644 hat 4 kB und ATmega1284 hat 16 kB SRAM ... und ich tendiere eh zu letzterem ;)


    Das gute ist halt auch das alle diese Chips 2x UART haben, also Hardware-UART, ein mal Richtung PC und das andere Richtung ESP... Und ich dacht mir das für solch ein Vorhaben ja eigentlich schon ein Pi-Zero oder A+ reicht, nur hat dieser kein WiFi... Also kam mir die Idee einfach ein TinyRX5_USB anzuschließen und darauf dann ein ESP8266-01 zu haben und schon is der Pi im WLAN ;)


    Aktuell bin ich aber auch schon wieder vom zusätzlichen Adapter Gedanken ab, weil man dann noch eine PCB bräuchte.. Also befindet sich auf der TinyRX5 PCB einfach beides, ein 0.1" pinhead für den ESP-01 sowie an der selben Stelle die Pads fürs RFM Module... Wer damit dann RFM nutzen will brauch auch kein pinhead auflöten und wer WiFi nutzen will ignoriert die RFM pads. Sähe dann so aus wie im Anhang zu sehen


    Aber bevor ich mich weiter mit der Hardware beschäftige will ich erst mal die Rahmenbedingungen des Softwareteils klären, ob die Idee überhaupt umsetzbar wäre... Zum Beispiel muss ich sicherstellen das Datenpakete vom ESP direkt über USB weitergeleitet werden, aber Rückantworten müssten ebenfalls direkt an den ESP weitergeleitet werden ohne das der AVR dazwischen funkt; andererseits sollen aber zeitgleich auch Interaktionen mit den I/O's des AVR's stattfinden können...


    Es gibt dazu von JeeLabs ein interessantes Projekt: https://github.com/jeelabs/esp-link
    Ist zwar etwas überladen aber da sollte ich was passenden finden können, hoff ich ;)

  • Hai smiley_emoticons_ben_sharky.gif ... äh hi meigrafd,


    na da bin ich aber froh, dass ich nicht so allein dastehe, wenn ich nach dem ersten Brainstorming immer dazu tendiere ein Teil zu basteln, das mir morgens Kaffe kocht, ausserdem für Sauberkeit im Haushalt sorgt, zusätzlich einen gewissen Unterhaltungswert besitzt und notfalls auch als Fortbewegungsmittel dienen kann: kurz - eine eierlegende Wollmilchsau ;)


    Klar, wenn Du auf den 1284 setzt ... dann gibt's da auch kein Problem.
    Ich hab' mir das mit dem ESP auch noch mal so überlegt ... im Grunde ist es fast schade, den ESP zum "Peripherie-Gerät" für einen AVR zu degradieren und ihn dadurch quasi zu kastrieren ...
    Das "Vergallopieren" bei so einem Projekt ist halt immer reizvoll ... aber ich denke, das wäre mal ein eigenes Projekt wert und für Dein ursprüngliches Vorhaben oversized ...


    just 2 cent more,
    -ds-

  • Noch mal Zusammenfassend die Features des TinyRX5_USB:


    • HF-Technisch optimiert: Alle Bauteile befinden sich auf der Oberseite. Homogene Massefläche auf der Unterseite sowie mehrere Verbindungen beider Masseflächen. Keine Leiterbahnen unter RFM-Modul. 3V3 Leitungen mehrfach entkoppelt. Elektronik von RFM-Modul großzügig voneinander getrennt.
    • Kann wahlweise via USB oder über einzelne Steckbrett-Kabel direkt mit dem Pi verbunden werden.
    • Onboard Spannungswandler um aus 5V via USB -> 3V3 zu machen; liefert max. 500mA.
    • Onboard PTC Sicherung um die Leistungsaufnahme auf max 500mA zu begrenzen (ähnlich wie beim Pi). Setzt sich selbst zurück.
    • 5V noch vor der Sicherung abgreifbar. Zusätzlich natürlich auch 3V3 und GND abgreifbar.
    • Einsetzbarer AVR: wahlweise ATmega164A, ATmega164PA, ATmega324A, ATmega644A, ATmega644PA, ATmega1284 oder ATmega1284P
      sind Pinkompatibel und bieten 16, 32, 64 oder 128 kB Flash; max. 32 I/O's: 2x UART (1x wird bereits verwendet), 3x SPI, 1x TWI, 8x ADC 10bit 15ksps, 6x PWM.
    • Alle unbenutzten I/O's des AVR können anderweitig als Erweiterung für den Pi genutzt werden. Abhängig vom Sketch.
    • RESET Taster für den AVR ist Optional. Beim flashen via USB erfolgt der Reset automatisch (über den DTR pin des CH340G)
    • Onboard CH340G als USB-to-TTL Converter (FTDI Ersatz, weitaus günstiger). 12MHz Quarz.
    • Onboard LED's:
      ACT (blau) - signalisiert dass das PCB Strom hat also An ist.
      RX (grün) - signalisiert das Empfangen eines Funk-Datenpakets. Verstellbar im Sketch.
      TX (rot) - signalisiert das Senden eines Funk-Datenpakets. Verstellbar im Sketch.
    • Einsetzbarer Funker: wahlweise RFM69CW oder RFM12B.
      sind Pin- und Funkkompatibel.
    • Wahlweise SMA oder Drahtantenne.
    • Alle I/O Pins des AVR und RFM sind abgreifbar.

    *abgreifbar bedeutet das Lötaugen für Stift-/Buchsenleisten vorhanden sind.

  • Boah is das nen Krampf :lol: Hab leider einige "Inselchen" wo keine Masseverbindung besteht...


    Die JP* sind nun anders ausgerichtet da es sich so besser verkabeln lies. Auch der AVR ist um die typischen 45° gedreht, aus dem selben Grund.
    GND hab ich zu einigen Stellen separat noch mal extra verlegt, da ich wie gesagt aktuell mit der "Homogenen Massefläche" kämpfe... Auch musste ich einige Leiterbahnen dünner machen damit das so hinhaut... nun ist eine Breite von 0.01 mit 0.012 und 0.024 vermischt, weiß aber nicht ob das stört? :s

  • Ich seh' da jetzt aber keine weissen Flecken mehr ... ok ... das ist per Hand korrigiert, oder?
    Hast Du dran gedacht nach dem Verschieben eines/mehrerer Bauteile noch mal in's Rattennest zu gucken ;) ... ?


    Irgendwie bilde ich mir ein, dass ich noch was im Hinterkopf wegen Beschriftung und/oder Lötstopp-Lack habe :s
    JP6 ... da geht die Schrift über/unter den Lötpads ... ich glaub' das ist so ein Fall, bin mir aber nicht sicher.
    Evtl. hat ja ein, in Sachen eagle, kompetenteres Menschlein hier eine Meinung dazu?


    Sieht mittlerweile aber wirklich professionell aus ...


    cu,
    -ds-

  • Ja das is alles händisch gerouted ;)
    Mit Ratsnest hantier ich die ganze Zeit rum damit Verbindungen neu geprüft werden und das Polygon neu berechnet wird etc... Hab aber auch noch ein paar Errors wie zB "Overlap" an manchen JP* wie zB rechts von JP4. Wegen Beschriftung und Lötstopp-Lack weiß ich jetzt aber nicht was du meinst? Mit den Beschriftungen der ganzen JP* wollte ich morgen nämlich auch anfangen :D


    Btw: Weiße Flecken sind ja nur "Orphan", aber nur weil da Kupfer is muss das ja nicht mit GND verbunden sein ;) An solchen Stellen hab ich Via's gesetzt, was er bei manchen aber leider nicht annimmt wie zB unten links neben JP4 :s


    Hab noch die beiden Layer einzeln als Screenshot oben angehängt...

  • Tjaaa ... wie gesagt - ich weiss das nicht mehr so genau. Es ging so weit ich mich erinnere darum, dass durch das Aufbringen des Löststopp-Lacks vor der Beschriftung Pads möglicherweise nicht mehr verlötet werden konnten.
    Aber vielleicht ist das auch alles (mittlerweile) überholt ...
    Zudem hast Du die JP* ja eh noch nicht bearbeitet.
    Kann also sein, dass das alles hier (inzwischen) obsolet ist.


    bye,
    -ds-

  • Ich bin derzeit erst mal an der Software dran, also zunächst dem Sketch... Und wie immer poste ich auch zur eigenen Stütze meinen bisherigen Verlauf bzw Zwischenstand...


    Um die entsprechende Unterstützung für die AVR's zu haben muss man in Arduino-IDE folgenden Link für den Boardmanager verwenden

    Code
    https://mcudude.github.io/MightyCore/package_MCUdude_MightyCore_index.json

    Source https://github.com/MCUdude/MightyCore


    Alternativ:

    Code
    http://www.leonardomiliani.com/repository/package_leonardomiliani.com_index.json

    Source https://github.com/leomil72/megax8


    Interessant ist das auf der MightyCore Github Seite am Ende ein development-board mit CH340G aufgeführt ist ;)



    Da der AVR 2 x USART besitzt bin ich derzeit noch etwas verwirrt was man denn nun verwenden muss, da ich ja beide UART's nutzen will einer für AVR <-> PC und der andere für AVR <-> RFM ... :s
    Ich bin auf eine Beschreibung gestoßen die anfangs gut aussah, aber leider von 2012 ist also schon ziemlich alt: http://microcontrollerprojects…cation-tutorial-uart.html
    Dann hab ich http://homepage.hispeed.ch/peterfleury/avr-software.html gefunden aber da kann man anscheint nicht zwschen UART1 und UART2 unterscheiden... also auch unbrauchbar.
    Und dann fand ich https://www.arduino.cc/en/Tutorial/MultiSerialMega und bin nun endgültig verwirrt :(


    :helpnew:


  • ....Und dann fand ich https://www.arduino.cc/en/Tutorial/MultiSerialMega und bin nun endgültig verwirrt :(
    :helpnew:


    och manno, so schwer ist das nicht
    Ausschnitt:


    und für Input:
    noch'n Ausschnitt

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)