Aus RN-Wissen.de
Wechseln zu: Navigation, Suche


Relaisplatine für I2C-Bus

Immer wieder kommt es vor, dass Verbraucher (Motoren, Leuchten, Staubsauger usw.) von einem Controller aktiviert werden müssen. Da der Strom der Controllerboard-Ausgänge dafür selten ausreicht bieten sich Relais an. Diese Platine stellt 5 Relais und 3 FET-Schaltstufen zur Verfügung. Im Gegensatz zu vielen anderen Relaisboards sind auch Umschaltrelais (2xUm) vorhanden. Dadurch können auch komplexere Aufgaben, wie Motorsteuerung in mehrere Richtungen usw., realisiert werden

Relaisboard für I2C

Und das Beste: Das Port wird per I2C-Bus angesteuert, also 2 Leitungen reichen aus!

Also hier die Leistungsmerkmale auf einen Blick:

  • 2 Stück Umschaltrelais (jeweils 2xUM) mit ca. 6A belastbar
  • 1 Stück Umschaltrelais (jeweils 2xUM) mit ca. 2A belastbar
  • 2 Stück Relais mit einem Schließerkontakt ca. 1A belastbar
  • 3 kontaktlose FET Schaltstufen für Verbraucher mit max 40V / 3A
  • Nahezu an jedem Controller mit I2C Bus verwendbar
  • Stecker und Platinenbohrungen nach Roboternetz-Definition
  • Kann Huckepack mit anderen RN-Roboternetzboards verschraubt werden
  • Eigene 6V Spannungsstabilisierung für Relais (alternativ kann Spannung über I2C-Port entnommen werden)
  • Mehrere Boards kombinierbar, da I2C Slave Adresse frei wählbar
  • Alle Relais-Kontakte über Schraubklemmen herausgeführt
  • Nur halbe Europakartengröße (RN-Definitionen)


Diagramm

RNRelaisDiagramm.jpg


Register für Ansteuerung

Die Relais werden über den I2C-Port von beliebigen Controllern angesteuert. Auf der Relaisplatine befindet sich der bekannte I2C Porterweiterungsbaustein PCF 8574AP. Jedes Bit dieses Portbausteines steht für 1 Relais. Durch einfaches Setzen oder Löschen eines Bits wird das entsprechende Relais ein- oder ausgeschaltet.

Folgende Bits stehen für folgendes Relais:

Bit Relais
0 Relais K2 (2A belastbar) 2xUM
1 Relais K1 (6A belastbar) 2xUM
2 Relais K3 (6A belastbar) 2xUM
3 FET Schaltstufe FET C
4 FET Schaltstufe FET B
5 FET Schaltstufe FET A
6 Relais K4 (1A)
7 Relais K5 (1A)

Der I2C-Port kann von nahezu allen Controllern (z.B. RN-Control, RNBFRA-Board Atmel AVR usw.) recht einfach per Befehl in den verfügbaren Sprachen, wie Basic, Bascom-Basic, C, Pascal, Assembler usw., angesprochen werden. Als Beispiel hier nur ein kleines Bascom-Programm für das RoboterNetz-Board RNBFRA. Andere Beispiele können gerne im Roboternetz noch gepostet werden (wenn noch nicht geschehen).

Empfohlen wird als Slave Adresse für das Board Hex 76. Damit verträgt sich das ganze auch optimal zum RNBFRA Roboterboard.

Schaltplan

Zum Vergrößern anklicken

Bestückungsplan

Bestückungsplan


Stückliste

1	C1	   100n (R=5mm  L=6mm,B=3mm)	    KERKO100N
2	C2,C3	   220 uF/35V (R=5mm, D=10mm)	    RAD 220/35
7	Fet-Power,FETA,FETB,FETC,Power,REL4,REL5  
        Schraubklemmen 2 polig (R=5,12)             AKL 101-02

1	I2C-Bus	   Wannenbuchse  2x5 gerade	    WSL 10G
1	IC1	   7806 (6-7V Spannungsregler)	    7806
1	IC2	   UDN2981A	                    UDN 2981 A
4	JP1, ADR Jumper Stiftleiste 1x3	            LU 2,5 MS3
                 (dort werden 3 benutzt) 

1	JP2	   Jumper Stiftleiste 1x2	    LU 2,5 MS2
2	K1,K3	   6V Relais 2xUM (max. 8A)	    FIN 40.52.9 6V
1	K2	   6V Relais 2xUM (max. 2A)  	    FIN 30.22.9 6V
2	K4,K5	   5V Relais 1xUM (max. 1A)	    SIL 7271-D 5V
1	PCF	   PCF8574 AP	                    PCF8574AP
3	IRF540	   FET Transistor IRF540	    IRF540
6	Relais1A,Relais1B,Relais2A,Relais2B,Relais3A,Relais3B
                   Schraubklemmen 3polig (R=5,12)   AKL 101-03

1	RN1	   Widerstandsnetzwerk 8x 10k	    SIL 9-8 10K
1	Platine Fertig gedruckte Platine zum Aufbauen der Schaltung (siehe unter Weblinks)


Beispielprogramm zur Ansteuerung

'###################################################
'relaiskarte.bas
'für
'RoboterNetz Standard-Roboter Board RBNFRA ab 1.1 
'
'Aufgabe:
'Relaiskarte wird getestet
'Alle 8 Relais bzw. FET Schaltstufen werden nacheinander
'für 2 Sekunden eingeschaltet
'
'Autor: Frank
'Weitere Beispiele und Beschreibung der Hardware
'unter http://www.Roboternetz.de + robotikhardware.de
'###################################################


Declare Sub Rnb_relaisschalten(byval Relaisnr As Byte , Byval Status As Byte)

Const Relaisport_adr = &H76                     'I2C Adr PCF 2


Dim Relaisstatus As Byte
Dim I As Byte


$crystal = 8000000                              'Quarzfrequenz
$baud = 9600
Config Scl = Portc.0                            'Ports fuer I2C-Bus
Config Sda = Portc.1

I2cinit


Wiederhole:

For I = 0 To 7

   Call Rnb_relaisschalten(i , 1)                'Relais i soll anziehen
   Wait 2                                        'Warte 2 Sekunden

   Call Rnb_relaisschalten(i , 0)                'Relais i soll abfallen
   Wait 2                                        'Warte 2 Sekunden
Next I

Goto Wiederhole


'Die Hilfsfunktion erleichtert das Ein- und Ausschalten bestimmter Relais
'Variable: Relaisnr ( 0 bis 7) steht für ein bestimmtes Relais
'Variable: status (1 oder 0) schaltet Relais ein oder aus
'Bei Status 1 wird das entsprechende Relais anziehen, bei 0 abfallen
Sub Rnb_relaisschalten(byval Relaisnr As Byte , Byval Status As Byte)
   Relaisstatus.relaisnr = Status
   I2cstart
   I2cwbyte Relaisport_adr                       'Schreibbefehl an PCF schicken
   I2cwbyte Relaisstatus                         'Datenbyte an PCF
   I2cstop
End Sub

End



Freies Elektronik Projekt von mikrocontroller-elektronik.de/


Siehe auch

Weblinks