- LiFePO4 Speicher Test         
Ergebnis 1 bis 8 von 8

Thema: Fertiges Projekt:RN-Steuerung-Allzweckboard für Haus&Hof

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Administrator Robotik Visionär Avatar von Frank
    Registriert seit
    30.10.2003
    Beiträge
    5.116
    Blog-Einträge
    1

    Fertiges Projekt:RN-Steuerung-Allzweckboard für Haus&Hof

    Mal wieder ein fertiges und interessantes RN-Projekt für diverse Steueraufgaben im Haus etc.. Kompatibel zu allen anderen RN-Boards

    RN-Steuerung


    RN-Steuerung ist das Board der RN-Serie das als Schwerpunkt für Steueraufgaben konzipiert ist. Es ist wie die meisten RN-Boards universell für zahlreiche Anwendungen verwendbar, jedoch bietet es duch die reichhaltige Ausstattung auch für konkrete Steueraufgaben ab, wobei dann keine oder kaum externe Bauteile mehr notwendig werden.


    Denkbare Anwendungen wären:

    • Füllstandsmesser mit Digitalanzeige und Funküberwachung
    • Wetterstationen mit Funkdatenübermittlung
    • Regenwasser Nachlaufsteuerungen mit Füllstandsmessung
    • Genaue Zeitmessungen
    • Digital- oder Funkuhr mit Steueraufgaben
    • Komplette Alarmanlage
    • Netzgerät mit digitaler Spannungs- und Stromanzeige
    • Roboter- oder Modellbausteuerung mit Funksteuerung und diverse andere Dinge wo Sensoren, Relais, Schalter, Funk, Digitalanzeige oder Alarmgeber gebraucht werden
    • und vieles mehr


    Neben der reichhaltigen Ausstattung mit Relais, elektronischen Lastschaltern, Lautsprecher, sehr lautem Alarmgeber (90dB), zwei eingebauten Spannungen (5V und eine regelbare zwischen 3,3 und 30V), großer Digitalanzeige, Led´s Tastern, diversen Anschlüssen sowie Funkmodulsteckplatz wurde das Board so ausgelegt das die meisten Anschlüsse über eine Seite erreichbar sind. Dadurch eignet sich das Board ideal auch für den Einbau in Gehäuse.
    Natürlich sind wichtige Schnittstellen wie ISP, I2C, DAT(LCD) kompatibel zu den RN-Definitionen. Das Funkmodul hat eine durchschnittliche Reichweite zwischen 200 und 250 Metern und ist kompatibel zu den anderen Boards RN-Funk, RN-Mega128Funk,RN-Mega8Plus und RN-Funk. Dies erhöht die Anwendungsmöglichkeiten um ein vielfaches.



    Als hier die Leistungsmerkmale auf einen Blick:

    • Schneller und einfach zu programmierender AVR Controller ATMega32 (kompatibel zu RN-Control)
    • 16 Mhz Taktfrequenz (durch anderen Quarz auch reduzierbar)
    • 2 Relais mit jeweils 1 Umschalter (schalten bis zu 10A)
    • 2 elektronische Lastschalter (ohne Abnutzung) jeweis bis 34V/4,4A
    • 5V / 2A Spannungssstabilisierung auf dem Board
    • Zweite Spannungsstabilisierung 3,3 V bis 30 V auf dem Board regelbar. Die Spannung kann für externe Aktoren / Verbraucher genutzt werden
    • 4 Eingänge zur Spannungsmessung (es können sowohl kleine Spannungen im mV Bereich oder hohe Spannungen bis ca. 34V gemessen werden. Möglich wird dies durch vier vorhandene regelbare Spannungsteiler pro Messport (4 Spindeltrimmer).
    • 2 Eingänge die direkt zur Strommessung ausgelegt sind bequem. Diese sind vorwiegend für Standardsensoren die über die weit verbeitete "4 bis 20mA Schnittstelle" verfügen gedacht. Da jedoch der Messwiderstand (Shunt) beliebig bestückt werden kann, können auch andere Ströme gemessen werden.
    • 2 weitere Digitalports mit Timerfunktion als Ein- und Ausgang über Steckklemme erreichbar. Beliebig verwendbar, auch für schnelle Ereignissmessungen
    • Ein 10 poliger Universal Stecker nach RN-Definition. Zum direkten Anschluss von einem LCD-Display , 2 Motortreibern (z.B. RN-DVNH2Dualmotor), Tastern oder beliebigen anderen Aktoren/Sensoren (8 Portleitungen verfügbar)
    • I2C Anschluss - I2C-Bus für zahlreiche Erweiterungsplatinen (z.B. Sprachausgabe RN-Speak, Relaisboard RN-Relais, Servoboards, RN-KeyLCD, RN-MotorControl, Ultraschallsensoren usw.
    • ISP – Anschluß für die Programmierung.
    • Funkmodulsteckplatz - Ein Funkmodul muss nur eingesteckt werden, schon ist es funktionsfähig. Dies spart erhebliche Kosten gegenüber Zusatzfunkboard.
    • Steckklemmen und Schraubklemmen für den einfachen Anschluss von Sensoren und Aktoren. Mit allen Ports wird auch immer ein Gegenpotential (also GND) über Steckklemme nach außen geführt.
    • 3 LED´s (rot, gelb, grün) für beliebige Verwendung programmierbar
    • 2 weitere LED´s zeigen Relaiszustand an
    • 1 Minilautsprecher für Tonausgabe
    • 1 sehr lauter Alarmgeber, bis ca. 90dB (weit hörbar, für Alarmaufgaben einsetzbar)
    • Sehr große leuchtstarke vierstellige Digitalanzeige. Zeigt 4 Ziffern (wahlweise auch einige Buchstaben) so deutlich an, das diese über weite Entfernung gut lesbar sind. Ideal für die Anzeige von Füllständen, Ereignissen, Zählerstände, Zeitangaben etc.
    • Die eingebaute Digitalanzeige ist auch in Helligkeit programmierbar. Jedes Segment kann einzeln gesetzt werden, dennoch wird kein Port dadurch belegt (durch vorhandenen I2C Bus). Moderner LED Chip!
    • 5V und die regelbare 3,3V bis 34V Spannung über Anschlüsse leicht erreichbar.
    • Akkustische ISP-Überwachung wenn Board programmiert wird
    • 1 Reset Taster
    • 3 Taster für beliebige Verwendung programmierbar
    • Leistungstarkes Funkmodul 433Mhz mit 10 Kanälen einsetzbar (optional). Ganz einfach wie RS232 ansprechbar. Komplett per Software
    • konfigurierbar (Sendeleistung, Kanal etc.).
    • SUB-D Antennenanschluß (Antenne kann wahlweise auch eingelötet werden. Für ca. 100m – 200m Reichweite reicht gewöhnlich ein Stück 12 cm Draht)
    • Betriebsspannung wahlweise zwischen 7,2 und 16V (empfohlen 8 bis 14 V) für 5V Spannungsstabilisierung
    • Betriebsspannung für zweite regelbare Spannung wahlweise zwischen 5 und 35V
    • Programmierbar in zahlreichen Sprachen, z.B. Basic (BASCOM Compiler, Demo eingeschränkt bis 4K wird mitgeliefert), C (C-Compiler GCC wird mitgeliefert), Assembler, Pascal
    • Umfangreiche deutsche Dokumentation mit Basic Programmbeispielen
    • Sehr preiswerter Bausatz oder Platine erhältlich
    • Nahezu alle RN-Erweiterungen / Zusatzboards / Sensoren können angeschlossen werden
    • Europaformat (ca. 100x160mm)


    Dokumentation findet man hier:
    https://www.roboternetz.de/phpBB2/dl...le&file_id=346

    Bestellmöglichkeit für Bausatz oder auch nur Platine hier:
    http://www.shop.robotikhardware.de/s...roducts_id=159


    Die Features im Diagramm:
    Bild hier  

  2. #2
    Administrator Robotik Visionär Avatar von Frank
    Registriert seit
    30.10.2003
    Beiträge
    5.116
    Blog-Einträge
    1
    Ein Beispiel und Testprogramm in Basic

    Code:
    '###################################################
    'rnsteuerung.bas   Demo zu RN-Steuerung
    'für
    'RoboterNetz Board RN-STEUERUNG ab Version 1.0 und
    
    
    '
    'Aufgabe:
    ' Dieses Testprogramm demonstriert die Ansteuerung
    ' des großen universellen Steuerboardes RN-Steuerung
    
    
    'Autor: Frank
    'Weitere Beispiele und Beschreibung der Hardware
    'unter http://www.Roboternetz.de oder robotikhardware.de
    'Eigene Programmbeispiele sind im Roboternetz gerne willkommen!
    '##############################################################
    
    
    
    
    
    ' ********* Übliche bei RN-Steuerung ***************
    Declare Sub Init_digitalanzeige()
    Declare Sub Ziffer_digitalanzeige(byval Ziffernummer As Byte , Byval Zahl As Byte , Byval Dezimalpunkt As Byte)
    Declare Sub Zahl_digitalanzeige(byval Zahl As Integer)
    Declare Function Rn_sendefunkbefehl(byval Funkbefehl As String) As Byte
    Declare Function Rn_empfange_funkstring(dat As String) As Byte
    
    
    $regfile = "m32def.dat"
    $hwstack = 82                                               '80
    $framesize = 68                                             ' 64
    $swstack = 68                                               '44
    
    
    $crystal = 7372800                                          'Quarzfrequenz
    $baud = 19200
    
    
    Config Scl = Portc.0                                        'Ports fuer IIC-Bus
    Config Sda = Portc.1
    
    
    Config Pinb.2 = Input
    Portb.2 = 1
    Taste1 Alias Pinb.2
    
    Config Pinb.5 = Input
    Portb.5 = 1
    Taste2 Alias Pinb.5
    
    Config Pinb.6 = Input
    Portb.6 = 1
    Taste3 Alias Pinb.6
    
    
    Config Pinb.3 = Output
    Alarmgeber Alias Portb.3
    
    Config Pinb.4 = Output
    Relais1 Alias Portb.4
    
    Config Pinc.7 = Output
    Relais2 Alias Portc.7
    
    
    Config Pinc.2 = Output
    Ledgruen Alias Portc.2
    
    Config Pinc.3 = Output
    Ledgelb Alias Portc.3
    
    Config Pinc.4 = Output
    Ledrot Alias Portc.4
    
    Config Pinc.6 = Output
    Ausgang_ua Alias Portc.6
    
    Config Pinc.5 = Output
    Ausgang_ub Alias Portc.5
    
    
    Const Slave_digi = &H70
    
    
    Sound Portb.7 , 400 , 450                                   'BEEP
    Sound Portb.7 , 400 , 250                                   'BEEP
    Sound Portb.7 , 400 , 450                                   'BEEP
    ' ********* Übliche bei RN-Steuerung Ende***************
    Config Serialin = Buffered , Size = 120
    Config Serialout = Buffered , Size = 120
    Enable Interrupts
    
    
    
    Dim I As Integer
    Dim P As Byte
    Dim U As Byte
    Dim Rueck As Byte
    Dim S As String * 90
    
    Wait 1
    Print
    Print "**** RN-STEUERUNG *****"
    Print "Das neue große komplette Steuerboard"
    Print
    
    I2cinit
    Init_digitalanzeige
    
    Wait 1
    
    
    
    
    
    
     'Testet Funkmodul und sendet Version zurück
     'Alarmgeber ertönnt sofort, wenn Befehl nicht als Echo zurückkommt
     'Denkbare Ursache: Falsche Baudrate eingestellt (bei neuen Modulen in der Regel 19200 baud)
     'Ruft die Firmware Versionsnummer des Easyradio Funkmodules ab
     Rueck = Rn_sendefunkbefehl( "ER_CMD#T3")
     If Rueck <> 0 Then                                         'Error
       For I = 1 To 20
         Alarmgeber = 1
         Waitms 100
         Alarmgeber = 0
         Waitms 100
       Next
     End If
     Rueck = Rn_empfange_funkstring(s)
     Print "Funkmodul Version: " ; S
    
    
    
    'Test der vierstelligen Digitalanzeige
    'Nacheinander alle Ziffern bis 9 hochzählen
      For P = 1 To 4
        For U = 0 To 9
          Ziffer_digitalanzeige P , U , 0
          Waitms 100
          Next U
      Next P
      Wait 2
    
    'Test der vierstelligen Digitalanzeige
    'Zählt in hoher Geschwindigkeit bis 4000
    For I = 1 To 4000
      Zahl_digitalanzeige I
      Waitms 5
    Next
    Wait 1
    
    
    
    
    'LED Test durch Lauflicht
    For I = 1 To 20
      Ledrot = 0
      Waitms 400
      Ledrot = 1
      Ledgelb = 0
      Waitms 400
      Ledgelb = 1
      Ledgruen = 0
      Waitms 400
      Ledgruen = 1
      Waitms 400
    Next
    Ledgruen = 0                                                'Gruen bleibt an
    Wait 1
    
    
    'Relais 1 wird getestet
    For I = 1 To 20
      Relais1 = 1
      Wait 1
      Relais1 = 0
      Wait 1
    Next
    Wait 1
    
    
    'Relais 2 wird getestet
    For I = 1 To 20
      Relais2 = 1
      Wait 1
      Relais2 = 0
      Wait 1
    Next
    Wait 1
    
    
    'Ausgangsspannung des elektronischen Power Schlaters UA umschalten
    'Nicht sichtbar, entweder Verbraucher anschliessen oder messen
    For I = 1 To 5
      Sound Portb.7 , 400 , 250                                 'BEEP
      Ausgang_ua = 1
      Wait 2
      Sound Portb.7 , 400 , 250                                 'BEEP
      Ausgang_ua = 0
      Wait 2
    Next
    Wait 1
    
    
    'Ausgangsspannung des elektronischen Power Schlaters UB umschalten
    'Nicht sichtbar, entweder Verbraucher anschliessen oder messen
    For I = 1 To 5
      Sound Portb.7 , 400 , 250                                 'BEEP
      Ausgang_ub = 1
      Wait 2
      Sound Portb.7 , 400 , 250                                 'BEEP
      Ausgang_ub = 0
      Wait 2
    Next
    Wait 1
    
    
    'Alarm wird getestet
    For I = 1 To 20
      Alarmgeber = 1
      Waitms 100
      Alarmgeber = 0
      Waitms 100
    Next
    Wait 1
    
    
    'Test abgeschlossen, nun wird noch ständig über Funk gesendet
    ' Funkmodultest
    Do
      For I = 1 To 30000
        Print "www.robotikhardware.de  Z:" ; I
        Waitms 500
      Next I
    Loop
    
    End
    
    
    
    
    
    
    
    
    
    ' ----------------- Hilfreiche Unterfunktionen ------------------------
    
    
    Sub Init_digitalanzeige()
    Local Z As Byte
    
      I2cstart
      I2cwbyte Slave_digi
      I2cwbyte 0                                                'Control Byte
    
      'Dynamic Alternative Mode und Helligkeit
      'Die oberen 3 Bits bestimmen die Helligkeit
      'Wenn es dunkler sein soll dann z.b. &B0110111
    '  I2cwbyte &B1110111
      I2cwbyte &B0110111
      I2cstop
    
      'Alle Ziffern auf 0
      For Z = 1 To 4
           Ziffer_digitalanzeige Z , 0 , 0
      Next Z
    End Sub
    
    
    Sub Ziffer_digitalanzeige(byval Ziffernummer As Byte , Byval Zahl As Byte , Byval Dezimalpunkt As Byte)
    Local Segmente As Byte
    
      I2cstart
      I2cwbyte Slave_digi
      I2cwbyte Ziffernummer
    
      Select Case Zahl
             Case 0:
                   Segmente = &H3F                              '00111111
             Case 1:
                    Segmente = &H06
             Case 2:
                    Segmente = &H5B
             Case 3:
                    Segmente = &H4F                             '01001111
             Case 4:
                    Segmente = &H66
             Case 5:
                    Segmente = &H6D
             Case 6:
                    Segmente = &H7D
             Case 7:
                    Segmente = &H07
             Case 8:
                    Segmente = &H7F                             '01111111
             Case 9:
                    Segmente = &H67
             Case 10:                                           'Steht für keine Ziffer
                    Segmente = &H0
    
             Case 11:                                           'Steht für keine Ziffer
                    Segmente = &B10111110                       'Buchstabe V
             Case 12:                                           'Steht für keine Ziffer
                    Segmente = &B10111000                       'Buchstabe L
    
    
    
             Case Else :
                    Segmente = &H80                             'Ansonsten Dezimalpunkt
      End Select
    
      If Dezimalpunkt = Ziffernummer Then Segmente = Segmente Or &H80
      I2cwbyte Segmente
      I2cstop
    End Sub
    
    
    
    Sub Zahl_digitalanzeige(byval Zahl As Integer)
    Local Tausender As Integer
    Local Hunderter As Integer
    Local Zehner As Byte
    Local Einer As Byte
    Local Temp As Integer
    Local Temp2 As Byte
    Local Abschneiden As Byte
    
    
    
    Tausender = Zahl / 1000
    Temp = Tausender * 1000
    Zahl = Zahl - Temp
    
    Hunderter = Zahl / 100
    Temp = Hunderter * 100
    Zahl = Zahl - Temp
    
    Zehner = Zahl / 10
    Temp = Zehner * 10
    Zahl = Zahl - Temp
    
    Einer = Zahl
    
    'Nullen vorne entfernen
    If Tausender = 0 Then
      Tausender = 10
      If Hunderter = 0 Then
        Hunderter = 10
        If Zehner = 0 Then
          Zehner = 10
        End If
      End If
    End If
    
    
    Ziffer_digitalanzeige 4 , Einer , 0
    Ziffer_digitalanzeige 3 , Zehner , 0
    Temp2 = Hunderter
    Ziffer_digitalanzeige 2 , Temp2 , 0
    Temp2 = Tausender
    Ziffer_digitalanzeige 1 , Temp2 , 0
    
    End Sub
    
    
    
    
    'Sendet Easyradio Befehl und prüft ob korrekt empfangen
    'Rückgabe: 0=Erfolgreich 1=Fehler
    Function Rn_sendefunkbefehl(byval Funkbefehl As String) As Byte
    Local Sech As String * 20
    Local Z As Byte
    
        Print Funkbefehl;
        Waitms 40
        Sech = ""
        Do                                                      'Auf Echo warten
          Z = Inkey()
          Sech = Sech + Chr(z)
        Loop Until Z = 0
    
        If Left(sech , 9) = Funkbefehl Then
          Print "ACK";
          Rn_sendefunkbefehl = 0
        Else
          Rn_sendefunkbefehl = 1
        End If
    
    End Function
    
    
    'Empfängt Datenstring (Holt alles aus dem Eingabebuffer)
    'Rückgabe: 0=Erfolgreich 1=Fehler
    Function Rn_empfange_funkstring(dat As String) As Byte
    Local Z As Byte
    
        Waitms 20
        Dat = ""
        Do                                                      'Auf Echo warten
          Z = Inkey()
          If Z <> 0 Then Dat = Dat + Chr(z)
        Loop Until Z = 0
        Rn_empfange_funkstring = 0
    End Function

  3. #3
    Administrator Robotik Visionär Avatar von Frank
    Registriert seit
    30.10.2003
    Beiträge
    5.116
    Blog-Einträge
    1
    Hier eine Beispielanwendung

    Regenwassersteuerung, mit Funküberwachung und diversen Luxus.
    In dem Beispiel zusätzlich mit Schaltnetzteil ausgestattet (normalerweise nicht nötig) um geringsten Stromverbrauch zu erreichen


  4. #4
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    06.08.2005
    Ort
    Berlin
    Alter
    58
    Beiträge
    239
    Hallo Frank,

    You make my day

    Bisher habe ich für solche Zwecke RN_Mega8, RN-Digi, RN-Relais usw. benötigt. Werde ich mir gleich mal anschauen

    Gruß Dirk

  5. #5
    Administrator Robotik Visionär Avatar von Frank
    Registriert seit
    30.10.2003
    Beiträge
    5.116
    Blog-Einträge
    1
    Zitat Zitat von Millenniumpilot
    Hallo Frank,
    You make my day
    Bisher habe ich für solche Zwecke RN_Mega8, RN-Digi, RN-Relais usw. benötigt. Werde ich mir gleich mal anschauen
    Gruß Dirk
    Hallo Dirk,
    genau so ist es. Es ist sogar quasi eine Art Kombination von vier Boards auf einer Platine: RN-Control, RN-Relais, RN-Digi und RN-Funk. Sogar noch ein regelbares Spannungsquelle ist untergebracht.
    Das ganze ist dann nicht nur viel kompakter, einfacher zu handhaben sondern erheblich günstiger als die Kombination dieser Einzelboards. Ich denke das Board kann viele Sachen im Haus/Garten übernehmen und wahlweise wegen der Funkanbindung auch gut in eine zentrale Haussteuerung eingebunden werden. Die Zentralstelle/Überwachungseinheit hab ich privat bei mir mit RN-Mega128Funk angelegt.

    Gruß Frank

  6. #6
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    06.08.2005
    Ort
    Berlin
    Alter
    58
    Beiträge
    239
    Hallo Frank,

    wie sieht den das Layout um die Relais herum aus? Welche Mindestabstaende wurden eingehalten? Meine Frage ist eigendlich: ist das Board freigegeben zum Schalten von 220V? Kannst Du dazu etwas scheiben? Beim Relaisboard hattest Du ja die maximal zu schaltende Spannung mit (glaube ich) 65V angegeben - aber wohl eher aus rechtlichen Gruenden.

    Gruss Dirk

  7. #7
    Administrator Robotik Visionär Avatar von Frank
    Registriert seit
    30.10.2003
    Beiträge
    5.116
    Blog-Einträge
    1
    Hi Dirk,

    ja so ist es in etwa. Ich denke das schalten von 220V würde technisch vermutlich kein Problem darstellen wegen des goßen Leiterbahnabstandes und der Relais-Eignung (siehe Bild), aber aufgrund der Gefählichkeit von Netzspannung wird dieses bei keiner Bauanleitung empfohlen und immer wesentlich niedrigere Spannungen als Grenzwert genannt. Ich rate immer vom Experimentieren mit Netzspannung ab und übernehme in der Hinsicht auch keinerlei Garantie / Verantwortung. Du verstehst sicher was ich meine (siehe Hinweise).

    Gruß Frank





    Leiterbahnen um das Relais (rot / blau / pink = Leiterbahnen/Kupfer schwarz=freie Fläche)

    Bild hier  


    Bild hier  

  8. #8
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    06.08.2005
    Ort
    Berlin
    Alter
    58
    Beiträge
    239
    Hallo Frank,

    ich bin mir sicher, ich habe Dich verstanden
    Vielen Dank fuer den Leiterplattenausschnitt.

    Gruss Dirk

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

12V Akku bauen