Aus RN-Wissen.de
Wechseln zu: Navigation, Suche
Laderegler Test Tueftler Seite

K
K (Weblinks)
 
(5 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
 
==Relaisplatine für I2C-Bus==
 
==Relaisplatine für I2C-Bus==
  
Immer wieder kommt es vor das verbraucher (Motoren, Leuchte, Staubsauger usw.) von einem Controller aktiviert werden müssen. Da der Strom der Controllerboard-Ausgänge dafür selten ausreicht bieten sich Relais an.
+
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 Motosteuerung in mehrere Richtungen usw. realisiert werden
+
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
 
[[Bild:rnrelaisboard.jpg|thumb|Relaisboard für I2C]]
 
[[Bild:rnrelaisboard.jpg|thumb|Relaisboard für I2C]]
Und das beste: Das Port wird per I2C-Bus angesteuert, also 2 Leitungen reichen aus!
+
Und das Beste: Das Port wird per I2C-Bus angesteuert, also 2 Leitungen reichen aus!
  
Als hier die Leistungsmerkmale auf einen Blick:
+
Also hier die Leistungsmerkmale auf einen Blick:
  
 
*2 Stück Umschaltrelais (jeweils 2xUM)  mit ca. 6A belastbar
 
*2 Stück Umschaltrelais (jeweils 2xUM)  mit ca. 6A belastbar
 
*1 Stück Umschaltrelais (jeweils 2xUM)  mit ca. 2A belastbar
 
*1 Stück Umschaltrelais (jeweils 2xUM)  mit ca. 2A belastbar
 
*2 Stück Relais  mit einem Schließerkontakt ca. 1A belastbar
 
*2 Stück Relais  mit einem Schließerkontakt ca. 1A belastbar
*3 Kontaktlose FET Schaltstufen für Verbraucher mit max 40V / 3A
+
*3 kontaktlose FET Schaltstufen für Verbraucher mit max 40V / 3A
 
*Nahezu an jedem Controller mit I2C Bus verwendbar
 
*Nahezu an jedem Controller mit I2C Bus verwendbar
 
*Stecker und Platinenbohrungen nach Roboternetz-Definition  
 
*Stecker und Platinenbohrungen nach Roboternetz-Definition  
*Kann Huckepack mir anderen RN-Roboternetzboards verschraubt werden
+
*Kann Huckepack mit anderen RN-Roboternetzboards verschraubt werden
 
*Eigene 6V Spannungsstabilisierung für Relais (alternativ kann Spannung über I2C-Port entnommen 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
+
*Mehrere Boards kombinierbar, da I2C Slave Adresse frei wählbar
 
*Alle Relais-Kontakte über Schraubklemmen herausgeführt
 
*Alle Relais-Kontakte über Schraubklemmen herausgeführt
*Nur halbe -Europakartengröße ([[RN-Definitionen]])
+
*Nur halbe Europakartengröße ([[RN-Definitionen]])
  
  
Zeile 27: Zeile 27:
  
 
===Register für Ansteuerung ===
 
===Register für Ansteuerung ===
Die Relais werden über den I2C-Port von beliebigen Controllern angesteuert. Auf der Relaiplatine befindet sich der bekannte I2C Porterweiterungsbaustein PCF 8574AP.
+
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 Bit´s, wird das entsprechende Relais ein- oder ausgeschaltet.
+
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 Bit´s stehen für folgendes Relais:
+
Folgende Bits stehen für folgendes Relais:
  
 
{| {{Blauetabelle}}
 
{| {{Blauetabelle}}
Zeile 63: Zeile 63:
 
|}
 
|}
  
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).
+
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.
 
Empfohlen wird als Slave Adresse für das Board Hex 76. Damit verträgt sich das ganze auch optimal zum RNBFRA Roboterboard.
Zeile 69: Zeile 69:
 
===Schaltplan===
 
===Schaltplan===
  
[[Bild:RNRelaisSchaltplan.gif|thumb|Zum vergrößern anklicken|center]]
+
[[Bild:RNRelaisSchaltplan.gif|thumb|Zum Vergrößern anklicken|center]]
  
==Bestückungsplan==
+
===Bestückungsplan===
  
 
[[Bild:rnrelaisbestueckungboard.gif|center|Bestückungsplan]]
 
[[Bild:rnrelaisbestueckungboard.gif|center|Bestückungsplan]]
Zeile 100: Zeile 100:
  
 
1 RN1   Widerstandsnetzwerk 8x 10k     SIL 9-8 10K
 
1 RN1   Widerstandsnetzwerk 8x 10k     SIL 9-8 10K
1 Platine Fertig gedruckte Platine zum aufbauen der Schaltung (siehe unter Weblinks)
+
1 Platine Fertig gedruckte Platine zum Aufbauen der Schaltung (siehe unter Weblinks)
 
</pre>
 
</pre>
  
Zeile 114: Zeile 114:
 
'Aufgabe:
 
'Aufgabe:
 
'Relaiskarte wird getestet
 
'Relaiskarte wird getestet
'Alle 8 Relais bzw. Fet Schaltstufen werden nacheinander
+
'Alle 8 Relais bzw. FET Schaltstufen werden nacheinander
 
'für 2 Sekunden eingeschaltet
 
'für 2 Sekunden eingeschaltet
 
'
 
'
Zeile 144: Zeile 144:
 
For I = 0 To 7
 
For I = 0 To 7
  
   Call Rnb_relaisschalten(i , 1)                'Relais i so anziehen
+
   Call Rnb_relaisschalten(i , 1)                'Relais i soll anziehen
   Wait 2                                        'Warte 2 Sekundne
+
   Wait 2                                        'Warte 2 Sekunden
  
 
   Call Rnb_relaisschalten(i , 0)                'Relais i soll abfallen
 
   Call Rnb_relaisschalten(i , 0)                'Relais i soll abfallen
   Wait 2                                        'Warte 2 Sekundne
+
   Wait 2                                        'Warte 2 Sekunden
 
Next I
 
Next I
  
Zeile 154: Zeile 154:
  
  
'Die Hilfsfunktion erleichtert das ein und Ausschalten bestimmter Relais
+
'Die Hilfsfunktion erleichtert das Ein- und Ausschalten bestimmter Relais
 
'Variable: Relaisnr ( 0 bis 7) steht für ein bestimmtes Relais
 
'Variable: Relaisnr ( 0 bis 7) steht für ein bestimmtes Relais
 
'Variable: status (1 oder 0) schaltet Relais ein oder aus
 
'Variable: status (1 oder 0) schaltet Relais ein oder aus
'Bei Status 1 wird die entsprechende Relais anziehen, bei 0 abfallen
+
'Bei Status 1 wird das entsprechende Relais anziehen, bei 0 abfallen
 
Sub Rnb_relaisschalten(byval Relaisnr As Byte , Byval Status As Byte)
 
Sub Rnb_relaisschalten(byval Relaisnr As Byte , Byval Status As Byte)
 
   Relaisstatus.relaisnr = Status
 
   Relaisstatus.relaisnr = Status
Zeile 170: Zeile 170:
  
  
 +
 +
 +
<freiesprojekt>http://www.mikrocontroller-elektronik.de/i2c-relaisboard/</freiesprojekt>
  
  
Zeile 180: Zeile 183:
  
 
===Weblinks===
 
===Weblinks===
* [http://www.roboternetz.de/phpBB2/dload.php?action=file&file_id=113 Noch ausführlichere PDF-Anleitung]
+
* [http://www.mikrocontroller-elektronik.de/i2c-relaisboard/ Ausführlichere Anleitung und Bauteileliste]
  
  
{{Platinenservice|http://www.robotikhardware.de}}
 
{{Bausatzservice|http://www.robotikhardware.de}}
 
  
  

Aktuelle Version vom 5. Juli 2015, 12:48 Uhr

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


LiFePO4 Speicher Test