Ankündigung

Einklappen
Keine Ankündigung bisher.

PIC am KNX

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    PIC am KNX

    Hallo zusammen,
    ich lese schon eine Weile in eurem DIY Forum mit und dachte mir das inzwischen mein Projekt schon einen Stand erreicht hat in dem man es auch anderen Zeigen kann.

    Ich habe eine kleine Platine mit einem NCN5120 und einem PIC18F26J11 (ähnlich TPUART) gebastelt. Einen ersten Prototypen habe ich schon seit ein paar Wochen erfolgreich mit einem von mir programmierten KNX Stack (noch nicht ganz fertig aber Dinge wie Gruppen Adressen und Physikalische Adresse programmieren funktionieren schon) am laufen.
    Jede Platine verfügt über zwei Schaltnetzteile (3,3V und ein weiteres mittels Widerständen beliebig einstellbares), eine Programmiertaste und eine Programmier-LED.
    Die Steckerleiste die man sieht ist am PEI Interface orientiert (die linken 10 PIN's entsprechen genau der PEI und die rechten 8 sind für externe Programmiertaste, ProgrammierLED und zusätzliche IO's bzw. Spannungen).

    1Wire Sensoren (Temperatur, IO's) einlesen bzw. Infrarot Signale Empfangen und Senden (Fernseher einschalten bzw. dem Bus sagen das Tasten auf der Fernbedienung gedrückt wurden) habe ich als eine der ersten Applikationen bereits am laufen bzw. gerade in Arbeit.

    Anfangs habe ich mit einem Arduino gearbeitet, aber der Preis und die Größe waren nicht sehr befriedigend. Mein Stack läuft daher auch auf dem Arduino, ist aber noch zu sehr im Beta Stadium als das ich ihn schon verbreiten möchte.

    Derzeit lasse ich mir Platinen für eine überarbeitete Version fertigen und dann sollte hoffentlich bald alles einigermaßen stabil am Laufen und über die ETS programmierbar sein.

    Hoffe euch gefällt mein kleines Projekt. Sollte jemand Interesse daran haben wäre ich gerne bereit ein paar Platinen zum Selbstkostenpreis an euch abzudrücken. Hier im Forum wird einem immer so geholfen, da gibt man gerne was zurück. Ich habe vor in der nächsten Iteration die Platine von einem Fertiger bestücken zu lassen. Da könnte man dann sicher ein paar mehr mit bestellen wenn jemand Interesse hat.

    Das Gehäuse ist noch nicht ganz fertig, aber wird mit einem 3D Drucker ausgedruckt werden.

    XNK.jpg

    XNK_CASE.jpg

    XNK_CASE_2.jpg

    XNK_CASE_3.jpg

    Bin gespannt was ihr sagt.

    LG Johannes

    #2
    Coole Sache, wieviele Ein-/Ausgänge hat den das Teil...bzw. Wieviele Sensoren lassen sich anschließen?


    Gesendet von meinem iPad mit Tapatalk HD

    Kommentar


      #3
      Das kann man so nicht sagen. Gesamt sind 9 IO Pins die an den µC geführt. Der µC bietet 2 UART, 2 SPI und 1 I²C die an fast jeden der 9 Pins gelegt werden können. 1Wire ist auch auf jedem PIN möglich. An den meisten Pins ist AD Wandlung und PWM möglich. Notfalls kann man noch die beiden IO's für die Programmier-LED und Taste missbrauchen, sollte aber eigentlich nicht nötig sein.
      Ich hab mal eine kleine DigtalIO Platine aufgebaut und dabei einen I2C Port Extender verwendet. Dann hatte ich über 2 PINs vom µC 16 digitale IO's und das läßt sich mit mehreren Port Extendern beliebig vergrößern.

      Kommentar


        #4
        Sehr coole Sache.
        Wo bewegen wir uns denn hier preislich?
        Scheint mir vom Ansatz her besser zu sein als Freebus, weil ja ein chip das KNX handling macht.
        Ich bin ja ehrlich gesagt ziemlich scharf auf IR senden und empfangen.

        Was kann man alles über die ETS einstellen?
        Machst du die VD Datei selber?

        Grüße
        Ben

        Kommentar


          #5
          Moin,
          ich habe zwar echt wenig Zeit im Moment, aber an einer Platine wäre ich interessiert! ich habe schon einiges mit den PIC gemacht und finde die ganz cool.

          wie ist der Stack programmiert? MicroC? HI-Tech-C? MPLAB-C? Assembler wäre nicht so mein Ding...

          Gruss,
          Michael

          Kommentar


            #6
            Toll Idee

            Moin


            Wenn Du das ans rennen kriegst , wäre das super.
            Dann könnten die Daten direkt auf den Bus

            Ich hätte da so einige Daten , die ich gerne auf dem Bus hätte

            Also ich bin dabei.

            Gruss Herbert

            Kommentar


              #7
              Hi,
              hört sich spannend an :-)
              Wie du sicherlich gesehen hast bin ich an einer Arduino-Lösung - und suche noch unterstützung beim KNX-Stack-Erweitern (Bolean, 14Byte text und ich glaube 1 byte gehen). Hast du dir das mal angeschaut?
              Vielleicht könnte ich hier einiges Kopieren ;-) Daher: ich bin sehr gespannt auf deinen Code.

              Gruß
              Thorsten

              Kommentar


                #8
                @selbermacher: Also derzeit kosten mir die Bauteile so um die 20€, hab es aber nie genau kalkuliert da für den ersten Prototypen ziemlich viele Versandkosten und overhead an Teilen angefallen sind (1 SMD benötigt aber 100Stk Mindesabnahmemenge...)
                Die Platine kommt auf weiter geschätzte 8-10€. Müßte ich nachschauen was sie mir genau gekostet hat.
                Aber diese Kosten sind eigentlich nicht so relevant, interessant wird es was sie fertig bestückt kostet. Ich werde noch etwa 1-2 Monat brauchen um mit dem Review meines zweiten Prototypens fertig zu sein und dann lasse ich mir, nach dem ich noch die letzten Änderungen einfließen hab lassen, ein Angebot von einem Bestücker machen.

                Über die ETS kann ich derzeit nur die Gruppenadressenzuweisungen und die Physikalische Adresse programmieren. Dei VD Dateien mache ich natürlich nicht selbst. Habe leider keine Developer Tools damit ich die erstellen könnte. Ich glaube zwar zu wissen wie man sich selber im Editor bestehende abändern könnte, ich bin mir aber nicht sicher ob das nicht zu Copyright Verletzungen führen würde, deshalb hab ich das bisher nie ausprobiert oder weiterverfolgt.
                Ich verwende einfach nur die VD Dateien die es schon gibt und lese dann aus den Daten die ETS an meine Platine sendet die benötigten Stellen (derzeit nur die Assoziationstabelle der GA) aus.

                @MGK: Also den Stack habe ich in ANSI C Programmiert. In der Theorie lässt er sich ohne Probleme auf einem AVR (Arduino), PIC, Linux, ... compilieren (AVR, PIC, und Linux habe ich zwischenzeitlich immer wieder probiert und hat funktioniert). Beim Aufbau habe ich mich an die ISO/OSI Layer wie sie für KNX spezifiziert sind gehalten. Also ab Layer 2 ist der Stack Hardwareunabhängig. Layer 2 hängt von der Hardware ab und muss für die Plattform angepasst werden (z.B. PIC, AVR, KNX/IP, ..).

                @Knaller: Das ganze zum laufen zu bekommen steht ausser Frage da es schon läuft . Die Frage ist nur wie lange es noch dauert bis es so läuft wie ich es will (Anbindung an ETS, ...). Aber ich hoffe ich finde so viel Zeit das es nur mehr Monate, nicht mehr Jahre dauert

                @ThorstenGehring: Ja in deinem Thread habe ich etwas mitgelesen. Ich hab mir bevor ich mit meinem Stack begonnen habe auch kurz die DKA Lib angeschaut, aber die war mir zu Hardwareabhängig und wenig generisch Programmiert. In meinem Stack kann man wie oben beschrieben die einzelnen Layer einfach austauschen und ist so viel flexibler und offener für neue Hardware. Verwendet man meinen Kompletten Stack, braucht man etwa nicht selber Boolean oder Byte Werte schicken sondern weißt den Gruppenobjekten ihre Eigenschaften zu und gibt ihnen zur Laufzeit dann Werte die automatisch upgedated werden. Eben so wie es von der Konnex in deren Dokumenten vorgesehen ist.
                Mein Code wird aber noch etwas brauchen bis ich ihn wirklich releasen werde. Bin da etwas kompliziert was "guten" Code betrifft und alles muss schön fein säuberlich getestet sein .

                Kommentar


                  #9
                  Hallo zusammen,
                  die Entwicklung schreitet fort und ich dachte mir das zum einfachen Anbinden von Sensoren (Temperatur, Infrarot, CO2, Taster, 1Wire, ...) es eventuell zweckmäßig wäre eine kleine "Developer Platine" zu Layouten.
                  Die Platine wird einfach auf meine KNX Bus Interface Platine gesteckt. (Jetzt sieht man leider einen kleinen Fehler für dessen Behebung ich zu faul war ;-) --> Die Stiftleiste auf der Interface Platine sollte eigentlich eine Buchsenleiste sein). Alle generierten Spannungen des NCN5120 stehen links und rechts als VCC1, VCC2 und 3V3 zur Verfügung. Ground ist ebenfalls links und rechts vorhanden. In der Mitte kann man beliebige kleine Schaltungen aufbauen und mit den IO's der Interface Platine verbinden (JP1 und JP2) Am Beschriftungsdruck ist eigentlich noch genau beschriftet was wo an JP1 und JP2 ist, aber das würde irgendwie nicht in den 3D Export übernommen.
                  Die Maße der Platine sind so gewählt das sie in eine 60er Unterputzdose passen. Ein kleines Gehäuse werde ich bei Zeiten auch noch dazu basteln (für 3D Druck).

                  Derzeit warte ich noch auf die Platinen meines ziemlich sicher (!!Hoffentlich!!) letzten Prototypen, dann werde ich alles in einer Kleinserie bestücken lassen.

                  LG Johannes

                  up_developer.jpg

                  Kommentar


                    #10
                    Hallo Johannes,

                    das klingt alles sehr Interessant. Ich bin auf jeden Fall mit einer Platine dabei. Auch wenn ich eigentlich mehr im Atmel Umfeld unterwegs bin.

                    Gibt es mittlerweile schon die Möglichkeit Libs für die ETS4 selbst anzupassen?

                    VG

                    Mode

                    Kommentar


                      #11
                      Hallo Johannes,

                      sehr interessantes Projekt. Da ich noch einige Dinge bei mir erfassen und messen möchte, melde ich schon mal Interesse an.
                      Welche Sensoren kann man den später nutzen? Hier meine ich eher die Hersteller, die Arten der Sensoren hast du ja schon dargestellt.

                      Danke.

                      Ari

                      Kommentar


                        #12
                        Es gibt keine Einschränkungen an Hersteller oder Sensortypen. Anhängen kann man jeden Sensor der in irgend einer Art die Messgröße in ein elektrisches Signal umwandelt. Die Auswertung passiert dann in der Software und muss entsprechend in C programmiert werden.
                        Welche Sensoren ich konkret ausprogrammieren werde kann ich derzeit noch nicht abschätzen. Mit ein bisschen Programmierkenntnissen (in C) kann aber jeder einfach seine eigenen Sensoren einbinden.

                        Kommentar


                          #13
                          Wäre eine Anbindung von auch Bluetooth möglich? Ich suche nämlich noch eine Möglichkeit, BT an den HS zu bringen... vielleicht ginge das mit der Platine irgendwie???

                          Danke.

                          Ari

                          Kommentar


                            #14
                            Wie gesagt, man kann "fast" alles anhängen was man will. Mittels RS232 sehe ich auch kein Problem darin Bluetooth an den µC anzuhängen. Aus "elektrischer" Sicht überhaupt kein Problem. Die Arbeit steckt hier eindeutig in der Software die Bluetooth Kommunikation in GA umsetzt.
                            Wer etwas C programmieren kann, der sollte das schaffen.
                            Die Platine ist bloß ein Stück "sehr flexibler" Hardware an die man optional eine kleine Erweiterungsplatine hängt oder eben die Sensoren direkt dran und dann das Hirnschmalz in Form von Software auf dem µC reinsteckt.

                            Kommentar


                              #15
                              Der thread ist ja von diesem Jahr, also ist das noch keine Leichenfledderei, oder?

                              Gibt es hier was neues? PICs kenne ich und ich überlege gerade wie ich einen Haufen Temperatur Sensoren an KNX drankriege... Ein KNX-Pic mit dem eingebauten OneWire wäre da ideal...

                              Ist die vorgestellte Platine komplett "Bus powered"? Ich habe an der Stelle nämlich NUR KNX liegen...

                              Michael

                              P.S. Wie ist der PIC programmiert? high-c oder Micro-c? Bitte sagt nicht assembler :/

                              Kommentar

                              Lädt...
                              X