Fragen zur Stromversorgung, RS485 und Programmierung der Nodes

Begonnen von frober, 01 Oktober 2019, 19:38:12

Vorheriges Thema - Nächstes Thema

frober

Warum nicht?
Wo kann ich nach Fehler suchen?

Habe gerade festgestellt, dass der Nano nur 4V bringt, kann das auch ein Problem sein?

Ich habe beide RS485 nun wieder über den Uno versorgt.
Raspi 3b mit Raspbian Buster und relativ aktuellem Fhem,  FS20, LGW, PCA301, Zigbee, MQTT, MySensors mit RS485(CAN-Receiver) und RFM69, etc.,
einiges umgesetzt, vieles in Planung, smile

********************************************
...man wächst mit der Herausforderung...

Beta-User

Man sieht das an "255-255-..." (such mal nach log Parser auf den MySensors-Seiten).

Du hast sicher mehr als eine potentielle Fehlerquelle, aber ohne NodeID wird es definitiv nicht gehen, das ist zwingend der erste zu beseitigende Punkt. Es war auch keine sooo gute Idee, die Widerstände "präventiv" in dem Umfang zu entfernen: je einer der 120-er an jedem Ende des Bus sind schon sinnvoll, stören tut erst die 4. Node ohne Widerstand (jedenfalls nach meinen praktischen Erfahrungen...).
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

frober

log Parser habe ich mal gelesen, werde ich heute abend danach schauen.

Ich teste auch mal mit dem Logic-Analyser was die Schnittstelle zu melden hat, bzw. Ob etwas ankommt.

Widerstände bin ich nach Anleitung vorgegangen, einer original, der 2. nur die 20k an VCC und GND entfernt. D.h. 120 an jeder Seite vorhanden.
Raspi 3b mit Raspbian Buster und relativ aktuellem Fhem,  FS20, LGW, PCA301, Zigbee, MQTT, MySensors mit RS485(CAN-Receiver) und RFM69, etc.,
einiges umgesetzt, vieles in Planung, smile

********************************************
...man wächst mit der Herausforderung...

Beta-User

Ok, das mit den Widerständen hatte ich nur "aus dem Augenwinkel" wahrgenommen, dann sollte das passen.

Wie geschrieben: Die NodeID-Vergabe hat nicht geklappt, das mußt du als erstes fixen (steht da im Sketch "unter" dem, was du manuell festgelegt hattest noch "auto"?), bis dahin kannst du dir m.E. die weitere Fehlersuche sparen.

Ansonsten: den "Starter-Guide" im Wiki hast du gelesen? Da steht u.a. auch das mit "Node_0" usw. drin. Kurz: das ist ganz normal, dass die angelegt wird.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

frober

Wiki habe ich gelesen.
Die Sketches habe ich die Bsp. ohne Änderung übernommen. Nur im Motion habe ich die ID vor 'include mysensoers.h' verschoben.

Wo muß 'auto' stehen?

Mit dem MySensors-Wiki bin ich noch nicht weit, da ich vieles übersetzen muß. Mein Englisch ist zu mager um alles zu verstehen. 
Raspi 3b mit Raspbian Buster und relativ aktuellem Fhem,  FS20, LGW, PCA301, Zigbee, MQTT, MySensors mit RS485(CAN-Receiver) und RFM69, etc.,
einiges umgesetzt, vieles in Planung, smile

********************************************
...man wächst mit der Herausforderung...

Beta-User

Es darf eben KEIN auto mehr da stehen, und korrekt: das ganze muß vor das "include"...
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

frober

So, ich habe alles nochmal kontrolliert und auch den Log Parser benutzt.

Bin ratlos.... :(

Arduino IDE 1.8.5
Board 1.6.20
MySensor 2.3.1

Log GW sollte passen:
Zitat0;255;3;0;9;0 MCO:BGN:INIT GW,CP=RSNGA---,REL=255,VER=2.3.1
0;255;3;0;9;5 TSM:INIT
0;255;3;0;9;7 TSF:WUR:MS=0
0;255;3;0;9;9 TSM:INIT:TSP OK
0;255;3;0;9;12 TSM:INIT:GW MODE
0;255;3;0;9;15 TSM:READY:ID=0,PAR=0,DIS=0
0;255;3;0;9;18 MCO:REG:NOT NEEDED
0;255;3;0;14;Gateway startup complete.
0;255;0;0;18;2.3.1
0;255;3;0;9;23 MCO:BGN:STP
0;255;3;0;9;29 MCO:BGN:INIT OK,TSP=1
0;255;3;0;9;32 TSM:READY:NWD REQ
0;255;3;0;9;52 TSF:MSG:SEND,0-0-255-255,s=255,c=3,t=20,pt=0,l=0,sg=0,ft=0,st=OK:

Log Node, keine ID :o
Zitat16 MCO:BGN:INIT NODE,CP=RSNNA---,REL=255,VER=2.3.1
26 TSM:INIT
27 TSF:WUR:MS=0
28 TSM:INIT:TSP OK
30 TSM:FPAR
49 TSF:MSG:SEND,255-255-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK:
2056 !TSM:FPAR:NO REPLY
2058 TSM:FPAR
2075 TSF:MSG:SEND,255-255-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK:
4083 !TSM:FPAR:NO REPLY
4085 TSM:FPAR
4103 TSF:MSG:SEND,255-255-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK:
6111 !TSM:FPAR:NO REPLY
6113 TSM:FPAR
6130 TSF:MSG:SEND,255-255-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK:
8138 !TSM:FPAR:FAIL
8139 TSM:FAIL:CNT=1
8141 TSM:FAIL:DIS
8143 TSF:TDI:TSL

Sketch vom Motion Node:
/*
* The MySensors Arduino library handles the wireless radio link and protocol
* between your home built sensors/actuators and HA controller of choice.
* The sensors forms a self healing radio network with optional repeaters. Each
* repeater and gateway builds a routing tables in EEPROM which keeps track of the
* network topology allowing messages to be routed to nodes.
*
* Created by Henrik Ekblad <henrik.ekblad@mysensors.org>
* Copyright (C) 2013-2018 Sensnology AB
* Full contributor list: https://github.com/mysensors/MySensors/graphs/contributors
*
* Documentation: http://www.mysensors.org
* Support Forum: http://forum.mysensors.org
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* version 2 as published by the Free Software Foundation.
*
*******************************
*
* REVISION HISTORY
* Version 1.0 - Henrik Ekblad
*
* DESCRIPTION
* This is an example of sensors using RS485 as transport layer
*
* Motion Sensor example using HC-SR501
* http://www.mysensors.org/build/motion
*
* If your Arduino board has additional serial ports
* you can use to connect the RS485 module.
* Otherwise, the transport uses AltSoftSerial to handle two serial
* links on one Arduino. Use the following pins for RS485 link
*
*  Board          Transmit  Receive   PWM Unusable
* -----          --------  -------   ------------
* Teensy 3.0 & 3.1  21        20         22
* Teensy 2.0         9        10       (none)
* Teensy++ 2.0      25         4       26, 27
* Arduino Uno        9         8         10
* Arduino Leonardo   5        13       (none)
* Arduino Mega      46        48       44, 45
* Wiring-S           5         6          4
* Sanguino          13        14         12 *
*
*/

// Enable debug prints to serial monitor
#define MY_DEBUG

// Enable RS485 transport layer
#define MY_RS485

// Define this to enables DE-pin management on defined pin
#define MY_RS485_DE_PIN 2

// Set RS485 baud rate to use
#define MY_RS485_BAUD_RATE 9600

// Enable this if RS485 is connected to a hardware serial port
//#define MY_RS485_HWSERIAL Serial1

#define CHILD_ID 1   // Id of the sensor child

#include <MySensors.h>

uint32_t SLEEP_TIME = 120000; // Sleep time between reports (in milliseconds)
#define DIGITAL_INPUT_SENSOR 3   // The digital input you attached your motion sensor.  (Only 2 and 3 generates interrupt!)


// Initialize motion message
MyMessage msg(CHILD_ID, V_TRIPPED);

void setup()
{
pinMode(DIGITAL_INPUT_SENSOR, INPUT);      // sets the motion sensor digital pin as input
}

void presentation()
{
// Send the sketch version information to the gateway and Controller
sendSketchInfo("Motion Sensor", "1.0");

// Register all sensors to gw (they will be created as child devices)
present(CHILD_ID, S_MOTION);
}

void loop()
{
// Read digital motion value
bool tripped = digitalRead(DIGITAL_INPUT_SENSOR) == HIGH;

Serial.println(tripped);
send(msg.set(tripped?"1":"0"));  // Send tripped value to gw

// Sleep until interrupt comes in on motion sensor. Send update every two minute.
sleep(digitalPinToInterrupt(DIGITAL_INPUT_SENSOR), CHANGE, SLEEP_TIME);
}


Ich sehe keine Fehler habe aber auch noch keine Erfahrung mit MySensors :(

Gruß und Danke Bernd
Raspi 3b mit Raspbian Buster und relativ aktuellem Fhem,  FS20, LGW, PCA301, Zigbee, MQTT, MySensors mit RS485(CAN-Receiver) und RFM69, etc.,
einiges umgesetzt, vieles in Planung, smile

********************************************
...man wächst mit der Herausforderung...

Ranseyer

Die Child-ID ist nicht gemeint, sondern...
Zitat#define MY_NODE_ID 120



Da ich Konfigurationen brauche die sofort funktionieren liegen diese in meinem Github.
Ist zwar kein Hexenwerk, aber wird trotzdem helfen, einfach mal 1:1 diese beiden Sketche nehmen falls dein nächster Anlauf nicht klappt:
https://github.com/ranseyer/MySensors-HW/tree/master/MySensors-HM-easy-PCB-RFM-CC1101-RS485-NRF/Sketch/Motion_RS485
https://github.com/ranseyer/MySensors-HW/tree/master/Gateway-RFM-RS485/Sketch/MyS-Serial-RS485/MyS-Serial-GW-RS485
FHEM mit FTUI. Homematic-Funk für Thermostate und Licht. MySensors als Basis für eigene HW.
Zentrale ist der MAPLE-CUL mit RFM69+HModUART-AddOn.
Doku zu meinen Projekten: Github/Ranseyer. Platinen falls verfügbar gerne auf Anfrage.
Support: gerne wenn ich Zeit+Lust habe im Forum. Nicht per PN!

frober

Jetzt​ wo ich es lese, Kopf schlag....danke.

Werde auch deine Bsp. testen/nutzen.
Raspi 3b mit Raspbian Buster und relativ aktuellem Fhem,  FS20, LGW, PCA301, Zigbee, MQTT, MySensors mit RS485(CAN-Receiver) und RFM69, etc.,
einiges umgesetzt, vieles in Planung, smile

********************************************
...man wächst mit der Herausforderung...

frober

Sie reden miteinander....in die Luft spring. ;D

Wenn man sich auf fertige Bsp. verlässt... :(

Etwas positives...wieder etwas gelernt ;)
Raspi 3b mit Raspbian Buster und relativ aktuellem Fhem,  FS20, LGW, PCA301, Zigbee, MQTT, MySensors mit RS485(CAN-Receiver) und RFM69, etc.,
einiges umgesetzt, vieles in Planung, smile

********************************************
...man wächst mit der Herausforderung...

frober

Zitat von: Beta-User am 02 Oktober 2019, 12:01:38
Als Stepdown habe ich dazu (nur optisch verglichen!) diese im Einsatz (Achtung: bei denen hatte ich eine hohe Fehlerquote...! Die die laufen, scheinen aber (dauerhaft) ok zu sein.). Empfinde die als besser wie die 1117-er.
Was ist bei dir der Fehler? Ich habe sie mir auch besorgt und gerade festgestellt, dass der Poti zu nah an der Drosselspule sitzt und sich deswegen nicht komplett drehen lässt. Deswegen komme ich nicht weiter runter als auf 7-8 Volt.
Muss wohl heiß nacharbeiten. >:(

Zitat(Ansonsten: das mit den CAN-Transceivern (MCP2551) funktioniert wirklich und ist kaum teurer ;) ).
Welchen Widerstand hast du von PIN8 RS auf Grund?
Wenn ich das Datenblatt richtig verstanden habe, ist in unserem Fall der Wert egal, Hauptsache bei allen am Bus gleich!?

ZitatP.S.: Hat jemand Erfahrung mit den AQY212EH laut Datenblatt 60V, 0,55A DC/AC  sollten für meine Hunter-Ventile reichen. Kurzzeitig bis 1,5A
Da ich die Teile schon länger habe, habe ich sie mal getestet. Sind PhotoMos, also letztendlich auch SS-Relays. 560 Ohm vor die LED, ca. 6,5mA (Schaltschwelle 5mA) und die Hunter schalten problemlos. Keine Erwärmung spürbar.

ZitatHabe gerade festgestellt, dass der Nano nur 4V bringt, kann das auch ein Problem sein?
Warum der Nano nur (Messwert) 4,2V bringt ist nun auch klar. Die Originale haben eine Shottky-Diode (Spannungsabfall 0,3-0,4V) um den USB-Port zu schützen. Bei den Clones scheint es eine normale Diode (0,7-0,8V) zu sein.
Raspi 3b mit Raspbian Buster und relativ aktuellem Fhem,  FS20, LGW, PCA301, Zigbee, MQTT, MySensors mit RS485(CAN-Receiver) und RFM69, etc.,
einiges umgesetzt, vieles in Planung, smile

********************************************
...man wächst mit der Herausforderung...

Beta-User

Fehler auch hier: Spannung läßt sich nicht (auf den gweünschten Wert) einstellen, allerdings war das bei den betroffenen Modulen kein mechanisches Problem, sondern der Poti war schlicht wirkungslos...

Was die Widerstandsgeschichte angeht: Ich hatte erst die MAX485 im Einsatz und habe die (auf den "bekannten" Modulen") durch 487-er Varianten ersetzt gehabt und dabei die überflüssigen Widerstände alle runtergeworfen. Beim Wechsel zu den CAN-Transceivern hatte ich dann erst die TJA1050 im Einsatz. Um die einzubauen, hatte ich dann die fertigen TJA1050-Module mit Lochrasterplatinen auf die vorhandenen Sochel für die MAX-Module adaptiert. Nachdem das mit den hohen Baudraten bei mir zwar geklappt hat (ich verwende hardwareserial), ich aber dann auch eine Lösung haben/testen wollte, die auch mit den default-Baudraten funktioniert, habe ich dann eine Ladung MCP2551 bestellt, und zwar sowohl fertige Module (die sind lila) wie auch IC's. Die IC's habe ich dann auf die (adaptierten...) TJA-Module gelötet.

Was du also auf https://wiki.fhem.de/wiki/Datei:MCP2551_Pro_Micro_GW_Breadboard.PNG siehst, ist ein GW auf ProMicro-Basis (zwei hardare-Serial-Schnittstellen) und auf MCP2551-IC umgelötetem TJA-Modul... Leider kann ich mich grade nicht mehr entsinnen, ob ich von denen irgendwelche Widerstände runter habe, aber im Prinzip bleibt die schlichte Aussage: Busauslegung sollte so sein wie bei RS485 sonst auch üblich.

Die meisten meiner Nodes und auch das GW laufen mit den "TJA-Modulen", die lilanen habe ich nur an einer Node im produktiven Einsatz, sonst zum testen für neue Nodes (die würde ich dann auch gleich entsprechend löten, bei den bestehenden gilt "never touch...").
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

frober

Bezgl. Widerstand bezog sich nicht auf die Terminierung, sondern lt. Datenblatt
1.7.8 SLOPE  RESISTOR  INPUT  (RS) The RS  pin  is  used  to  select  High-Speed,  Slope-Control or  Standby  modes  via  an  external  biasing resistor.


Die meisten verwenden 4,7k, habe aber auch Schaltungen ohne gesehen.
Raspi 3b mit Raspbian Buster und relativ aktuellem Fhem,  FS20, LGW, PCA301, Zigbee, MQTT, MySensors mit RS485(CAN-Receiver) und RFM69, etc.,
einiges umgesetzt, vieles in Planung, smile

********************************************
...man wächst mit der Herausforderung...

frober

Habe weiter geforscht, die TJA1050 sind lt. Datenblatt am PIN8 standardmäßig auf Masse gezogen.

Ich werde es bei den MCP genauso handhaben (Highspeed).
Raspi 3b mit Raspbian Buster und relativ aktuellem Fhem,  FS20, LGW, PCA301, Zigbee, MQTT, MySensors mit RS485(CAN-Receiver) und RFM69, etc.,
einiges umgesetzt, vieles in Planung, smile

********************************************
...man wächst mit der Herausforderung...

frober

So, ich habe einige Sensoren testweise zum laufen gebracht.

Aktuell benutze ich den MCP2551 als Transreciever mit 19200 Baud auf Softseriell.

@Beta-User: Ich habe deinen DS19B20_simple-Sketch mit 3 Sensoren getestet. Die ID's kommen in Fhem nicht richtig an, d.h. nur die Letzte und nur sporadisch. In der Konsole sehe ich alle. Liegt das am MCP (kleinerer Puffer o.ä.), oder ist die Baudrate zu gering?

Was mir auch unklar ist, alle Relay-Sketche, die ich bisher angeschaut habe,  schreiben den Zustand ins EEPROM. Ist das notwendig?
Bei  einer Bewässerung sollten die Relays bei Störung (reboot) doch nicht wieder unkontrolliert einschalten.
D.h. bei Setup werden alle PIN's auf LOW gesetzt und beim Betrieb mit einer Notauszeit überwacht.

Gruß und danke
Bernd
Raspi 3b mit Raspbian Buster und relativ aktuellem Fhem,  FS20, LGW, PCA301, Zigbee, MQTT, MySensors mit RS485(CAN-Receiver) und RFM69, etc.,
einiges umgesetzt, vieles in Planung, smile

********************************************
...man wächst mit der Herausforderung...