Discussion in 'OpenFormat' started by Gunter, Oct 13, 2009.

  1. Gunter

    Gunter New Member

    Hallo zusammen,

    bin neu hier und habe mich etwas mit LogView beschäftigt.

    Ich möchte drei Spannungen über den ATmega8 auslesen und mittels LogView visualisieren.

    Ist das generell möglich?

    Wenn ja, was muss ich bei den Einstellungen in LogView beachten?

    Gruß

    Gunter
  2. Holger

    Holger LogView Team

    Hallo Gunter,

    das Stichwort dazu ist "OpenFormat"!

    Der Controller sendet zyklisch einen simplen ASCII-String an LogView (LV) und LV dekodiert nach dem Empfang diese Daten und stellt sie als Kurven und als Tabelle zur Verfügung.

    Damit LV weiss, wie die Daten zu dekodieren sind, muss im OpenFormat - User-Verzeichnis eine ini-Datei hinterlegt sein, auf die LV dann zurückgreifen kann.
    Die Erstellung dieser ini-Datei kann komplett von Hand oder komfortabel mit dem OpenFormat-Editor erfolgen, der Teil der LV-Installation ist. Der Name der ini-Datei gibt den Namen vor, unter dem das Gerät im Auswahldialog von LV zu finden ist.

    Je nach Anforderungen kannst Du dem Telegramm entweder eine Zeitinformation mitgeben oder LV einen Zeitstempel beim Empfang des Telegramms erstellen lassen.

    Beispiel für 3 Werte : $1;1;0;1133;318;74;16<cr><lf>


    Der Reihe nach:
    • $ : Startzeichen des Telegramms
    • Kanalnummer : Werte eines Kanals werden in einer Grafik dargestellt
    • Status: z.B. Laden, Entladen (Änderung des Status führt zu einer neuen Grafik, also eines neuen Datensatzes)
    • Zeit: Vorgabe für die x-Achse der Grafik
    • Wert1, Wert2, Wert3: y-Werte der Grafik
    • Checksumme (optional, je nach Vorgabe in der ini-Datei) oder 0
    • Endezeichen (die Zeichen CR, LF also #13#10 oder für die C-Programmierer: 0x0d, 0x0a)
    Sieh Dir mal unsere Homepage genauer an und Du wirst sehen, dass sich da allerhand Informationsmaterial zu dem Thema findet.
    http://www.logview.info/cms/d_openformat_testformat.phtml

    Auch hier im Forum ist einiges zu diesem Thema zu finden.

    Sollten die Telegramme sehr schnell aufeinander folgen (Intervall ca. < 150ms), dann sollte beim Empfang evtl. die noch relativ neue Doppelpufferung verwendet werden (eingeführt beim robbe PowerPeak E1).

    Wenn Du uns zu den allgemeinen Anforderungen und der zeitlichen Abfolge der Telegramme etwas sagen kannst, können wir Dir weitere Tipps geben.

    Gruß, Holger
  3. wkrug

    wkrug New Member

  4. Gunter

    Gunter New Member

    Hallo Holger,

    das hatte ich mir schon gedacht
    Prinzipiell ist der Versuchsaufbau ganz simpel:
    Ich habe drei Messgeräte (z.B. pH-Meter, Leitfähigkeitsmessgerät, Temperaturmessung) welche mir eine sich ändernde Spannung auf den ATmega8 geben.
    Der ATmega soll nun 2 bis 3 mal pro Sekunde für jeden Port ausgelesen werden. Die Daten sollen also vom ATmega zum LV gesendet werden und dort eine entsprechende Kurve ergeben. Jeder freie weitere Kanal wäre für weitere Messgeräte willkommen.

    Ich hoffe ich habe damit die Frage beantwortet.

    Gruß

    Gunter
  5. Gunter

    Gunter New Member

    @ wkrug
    @ holger

    Gut, gehen wir mal der Reihe nach vor:

    Das Grundgerüst der Schaltung ist ein ATmega8 mit folgender Beschaltung:

    (siehe Bild 1)

    Gebrannt wird der Microcontroller mit folgendem ISP-Kabel:

    http://www.dieelektronikerseite.de/uC%20Ecke/Lections/SPI-Kabel%20-%202%20Welten%20treffen%20aufeinander.htm

    Die Datenübertragung zum PC und zurück erfolgt über die RS232 – hier allerdings mit USB-RS232-Wandler – nach folgender Anleitung:

    http://www.dieelektronikerseite.de/uC Ecke/Lections/RS232 - Der PC und der AVR verstehen sich.htm

    Die RS232 sollte sich aber auch mit dem Bausatz von Pollin verwirklichen lassen:

    http://www.pollin.de/shop/dt/MzY5OTgxOTk-/Bausaetze/Diverse/RS232_TTL_Wandler_Bausatz.html


    Die Datenübertragung in das Hyperterminal von Bascom klappte gut (ich habe mal einen Fotowiderstand zu Messzwecken angeschlossen).

    Demnach sollten die anderen Spannungsmessungen im Bereich von 0 bis 5 V auch mit den anderen Geräten funktionieren.

    Momentan existieren die Schaltungen nur auf einem Steckboard.

    Attached Files:

  6. wkrug

    wkrug New Member

    @Gunter
    Du muss quasi nur noch die Steuerzeichen am Anfang deines Datenstroms zum PC einfügen.
    Also $1;1;0;
    Wobei die 0 dann üblicherweise aufsteigend Hochgezählt wird.
    Dann kommen deine gewünschten Meßwerte mit Semikolon getrennt.
    Nun folgt noch die CRC Checksumme und dann noch <CR> und <LF>, also hex 13 und hex 10

    Passend zu der Anzahl der Meßwerte und der Skalierung musst Du noch eine .ini Datei für Logview erzeugen.

    Das wars dann auch eigentlich schon.

    Wenn Du eine FT232RL benutzt kannst Du die gleiche Software im Microcontroller verwenden, wie für einen MAX 232 Schnittstellenbaustein.
    Als Treiber würde ich die dann den VCP Treiber ( Virtuell Com Port ) für den FTDI Chip auf dem PC verwenden.

    Mit diesen paar Sachen werden dann deine Daten bereits auf dem PC mit Logview angezeigt.

    Für das Erstellen der .ini Datei gibt einen INI - Editor im Logview Bereich - Denn die Datei händisch zu erstellen geht zwar auch, ist aber nicht ganz einfach.

    Schau Dir die Sachen mal an und wenn Du dann konkretere Fragen dazu hast, rühr Dich halt noch mal.

Share This Page