LAN-Anbindung für BSB-Bus (Brötje, Elco Thision etc.)

Begonnen von justme1968, 29 November 2014, 19:50:40

Vorheriges Thema - Nächstes Thema

Jewe

Hallo zusammen,

heute hatte ich mal wieder Zeit mich um dieses Projekt zu kümmern. Ich habe einen neuen Adapter zusammen gebaut. Leider ist die funktion aber dieselbe.

Ich habe diesen Arudino :
SainSmart MEGA2560 R3 Development Board Compatible with Arduino MEGA2560 R3 SKU:20-011-939
http://www.sainsmart.com/sainsmart-mega2560-r3-development-board-compatible-with-arduino-mega2560-r3.html

Und dieses Ethernet shield dazu:
Aukru W5100 Ethernet Schild shield mit Micro-SD Kartensteck für Arduino UNO mega 2560 1280 328
http://www.amazon.de/gp/product/B00PL70PA2?psc=1&redirect=true&ref_=oh_aui_detailpage_o03_s01

Ist die Einstellung "BSB bus(68,69)" wie im Sketch verwendet die richtige für diesen Arduino ?
In dem PinMapping für den MEGA2560 steht bei Pin 68 und 69 nicht A14 und A15 sondern :
Pin 68 - PJ5 (PCINT14)
Pin 69 - PJ6 (PCINT15)

Siehe auch Anhang

Wie kann ich das testen, ob es die richtigen Pin´s am Arduino sind ?

Jens

Schotty

Hallo Jens,

wenn ich mich nicht irre, bezieht sich doch die PinMapping-Grafik auf die Pins des Atmega-Chips, daher geht die Nummerierung in dem Fall ja auch hoch bis Pin100.
Nach der Grafik wären (bzw. sind, allerdings ja direkt am Chip) die beiden Analog-Pins A14&A15 dann ja auch Pin 83=PK6(ADC14/PCINT22) -> Pin A14=68 und Pin 82=PK7(ADC15/PCINT23) -> Pin A15=69; siehe auch die rote Beschreibung rechts neben den entsprechenden Pins, die im übrigen bei den Chip-Pins 68/69 fehlen.
Was ich sagen will: Pin 68&69 am CHIP ist nicht gleich 'Steck'-Pin 68&69, davon also nicht verwirren lassen.
Die eigentlichen (also 'ansteckbaren') Pins, die du mit den Nummern 68&69 im Sketch ansprichst, werden ja ab dem höchsten/letzten Digitalpin bei den Analogpins weiter hochgezählt, also nach Digitalpin 53 kommt Analogpin 0 bzw. A0=54, A1=55 etc. bis hoch zu A14=68 & A15=69.

Kurzum: Die Pins dürften also schon richtig sein so, wenn du "Analog 14" (->A14=68) und "Analog 15" (->A15=69) genommen hast (s. Bild). Warum es allerdings nicht funzt, weiß ich auch nicht :( Aber FunkOdyssey suchte doch jemanden, der ihm einen Adapter zusammenlötet - vielleicht schickst du ihm einfach mal deinen alten, dann kann er es mal damit testen und evtl. wäre Euch beiden damit geholfen?!

Dort http://forum.arduino.cc/index.php?topic=146511.0 gibt es im ersten Beitrag oben von dem User 'pighixxx' übrigens zwei verlinkte PDFs, die diesbezüglich sehr schön übersichtlich und anschaulich gemacht sind; eines davon hänge ich mal an, das andere ist leider zu groß.

Gruß
Handbuch zur BSB-LAN Hard- & Software (Anbindung v. Heizungsreglern, u.a. von Brötje & Elco):
https://1coderookie.github.io/BSB-LPB-LAN/

Jewe

Hi, dann sollte es ja Ansich passen.
Evtl.liegt es ja doch auch an dem Regler.
Klar, ich kann FunkyOdyssey einen davon schicken.... Meld Dich bei mir.

Schotty

Hmm, das ist sch...
Was genau war jetzt nochmal das Problem? (Mag grad nicht nochmal alles durchlesen.. ;) )
Handbuch zur BSB-LAN Hard- & Software (Anbindung v. Heizungsreglern, u.a. von Brötje & Elco):
https://1coderookie.github.io/BSB-LPB-LAN/

Jewe

Die LED blinkt, aber ich bekomme keine Daten. Ich kann die IP .../K aufrufen und es kommen die Kategorien. Wenn ich einen parameter lesen möchte kommt gar nichts mehr ? Wie als wenn der Arduino nicht  reagiert. Ich kann dann nur den Arduino neu starten.


Schotty

#260
Den Arduino hast du per LAN dran?
Und den Adapter an CL+/CL-? Dass die LED blinkt, heisst doch schonmal, dass da was passiert/von der Therme kommt.
Dass der Arduino nicht mehr reagiert, wenn man quasi die Unterkategorien aufrufen will, kenne ich, passiert bei mir auch, allerdings wenn der Adapter nicht an der Therme angeschlossen ist. (Ob's bei mir funzt, sehe ich demnächst, wenn ich endlich wieder in Thermenreichweite bin und alles endlich mal anschließen kann.. ;) )
Arduino schonmal neu aufgesetzt?

EDIT: Hast du für den neuen Adapter eigtl komplett neue Bauteile genommen? Oder zufällig die beiden Optokoppler vom alten Adapter benutzt? Nicht, dass davon einer vielleicht platt ist und es somit gar nicht zu ner Datenübertragung zw. Arduino&Therme kommt..?
Handbuch zur BSB-LAN Hard- & Software (Anbindung v. Heizungsreglern, u.a. von Brötje & Elco):
https://1coderookie.github.io/BSB-LPB-LAN/

Jewe

#261
Jetzt muss ich mal meinen Workflow des Arduino bespielens hinterfragen, nich dass da was schief läuft :
Ich verwende die Arduino Version 1.0.3 und den Sketch BSB_lan_v0.12.
Diesen entpacke ich in das Verzeichnis : BSB_lan und die Libs in den Libary Ordner der Programiersoft..
Dann Starte ich die Softwar, lade das programm BSB_Lan.
mache die Änderungen bzgl. IP, kompiliere und lade es in den Arduino.

Für den Adapter habe ich komplett neue Bauteile verwendet.
Ja, Adapter ist mit Ethernet Shield.

Ist es relevant, welchen Programmer ich einstelle ? Habe es mit AVRISP mkII und Arduino as ISP probiert.

Schotty

#262
Moin allerseits!

So, Adapter ist nun angeschlossen, die LED leuchtet auch fröhlich vor sich hin und flackert ab und zu ganz leicht.
ABER: Wie bei Jens auch, bekomme ich keine Werte angezeigt.   :'(

Speziell @Gero:
Von dem Problem des sich anscheinend aufhängenden Arduinos ohne Anschluss des Adapters an der Therme hatte ich ja schon berichtet. Das Verhalten des Arduinos MIT angeschlossenem Adapter ist nun genau so, wie ohne, sprich, die 'Startseite' und auch die Seite mit den Kategorien werden angezeigt, ein angeschlossener DS18B20 unter <ip>/temp ist auch sichtbar, aber die 'Unterkategorien' der Heizung (bspw. Status Kessel, Status Trinkwasser) bzw. die entsprechenden Werte sind dem Arduino nicht zu entlocken. Bei Aufruf von bspw. <ip>/K33 oder <ip>/8003 passiert einfach nichts, die Seite bleibt leer und lädt vor sich hin. Möchte man dann bspw. wieder <ip>/temp aufrufen, passiert ebenfalls nichts (wobei jedoch die Rx/Tx-LEDs und auch die 'LINK' kurz aufblinken). Abhilfe schafft dann nur ein Reset des Arduinos.

Bitte bitte hilf uns Gero! ;)

LG

EDIT: Gero, hast du zufällig mit deinem Adaper anfangs den Sketch von Frank (ganz am Anfang des Threads) mal ausprobiert? Vielleicht wäre das ja eine Möglichkeit für uns, um zu testen, ob es an unserer Hardware liegt. Aber wie gesagt, ich bin kein Programmierer, ging mir eben nur noch so durch den Kopf..
Handbuch zur BSB-LAN Hard- & Software (Anbindung v. Heizungsreglern, u.a. von Brötje & Elco):
https://1coderookie.github.io/BSB-LPB-LAN/

Schotty

Jens, gute Frage bzgl. des Workflows - vielleicht sind wir zwei ja wirklich einfach nur zu doof, den Arduino richtig aufzusetzen.. :-[  Da jedoch die Temperatur-Abfrage per DS18B20 bei mir schonmal funzt, gebe ich die Hoffnung noch nicht auf..  ;)
Habe ich übrigens quasi auch so gemacht wie du, um den Programmer hatte ich mich aber gar nicht gekümmert. Habe eben nochmal nachgesehen, bei mir war wohl 'AVRISP mkII' eingestellt.
Aber vielleicht liegt ja wirklich nur DA der Fehler, denn bei anderen (bspw. moarteen) klappts ja auch.. Ach wär dat schön..  :D
Handbuch zur BSB-LAN Hard- & Software (Anbindung v. Heizungsreglern, u.a. von Brötje & Elco):
https://1coderookie.github.io/BSB-LPB-LAN/

Schotty

An alle anderen Bastelwilligen bzgl. des thermenseitigen Steckers: Normale Kabelschuhe in 6,3mm passen übrigens 1a auf die entsprechenden Anschlüsse.
Handbuch zur BSB-LAN Hard- & Software (Anbindung v. Heizungsreglern, u.a. von Brötje & Elco):
https://1coderookie.github.io/BSB-LPB-LAN/

gero

Zitat von: Schotty am 08 Februar 2016, 15:33:13
Moin allerseits!

So, Adapter ist nun angeschlossen, die LED leuchtet auch fröhlich vor sich hin und flackert ab und zu ganz leicht.
ABER: Wie bei Jens auch, bekomme ich keine Werte angezeigt.   :'(

Speziell @Gero:
Von dem Problem des sich anscheinend aufhängenden Arduinos ohne Anschluss des Adapters an der Therme hatte ich ja schon berichtet. Das Verhalten des Arduinos MIT angeschlossenem Adapter ist nun genau so, wie ohne, sprich, die 'Startseite' und auch die Seite mit den Kategorien werden angezeigt, ein angeschlossener DS18B20 unter <ip>/temp ist auch sichtbar, aber die 'Unterkategorien' der Heizung (bspw. Status Kessel, Status Trinkwasser) bzw. die entsprechenden Werte sind dem Arduino nicht zu entlocken. Bei Aufruf von bspw. <ip>/K33 oder <ip>/8003 passiert einfach nichts, die Seite bleibt leer und lädt vor sich hin. Möchte man dann bspw. wieder <ip>/temp aufrufen, passiert ebenfalls nichts (wobei jedoch die Rx/Tx-LEDs und auch die 'LINK' kurz aufblinken). Abhilfe schafft dann nur ein Reset des Arduinos.

Bitte bitte hilf uns Gero! ;)

LG

EDIT: Gero, hast du zufällig mit deinem Adaper anfangs den Sketch von Frank (ganz am Anfang des Threads) mal ausprobiert? Vielleicht wäre das ja eine Möglichkeit für uns, um zu testen, ob es an unserer Hardware liegt. Aber wie gesagt, ich bin kein Programmierer, ging mir eben nur noch so durch den Kopf..

Ich würde euch sehr gerne helfen. Allerdings bin ich beruflich zur Zeit sehr eingespannt, daher melde ich mich auch so selten hier. Sorry!
Zum scheinbaren Absturz des Arduino bei nicht angeschlossener Therme kann ich noch nichts sagen. Ich konnte es noch nicht ausprobieren.
Den Adapter von Frank habe ich nicht ausprobiert,sondern gleich eine eigene HW gebastelt, da mir die Trennung per Optokoppler sicherer schien.

Zu den Programmierer-Einstellungen in der ArduinoIDE kann ich gerade nicht viel sagen, da ich die Commandline-Tools von http://inotool.org verwende.
Hier der Inhalt des entsprechenden ino.ini Files:

[build]
board-model = mega2560

[upload]
board-model = mega2560
serial-port = /dev/ttyACM0

[serial]
serial-port = /dev/ttyACM0
baud-rate = 115200

Wenn aber schon die Hilfeseite funktioniert, halte ich es für sehr unwahrscheinlich, dass es am Programmieren liegt.

Wie könnte die weitere Vorgehensweise aussehen?
Wenn mir jemand sein komplettes System (Arduino, Ethernetshield, Adapter) zur Verfügung stellen würde, könnte ich den Adapter an meiner Heizung testen und versuchen das Problem zu finden.
Allerdings kann das evtl. eine Woche dauern.

Gruß,
Gero
Odroid C1 - CULV3-868, JeeLink
16 x TX 29 DTH
MAX!: 15x Heizkörperthermostat+, 2x Wandthermostat, 14x Fenserkontakt, 1x Ecotaster
FS20 S4A, FS20IRF, BSB-Heizungssteuerung über Atmega2560
Z-Wave: ZME_UZB1, Fibaro Wall Plug + Motion Sensor

Schotty

Hi Gero,
das wär natürlich suuuper - wohin soll ich's schicken? Bitte per PN ;)
LG
Handbuch zur BSB-LAN Hard- & Software (Anbindung v. Heizungsreglern, u.a. von Brötje & Elco):
https://1coderookie.github.io/BSB-LPB-LAN/

FunkOdyssey

#267
Ich habe selbst absolut keine Ahnung von Arduino & Co. und ich weiß nicht, ob ich mich nun lächerlich mache: Aber ich lese gerade, dass gewissen Arduinos (z.B. SainSmart) andere Chips verbaut haben und hier andere Treiber notwendig sind. Wobei das wohl eher etwas mit Windows und der IDE zu tun haben soll.

Ich schmeiß das mit meinem Laienverstand einfach mal in den Raum. Vielleicht spielt das hier ja irgendwie ne Rolle. :-)

Schotty

#268
Moin FunkOdyssey,
danke für den Hinweis, allerdings betrifft das bei den extrem günstigen Modellen dann die USB-Chips (meist CH340) - bei Amazon stolpert man bei den Nano-Clones hin und wieder auch mal drüber, da kann man dann eben nicht so ohne weiteres ein USB-Kabel anschließen.. Den SainSmart (da du den grad erwähnt hast) Mega2560 von Amazon, den Jens wohl verwendet hat, sollte es jedoch eigtl. nicht betreffen.
Ich hatte es unter Linux aufgesetzt und dabei eigtl. keine Probleme.
Wen es interessiert, ich habe diese Komponenten verwendet (sollten eigtl. noch die gleichen Modelle sein):
http://www.amazon.de/SunFounder-ATmega2560-16AU-Board-compatible-Arduino/dp/B00D9NA4CY
http://www.amazon.de/SunFounder-Ethernet-Shield-W5100-Arduino/dp/B00HG82V1A
Gruß

P.S.: Den von dir bestellten Arduino betrifft das USB-Problem m.E. übrigens auch nicht ;)
Handbuch zur BSB-LAN Hard- & Software (Anbindung v. Heizungsreglern, u.a. von Brötje & Elco):
https://1coderookie.github.io/BSB-LPB-LAN/

gero

Die Hardware von Schotty ist unterwegs zu mir. Der Fehler wird sich wohl finden lassen und ist hoffentlich dergleiche wie bei jensweber, damit ihm auch geholfen ist.

Gruß,
Gero
Odroid C1 - CULV3-868, JeeLink
16 x TX 29 DTH
MAX!: 15x Heizkörperthermostat+, 2x Wandthermostat, 14x Fenserkontakt, 1x Ecotaster
FS20 S4A, FS20IRF, BSB-Heizungssteuerung über Atmega2560
Z-Wave: ZME_UZB1, Fibaro Wall Plug + Motion Sensor