Nachbau von HM-Geräten mit Arduino inkl. BidCos / AskSinPP

Entwicklung und Bau von Hardware aller Art, die im HM-Umfeld eingesetzt werden kann

Moderator: Co-Administratoren

WernerSch
Beiträge: 68
Registriert: 23.01.2018, 09:12

Re: Nachbau von HM-Geräten mit Arduino inkl. BidCos / AskSinPP

Beitrag von WernerSch » 28.08.2018, 19:23

Hallo

ich habe jetzt die Schaltung für den HM-WDS40-TH-I-BME280 nachgebaut. Lief auch schon an der CCU2 nur es kamen keine Werte. Ich habe mit examples die LED, Taster und den BMP280 gecheckt, Es war eine Brücke für die Adresse vom BMP. Dann habe ich die Software wieder aufgespielt und nix geht mehr. Ich habe schon den Pro Mini und das Funkmodul gewechselt. Im Monitor sehe ich nur

AskSin++ V3.1.1 (Aug 28 2018 18:14:03)

Ich hab mal was gelesen vom internen EEPROM, das es da Probleme wohl gab. Den habe ich auch mal gelöscht.
Was kann ich da falsch gemacht haben. Was für Möglichkeiten habe ich zum testen?

Gruß
Werner

Benutzeravatar
deimos
Beiträge: 5396
Registriert: 20.06.2017, 10:38
System: Alternative CCU (auf Basis OCCU)
Wohnort: Leimersheim
Hat sich bedankt: 121 Mal
Danksagung erhalten: 957 Mal
Kontaktdaten:

Re: Nachbau von HM-Geräten mit Arduino inkl. BidCos / AskSinPP

Beitrag von deimos » 28.08.2018, 19:28

Hi,

BME280 oder BMP280? Du brauchst den BME280 sonst kommen keine Werte für die Luftfeuchtigkeit, weil der BMP das nicht kann.

Ansonsten deutet das Fehlerbild darauf hin, dass der Sensor nicht erkannt wird, deine Anpassung mit der Brücke hätte vermutlich nicht gemacht werden sollen.

Viele Grüße
Alex

WernerSch
Beiträge: 68
Registriert: 23.01.2018, 09:12

Re: Nachbau von HM-Geräten mit Arduino inkl. BidCos / AskSinPP

Beitrag von WernerSch » 28.08.2018, 20:30

Hallo Alex

sorry war ein Schreibfehler. Natürlich ist es ein BME280. Doch auf der Rückseite sind Lötpads für die Anpassung der Adresse. Danach lief der Sensor ja und brachte Werte. Von Sparkfun gibt es z.B. eine Library da liest ein Example beide Adressen und man sieht gleich auf welcher dein Sensor liegt.

Die Software lief vorher auch obwohl der Sensor nicht erkannt wurde. In der CCU2 hatte ich dann immer 0°C und 0% Feuchte
Da habe ich dann meine Hardware gecheckt.

Gruß
Werner

Benutzeravatar
deimos
Beiträge: 5396
Registriert: 20.06.2017, 10:38
System: Alternative CCU (auf Basis OCCU)
Wohnort: Leimersheim
Hat sich bedankt: 121 Mal
Danksagung erhalten: 957 Mal
Kontaktdaten:

Re: Nachbau von HM-Geräten mit Arduino inkl. BidCos / AskSinPP

Beitrag von deimos » 28.08.2018, 20:42

Hi,

der Sketch verwendet die I2C Adresse 0x76, welche imho bei allen Platinen im Standard gesetzt ist. Wenn du die jetzt in der Hardware auf 0x77 gebrückt hast, dann kommt es genau zu dem Fehlerbild.

Ich würde daher vorschlagen, dass du die Adresse nochmal zurück änderst und dann mal auf die serielle Ausgabe schaust, ob es dann weiter geht und wenn ja was laut serieller Ausgabe gemessen wird.

Viele Grüße
Alex

WernerSch
Beiträge: 68
Registriert: 23.01.2018, 09:12

Re: Nachbau von HM-Geräten mit Arduino inkl. BidCos / AskSinPP

Beitrag von WernerSch » 29.08.2018, 07:14

Hi Alex

anscheinend habe ich es richtig gemacht. Ich habe nochmal nachgedacht was ich genau gemacht habe.
Ich habe ja die Library genommen die für die Schaltung empfohlen wurde. Da lies sich die Schaltung an der CCU2 anlernen, nur in iobroker habe ich keine Werte gesehen. Ein Example der Library hat gezeigt das der Sensor nicht erreichbar ist. LED und Taster gingen. Ich habe dann die Library mal gegen die von Sparkfun ausgetauscht. Da habe ich das mit der Adresse gefunden. Nach dem Adresswechsel lief auch das example der ursprünglichen Library. Nur mein Sensor nicht mehr. Die alten Libraries habe ich natürlich immer gelöscht. Das steht bei Sparkfun zur Adresse. Scheint auch dasselbe Layout zu sein wie meine

I2C Address Select between addresses 0x77 (default, '1' side) and 0x76 by slicing the trace and bridging the '0' side. Controls the least significant bit.

https://learn.sparkfun.com/tutorials/sp ... okup-guide

Ich war ja einige Jahre Entwickler und Sparkfun kann ich nur empfehlen zum nachschlagen für Arduinomodule oder auch anderes. Die haben immer sehr Detailgenau alles beschrieben und viel Hintergrundinfos und Datenblätter

Gruß
Werner

WernerSch
Beiträge: 68
Registriert: 23.01.2018, 09:12

Re: Nachbau von HM-Geräten mit Arduino inkl. BidCos / AskSinPP

Beitrag von WernerSch » 29.08.2018, 07:17

Hi Alex

kleiner Nachtrag, Ich werde es aber trotzdem heute abend mal zurück ändern weil mich interessiert was dann meine Schaltung macht.

Gruß
Werner

Bratmaxe
Beiträge: 1573
Registriert: 28.05.2015, 12:48
Wohnort: Willich
Hat sich bedankt: 4 Mal
Danksagung erhalten: 10 Mal

Re: Nachbau von HM-Geräten mit Arduino inkl. BidCos / AskSin

Beitrag von Bratmaxe » 29.08.2018, 07:54

deimos hat geschrieben:
28.06.2018, 08:51
Hi,

der ATmega32U4 ist was relativ besonderes, weil er einen integrierten USB hat.

Sofern er nicht out-of-the-box jetzt schon funktioniert vermute ich stark, dass es nicht zu schwer sein dürfte, den auch zu unterstützen, sofern man den OTA Bootloader mal ausklammert. Diese Vermutung stütze ich auf meine Erfahrung beim Erstellen des Supports für den 644/1284, da war der Großteil der Arbeit in den beiden externen Libs LowPower und EnableInterrupt. Und diese unterstützen den 32U4 bereits.

(Das gilt jetzt natürlich nur für die 3.3V/8MHz Variante)

Viele Grüße
Alex

Moin,

ich hatte irgendwie im Kopf, das der ATMEGA32U4 bereits funktionieren sollte. Daher habe ich gestern versucht den "HM-LC-Sw1-PL-DN-R1.ino" Sketch zu kompilieren. Leider erhalte ich folgenden Fehler:

Code: Alles auswählen

LowPower.h:144:10: note: void LowPowerClass::idle(period_t, adc_t, timer4_t, timer3_t, timer1_t, timer0_t, spi_t, usart1_t, twi_t, usb_t)
     void idle(period_t period, adc_t adc, timer4_t timer4, 
          ^
LowPower.h:144:10: note:   candidate expects 10 arguments, 8 provided
Das hatte ich auch schon mal, aber ich meine, das es danach ein update gab, oder das ich was falsch gemacht hatte (ich finden das aber nicht mehr).. Ich habe aber AskSinnPP, EnableInterupt und LowPower gerade nochmal neu runtergeladen und erhalte denselben Fehler..
Low-Power soll den 32U4 aber unterstützen, daher wundere ich mich, das gerade die den Fehler generiert.

Habt ihr ne Idee, wo ich suchen könnte?

Gruß Carsten
Gruß Carsten

jp112sdl
Beiträge: 12108
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 848 Mal
Danksagung erhalten: 2148 Mal
Kontaktdaten:

Re: Nachbau von HM-Geräten mit Arduino inkl. BidCos / AskSinPP

Beitrag von jp112sdl » 29.08.2018, 07:59

Für den 2560 ist die Low-Power laut deren README auch geeignet und dennoch ist ein Bug drin, wo man erstmal noch händisch ran muss.

VG,
Jérôme ☕️

---
Support for my Homebrew-Devices: Download JP-HB-Devices Addon

papa
Beiträge: 705
Registriert: 22.05.2018, 10:23
Hat sich bedankt: 24 Mal
Danksagung erhalten: 120 Mal

Re: Nachbau von HM-Geräten mit Arduino inkl. BidCos / AskSinPP

Beitrag von papa » 29.08.2018, 08:02

Die idle Methode wird für die unterschiedlichen Prozessoren mit unterschiedlich vielen Argumenten definiert. Die AskSinPP unterstützt derzeit nur den Aufruf für den 328P und kompatible. Es muss also eine entsprechende Preprozessoranweisung ergänzt und idle dann für den 32U4 anders aufgerufen werden.
Anfragen zur AskSin++ werden nur im Forum beantwortet

Benutzeravatar
deimos
Beiträge: 5396
Registriert: 20.06.2017, 10:38
System: Alternative CCU (auf Basis OCCU)
Wohnort: Leimersheim
Hat sich bedankt: 121 Mal
Danksagung erhalten: 957 Mal
Kontaktdaten:

Re: Nachbau von HM-Geräten mit Arduino inkl. BidCos / AskSinPP

Beitrag von deimos » 29.08.2018, 08:13

Hi,
WernerSch hat geschrieben:
29.08.2018, 07:14
I2C Address Select between addresses 0x77 (default, '1' side) and 0x76 by slicing the trace and bridging the '0' side. Controls the least significant bit.
gut, ich korrigiere meine Aussage, seit grade kenne ich dann *ein* Breakout Board, welches nicht 0x76 als Default hat, nämlich das von Sparkfun. Alle anderen mir bekannten haben den Address Pin gegen Gnd gezogen und damit die Default Adresse 0x76.

Das erklärt dann auch deine Beobachtungen: Die Sparkfun-Lib nimmt natürlich den passenden Default zu ihrem Board, also die 0x77. Die im Sketch genutze Lib verwendet aber wie bereits geschrieben die 0x76.

Wenn du den Sketch also so nutzen willst, wie er ist, dann muss der Address Pin nach Gnd gezogen werden, egal welches Breakout Board du verwendest.

Viele Grüße
Alex

Gesperrt

Zurück zu „Hardwareentwicklung und Selbstbau von Aktoren und Sensoren“