GARDENA Bewässerungsventil Umbau. Probleme mit Sketch

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

Moderator: Co-Administratoren

rewe0815
Beiträge: 168
Registriert: 30.09.2010, 09:40

GARDENA Bewässerungsventil Umbau. Probleme mit Sketch

Beitrag von rewe0815 » 14.03.2019, 10:37

Hallo

Um Missverständnisse vorwegzunehmen. Das Problem wird weniger der Sketch sein.
Eher der Typ vor dem Computer, der ehrlich bemüht ist den zu durchschauen;-)

Ich habe die Platine von Gelegenheitsbastler wie hier beschrieben aufgebaut.
viewtopic.php?f=76&t=48566&start=10

Ich habe die Platine durchgemessen und mit einem kleinen Testscript den Impulsteil getestet. Soweit scheint alles ok.
Allerdings bekomme ich diesen Sketch von papa download/file.php?id=56756 nicht korrekt ans Laufen ;-(
Ich muss gestehen, ich habe mich noch nicht intensiver mit Asksin++ beschäftigt.

Je mehr ich allerdings daran kratze, umso mehr wächst mein Respekt vor diesem großartigem Projekt!

Ich hoffe, dass mich vlt. jemand, in die richtige Richtung schupsen kannst.

So ist der Stand:
Das Modul scheint erstmal korrekt zu laufen. Die Status LED reagiert, wenn ich einen Kanal ein-/ausschalte.

Auf der Konsole kommt folgende Ausgabe (Die ich i.M. noch nicht vollständig interpretieren kann)

Code: Alles auswählen

******** Auszug ***************
AskSin++ V3.1.7 (Mar 14 2019 00:11:42)
Address Space: 32 - 476
CC init1
CC Version: 14
 - ready
Bat: 33
<- 0E 01 86 10 120900 000000 06 01 00 00 00  - 1490
<- 0E 02 86 10 120900 000000 06 02 00 00 00  - 1591
ignore 0F 8F 86 5E 3BD1A3 000000 04 F4 FB 00 DB 88  - 18532
-> 0E 30 B0 11 137E54 120900 02 01 C8 00 00  - 22798
<- 0E 30 80 02 120900 137E54 01 01 C8 00 62  - 22923
ignore 13 D8 86 70 13F83E 000000 00 3C 5A 04 73 C0 2A 1A 83 08  - 25690
-> 0E 39 B0 11 137E54 120900 02 01 00 00 00  - 26744
<- 0E 39 80 02 120900 137E54 01 01 00 00 61  - 26871
-> 0E 42 B0 11 137E54 120900 02 02 C8 00 00  - 30595
<- 0E 42 80 02 120900 137E54 01 02 C8 00 61  - 30722
-> 0E 4B A0 11 137E54 120900 02 02 00 00 00  - 32157
<- 0E 4B 80 02 120900 137E54 01 02 00 00 61  - 32282
…
Allerdings wird der Impuls am ENABLE_PIN nicht gebildet (mit Oszi geprüft). Überhaupt scheint er irgendwie gar keinen trigger für die state machine zu bekommen.
Ich hab mal zum Test:

DPRINT("state - ");DDECLN(state);

direkt vor dem switch(state) gesetzt.
Da keine Ausgabe kommt, denke ich, dass da gar kein trigger kommt.
Da bin ich erst mal etwas ratlos.

Hat jemand evtl. einen Tip für mich?

Schon mal danke für eure Mühe.

rewe0815

papa
Beiträge: 325
Registriert: 22.05.2018, 10:23
Danksagung erhalten: 4 Mal

Re: GARDENA Bewässerungsventil Umbau. Probleme mit Sketch

Beitrag von papa » 14.03.2019, 11:54

Im Master hat sich die API etwas geändert. Die switchSate Methode der SwitchChannel Klasse hat ein weiteres Argument delay erhalten. Deshalb wird sie nicht mehr durch die im Sketch definierte überschrieben. Folgende Änderung in Zeile 121 macht den Sketch wieder funktionstüchtig:

Code: Alles auswählen

  virtual void switchState(__attribute__((unused)) uint8_t oldstate,uint8_t newstate,__attribute__((unused)) uint32_t delay) {
Anfragen zur AskSin++ werden nur im Forum beantwortet

rewe0815
Beiträge: 168
Registriert: 30.09.2010, 09:40

Re: GARDENA Bewässerungsventil Umbau. Probleme mit Sketch

Beitrag von rewe0815 » 14.03.2019, 13:31

papa hat geschrieben:
14.03.2019, 11:54
.. Folgende Änderung in Zeile 121 macht den Sketch wieder funktionstüchtig:

Code: Alles auswählen

  virtual void switchState(__attribute__((unused)) uint8_t oldstate,uint8_t newstate,__attribute__((unused)) uint32_t delay) {
Herzlichen Dank! Ich teste und werde berichten.

rewe0815
Beiträge: 168
Registriert: 30.09.2010, 09:40

Re: GARDENA Bewässerungsventil Umbau. Probleme mit Sketch

Beitrag von rewe0815 » 15.03.2019, 04:42

Funktioniert einwandfrei, wie es soll!
Aaaber Achtung, wer es nachmessen will. Wenn man (wie ich) mit dem Computer oszillografiert, hilft es nicht unbedingt, die Schaltung per 9V Akku zu betreiben.
Hat man zusätzlich noch einen USB-Serial-Adapter angeschlossen um z.B. die seriellen Ausgaben zu bekommen, schließt man unweigerlich einen Impuls kurz!
Also unbedingt den USB-Serial-Adapter abziehen bevor man Oszi einsteckt, oder potentialgetrennte Usb-Adapter verwenden!
Man sieht sonst Fehler, wo keine sind und schlägt sich eine Nacht umsonst um die Ohren.

Daten zur Stromaufname reiche ich noch nach.
Jetzt kann ich aber schon mal sagen, mit der Sketch-Änderung von papa arbeitet die Schaltung perfekt mit dem Ventil, auch wenn der Oszi den Wasserhahn ersetzt hat.

rewe0815

Benutzeravatar
Gelegenheitsbastler
Beiträge: 492
Registriert: 15.10.2017, 07:29
Hat sich bedankt: 1 Mal

Re: GARDENA Bewässerungsventil Umbau. Probleme mit Sketch

Beitrag von Gelegenheitsbastler » 15.03.2019, 12:00

Es freut mich, dass alles auf Anhieb so gut läuft. Dann steht nur noch der Test im Realbetrieb aus. Wenn das alles läuft, werde ich die Platine noch etwas optimieren. Bei der Hardware wird man nicht viel Strom einsparen können. Der Betrieb der LED ist schon jetzt per Lötjumper deaktivierbar.
Der "große 24/7 Stromfresser" ist der AVR mit dem CC1101.

@papa:
Könnte man (zwecks Stromersparnis) den AVR mit 1Mhz statt 8Mhz laufen lassen?
Das Komplizierteste an der Hausautomatisation ist der WAF.™ ​

RaspberryMatic 3.45.7.20190511 auf Raspberry Pi 3B mit HomeMatic Funkmodul von ELV und RTC
FritzBox 7490 FW 7.01 mit Mesh
FritzRepeater 1750E FW 7.01 mit Mesh
FRITZ!DECT 200 (als CUxD Gerät eingebunden)
Etliche selbst gebaute Aktoren und Sender

jp112sdl
Beiträge: 3022
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 6 Mal
Danksagung erhalten: 31 Mal
Kontaktdaten:

Re: GARDENA Bewässerungsventil Umbau. Probleme mit Sketch

Beitrag von jp112sdl » 15.03.2019, 12:38

Max. Ersparnisse erreichst du mit nem 32.768kHz Quarz und RTC.
Schau dir mal die Ausführungen von Tom an:
https://github.com/TomMajor/AskSinPP_Ex ... -save-mode

VG,
Jérôme

papa
Beiträge: 325
Registriert: 22.05.2018, 10:23
Danksagung erhalten: 4 Mal

Re: GARDENA Bewässerungsventil Umbau. Probleme mit Sketch

Beitrag von papa » 15.03.2019, 14:46

Gelegenheitsbastler hat geschrieben:
15.03.2019, 12:00
Könnte man (zwecks Stromersparnis) den AVR mit 1Mhz statt 8Mhz laufen lassen?
Hab das noch nie probiert, wie sich das auf die Timing usw. auswirkt. Aber ich denke, dass die CPU eh die meiste Zeit schläft und dann ist der Takt relativ egal.
Anfragen zur AskSin++ werden nur im Forum beantwortet

TomMajor
Beiträge: 379
Registriert: 30.08.2017, 23:25
Hat sich bedankt: 5 Mal
Danksagung erhalten: 14 Mal
Kontaktdaten:

Re: GARDENA Bewässerungsventil Umbau. Probleme mit Sketch

Beitrag von TomMajor » 15.03.2019, 17:49

papa hat geschrieben:
15.03.2019, 14:46
Gelegenheitsbastler hat geschrieben:
15.03.2019, 12:00
Könnte man (zwecks Stromersparnis) den AVR mit 1Mhz statt 8Mhz laufen lassen?
Hab das noch nie probiert, wie sich das auf die Timing usw. auswirkt. Aber ich denke, dass die CPU eh die meiste Zeit schläft und dann ist der Takt relativ egal.
Aus meiner Erinnerung zum Stromsparen bei modernen Intel CPUs, da war es so dass schnelles Abarbeiten der Task mit max. Frequenz und dann sleep die sparsamste Variante ist im Gegensatz zu niedriger Frequenz und entsprechend längerer Bearbeitung.
Viele Grüße,
Tom

stan23
Beiträge: 587
Registriert: 13.12.2016, 21:14
Wohnort: Altmühltal
Hat sich bedankt: 13 Mal
Danksagung erhalten: 13 Mal
Kontaktdaten:

Re: GARDENA Bewässerungsventil Umbau. Probleme mit Sketch

Beitrag von stan23 » 15.03.2019, 21:16

Ich glaube man kann eine moderne x86 Architektur nicht mit AVR vergleichen :)

Dieses Race2off oder wie man es nennen mag lohnt sich aber nur, wenn die CPU nicht warten muss. Auf IO zu warten (read, denn bei posted-write muss man nicht warten) kostet viel Energie, weil die CPU da quasi steht und keinerlei Power Saving Mechanismus greift. Und IO ist nicht nur die Festplatte, sondern dazu zählt auch etwas aus L1, L2, L3 oder noch weiter entferntem flüchtigem Speicher zu laden.
papa hat geschrieben:
15.03.2019, 14:46
Aber ich denke, dass die CPU eh die meiste Zeit schläft und dann ist der Takt relativ egal.
Treibt der Takt dann nicht noch eine Timer Unit, um rechtzeitig zum Burst-Fenster wieder aufzuwachen? Dann ist es tatsächlich ein Unterschied, ob das mit 8 MHz wackelt oder mit 32 kHz.

Stichwort Cdyn, die Kapazitäten die bei jedem Takt umgeladen werden müssen.
Viele Grüße
Marco

RaspberryMatic
~60 Geräte (HM, HmIP, HMW, HBW, AskSin)

papa
Beiträge: 325
Registriert: 22.05.2018, 10:23
Danksagung erhalten: 4 Mal

Re: GARDENA Bewässerungsventil Umbau. Probleme mit Sketch

Beitrag von papa » 15.03.2019, 21:21

Während des Sleep läuft nur der interne Watchdogtimer http://microchipdeveloper.com/8avr:avrwdt. Der Haupttakt ist dann aus. Ist also egal ob 8 oder 1 MHz.
Anfragen zur AskSin++ werden nur im Forum beantwortet

Antworten

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