- 3D-Druck Einstieg und Tipps         
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 13

Thema: Messwerte per Funk übertragen

  1. #1

    Messwerte per Funk übertragen

    Anzeige

    Powerstation Test
    Hallo,
    ich möchte ein paar Messwerte (Spannung, Strom, Temperatur; el. Signale sind vorhanden) per Funk an einen PC übertragen, um sie dort weiter zu verarbeiten (z.B. el. Leistung berechnen).

    Da ich in diesem Gebiet bisher keine Erfahrungen habe (studiere Energietechnik), würde ich gerne wissen, mit welchem Aufwand dies verbunden ist und wo ich mich diesbezüglich schlau machen kann.
    Ich würde mich riesig freuen, wenn mir jemand ein paar Tipps oder sogar eine Bauanleitung geben könnte.

    Gruß,
    evolvente

  2. #2
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    30.12.2005
    Ort
    Tann / ZH
    Alter
    68
    Beiträge
    264

  3. #3
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    07.12.2005
    Ort
    Euskirchen-Großbüllesheim
    Alter
    74
    Beiträge
    2.063
    @ruediw
    vielleicht korrigierst Du den Link mal, ich kann dort nichts Informatives sehen.
    Danke.
    MfG Karl-Heinz
    HobbyElektronik hier klicken ....

  4. #4
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    11.04.2005
    Beiträge
    1.469
    Hi,
    ein Mega32 AVR Controller hat 32 zB. IOs.
    Es können also zB. 8 Analoge Werte und 22 digitale Werte "gleichzeitig" verarbeitet werden.
    (Wenn man die analogen Werte und die Schnittstelle wegläßt sind's eben 32).
    Mit der internen seriellen Schnittstelle (UART) und einem Pegelwandler kann man dann prima Daten zum PC senden.

    Kommt drauf an, wie die Signale vorhanden sind.
    Für die jeweiligen Eingangsgrößen müssten dann noch Anpassungen gemacht werden um die Eingangssignale auf die für den AVR zulässigen und sinnvollen Pegel zu bringen.

    Das Programm für den Mikrocontroller kann man dann zB. in Basic schreiben.
    BASCOM-AVR hat sich als Basic-Compiler durchgesetzt und ist in einer Demoversion (auf 4K Code beschränkt) erhältlich. (www.mcselec.com)

    Für deine Zwecke dürfte die Demo sogar komplett ausreichen.
    Kommt halt immer drauf an, wie kompliziert das ganze werden soll.
    Einfach 3 Analogwerte an den PC zu übertragen ist in Bascom mit wenigen Code-Zeilen erledigt.

    Wenn's dann über Funk gehen soll, wird's eventuell etwas komplizierter.
    Kannst ja mal nach "Manchester Code" suchen.
    Oder du verwendest komplette Funkmodule mit integriertem Protokoll, wie zB. die Easy Radio Module.
    http://www.shop.robotikhardware.de/s...products_id=70
    Damit sparst du dir das schreiben eines funktauglichen Protokolls und bleibst bei wenigen Codezeilen.
    Ein LCD Display am Controller zu integrieren ist auch kein Problem.
    Mit ein paar Codezeilen mehr kannst du dir die Messwerte dann auch vor Ort angucken.
    Ist auch ganz nett um sein Programm zu debuggen.
    LCD Displays gibt's unter 10 Euro.
    Die Ansteuerung ist meist problemlos mit Bascom zu machen.

    Es kommt auch drauf an, wie weit die Signale übertragen werden müssen.
    Wenn's weiter als 200-300 Meter sein soll, dann wird's teurer.



    Gruß
    Christopher

  5. #5
    Die elektrischen Signale Möchte ich von vorhandenen Messgeräten (Dreheisen- und Drehspulmessgeräte) abgreifen. Dass die Pegel noch angepasst werden müssen dachte ich mir schon, aber das ist ja weniger das Problem. Weiter als 200m sollen die Signale auch nicht gesendet werden.

    Protokolle wollte ich nicht erst definieren, bzw. programmieren. Ich dachte da an eine simple Lösung wie: Controller (Eingang der Signale) -> Funkmodul -> Empfänger -> PC
    Mit der Programmierung müsste ich mich dann auch nochmal beschäftigen (habe nur sehr spartanische JAVA Grundkenntnisse)
    Wie gesagt, ich habe da fast keinen Plan von, aber ich bin bereit, mich da reinzuarbeiten.

  6. #6
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    11.04.2005
    Beiträge
    1.469
    Hi,
    hier mal ein schnell in ein paar Minuten geschriebener Code, der AD/Werte ausliest und über die serielle Schnittstelle sendet (ohne Schönheitsgarantie ) :

    Code:
    $regfile = "M32DEF.DAT"                                     'Controller ist ein Mega32
    
    $crystal = 16000000                                         'mit 16 MHz
    
    Baud = 9600                                                 'serielle Schnittstelle initialisieren mit 9600,n,8,1
    
    Config Adc = Single , Prescaler = Auto                      'AD Wandler Konfigurieren
    
    Dim Temperatur As Integer                                   'Werte dimensionieren
    Dim Spannung As Integer
    Dim Strom As Integer
    Dim Ausgabe As String * 5
    Dim Sendestring As String * 40
    
    Start Adc                                                   'AD-Wandler starten
    
    Do
      Temperatur = Getadc(0)                                    'Werte vom AD-Wandler holen
      Spannung = Getadc(1)
      Strom = Getadc(2)
      Gosub Werte_berechnen
      Gosub Werte_ausgeben
    Loop
    End
    
    Werte_ausgeben:
       Ausgabe = Str(temperatur)                                'Wert in String umwandeln
       Ausgabe = Format(ausgabe , "+0000")                      'String formatieren  inkl. Vorzeichen
       Sendestring = "Temperatur = " + Ausgabe + " Grad"        'Beschreibung dazu
       Print Sendestring                                        'senden und cr/lf anhängen
    
       Ausgabe = Str(spannung)
       Ausgabe = Format(ausgabe , "+0000")
       Sendestring = "Spannung   = " + Ausgabe + " Volt"
       Print Sendestring
    
       Ausgabe = Str(strom)
       Ausgabe = Format(ausgabe , "+0000")
       Sendestring = "Strom      = " + Ausgabe + " Ampere"
       Print Sendestring
    Return
    
    Werte_berechnen:
    
      'Hier kann man dann noch die Werte "mundgerecht aufarbeiten"
    
    Return

    Bascom hat übrigens auch einen eigenen Simulator.
    Da kann man sowas prima testen
    Das Prog. beötigt übrigens 3% des Programmspeichers im Chip
    Kleiner uns hübscher geht's auch, aber ist eben schnell zusammengefummelt..

    Wenn du dann noch ein LCD Display dranhängen willst, sind's nochmal etwa 10 Zeilen mehr.


    Also alles nicht so schwer und kompliziert..
    Ist halt ein riesen Vorteil von Basic.
    Hier mal ein Codevergleich von verschiedenen Programmiersprachen für die AVRs :
    https://www.roboternetz.de/wissen/in...ourcevergleich

    Gruß
    Christopher

  7. #7
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    07.12.2005
    Ort
    Euskirchen-Großbüllesheim
    Alter
    74
    Beiträge
    2.063
    Wenn Du Assembler kannst / magst, gibt es auch für PIC-Controller Beispiele, wo ebenfalls der AD-Wandler ausgelesen wird und wo eine Kommunikation mit einer RS232-Schnittstelle mit Ringpuffer für senden und empfangen zu Verfügung steht (und natürlich noch mehr). Das Ganze befindet sich unter: http://www.domnick-elektronik.de/picasm.htm.
    Dann gibt es bei sprut.de noch viele Informationen zu Hard- und Software von PIC's.
    MfG Karl-Heinz
    HobbyElektronik hier klicken ....

  8. #8
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    25.10.2005
    Alter
    71
    Beiträge
    157
    Hallo evolvente,

    wie liegen denn deine Daten überhaupt vor? Drehspulmessgeräte liefern eine Zeigerauschlag, also ein mechanisches Ergebnis. Willst du die Zeigerstellung optisch erfassen? ( kleiner Scherz!)

    Willst du direkt Spannungen o.ä. messen? Haben deine Messgeräte vielleicht schon einen digitalen Ausgang? Vielleicht sogar RS232C?

    Mit welcher Datenrate rechnest du? Wie hoch soll die Genauigkeit sein?

    Wenn du bereits weißt, wie du Daten auf einen uC bekommst, ist es am einfachsten, du benutzt zur Übertragung ein Funkmodul mit seriellem Interface (aber nicht die billigen von 'C' für ca. 15€).

    Gruß Red Baron

  9. #9
    Hmm, optische Erfassung mit einer Kamera, auch ne Idee...
    Nein, ich wollte die analogen Signale direkt von den Messgeräten abgreifen. Für jeden Messwert steht ein Spannung bereit (schon gemessen). Nur die Pegel müsste man noch angleichen (wie gesagt, das ist weniger das Problem).
    Ich verstehe jetzt nur noch nicht, wie ich die Werte vom Controller zum Funkmodul bekomme. Das Programmbeispiel von chr-mt scheint ja nur die Werte im Terminalclient auszuspucken.

    So langsam wird alles aber ein bißchen klarer.

  10. #10
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    11.04.2005
    Beiträge
    1.469
    Hi,
    Ich verstehe jetzt nur noch nicht, wie ich die Werte vom Controller zum Funkmodul bekomme
    wenn du ein Funkmodul mit integriertem Protokoll nimmst, brauchst du den TXD Ausgang des Controllers nur an den Eingangspin des Funkmoduls anzuschließen.
    Am PC schließt du dann den Empfänger über einen RS232 Pegelwandler (zB. MAX232) an. Das war's dann auch schon.
    Die ankommenden Daten kannst du am PC natürlich noch aufbereiten.

    Wenn du das Ganze bidirektional machen willst, wird es natürlich wieder etwas aufwändiger.

    Gruß
    Christopher

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

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

LiFePO4 Speicher Test