RE: Arduino und I2C-Port-Expander PCF8574

#1 von SET800 , 27.02.2017 23:29

Hallo,
den Portexpander will ich für Eingänge verwenden, aus den Beschreibungen konnte ich nicht erkennen ob der Baustein Bits positver Logik die nur sehr kurz anliegen, z.B. reed-Kontakte speichert? Löschung dannach dem Auslesen über den I2C-Bus?

Oder muß ich öfter auslesen als der kürzesten Signalzeit entspricht?


SET800  
SET800
EuroCity (EC)
Beiträge: 1.453
Registriert am: 05.12.2010
Ort: Mühldorf am Inn
Spurweite H0, Z
Stromart AC, Digital


RE: Arduino und I2C-Port-Expander PCF8574

#2 von spock ( gelöscht ) , 28.02.2017 00:46

Hallo,

Ein reed-kontact ist ein relatief langsaam. Sie konnen also pollen. Es gibt auch die moglichkeit om die interrupt von der 8574 an d2 von der arduino zu verbinden. Wen ein eingang von der 8574 weckselt dan wird ein interrupt erzeugt.
Die interrupt routine fragt die eingangen per i2c an.

spock


spock

RE: Arduino und I2C-Port-Expander PCF8574

#3 von Klaus3 , 28.02.2017 09:04

Erst mal würde ich keinen Port Extender benutzen, sondern einfach einen ausreichend großen Controller, ggf. auch mehrere. Ermöglicht eine flexiblere Programmierung und kostet auch nicht wirklich mehr. Die 40 Cent unterschied zwischen einem Tiny und 'nem PCF sollten ja nicht stören

Zum Reedkontakt: Die sind nicht wirklich langsam, sondern machen auch lustige Sachen, wenn man genauer hinschaut. Kaum etwas prellt so schön wie ein Reedkontakt. Wenn man also mit schnellen Controllern auf so einen Kontakt "schaut", dann hat man ggf. mehrere dutzend Flanken, wenn das Ding schaltet. Man muß mal zumindest in Software entprellen, wenn die Anwendung "brauchbare" Pulse braucht.

Eine brauchbare Eingangsbeschaltung wäre dann auch sinnvoll. Die langen Leitungen unter der Moba fangen eine Menge an "Dreck" ein, die man besser an einem geeigneten Punkt "filtert". Überpsannungsschutz und Strombegrenzung machen da schon Sinn. Die fetten Pulse einfach über die Schutzdioden der Controller oder Expander laufen zu lassen dürfte i.d.R. irgendwann schief gehen.

Gruß
Klaus


Klaus3  
Klaus3
InterCity (IC)
Beiträge: 558
Registriert am: 06.11.2015
Spurweite N
Stromart DC


RE: Arduino und I2C-Port-Expander PCF8574

#4 von SET800 , 28.02.2017 10:14

Hallo,
meine Sensorsignale schicke ich alle über Optokoppler, von daher habe ich keine Überspannungsimpulse.

Und prellen stört ich auch nicht, meine Progrmmierung realisierte ich als "Zustandsautomat", da ist es egal ob das Bit für einen Zustandsübergang 1-mal oder 100-mal anliegt. Nach dem Zustandsübergang interesiert das Bit nicht mehr. Mir liegt nur daran es bei kurzen on-Zeit es mitzubekommen, trotz I2C.


SET800  
SET800
EuroCity (EC)
Beiträge: 1.453
Registriert am: 05.12.2010
Ort: Mühldorf am Inn
Spurweite H0, Z
Stromart AC, Digital


RE: Arduino und I2C-Port-Expander PCF8574

#5 von Klaus3 , 28.02.2017 11:48

Zitat

Hallo,
meine Sensorsignale schicke ich alle über Optokoppler, von daher habe ich keine Überspannungsimpulse.



Und die Sendediode im Koppler braucht dann keine Schutzbeschaltung? OK, wenn's klappt. Ich habe bei solchen Sachen immer bedenken. Aber zur Not kann man ja auch die Dinger tauschen, wenn sie gesockelt sind.

Gruß
Klaus


Klaus3  
Klaus3
InterCity (IC)
Beiträge: 558
Registriert am: 06.11.2015
Spurweite N
Stromart DC


RE: Arduino und I2C-Port-Expander PCF8574

#6 von SET800 , 28.02.2017 11:51

Hallo,
antiparallel zur LED im Koppler eine 1N4001, zusammen mit dem strombegrenzenden Vorwiderstand ist dann ein hoher Schutzlevel errecht gegen EMV-Problemen.


SET800  
SET800
EuroCity (EC)
Beiträge: 1.453
Registriert am: 05.12.2010
Ort: Mühldorf am Inn
Spurweite H0, Z
Stromart AC, Digital


   


  • Ähnliche Themen
    Antworten
    Zugriffe
    Letzter Beitrag
Xobor Einfach ein eigenes Forum erstellen
Datenschutz