- Labornetzteil AliExpress         
Ergebnis 1 bis 4 von 4

Thema: Zeitstempel Datenübertragung Arudino Matlab

  1. #1
    Trocadero
    Gast

    Zeitstempel Datenübertragung Arudino Matlab

    Anzeige

    Praxistest und DIY Projekte
    Hallo zusammen,

    ich übertrage Spannungswerte vom Arduino Mega Board an Matlab. Das funktioniert auch soweit. Über die Spannungswerte möchte ich dann integrieren, um den Strom zu berechnen und anschließend die Ladung.
    Da ich die Ladung über die Integration des Stroms nach der Zeit bestimmen kann, würde ich nun dem ganzen gernen einen Zeitstempel verpassen. Bisher lese ich einfach nur die Daten in matlab ein, so schnell wie sie vom Arduino gesendet werden.

    Code:
    delete(instrfind({'Port'},{'COM5'}));
    s = serial('COM5', 'BaudRate', 9600);
    fopen(s);
    voltage_history=zeros(1,1000);
    time=zeros(1,1000);
    current=zeros(1,1000);
        for j=1:2
        a=fscanf(s,'%s');
        if a==':'
            for i=1:1000
            voltage_history(i)=fscanf(s,'%f');
            time(i)=i;
            current(i)=voltage_history(i)/150573;
            end
        end
        end
        fclose(s);
        delete(s);
    Dazu stellen sich mir jetzt ein paar Fragen und hoffe ihr könnt sie mir beantworten:
    Wie schnell sendet das Arduino eigentlich die Spannungswerte?
    Liest Matlab alle Werte ein, oder gehen auch manche Werte verloren, weil es diese vielleicht nicht so schnell verarbeiten kann?

    Bisher kann ich nur ein Diagram erstellen mit y-Achse = Spannung und x-Achse = Anzahl an Werten. Die x-Achse würde ich gerne durch Zeit ersetzen. Habe natürlich schon im Internet gesucht, war mit den Ergebnissen aber nicht wirklich zufrieden. Mache ich das am Besten mit tic toc, oder kann man irgendwie die Milisekunden mitzählen?

    Viele Grüße

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.12.2007
    Ort
    weit weg von nahe Bonn
    Alter
    39
    Beiträge
    3.416
    sende Geschwindigkeit definiert sich als Maximum aus deiner (Baudrate / (10Bit pro Byte)) bzw. wie schnell dein Ardunio messen kann .. für eine genauere Aussage müsste man den Ardunio Code sehen

    Verloren gehen halte ich jetzt eher für unwahrscheinlich solange du innerhalb der Schleife nicht mit irgendwelchen krassen Berechnungen anfängst

    Im Controller einen Timer mitlaufen lassen und den Timerwert immer mit senden halte ich für die beste Option!

    :timerwertalsinteger_floatwert:timerwertalsinteger _floatwert:timerwertalsinteger_floatwert so nach dem Schema eventuell nur kein " . , : - + " als trennzeichen verwenden
    Es gibt 10 Sorten von Menschen: Die einen können binär zählen, die anderen
    nicht.

  3. #3
    Trocadero
    Gast
    Okay, hab es hinbekommen einfach mit
    Code:
    unsigned long time;
    time = millis();
    Serial.println(time);
    Die Baudrate von meinem Arduino habe ich auf 9600 gestellt. Stelle ich beispielsweise 115200 ein, so werden mir irgendwelche Hieroglyphen geschickt. Bei 9600 geht es aber. Woran liegt das?
    Wenn ich das richtig verstanden habe, würden bei 115200 therotisch mehr Daten gesendet werden, oder?

  4. #4
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.12.2007
    Ort
    weit weg von nahe Bonn
    Alter
    39
    Beiträge
    3.416
    sicher doch, je mehr baud == symbole pro Zeit um so mehr Bit/Byte pro Zeit ... je nachdem ob deine MEssroutine entsprechend schnell DAte liefern kann oder dort irgendwelche Pause entstehen

    wenn du einen Fluss voll Wasser hast aber nur eine 10Zoll Leitung begrenzt die Leitung (Baudrate) wenn du aber nur pro Minute 1 Eimer WAsser hast und dann eine 10M Pipeline begrenzt dein Input die Daten
    Es gibt 10 Sorten von Menschen: Die einen können binär zählen, die anderen
    nicht.

Ähnliche Themen

  1. Sensorfusion Kompass und Ultraschall (Zeitstempel?)
    Von BattleBot im Forum Robby RP6
    Antworten: 1
    Letzter Beitrag: 13.01.2013, 03:46
  2. Matlab zweipunktregler
    Von k-o im Forum Microcontroller allgemeine Fragen/Andere Microcontroller
    Antworten: 0
    Letzter Beitrag: 26.03.2012, 23:40
  3. Matlab zweipunktregler
    Von k-o im Forum PIC Controller
    Antworten: 1
    Letzter Beitrag: 26.03.2012, 23:39
  4. Antworten: 0
    Letzter Beitrag: 11.11.2008, 21:36
  5. Schrittmotorensteuerung mit Matlab
    Von chixtwo im Forum Elektronik
    Antworten: 7
    Letzter Beitrag: 06.10.2005, 12:31

Benutzer, die dieses Thema gelesen haben: 0

Derzeit gibt es keine Benutzer zum Anzeigen.

Berechtigungen

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

LiFePO4 Speicher Test