-
        

Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 10 von 29

Thema: Fertiges Projekt: RN-Mega128Funk - Controllerboard mit Funk

  1. #1
    Administrator Robotik Einstein Avatar von Frank
    Registriert seit
    30.10.2003
    Beiträge
    4.974
    Blog-Einträge
    1

    Fertiges Projekt: RN-Mega128Funk - Controllerboard mit Funk

    Anzeige

    Wieder ein neues interessantes Projekt ist fertig:

    RN-Mega128Funk

    Eines der ersten Boards mit integrierten Funktransceiver (Sender und Empfänger) und dem leistungsstarken ATMEGA128 Controller. Durch die Vielzahl der Ports sowie die durchdachten Anschlüsse für LCD, Tastatur, Motortreiber, Joypad, 2 mal I2C, RS232, FunkRs232, Universalports usw., sind die Anwendungsmöglichkeiten nahezu unbegrenzt.

    Ob Experimentierboard, Funkfernsteuerung, Wetterstation, Robotiksteuerung, Haussteuerung (Hausbus), Diagnosegerät für Schaltungen usw. , eigentlich alles läßt sich auf Grundlage dieses Boards entwickeln. Besonders nützlich ist das bei dem Board eine Buchsenseite so angeordnet ist, das beim Gehäuseeinbau wahlweise wichtige Schnittstellen optisch ansprechend nach außen geführt werden.

    Der Aufbau ähnelt ein wenig dem beliebten RN-Control, jedoch sind hier wesentlich mehr freie Ports, noch günstigere Steckerbelegungen udn mehr Speicher-Resourcen vorhanden. Aber in der Tat lassen sich RN-Control Programme sehr einfach auf RN-Mega128Funk konvertieren.

    Und wohl noch nie konnte man ein Funkmodul einfacher handhaben als hier. Kein Zusatzboard, keine Kabel, keine Zusatzkosten, einfach ein PRINT-Befehl und schon werden Daten per Funk verschickt (Reichweite ca. 200-250m). Dies erhöht die Anwendungsmöglichkeiten um ein vielfaches.

    Kompatibel zu RN-Funk. Das Board kann also nicht nur zu einem zweiten RN-Mega128Funk kontakt aufbauen sondern auch zu allen Boards die RN-Funk (mit EasyRadio) nutzen.

    Den Bausatz gibts bereits bei: www.robotikhardware.de
    Ausfühliche Anleitung hier: http://www.roboternetz.de/phpBB2/dlo...le&file_id=338

    Diverse Demoprogramme (HEX und Quellcode) hier:
    http://www.roboternetz.de/phpBB2/dlo...gory&cat_id=18


    Das Board wurde lange erprobt und immer wieder im Detail verbessert. Das hat einige Prototypen gekostet. Aber nun ist es auch ausgereift, man siehts an der Versionsnummer 1.9!




    Hier die Leistungsmerkmale auf einen Blick:

    • Schneller und einer der größten AVR Controller ATMega128 (bis zu 128K Flash Speicher, 4K Ram und 4K EEPROM), 53 programmierbare I/O Pins, 8 AD Ports u.v.m.
    • 16 Mhz Taktfrequenz
    • nahezu alle Portleitungen sind über Stecker nach außen geführt. Die Steckerbelegung entspricht der Roboternetz-Definition und sind somit kompatibel zu zahlreichen Erweiterungen.
    • Anschluß für LCD (4 Bit Ansteuerung). Das LCD kann per Software komplett abgeschaltet werden um Strom zu sparen – Wahlweise können diese Ports auch anders genutzt werden
    • Anschluß für doppelten Motortreiber (zum Beispiel RN-VNH2DualMotor oder L298/L293D Eigenbauschaltungen) – Wahlweise können diese Ports auch anders genutzt werden
    • Anschluß für Tastatur (z.B. Matrixtastaturen/Folientastaturen) – Wahlweise können diese Ports auch anders genutzt werden
    • Anschluß für zwei Joystick (z.B. RN-JoyPad)–Wahlweise können diese Ports auch anders genutzt werden
    • Universal Anschluß für beliebige Verwendung (inkl. SPI Leitungen)
    • Gleich zwei parallele I2C Anschlüsse 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. Im Gegensatz zu vielen anderen Mega128 Boards ist keine ISP und RS232 Umschaltung/Umjumperung bei der Programmierung notwendig.
    • Gleich zwei RS232-Anschlüsse. Einmal 3 polig nach RN-Definition und einmal SUB-D Stecker für PC-Kabel
    • Wichtige Ports / Spannung und GND auch über Qualitätssteckbuchse mit Hebel sowie Stiftleisten herausgeführt. Ideal zum experimentieren und einfachem verdrahten.
    • Programmierbare Leuchtdiode. Sie leuchtet ebenfalls wenn per ISP programmiert wird.
    • Per Software kann die 5V Spannung an einer Stiftleiste ein und ausgeschaltet werden (bis 500mA belastbar) . Gleiches auch bei LCD-Stecker.
    • Integrierter programmierbarer Mini-Lautsprecher um Töne auszugeben, Musik zu spielen.
    • 1 Reset Taster
    • Leistungstarkes Funkmodul 433Mhz mit 10 Kanälen. Ganz einfach über eine zweite RS232 des Controllers steuerbar. Komplett per Software konfigurierbar (Sendeleistung, Kanal etc.). Empfangsfeldstärke per Software abfragbar
    • SUB-D Winkel Antennenanschluß (Antenne kann wahlweise auch eingelötet werden. Für ca. 100m – 200m Reichweite reicht gewöhnlich ein Stück 6 cm Draht)
    • 5 V Spannungsstabilisierung mit 2 A Belastbarkeit, auch mehrfach herausgeführt für Erweiterungen
    • Eingangsspannung gegen Verpolung geschützt
    • Betriebsspannung wahlweise zwischen 7,2 und 16V (empfohlen 8 bis 14 V)
    • Sehr kompakt, nur halbes Europaformat nach Roboternetz-Norm (ca. 100x75mm). Bohrlöcher etwas anders als die RN-Definition vorgibt, da Board für Gehäuseeinbau optimiert wurde.
    • 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 (über 43 DIN A4 Seiten auf CD) mit vielen Basic Programmbeispielen
    • Sehr preiswerter Bausatz oder Platine erhältlich
    • Kein Starter- oder Applikationsboard notwendig – bereits alles wichtige integriert!
    • Nahezu alle RN-Erweiterungen / Zusatzboards / Sensoren können angeschlossen werden












    Anwendungsbeispiele (Dempoprogramme in Doku oder auf CD):







    Komplette Funkfernsteuerung nur aus RN-Mega128Funk und RN-JoyControl




    Anmerkung: Einige obere Bilder weichen ganz geringfügig von der Endversion ab, da sie noch die V 1.8 zeigen und es bereits die Version 1.9 gibt. Ich wollte nicht nochmal Bilder machen. Das untere Bild zeigt die serienreife Version mit Resettaster





    Nachtrag: Jetzt mit vorbestücktem COntroller auf der Platine! Also keine SMD Lötkenntnisse mehr erforderlich.


  2. #2
    Administrator Robotik Einstein Avatar von Frank
    Registriert seit
    30.10.2003
    Beiträge
    4.974
    Blog-Einträge
    1
    Und hier nur zwei kleine Testprogramme die zeigen wie einfach die Programmierung ist:

    Das erste Demo zeigt wie man Daten per Funk empfängt und über die zweite RS232 Schnittstelle an den PC weiterleitet:

    Code:
    '###################################################
    'rnmega128funk_funkempfang.bas
    'für
    'RoboterNetz Board RN-Mega128Funk ab Version 1.1
    'Das neue vielseitige RN-Controllerboard mit ATMEGA128
    '
    ' Achtung:
    ' Diese Demo ist mit Bascom Compiler 1.11.8.3 getestet
    '
    'Aufgabe:
    ' Alle Zeichen Die Per Funk Empfangen Werden , Werden Ueber
    ' über die RS232 (Kabel) ausgegeben
    :
    'Autor: Frank
    'Infos:http://www.Roboternetz.de oder robotikhardware.de
    '#######################################################
    
    
    
    ' ---------------RN-Mega128Funk übliche ------------------
    
    $regfile = "m128def.dat" ' Bei Mega 128 "
    $framesize = 40
    $swstack = 40
    $hwstack = 40
    
    $crystal = 16000000                'Quarzfrequenz
    $baud = 19200                        'Baudrate für Funkmodul
    $baud1 = 9600                        'Baudrate für MAX
    
    Config Ping.0 = Output              'Spannung an LCD aktivieren
    Lcdpower Alias Portg.0
    
    Config Pine.2 = Output
    Rdy_hostempfangsbereit Alias Porte.2                 'Auf Low setzen wenn Empfangsbereit für Daten vom Funkmodul
    
    Config Pine.5 = Input
    Bsy_funkmodulsendebereit Alias Porte.5                      'Ist Low wenn Funkmodul frei zum senden
    
    
    Open "com2:" For Binary As #2                               'Ausgabe über zweite serielle Schnittstelle (MAX)
    
    Sound Portg.2 , 400 , 450                                   'BEEP bei RN-Mega128Funk
    Sound Portg.2 , 400 , 250                                   'BEEP bei RN-Mega128Funk
    Sound Portg.2 , 400 , 450                                   'BEEP bei RN-Mega128Funk
    
    Config Serialin = Buffered , Size = 100                     'Empfangsbuffer für Funkmodul anlegen
    Config Serialout1 = Buffered , Size = 100                   'Ausgabebuffer für normalse RS232
    Enable Interrupts
    ' ---------------------------------------------------
    
    
    
    Dim Z As Byte
    
    
    
    
       Wait 2
    
       Print #2 , ""
       Print #2 , "**** RN-Mega128Funk ****"
       Print #2 , "**** Das Controllerboard mit Funkmodul ****"
       Print #2 , "**** Demonstriert wie man Daten empfängt ****"
       Print #2 , ""
    
       Rdy_hostempfangsbereit = 0
        Do
          Z = Inkey()
          If Z <> 0 Then Print #2 , Chr(z);
        Loop
    
    End


    Das Demo zeigt die Portzustände an, es dient als erstes testprogramm nach dem Aufbau. Zudem spielt es ein kleines Liedchen auf dem eingebauten Lautsprecher:

    Code:
    '###################################################
    'rnmega128funk_erstetest.bas
    'für
    'RoboterNetz Board RN-Mega128Funk ab Version 1.1
    'Das neue vielseitige RN-Controllerboard mit ATMEGA128
    '
    ' Achtung:
    ' Diese Demo ist mit Bascom Compiler 1.11.8.3 getestet
    '
    'Aufgabe:
    'Erster Funktionstest
    'Spielt "Alle meine Endchen" und zeigt Portzustand
    'Die Pin-Nummern sind die Steckerkontakte
    'Es sollte überall eine 1 als Ergebniss kommen
    
    :
    'Autor: Frank
    'Infos:http://www.Roboternetz.de oder robotikhardware.de
    '#######################################################
    
    
    
    ' ---------------RN-Mega128Funk übliche ------------------
    
    $regfile = "m128def.dat" ' Bei Mega 128 "
    $framesize = 32
    $swstack = 32
    $hwstack = 32
    
    $crystal = 16000000                                         'Quarzfrequenz
    $baud = 19200                                               'Baudrate für Funkmodul
    $baud1 = 9600                                               'Baudrate für MAX
    
    
    Open "com2:" For Binary As #2                               'Ausgabe über zweite serielle Schnittstelle (MAX)
    
    Sound Portg.2 , 400 , 450                                   'BEEP bei RN-Mega128Funk
    Sound Portg.2 , 400 , 250                                   'BEEP bei RN-Mega128Funk
    Sound Portg.2 , 400 , 450                                   'BEEP bei RN-Mega128Funk
    
    ' ---------------------------------------------------
    
    Declare Sub Allemeineendchen();
    Declare Sub Lauflicht_uni() ;
    Declare Sub Lauflicht_jpmot() ;
    Declare Sub Lauflicht_key() ;
    Declare Sub Lauflicht_joy() ;
    Declare Sub Lauflicht_lcd() ;
    
    
    Dim I As Word
    Dim U As Word
    Dim O As Word
    
       Wait 1
    
       Print #2 , ""
       Print #2 , "**** RN-Mega128Funk ****"
       Print #2 , ""
    
      Allemeineendchen
    
      'Folgende Anweisungen soirgen dafür
      'das alle Ports über einen internen Widerstand auf High (1)
      'gesetzt werden
      Porta = 255
      Portb = 255
      Portc = 255
      Portd = 255
      Porte = 255
      Portf = 255
    
      Print #2 , "Joy Pin 1=" ; Pina.0
      Print #2 , "Joy Pin 2=" ; Pina.1
      Print #2 , "Joy Pin 3=" ; Pina.2
      Print #2 , "Joy Pin 4=" ; Pina.3
      Print #2 , "Joy Pin 5=" ; Pine.6
      Print #2 , "Joy Pin 6=" ; Pine.7
      Print #2 , "Joy Pin 7=" ; Ping.3
      Print #2 , "Joy Pin 8=" ; Ping.4
    
      Print #2 , "JPMOT Pin 1=" ; Pind.5
      Print #2 , "JPMOT Pin 2=" ; Pind.4
      Print #2 , "JPMOT Pin 3=" ; Pind.6
      Print #2 , "JPMOT Pin 4=" ; Pind.7
      Print #2 , "JPMOT Pin 5=" ; Pina.4
      Print #2 , "JPMOT Pin 6=" ; Pine.3
      Print #2 , "JPMOT Pin 7=" ; Pina.5
      Print #2 , "JPMOT Pin 8=" ; Pine.4
    
    
      For U = 0 To 7
        O = U + 1
        Print #2 , "LCD Pin  " ; O ; "=" ; Pinf.u
      Next U
    
    
      For U = 0 To 7
        O = U + 1
        Print #2 , "KEY Pin  " ; O ; "=" ; Pinc.u
      Next U
    
    
      For U = 0 To 7
        O = U + 1
        Print #2 , "UNI Pin  " ; O ; "=" ; Pinb.u
      Next U
    
    
      Do
      Loop                                                      'Endlosschleife kann nur durch RESET Button beendet werden
    
    End
    
    
    ' Spiele Lied "AllE meine Endchen"
    Sub Allemeineendchen()
       Sound Portg.2 , 130 , 1916
       Sound Portg.2 , 146 , 1706
       Sound Portg.2 , 164 , 1520
       Sound Portg.2 , 174 , 1433
       Sound Portg.2 , 293 , 1276
       Sound Portg.2 , 6250 , 10
       Sound Portg.2 , 293 , 1276
       Sound Portg.2 , 6250 , 10
       Sound Portg.2 , 200 , 1136
       Sound Portg.2 , 450 , 10
       Sound Portg.2 , 200 , 1136
       Sound Portg.2 , 450 , 10
       Sound Portg.2 , 200 , 1136
       Sound Portg.2 , 450 , 10
       Sound Portg.2 , 200 , 1136
       Sound Portg.2 , 450 , 10
       Sound Portg.2 , 783 , 1276
       Sound Portg.2 , 200 , 1136
       Sound Portg.2 , 450 , 10
       Sound Portg.2 , 200 , 1136
       Sound Portg.2 , 450 , 10
       Sound Portg.2 , 200 , 1136
       Sound Portg.2 , 450 , 10
       Sound Portg.2 , 200 , 1136
       Sound Portg.2 , 450 , 10
       Sound Portg.2 , 783 , 1276
       Sound Portg.2 , 170 , 1433
       Sound Portg.2 , 450 , 10
       Sound Portg.2 , 170 , 1433
       Sound Portg.2 , 450 , 10
       Sound Portg.2 , 170 , 1433
       Sound Portg.2 , 450 , 10
       Sound Portg.2 , 170 , 1433
       Sound Portg.2 , 450 , 10
       Sound Portg.2 , 325 , 1520
       Sound Portg.2 , 500 , 10
       Sound Portg.2 , 325 , 1520
       Sound Portg.2 , 500 , 10
       Sound Portg.2 , 145 , 1706
       Sound Portg.2 , 450 , 10
       Sound Portg.2 , 145 , 1706
       Sound Portg.2 , 450 , 10
       Sound Portg.2 , 145 , 1706
       Sound Portg.2 , 450 , 10
       Sound Portg.2 , 145 , 1706
       Sound Portg.2 , 450 , 10
       Sound Portg.2 , 261 , 1916
    End Sub

    Weitere Demos in Doku, auf CD und vielleicht demnächst im Wiki

  3. #3
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    06.02.2005
    Ort
    Hamburg
    Alter
    30
    Beiträge
    4.255
    Der Download-Link für die Anleitung ist tot...

  4. #4
    Administrator Robotik Einstein Avatar von Frank
    Registriert seit
    30.10.2003
    Beiträge
    4.974
    Blog-Einträge
    1
    Upps, hatte falsche Datei hochgeladen. Jetzt stimmts alles, nun kann man die 2,8 MB auch lesen. Dank für Tipp

    Gruß Frank

  5. #5
    Administrator Robotik Einstein Avatar von Frank
    Registriert seit
    30.10.2003
    Beiträge
    4.974
    Blog-Einträge
    1
    Ergänzung:

    Nun ist auch Bootloader für die Programmierung per Funk dabei.




    Features:

    • Erlaubt die Programmierung von zahlreichen RN- und anderen AVR-Boards (vom Mega32 bis Mega12
    • Funktioniert über Funk- oder RS232 Kabel
    • Speziell für die Funkübertragung mittels herkömmlichen Funkmodulen (z.B. EasyRadio) optimiert. Die meisten Bootloader funktionieren entweder gar nicht oder nur sehr unsicher über Funk. Das ist hier anders!
      Zahlreiche COM-Ports werden unsterstützt
    • Baudrate 19200 Baud
    • Blockwiederholung bei Übertragungsstörungen
    • 4 Byte Checksumme pro Block gewähen eine sichere Übertragung
    • Boards lassen sich gezielt über eine ID selektieren, falls man mehrere Boards mit Funk ausstatten möchte.
    • Der Bootloader kann nach RESET oder/und direkt aus dem Programm aktiviert werden. Eine Aufforderung kann über das Ladeprogramm mit ZIEL-ID gesendet werden. Man muss somit keinesfalls zum Board laufen.
    • Beispielprogramme im Quellcode dabei.
    • Flashdateien im BIN- als auch Hex-Format können geladen und übertragen werden (Bascom kompatibel)
    • EEPROM läßt sich getrennt per Funk programmieren - EEP-Dateien werden gelesen und übertragen (Bascom kompatibel)
    • Bootloader kann in Entwicklungsumgebungen wie Bascom eingebunden werden. Die zu übertragende Datei wird von der Entwicklungsumgebung automatisch übergeben. Dadurch einfachste Bedienung.
    • Die Flash- oder Eeprom-Dateien werden komplett als Hexdatei aufgelistet. Wahlweise in der üblichen Byte-Darstellung oder der kompatiblen Bascom-WORD-Darstellung
    • Alle Einstellungen wie PORT, Ziel- und Abesender ID, letzte Auswahlverzeichnis, letzte Datei usw. merkt sich das Programm
      Die Übertragung wird durch einen Fortschrittsbalken und ein ausfühliches Protokollfenster überwacht
    • Deutsche Doku und angepaßte Bootloader für viele RN-Boards, auch universal Bootloader
    • Kostenlos auf der Robotikhardware CD


    Der Bootloader unterstützt auch die meisten anderen RN-Boards (RN-Conrol, RNBFRA und andere).

  6. #6
    das board ist toll leider gibts das nur als bausatz.wenn der prozessor schon aufgelötet wäre -würde ich es kaufen.

  7. #7
    Administrator Robotik Einstein Avatar von Frank
    Registriert seit
    30.10.2003
    Beiträge
    4.974
    Blog-Einträge
    1
    Tja, da bin ich noch am überlegen. Leider würde das aber den bausatz sicherlich ca. 5 Euro teurer machen, weil wir das ja von Bestückungsfirma machen lassen müssten.

    Wenn mehrere Intresse äußeren, wäre es zu überdenken.

  8. #8
    5 € würde ich in kauf nehmen-ein kaputter prozessor weil man 2 pinne mit lötzin gebrückt hat ,ist teurer und nicht jeder hat eine smd lötvorrichtung.

  9. #9
    Neuer Benutzer Öfters hier
    Registriert seit
    27.12.2003
    Beiträge
    24

    Habe Intresse

    Zitat Zitat von Frank
    Tja, da bin ich noch am überlegen. Leider würde das aber den bausatz sicherlich ca. 5 Euro teurer machen, weil wir das ja von Bestückungsfirma machen lassen müssten.

    Wenn mehrere Intresse äußeren, wäre es zu überdenken.
    Mochte gerne ein Board mit Bestükte AT128.

    Jack

  10. #10
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    06.02.2005
    Ort
    Hamburg
    Alter
    30
    Beiträge
    4.255
    @Frank: du könntest dir ja mal ne Bratpfanne dafür zulegen
    http://www.sparkfun.com/commerce/pre...flow%20Skillet

Seite 1 von 3 123 LetzteLetzte

Berechtigungen

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