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

K (Schaltplan)
K
Zeile 61: Zeile 61:
 
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>
 +
 +
 +
==Beispielprogramm zur Ansteuerung==
 +
 +
<pre>
 +
'###################################################
 +
'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 so anziehen
 +
  Wait 2                                        'Warte 2 Sekundne
 +
 +
  Call Rnb_relaisschalten(i , 0)                'Relais i soll abfallen
 +
  Wait 2                                        'Warte 2 Sekundne
 +
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 die 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
 
</pre>
 
</pre>

Version vom 3. März 2006, 13:55 Uhr

Baustelle.gif An diesem Artikel arbeitet gerade Mitglied Frank.

Am besten momentan noch keine gravierenden Ergänzungen / Änderungen vornehmen.

Dieser Hinweis verschwindet wenn der Autor soweit ist. Sollte dieser Hinweis länger als drei Tage auf einer Seite sein, bitte beim Autor Frank per PM / Mail oder Forum nachfragen ob er vergessen wurde.

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. 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

Relaisboard für I2C

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

Als 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 mir 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

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 so anziehen
   Wait 2                                        'Warte 2 Sekundne

   Call Rnb_relaisschalten(i , 0)                'Relais i soll abfallen
   Wait 2                                        'Warte 2 Sekundne
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 die 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

LiFePO4 Speicher Test