ISP / I2C Relay Driver IC wird gesucht, (Alternative zu PCF8574 + ULN2803A.)

Gast #5301889
Lesenswert?

Um 13 Relais (12V, 50mA pro Relais ) mit einer MCU anzusteuern wird ein 
Treiberbaustein benötigt. (Nicht genügend MCU IOs sind frei, io Expander 
ist nötig)

Der erste Gedanke war erst mal PCF8574 + ULN2803A. Das ganze braucht man 
dann zwei mal um 13 Relays zu bedienen, ziemlich aufwändig insgesamt ,4 
Bausteine.

Da gibt es bestimmt schon was fertiges. Vielleicht kann jemand was 
empfehlen?
So was  wie z.B. MAX4820, leider nicht 12V kompatibel.
(Irgend ein IO expander mit open drain Ausgang für 12V und 50mA )
Gibt es sowas?

Danke im Voraus
Jan
#5301949
Lesenswert?

Der MCP23017 ist ein I2C IO-Expander mit 16 Ausgängen. Damit hättest du 
nur 3 ICs. Treiber wie den ULN2803 wirst du sowieso brauchen, um die 
nötige Leistung sicherzustellen.

Gegenüber dem PCF8574 ist allerdings beim MCP23017 die Software zum 
ansteuern aufwendiger.

Mit PCF8574 bräuchtest du übrigens auch noch Inverter (74HC540), da sie 
mit Open Drain und invertierter Logik arbeiten.
Gast #5301985
Lesenswert?

Danke für die schnelle Antwort.
Genau nach so was habe ich gesucht.

Was mich wundert ist ein Diagramm im Datenblatt tpic6b595.pdf auf Seite 
15.

Nach meinem Verständnis sollte der Strom „D1 current“ - grüne Kurve 
anfangen zu fließen mit der Steigenden Flanke von RCK . Der fängt aber 
an zu fließen mit der steigenden Flanke von SRCK ?

Hat jemand eine Idee?
Angehängte Dateien:
Gast #5302069
Lesenswert?

Hallo Christian,


durch den RCK Puls (steigende Flanke) werden die Daten ins Storage 
Register übertragen. Das Storage Register ist auch das Ausgangsregister. 
"The storage register transfers data to the output buffer when 
shift-register clear (SRCLR) is high." Und SRCLR ist ja permanent high 
(mit VCC verbunden).
Somit müsste eine Änderung der Ausgänge nur mit der steigenden Flanke 
von RCK erfolgen. Das Entspricht aber nicht dem Bild.

Ist das Bild im Datenblatt Falsch?

Gruss,
Jan
Gast #5304635
Lesenswert?

Vielen Dank für zahlreiche Antworten und Anregungen.

Ich denke das der von Stefan-Us genannte Baustein, TPIC6B595 am besten 
geeignet ist. Ich bevorzuge eine Lösung ohne I2C, die Ansteuerung ist 
einfacher.
Ich werde zwei von diesen Bausteinen kaskadieren, somit könnte ich 16 
lasten schalten.

Der Baustein hat sogar integrierten Schutz der Ausgänge, d.h. die 
Freilaufdioden müssen nicht bestückt werden.
>„The device contains a built-in voltage clamp on the outputs for inductive 
transient protection.”

Die Ansteuerung ist sehr einfach, ich werde die folgende Funktion 
verwenden :
1
void output( uint16_t data )
2
{
3
  uint8_t i;
4

5
  for( i = 0; i < 16; i++ )
6
  {
7
    if( data & 0x8000 )
8
      PORTB |= (1<<SER);
9
    else
10
      PORTB &= ~(1<<SER);
11

12
    data <<= 1;
13

14
    PORTB |= (1<<SCK);
15
    PORTB &= ~(1<<SCK);
16
  }
17

18
  PORTB |= (1<<RCK);
19
  PORTB &= ~(1<<RCK);
20
}

Ich gehe davon aus das tatsächlich das Bild im Datenblatt tpic6b595.pdf 
auf Seite 15 nicht korrekt ist, mein Verständnis ist, das Änderung der 
Ausgänge nur mit der steigenden Flanke von RCK erfolgen kann. (bei einer 
konstanten Beschaltung von /SRCLR und /G)


Vielleicht weis jemand wo man die SMD Version von diesem Baustein 
„günstig“ bekommen kann?
Die DIL version ist bei Reichelt verfügbar.

Grüße,
Jan
Gast #5314219
Lesenswert?

Falls es jemanden noch interessiert,
ich habe inzwischen die TPIC6B595 ausprobiert.

Die Änderung der Ausgänge erfolgt gleichzeitig mit der steigenden Flanke 
von RCK und nicht verzögert wie dargestellt im Datenblatt  tpic6b595.pdf 
auf Seite 15 Figure 15.

Bild „shift_latch_Relay_prog“ zeigt das propagation delay rising edge 
RCK zum durchschalten des Ausgangstransistors.

Als last ist ein Relay gegen Vbat=12V angeschlossen.
Kanal1 zeigt das RCK Rising edge
Kanal2 zeigt die TPIC6B595 Ausgangsspannung (der Ausgangstransistor wird 
eingeschaltet).

Gruss,
Jan
Angehängte Dateien:

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren