Hauptmenü

I2C_MCP342x

Begonnen von klausg, 05 Juni 2015, 10:18:16

Vorheriges Thema - Nächstes Thema

klausg

Benutzt jemand das Modul I2C_MCP342x und kann mir helfen es zum Laufen zu bekommen? Es sieht so aus, dass das Modul in meiner Version Fehler hat und FHEM zum Absturz bringt. Wenn man das behebt bleibt der Status immer auf defined.

klausw

Ist das Thema noch aktuell? Oder läuft es inzwischen?
RasPi B v2 mit FHEM 18B20 über 1Wire, LED PWM Treiber über I2C, Luchtdruck-, Feuchtesensor und ein paar Schalter/LED\'s zum testen
Module: RPI_GPIO, RPII2C, I2C_EEPROM, I2C_MCP23008, I2C_MCP23017, I2C_MCP342x, I2C_PCA9532, I2C_PCF8574, I2C_SHT21, I2C_BME280

Heimbastler

Hallo Klaus,

ich versuche gerade mit diesem Modul ein ADC-Board für Messzwecke auf einem RaspberryPi zum laufen zu bekommen.

Folgendes verwende ich, habe ich bisher gemacht:
- Raspberry Pi B+
- Ein ADC Board von hier: https://www.abelectronics.co.uk/p/56/ADC-Pi-Plus-Raspberry-Pi-Analogue-to-Digital-converter
- neusten Kernel geladen und 1-Wire, GPIO und RPII2C in Verwendung


define RPII2C.1 RPII2C 1
attr RPII2C.1 room ADC
attr RPII2C.1 verbose 5

define MCP3424.CH1234 I2C_MCP342x 68 4
attr MCP3424.CH1234 IODev RPII2C.1
attr MCP3424.CH1234 room ADC


1. Habe ich das richtig gemacht mit der Formatierung im define im Modul RPII2C mit 68(i2c Adresse) und 4 (Anzahl der Kanäle)?
Auf dem Board sind 2x MCP3424 verbaut, deswegen der Name für den 1sten Chip mit MCP3424.CH1234. Diese haben jeweils 4x+ und 4x- als Eingang. Oder muss ich 8 Kanäle definieren?  :-X
2. In dem Device-Menü vom I2C_MCP342x Modul kann ich im Dropdown nur 1+2 auswählen, nicht 1+2+3+4 wie gedacht, oder sind das die doch die i2c Busse aus dem anderen  Modul RPII2C?
3. Gibt der Treiber / das Modul I2C_MCP342x die Ergebnisse in HEX oder Volt aus?

Hier noch Ausgaben in meinem Log wenn ich z.Bsp. <get RPII2C.1 read 68> eingebe:


2016.03.07 17:47:05 5: RPII2C.1: HWaccess I2CAddr: 0x68
2016.03.07 17:47:05 5: RPII2C.1: vom client empfangen|direction: i2cbyteread|i2caddress: 104


Dieses Device scheint denke ich zu laufen.


Am Ende will ich nur 3 Eingänge von einem der beiden MCP3424 auslesen und die Werte in Volt loggen. Bei Abweichungen soll dann vlt das Threshold-Modul einen Alarm per Pushover o.ä. senden.

Danke und VG
Alex
RasPi 3 mit FHEM V5.7 3x18B20 über 1Wire,  CUL868, 4xIT-Schalter, 6xELRO-Schalter, 6xReed-Kontakte, 2xMAX-Fensterkontakt, 3xMAX-Thermostate, 2xMAX-Wandthermostate
PID20, RPI_GPIO, HCW, Alarm, Pushover, GPIO4, MAX, ECMD,IT, AT,

klausw

Zitat von: Heimbastler am 07 März 2016, 18:02:54
1. Habe ich das richtig gemacht mit der Formatierung im define im Modul RPII2C mit 68(i2c Adresse) und 4 (Anzahl der Kanäle)?
Auf dem Board sind 2x MCP3424 verbaut, deswegen der Name für den 1sten Chip mit MCP3424.CH1234. Diese haben jeweils 4x+ und 4x- als Eingang. Oder muss ich 8 Kanäle definieren?  :-X
sieht soweit gut aus
die 4 ist richtig, Jeder Kanal hat je einen + und einen - Pin

Zitat von: Heimbastler am 07 März 2016, 18:02:54
2. In dem Device-Menü vom I2C_MCP342x Modul kann ich im Dropdown nur 1+2 auswählen, nicht 1+2+3+4 wie gedacht, oder sind das die doch die i2c Busse aus dem anderen  Modul RPII2C?
Hmm, ich habe nur die 2 Kanalige Version.
Da sollten 4 Kanäle sein ... muss ich nochmal drüberschauen. Das wird aber nix vor nächster Woche.
Zitat von: Heimbastler am 07 März 2016, 18:02:54
3. Gibt der Treiber / das Modul I2C_MCP342x die Ergebnisse in HEX oder Volt aus?
Volt
Zitat von: Heimbastler am 07 März 2016, 18:02:54
Hier noch Ausgaben in meinem Log wenn ich z.Bsp. <get RPII2C.1 read 68> eingebe:


2016.03.07 17:47:05 5: RPII2C.1: HWaccess I2CAddr: 0x68
2016.03.07 17:47:05 5: RPII2C.1: vom client empfangen|direction: i2cbyteread|i2caddress: 104


Dieses Device scheint denke ich zu laufen.
werden denn Readings angelegt?
Wenn ja dann läuft es
RasPi B v2 mit FHEM 18B20 über 1Wire, LED PWM Treiber über I2C, Luchtdruck-, Feuchtesensor und ein paar Schalter/LED\'s zum testen
Module: RPI_GPIO, RPII2C, I2C_EEPROM, I2C_MCP23008, I2C_MCP23017, I2C_MCP342x, I2C_PCA9532, I2C_PCF8574, I2C_SHT21, I2C_BME280

Heimbastler

Hallo Klaus,

danke für die Hilfe.

Redings kann ich nicht sehen im Device-Menü / in der Device-Ansicht:
(//)


Gebe ich folgende dinge im Menü für get... ein kommt follgendes:
1. get  MCP3424.CH1234 <nichts>
--> <es passiert nichts>
2. get  MCP3424.CH1234 1
--> Wrong resolution, use 12, 14, 16 or 18
3. get  MCP3424.CH1234 1 12
--> Wrong resolution, use 12, 14, 16 or 18
4. get  MCP3424.CH1234 12
--> <es passiert nichts>
5. get  MCP3424.CH1234 2
--> Unknown argument 2, choose one of 1 2
6. get  MCP3424.CH1234 2 <irgendwas>
--> Unknown argument 2, choose one of 1 2

hatte die default werte nochmals per attr definiert. kein Unterschied.

define MCP3424.CH1234 I2C_MCP342x 68 4
attr MCP3424.CH1234 IODev RPII2C.1
attr MCP3424.CH1234 ch1factor 1
attr MCP3424.CH1234 ch1gain 1
attr MCP3424.CH1234 ch1resolution 12
attr MCP3424.CH1234 ch1roundDecimal 3
attr MCP3424.CH1234 poll_interval 1
attr MCP3424.CH1234 room ADC
attr MCP3424.CH1234 verbose 5


Das I2C_MCP342x Modul hinterlässt auch keine einträge im log, aber das IODevice RPII2C.1

Danke und einen schönen Abend noch,
Alex
RasPi 3 mit FHEM V5.7 3x18B20 über 1Wire,  CUL868, 4xIT-Schalter, 6xELRO-Schalter, 6xReed-Kontakte, 2xMAX-Fensterkontakt, 3xMAX-Thermostate, 2xMAX-Wandthermostate
PID20, RPI_GPIO, HCW, Alarm, Pushover, GPIO4, MAX, ECMD,IT, AT,

Heimbastler

Hallo Klaus,

habe nun meinen Messaufbau soweit fertig. Auf dem Testboard werden bis zu 24 Teile montiert und in einer Prüfkammer werden dann jeweils Temperatur und Spannung aufgezeichnet. Leider habe ich bei dem ADC-Board immer noch keinen Erfolg.

Ist es denkbar das Du Dir das Modul noch mal bezüglich dem Einsatz von MCP3424 anschauen kannst?


VG
Alex
RasPi 3 mit FHEM V5.7 3x18B20 über 1Wire,  CUL868, 4xIT-Schalter, 6xELRO-Schalter, 6xReed-Kontakte, 2xMAX-Fensterkontakt, 3xMAX-Thermostate, 2xMAX-Wandthermostate
PID20, RPI_GPIO, HCW, Alarm, Pushover, GPIO4, MAX, ECMD,IT, AT,

Heimbastler

Hallo noch Mal,

habe in die 52_I2C_MCP342x.pm reingeschaut und versucht zu verstehen an welcher Stelle die 4 Kanäle definiert/abgefragt werden. Kann es sein das in Zeile 83 folgendes Einfluss darauf nimmt?


eval { I2C_MCP342x_Init( $hash, [ @a[ 2 .. scalar(@a) - 1 ] ] ); };


VG
Alex
RasPi 3 mit FHEM V5.7 3x18B20 über 1Wire,  CUL868, 4xIT-Schalter, 6xELRO-Schalter, 6xReed-Kontakte, 2xMAX-Fensterkontakt, 3xMAX-Thermostate, 2xMAX-Wandthermostate
PID20, RPI_GPIO, HCW, Alarm, Pushover, GPIO4, MAX, ECMD,IT, AT,

klausw

Zitat von: Heimbastler am 16 März 2016, 21:13:20
habe in die 52_I2C_MCP342x.pm reingeschaut und versucht zu verstehen an welcher Stelle die 4 Kanäle definiert/abgefragt werden. Kann es sein das in Zeile 83 folgendes Einfluss darauf nimmt?


eval { I2C_MCP342x_Init( $hash, [ @a[ 2 .. scalar(@a) - 1 ] ] ); };

Da wird nur die Initialisierung aufgerufen.
In dem @a ist auch die Kanalzahl mit drin (sofern beim define angegeben).
RasPi B v2 mit FHEM 18B20 über 1Wire, LED PWM Treiber über I2C, Luchtdruck-, Feuchtesensor und ein paar Schalter/LED\'s zum testen
Module: RPI_GPIO, RPII2C, I2C_EEPROM, I2C_MCP23008, I2C_MCP23017, I2C_MCP342x, I2C_PCA9532, I2C_PCF8574, I2C_SHT21, I2C_BME280

klausw

Update sollte morgen verfügbar sein.
Das Modul akzeptierte generell keine Parameter.
Ohne (Adresse 0x68 und 2 Kanäle) funktionierte es.

Denke bitte dran: Adresse in hex: 0x68 oder dezimal: 104
RasPi B v2 mit FHEM 18B20 über 1Wire, LED PWM Treiber über I2C, Luchtdruck-, Feuchtesensor und ein paar Schalter/LED\'s zum testen
Module: RPI_GPIO, RPII2C, I2C_EEPROM, I2C_MCP23008, I2C_MCP23017, I2C_MCP342x, I2C_PCA9532, I2C_PCF8574, I2C_SHT21, I2C_BME280

Heimbastler

 :D

sieht erst mal gut aus...hier ein kleiner Auszug aus der Log:

2016.03.31 08:27:01 5: RPII2C.1: vom client empfangen|nbyte: 5|direction: i2cread|i2caddress: 104
2016.03.31 08:27:01 5: RPII2C.1: HWaccess I2CAddr: 0x68
2016.03.31 08:27:01 5: RPII2C.1: vom client empfangen|nbyte: 5|direction: i2cread|i2caddress: 104
2016.03.31 08:27:01 5: RPII2C.1 ->Client gefunden: MCP3424.CH1234, I2Caddress: 104 Gelesen: 255 253 64 64 64


...in der Device-Ansicht sind nun auch Readings zu sehen...
...werde dann heute mal noch die Hardware anschliessen und berichten...jetzt waren die Eingänge noch "offen".... :o

vielen Dank so weit...
RasPi 3 mit FHEM V5.7 3x18B20 über 1Wire,  CUL868, 4xIT-Schalter, 6xELRO-Schalter, 6xReed-Kontakte, 2xMAX-Fensterkontakt, 3xMAX-Thermostate, 2xMAX-Wandthermostate
PID20, RPI_GPIO, HCW, Alarm, Pushover, GPIO4, MAX, ECMD,IT, AT,

HRueck

Habe wohl das gleiche Problem:

Ein 4-Kanal Modul (auch von AB electronics) wird erkannt, zeigt aber nur 2 Kanäle zum abfragen und keine readings.

Wenn das Modul an einer anderen Installation betrieben wird, klappt alles bestens.

Beide Systeme sind upgedatet.
Warum geht es dann einmal und einmal nicht?

Gruss Herbert

Heimbastler

Hi Herbert...

hast Du mal versucht ob die 2 Kanäle tatsächlich komunizieren? Ich hatte teatweise Batterien an 3 Kanälen angelegt um das ganze zu kalibrieren. Also konkret eine Spannung angelegt um ein Reading zu erkennen.

Leider schon eine Weile her. Fall ich Montag dazu komme versuche ich noch mal meinen Werdegang nachzuvollziehen.

Viel Glück
Alex
RasPi 3 mit FHEM V5.7 3x18B20 über 1Wire,  CUL868, 4xIT-Schalter, 6xELRO-Schalter, 6xReed-Kontakte, 2xMAX-Fensterkontakt, 3xMAX-Thermostate, 2xMAX-Wandthermostate
PID20, RPI_GPIO, HCW, Alarm, Pushover, GPIO4, MAX, ECMD,IT, AT,

HRueck

das Problem scheint hier zu liegen:

define MCP342x_1 I2C_MCP342x 0x6A 4
attr MCP342x_1 IODev I2C

im log:
error initializing 'MCP342x_1': Define: Wrong syntax. Usage:define <name> MCP342x [<i2caddress>] [<type>]

ich habe auch schon mit den Parametern gespielt. Klammern, kleines a ....

das komische ist aber wie schon gesagt, dass mit genau der obigen Definition das Board auf einer anderen Installation korrekt läuft.

Gruss Herbert

klausw

Poste hier bitte die Ausgabe von
version I2C_MCP342x
von beiden Installationen

und von
list MCP342x_1
von der Funktionierenden

hast du anstelle von 0x6A mal 106 probiert?
RasPi B v2 mit FHEM 18B20 über 1Wire, LED PWM Treiber über I2C, Luchtdruck-, Feuchtesensor und ein paar Schalter/LED\'s zum testen
Module: RPI_GPIO, RPII2C, I2C_EEPROM, I2C_MCP23008, I2C_MCP23017, I2C_MCP342x, I2C_PCA9532, I2C_PCF8574, I2C_SHT21, I2C_BME280

HRueck

Version: 52_I2C_MCP342x.pm 12059 2016-08-22 21:14:59Z klauswitt
bei beiden Installationen.

Da wo es nicht geht:
Internals:
   DEF        0x6a 4
   IODev      I2C
   NAME       MCP342x_1
   NR         80
   STATE      defined
   TYPE       I2C_MCP342x
Attributes:
   IODev      I2C
   room       Interfaces

Da wo es geht:
Internals:
   DEF        0x6A 4
   IODev      I2C
   NAME       MCP342x_1
   NR         23
   STATE      defined
   TYPE       I2C_MCP342x
   Readings:
     2016-09-17 12:00:16   Channel1        0.000
     2016-09-17 12:00:16   Channel2        0.000
     2016-09-17 12:00:16   Channel3        0.000
     2016-09-17 12:00:16   Channel4        0.000
     2016-09-17 12:00:16   state           Ok
Attributes:
   IODev      I2C
   poll_interval 1
   room       Interfaces

Die dezimale Adresse hat nichts gebracht.