Teade

Collapse

Foorumi reeglid.

Foorumi reeglistik on uuendatud. Palume tutvuda ja arvesse võtta.
See more
See less

Multimeetri PC võimalused

Collapse
X
 
  • Filter
  • Kellaaeg
  • Show
Clear All
new posts

    #31
    Vs: Multimeetri PC võimalused

    See DSO-2090 soft tundub netist piltide järgi hoopis teistsugune küll. .rfc failina jah ei kannatanud kuidagi edasi-tagasi kerida seal seda. Ta nagu salvestab ka umbes sedasi nagu screenshot-i seiviks, softi rippmenüüs on save data, seda klikates küsib kohe, et mis failina salvestada, klikkan .rfc näiteks ja enam ma kusagilt ei näe seal seda, et toimuks pidev salvestamine. Tekstifailina kirjutatakse sinna ikka päris üksjagu neid ridasid, samas tundub et ridade arv sama palju koguaeg, olenemata sellest kas sulgeda soft kohe või lasta tiksuda 5min.
    otsija

    Comment


      #32
      Vs: Multimeetri PC võimalused

      Esmalt postitatud otsija poolt Vaata postitust
      Tekstifailina kirjutatakse sinna ikka päris üksjagu neid ridasid, samas tundub et ridade arv sama palju koguaeg, olenemata sellest kas sulgeda soft kohe või lasta tiksuda 5min.
      Seal salvestataksegi vaid üks aknatäis, ilmselt see, mis salvestamise alguses ees on, edasine ootamine on jah mõttetu. Või salvestatakse aknast kõigest teatud arvu lugemeid, algusest alates, et polegi isegi mitte terve aknatäis? Ei oska arvata, aga miinimume-maksimume vaadates võiks ju midagi oletada.

      Saab seda softi kusagilt alla ka laadida?

      E: Leidsin õige tarkvara, aga sellel ei tundu demo olevat. Ja paistab teine olevat üsna askeetlik, võimalusi on tõesti minimaalselt.
      Õnneks kodulehel paistab olevat veel ka Hantek6022 SDK (sees vahendid isegi LabVIEW jaoks), millega peaks põhimõtteliselt saama enda tarkvara aretada/kirjutada. Seega kui viitsimist, saab logimise inimesemoodi tööle. Ehk? Vist? Võib-olla? Vähemalt lootus on.

      E:

      Võid ju vaadata, kas on asjalikum? Seda seal tuntakse tasapisi uuendatavat, seega vaata aeg-ajalt kaugematele lehekülgedele. Sellesama SDK abil tehtud.

      E:


      Akna ülemises ääres olev "DataSize" (View => Debug Information) näitab kui mitu rida mõõteandmeid kogutakse ja vajadusel tekstifaili kirjutatakse.
      Veel kõrgemal asuva "sae" kohal olev T täht (liugur tegelikult) võimaldab andmeid edasi-tagasi kerida.

      Aga niimoodi ei saa ka selle programmiga, et paned aga ossi jooksvalt faili salvestama, ise lähed magama ja hommikuks on terve kõvaketas andmeid täis kirjutatud.
      Minu ossi tarkvara seda küll võimaldaks, salvestab nõrkemiseni, nii ilmselt ka teistel ossidel, aga odavatel seda lõbu tavaliselt valikus pole jah. Tuleb sul ilmselt endal vaeva näha, programmeerimine selgeks õppida.

      Esmalt postitatud otsija poolt Vaata postitust
      kuvada, aga seda ainult nii palju, kui korraga ekraanilt näha on.


      Mida need noolekesed/kolmnurgad seal teevad? Sealt kerida ei anna?

      Esmalt postitatud otsija poolt Vaata postitust
      Kas tundide pikkune logimine üldse võimalik ongi selle softiga
      5000s/DIV, see peaks tegema akna kohta 50000 sekundit. Ehk siis tunde saab, päevi mitte. Liiga vähe?
      viimati muutis kasutaja A.S.; 12 m 2014, 13:10.

      Comment


        #33
        Vs: Multimeetri PC võimalused

        Uurisin seda uuendatud softi ka väheke, ei suutnud ka sealt miskit pikemaajalisemat logimist leida. Sellel lingil tasub aegajalt uurida jah, et mida seal paremaks tehakse, ehk ühel päeval leiab ka midagi asjalikku sealt. Miski 10 tundi võiks ikka saada logida, aga kui ei saa, siis ei saa, seda logimisvarianti sinna külge luua pole paraku minu võimuses.
        otsija

        Comment


          #34
          Vs: Multimeetri PC võimalused

          Esmalt postitatud otsija poolt Vaata postitust
          seda logimisvarianti sinna külge luua pole paraku minu võimuses.
          Aga sa võid ju seal foorumis natukene soovi avaldada, vaevalt keegi viisakat küsimist pahaks paneb.

          Comment


            #35
            Vs: Multimeetri PC võimalused

            See ka variant jah, ehk sealsetel asjapulkadel tekib tahtmist jännata, kui huvilisi leidub.
            otsija

            Comment


              #36
              Vs: Multimeetri PC võimalused

              Esmalt postitatud otsija poolt Vaata postitust
              Miski 10 tundi võiks ikka saada logida
              Aga see 5000s/DIV võimaldub ju logimist lausa üle 13. tunni, näit võetakse ~20x sekundis. Tõsi küll, seda ei salvestata jooksvalt faili, kõige lõpus pead ise salvestusnuppu vajutama.

              Comment


                #37
                Vs: Multimeetri PC võimalused

                Proovisin, see installitud soft jookseb mul kokku selle 5000s peal, on ikka õnnetusehunnik küll. See variant selles suhtes ka jama tegelikult, kuna aega ei kuvata ja seega ei teaks kuna mis muutused toimusid, selline poolik lahendus oleks.

                E: Ja sealt foorumist tuunitud variant loobib erroreid, kui salvestada üritan:/.
                otsija

                Comment


                  #38
                  Vs: Multimeetri PC võimalused

                  Aega ei tundu sinna jah juurde lisatavat, ei teagi, kui reaalne selle lisamine üldse oleks (minu oss näiteks lisab probleemideta, mitte küll nüüd reaalse kellaaja). Aga salvestatava tekstifaili päises olevate andmete (#CLOCK=*** ja #SIZE=***, kas neid aga originaalsoftil lisataksegi?) järgi suudaks Excel ilmselt sinna ka ajaveeru tekitada, sellise suhtelise, mis nullist jooksma hakkab.

                  Aga kui sa soovid nii, et jooksvalt kõik (mitte vaid konkreetne aknatäis) mõõtetulemused faili salvestataks, siis selleks peab oss suutma andmeid katkematult arvutisse saata ehk siis striimida. Tegelikult kõik ossid ei pruugi seda üldse suuta teha. Kuidas sinu ossiga lood on, ei oska arvata. Sest tavaliselt käib asi nii, et kogutakse andmed ossi sisemisse mällu ja kui see saab täis, siis edastatakse arvutisse USB või milleiganes kaudu. Ja peale seda hakatakse jälle koguma uut andmeportsu ning vahele jääb tükk tühja maad.

                  Lihtsam oleks sul vist tõesti mõni odavam tester osta, mida arvutiga ühendada annaks. Seal on logimine piisavalt aeglane, tarkvara suudaks logisse ise aja kirja panna.

                  Comment


                    #39
                    Vs: Multimeetri PC võimalused

                    Mis pingeid on vaja logida logida?
                    Äkki oleks üldse Arduinoga lihtsam teha?
                    Näiteks nii : http://arduino.cc/en/Tutorial/Datalogger
                    MINULE EI MEELDI KUI MÕNINGAD ISIKUD MINU POSTITUSI MUUDAVAD,
                    KUI POSTITUS EI SOBI SIIS PALUKS SEE KUSTUTADA !

                    Comment


                      #40
                      Vs: Multimeetri PC võimalused

                      Pingeid jah, 0-5V idee poolest piisaks täitsa, mis mikrokontrolleritele omane, takkidega annaks pinget kõrgemaks ka sättida. Vaatasin naljapärast, et need arduino-d(neid igasugu erinevaid ka muidugi) seal Ebays suurt midagi ei maksa tegelikult. Väljapakutud lingil on sd kaardile salvestamine, mulle piisaks idee poolest USB kaudu otse arvutisse salvestav variant ka. Ainuke häda selles, et kogemus 0 nende igasugu mikroprotsessoritega(kuigi seal tundub kood olemas olevat). Koodi kirjutamise kohapealt peaks ikka kusagil kursusel vähe midagi külge saama, niisama peale vaadates ja ka netis mingeid koodinäitete juhendeid sirvides ei jõua mulle ikka suurt midagi kohale selle koha pealt. Kui tead mõnd head õpetust algajale(ideaalne oleks kodumaises keeles), kuidas nendega ümber käiakse, siis uuriks täitsa, kui midagi hakkaks looma selle koha pealt, siis võiks täitsa mõelda isegi selles suunas.
                      otsija

                      Comment


                        #41
                        Vs: Multimeetri PC võimalused

                        Programmi annab kirjutada aga sageduslikud parameetrid on määratud sellega, millist kivi kasutad.
                        Neist parameetritest võiks alustada.
                        Homme katsun järgi kui kiiresti õnnestub PIC-ist üle USB mõõtmisi PC-sse lükata.
                        Kui USB kiirust maha suruv siis võib korjata ka massiivi ja siis sealt üle kanda.
                        Ja siis võib ka Raspberry Pid katsetada. Seal oli C olemas.
                        Kui võtta ette valmis kondikava ja kirjutada juurde mõõtmine ja saatmine siis
                        See osa on umbes 10 rida.

                        Kui seal on lisatud kommentaarid siis peaks olema mõte arusaadav ja vajadusel muudetav.
                        Hiljem saab lisada ka sünkro ja laotuse muutmise.
                        Usu, sellega saab hakkama.

                        Arduino jaoks võiks mõõtmise panna tööle üle selle http://robotroonik.eu/ kontori.
                        Neil saab kuidagi ka ilma programmeerija kaablita kirjutada.

                        Comment


                          #42
                          Vs: Multimeetri PC võimalused

                          Uurisin vähe seda arduinot, laadisin selle programmeerimiseks mõeldud softi alla ja tundub, et peaks selle koodi üsna lihtsalt vist läbi USB kivisse saama, põhimõtteliselt läheks vaja seda SD moodulit ja arduino uno plaati( mälukaarti ka muidugi) ning seal olemasolev kood mõne nupuvajutusega kivisse ja olemas? salvestab vist txt failina ja mida ma seal txt failis näen, seda ei suutnud ainult leida. Kas mingisugune ajaloendus ka ikka järel on? Iseenesest see arduino variant ei tundugi üldse paha, saaks vajadusel millekski muuks huvitavaks seda kasutada.
                          otsija

                          Comment


                            #43
                            Vs: Multimeetri PC võimalused

                            Kui ainult arvutisse tahad piisab Arduino plaadist ja juhtprogrammist.
                            Arduino Uno R3 on mikrokontrolleril ATmega328 põhinev arendusplaat. See sisaldab kõike, mis on vajalik mikrokontrolleri juhtimiseks, lihtsalt ühendage plaat arvuti USB pesaga või toiteplokiga ning saa

                            või
                            Arduino Mikro on hea valik USB toega kompaktsete lahenduste loomise korral. Arendusplaat on sobilik paigaldamiseks alustrükkplaadile. Andurite ja muu ühendamiseks on plaadil 20 sisend-väljundviiku.

                            Juhtprogrammi saad siit : http://arduino.cc/

                            Aknasse kirjutad siin lisatud koodi, laed selle arduino plaadile ja avad com pordi monitori.
                            See on samast SD kaardile salvestamise koodist väljakorjatud arvutise saatmise osa.
                            SD kaarti see osa ei vaja.

                            Kood:
                            /*
                             datalogger
                             This example code is in the public domain.      
                             */
                            
                            void setup()
                            {
                             // Open serial communications and wait for port to open:
                             // siin näitad ära ühenduse kiiruse- 57600
                              Serial.begin(57600);  
                               while (!Serial) {
                                ; // wait for serial port to connect. Needed for Leonardo only
                              }
                            }
                            
                            void loop()
                            {
                              // make a string for assembling the data to log:
                              String dataString = "";
                              // read three sensors and append to the string:
                              // kui tahad sisendeid lisada kirjutad 3 asemele teise numbri.
                              for (int analogPin = 0; analogPin < 3; analogPin++) {
                                int sensor = analogRead(analogPin);
                                dataString += String(sensor);
                                if (analogPin < 2) {
                                  dataString += ","; 
                                }
                              } 
                                Serial.println(dataString);   
                            // kui on liiga kiire, kirjutad siia viivituse, näiteks:
                            // delay(1000);                  // waits for a second
                            
                            }
                            viimati muutis kasutaja klm; 13 m 2014, 22:59.
                            MINULE EI MEELDI KUI MÕNINGAD ISIKUD MINU POSTITUSI MUUDAVAD,
                            KUI POSTITUS EI SOBI SIIS PALUKS SEE KUSTUTADA !

                            Comment


                              #44
                              Vs: Multimeetri PC võimalused

                              Ma telliksin pigem ebay-st näiteks sellise, seal ka tiba kallimaid, aga põhimõtteliselt vahet ei ole, toimiks ka selle odavaimaga? Euro juurde maksta ja saab selle kaardi pesa. Kui juba siis prooviks seda mälukaardiga varianti ka. Aga see siiski selgusetu veel ,et mismoodi need andmed logitakse, on mingisugune ajaline näit ka kõrval? Kellaaega ilmselt olla ei saa, kuna toite eemaldamisel vist peaks kellaaeg ka valeks minema. Ehk lihtsalt käivitamise hakkab niiöelda taimer jooksma ja see kuvatakse ka andmete hulgas?
                              otsija

                              Comment


                                #45
                                Vs: Multimeetri PC võimalused

                                Mina tellisin oma Arduinod kah hiinast, aga sealt tulevad need ca kaks kuud, selle ajaga jõuab juba ära unustada, mida teha tahtsid.

                                Kaardipesa saab ka ise ehitada SD SDmicro adapterist (mis on põhimõtteliselt tükk plastmassi, mille sees on mõned traadid)
                                Lisaks läheb vaja veel kuut takistit pingejaguriks mis teeb Arduino 5V andmenivoost SD kaardile sobiva 3,3 V ninoo.


                                Saab ka kellaaja juurde kui kasutada õigeaja moodulit, näiteks DS1307

                                Lisan ühe koos aegadega logimise programmi:

                                Kood:
                                // A simple data logger for the Arduino analog pins with optional DS1307
                                // uses RTClib from https://github.com/adafruit/RTClib
                                #include <SdFat.h>
                                #include <SdFatUtil.h>  // define FreeRam()
                                
                                #define SD_CHIP_SELECT  4  // SD chip select pin 
                                // minul on see 4 , aga ülalpool viidatud SD adapteril on see ilmselt 10
                                #define USE_DS1307       0  // set nonzero to use DS1307 RTC
                                #define LOG_INTERVAL  1000  // mills between entries
                                #define SENSOR_COUNT     3  // number of analog pins to log
                                #define ECHO_TO_SERIAL   1  // echo data to serial port if nonzero
                                #define WAIT_TO_START    1  // Wait for serial input in setup()
                                #define ADC_DELAY       10  // ADC delay for high impedence sensors
                                
                                // file system object
                                SdFat sd;
                                
                                // text file for logging
                                ofstream logfile;
                                
                                // Serial print stream
                                ArduinoOutStream cout(Serial);
                                
                                // buffer to format data - makes it eaiser to echo to Serial
                                char buf[80];
                                //------------------------------------------------------------------------------
                                #if SENSOR_COUNT > 6
                                #error SENSOR_COUNT too large
                                #endif  // SENSOR_COUNT
                                //------------------------------------------------------------------------------
                                // store error strings in flash to save RAM
                                #define error(s) sd.errorHalt_P(PSTR(s))
                                //------------------------------------------------------------------------------
                                #if USE_DS1307
                                // use RTClib from Adafruit
                                // https://github.com/adafruit/RTClib
                                
                                // The Arduino IDE has a bug that causes Wire and RTClib to be loaded even
                                // if USE_DS1307 is false.
                                
                                #error remove this line and uncomment the next two lines.
                                //#include <Wire.h>
                                //#include <RTClib.h>
                                RTC_DS1307 RTC;  // define the Real Time Clock object
                                //------------------------------------------------------------------------------
                                // call back for file timestamps
                                void dateTime(uint16_t* date, uint16_t* time) {
                                    DateTime now = RTC.now();
                                
                                  // return date using FAT_DATE macro to format fields
                                  *date = FAT_DATE(now.year(), now.month(), now.day());
                                
                                  // return time using FAT_TIME macro to format fields
                                  *time = FAT_TIME(now.hour(), now.minute(), now.second());
                                }
                                //------------------------------------------------------------------------------
                                // format date/time
                                ostream& operator << (ostream& os, DateTime& dt) {
                                  os << dt.year() << '/' << int(dt.month()) << '/' << int(dt.day()) << ',';
                                  os << int(dt.hour()) << ':' << setfill('0') << setw(2) << int(dt.minute());
                                  os << ':' << setw(2) << int(dt.second()) << setfill(' ');
                                  return os;
                                }
                                #endif  // USE_DS1307
                                //------------------------------------------------------------------------------
                                void setup() {
                                  Serial.begin(9600);
                                  while (!Serial){}  // wait for Leonardo
                                  
                                  // pstr stores strings in flash to save RAM
                                  cout << endl << pstr("FreeRam: ") << FreeRam() << endl;
                                
                                #if WAIT_TO_START
                                  cout << pstr("Type any character to start\n");
                                  while (Serial.read() <= 0) {}
                                  delay(400);  // catch Due reset problem
                                #endif  // WAIT_TO_START
                                
                                #if USE_DS1307
                                  // connect to RTC
                                  Wire.begin();
                                  if (!RTC.begin()) error("RTC failed");
                                
                                  // set date time callback function
                                  SdFile::dateTimeCallback(dateTime);
                                  DateTime now = RTC.now();
                                  cout  << now << endl;
                                #endif  // USE_DS1307
                                
                                  // initialize the SD card at SPI_HALF_SPEED to avoid bus errors with
                                  if (!sd.begin(SD_CHIP_SELECT, SPI_HALF_SPEED)) sd.initErrorHalt();
                                
                                  // create a new file in root, the current working directory
                                  char name[] = "LOGGER00.CSV";
                                
                                  for (uint8_t i = 0; i < 100; i++) {
                                    name[6] = i/10 + '0';
                                    name[7] = i%10 + '0';
                                    if (sd.exists(name)) continue;
                                    logfile.open(name);
                                    break;
                                  }
                                  if (!logfile.is_open()) error("file.open");
                                
                                  cout << pstr("Logging to: ") << name << endl;
                                  cout << pstr("Type any character to stop\n\n");
                                  
                                  // format header in buffer
                                  obufstream bout(buf, sizeof(buf));
                                
                                  bout << pstr("millis");
                                
                                #if USE_DS1307
                                  bout << pstr(",date,time");
                                #endif  // USE_DS1307
                                
                                  for (uint8_t i = 0; i < SENSOR_COUNT; i++) {
                                    bout << pstr(",sens") << int(i);
                                  }
                                  logfile << buf << endl;
                                
                                #if ECHO_TO_SERIAL
                                  cout << buf << endl;
                                #endif  // ECHO_TO_SERIAL
                                }
                                //------------------------------------------------------------------------------
                                void loop() {
                                  uint32_t m;
                                
                                  // wait for time to be a multiple of interval
                                  do {
                                    m = millis();
                                  } while (m % LOG_INTERVAL);
                                
                                  // use buffer stream to format line
                                  obufstream bout(buf, sizeof(buf));
                                
                                  // start with time in millis
                                  bout << m;
                                
                                #if USE_DS1307
                                  DateTime now = RTC.now();
                                  bout << ',' << now;
                                #endif  // USE_DS1307
                                
                                  // read analog pins and format data
                                  for (uint8_t ia = 0; ia < SENSOR_COUNT; ia++) {
                                #if ADC_DELAY
                                    analogRead(ia);
                                    delay(ADC_DELAY);
                                #endif  // ADC_DELAY
                                    bout << ',' << analogRead(ia);
                                  }
                                  bout << endl;
                                
                                  // log data and flush to SD
                                  logfile << buf << flush;
                                
                                  // check for error
                                  if (!logfile) error("write data failed");
                                
                                #if ECHO_TO_SERIAL
                                  cout << buf;
                                #endif  // ECHO_TO_SERIAL
                                
                                  // don't log two points in the same millis
                                  if (m == millis()) delay(1);
                                  
                                  if (!Serial.available()) return;
                                  logfile.close();
                                  cout << pstr("Done!");
                                  while (1);
                                }
                                MINULE EI MEELDI KUI MÕNINGAD ISIKUD MINU POSTITUSI MUUDAVAD,
                                KUI POSTITUS EI SOBI SIIS PALUKS SEE KUSTUTADA !

                                Comment

                                Working...
                                X