Teade

Collapse

Foorumi reeglid.

Foorumi reeglistik on uuendatud. Palume tutvuda ja arvesse võtta.
http://www.elfafoorum.eu/faq.php
See more
See less

Arduino (kloon) UNO ja displei

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

    Arduino (kloon) UNO ja displei

    Ilmselt on seda ehk juba ka keegi varem lahanud aga otsing "arduino uno displei" jne andis mulle esimeseks vasteks "arvutile kõlareid" lahkamise teema jne, seega siis nüüd risustamise tee.

    Et pole selle plaadikesega varasemat kogemust, niipalju kui esimene proovimine Arduino oma tarkvaraga ja seal olevate võimalike näidetega ilma igasuguste lisadeta, tundub, et tarkvara töötab ka kloonplaadiga.

    Mure aga on, et tahaks proovida displeiga ühendust kuid mul on 12x2 LCD, nendes näidetes soovitustes on 16 märki rida/2 realised. Kas Arduino (klooniga) saab selle 12 märki reas/2 rida displeid ka otse ühendada?
    See displei: https://datasheetspdf.com/pdf-file/1...1202A-YYH-ET/1

    Mulle tundub, et ideejärgi võiks nagu saada kasutada aga päris kindel ei ole, ei tahaks esimestel proovimistel maha ka põletada.
    -superradical-

    #2
    Vs: Arduino (kloon) UNO ja displei

    Töötab ka 12 märgiga reas.
    Ainult koodi peab muutma, et 16 märgilise infot näitaks.

    Ei teagi nüüd, kas üldse on siin õige koht Arduinode ja muude jaoks - pole nagu eriti teemasid kus neid arutatud.
    Igaljuhul oli juba omajagu aega tagasi kange huvi selle asjakese rakendamiseks mõõtmise juures.

    Kas kui siin on keegi midagi praktilisemat sellega teinud siis kuidas võiks see asi end reaalses elus õigustada?
    https://www.radiolocman.com/shem/sch...html?di=162628 induktiivsuse mõõtja.
    Kui täpne see praktikas kümnete kuni mõnesaja mH mõõtmisel võiks olla? Kas detsimaalkohti on sellega võimalik praktikas usutavalt mõõta?
    Mingeid oletusi?
    -superradical-

    Comment


      #3
      Vs: Arduino (kloon) UNO ja displei

      Ma proovisin kooliaega meelde tuletada ja mõõtemääramatust arvutada. Tuli u 5%

      Kaks erinevat online tuletiste kalkulaatorit andsid erinevad tulemused, valisin sobivama.

      Click image for larger version

Name:	Hõiva.JPG
Views:	1
Size:	45,2 KB
ID:	872893


      https://en.wikipedia.org/wiki/Colpitts_oscillator

      http://www.obs.ee/~jaak/loengud/esimene_02/veaarvutus/vigaw.htm

      https://www.symbolab.com/solver/derivative-calculator/

      Comment


        #4
        Vs: Arduino (kloon) UNO ja displei

        Aga seal ju kalibreeritakse mõõterist ära, kui mõõtmised toimuvad samades tingimustes ja samas piirkonnas, siis määrab täpsuse etalon induktiivsuse täpsus.
        MINULE EI MEELDI KUI MÕNINGAD ISIKUD MINU POSTITUSI MUUDAVAD,
        KUI POSTITUS EI SOBI SIIS PALUKS SEE KUSTUTADA !

        Comment


          #5
          Vs: Arduino (kloon) UNO ja displei

          No võrdlusmeetod on üks asi, teine teema on, et kust saada täpset teadaoleva väärtusega etaloni.

          Isegi kui võtta etaloniks näiteks taoline: https://www.mouser.ee/datasheet/2/28/5400-1702602.pdf (2% hälbega) siis pole seda tükikaupa saada. Näiteks digikeys miinimumkogus 250tk, mouseril sama.
          Ka 3% hälbega on nad saadaval ainult suurtes kogustes.

          https://www.digikey.ee/products/en?keywords=5400R-226G

          Ka näiteks 10mH täpseid saab ainult 800+ kaupa.

          Reaalne pool mida tarvis mõõta (trafo LLC muundile) on umbes 50-60mH vahemikus, seda vaja üsna täpselt mõõta, paar protsenti erinevus on liiast. Arvutades ja reaalselt lähevad numbrid liigapalju lahku
          Jah, muidugi saab spetsiaalse riistaga mõõta aga kui kord paari aasta jooksul vaja siis ei hakka seda soetama, hakkaks ehk kui ma ei tea...eurolotoga võidaks a niisama - pangalaenu sellistele asjadele ei pakuta.
          -superradical-

          Comment


            #6
            Vs: Arduino (kloon) UNO ja displei

            Ma usun, et selle probleemi saab kuidagi elegantselt lahendada. Küsimus ei olegi siis mitte tundmatu väärtuse mõõtmises, vaid hoopis kindla etteantud väärtuse loomises.

            Ossiga saab pärast skeemis mingit teist komponenti timmida, et õige tööreziim saada.

            Comment


              #7
              Vs: Arduino (kloon) UNO ja displei

              Võtad mõne stabiilse, korraliku ja sobivas piirkonnas oleva induktiiv pooli ja lased selle täpismõõteriistaga ära mõõta.
              https://metrosert.ee/hinnakiri/metro...ibreerimine/#2
              Pärast kalibreerid selle firmasisese etaloniga oma mõõteriistad.

              PS: Veidi aega tagasi sai PT100 anduri mõõtemuundureid karibreeritud - oli ülemõõdetud 100,054 oomine täpistakisti sellega panin mõõtemuundurite null punktid paika.
              viimati muutis kasutaja klm; 26 08 2020, 21:52. Põhjus: PS
              MINULE EI MEELDI KUI MÕNINGAD ISIKUD MINU POSTITUSI MUUDAVAD,
              KUI POSTITUS EI SOBI SIIS PALUKS SEE KUSTUTADA !

              Comment


                #8
                Vs: Arduino (kloon) UNO ja displei

                270ga saaks selle: https://docs.rs-online.com/8e29/0900766b80bdcacf.pdf

                2-200mH: 3%
                Erilahendused.
                PS või mail.

                Comment


                  #9
                  Vs: Arduino (kloon) UNO ja displei

                  Krt, valesti kirjutasin, 50-60uH (1000x väiksem ühik)

                  Ilmselt panen selle asja ikka kokku, väga halb ta ikka olla ei saa, ETHs väga jamade asjadega ei tegeleta.

                  Testrid mõõtmiseks ei sobi, neil väga madal mõõtesagedus 100Hz või healjuhul 1kHz, protsent-paar (mis sagedusest sõltuvalt võib tunda anda) iga väärtuse nihkupanemisega ei anna ka aega hiljem passiivdetaile sobitada või mõõta midagi.
                  -superradical-

                  Comment


                    #10
                    Vs: Arduino (kloon) UNO ja displei

                    Siis palun, 1% etalon: https://www.mouser.ee/ProductDetail/API-Delevan/4470-21F?qs=M8zUmdy7pCm4opu0igxbNw%3D%3D


                    J
                    a suurem ka: https://www.mouser.ee/ProductDetail/...NKgJhbsg%3D%3D
                    Erilahendused.
                    PS või mail.

                    Comment


                      #11
                      Vs: Arduino (kloon) UNO ja displei

                      Tuhnisin arduinoasjade karbis ja leidsin ühe ADC, HX711, kirjade (hiina jutud ) järgi on see 24bitine ADC mis koosmussensoriga koos suudab massi kaaluda.
                      Katsetasin siis, et mida ta endast kujutab.

                      Tundub üsna halb - või on kellelgi siin kokkupuuteid?

                      1/100g puhul 100g etalon kalibreeringuga ujutab viimaseid sajandikgramme 2-3 ühikut.
                      Kas seda on kuidagi võimalik vältida?
                      Need poest 10-15 euriga ostetavad 0.01g resoga kaalud nagu niiväga seda viimast numbrit ei ujuta.
                      Ma ei usu, et odaval kommertsasjal on sees parem ADC, paari köögikaalu olen uurinud siis seal küll kõik väga robustne.

                      Või mul on kood halb? Või on sedatüüpi ühendus halb? Milles võib põhjus olla kui resolutsioon ujub? Sensor on mul mingi jumala suvaline, pakun, et äkki kilose väärtusega (suuruse järgi), et see vast ei tohiks mõjutada ja kõik ju peaks sõltuma ikka kalibreeritud kehast mis algseaded paika paneb?
                      Kood ise on niisugune:

                      #include <LiquidCrystal.h>
                      LiquidCrystal lcd(7, 6, 5, 4, 3, 2);

                      #define DT A0
                      #define SCK A1
                      #define sw 9

                      long sample=0;
                      float val=0;
                      long count=0;

                      unsigned long readCount(void)
                      {
                      unsigned long Count;
                      unsigned char i;
                      pinMode(DT, OUTPUT);
                      digitalWrite(DT,HIGH);
                      digitalWrite(SCK,LOW);
                      Count=0;
                      pinMode(DT, INPUT);
                      while(digitalRead(DT));
                      for (i=0;i<24;i++)
                      {
                      digitalWrite(SCK,HIGH);
                      Count=Count<<1;
                      digitalWrite(SCK,LOW);
                      if(digitalRead(DT))
                      Count++;
                      }
                      digitalWrite(SCK,HIGH);
                      Count=Count^0x800000;
                      digitalWrite(SCK,LOW);
                      return(Count);
                      }

                      void setup()
                      {
                      pinMode(SCK, OUTPUT);
                      pinMode(sw, INPUT_PULLUP);
                      lcd.begin(12, 2);
                      lcd.print(" Massi ");
                      lcd.setCursor(0,01);
                      lcd.print(" Kaalumine ");
                      delay(1000);
                      lcd.clear();
                      calibrate();
                      }

                      void loop()
                      {
                      count= readCount();
                      int w=(((count-sample)/val)-2*((count-sample)/val));
                      lcd.setCursor(0,00);
                      lcd.print("Kaalutud mass");
                      lcd.setCursor(0,01);
                      lcd.print(w);
                      lcd.print("g ");

                      if(digitalRead(sw)==0)
                      {
                      val=0;
                      sample=0;
                      w=0;
                      count=0;
                      calibrate();
                      }
                      }

                      void calibrate()
                      {
                      lcd.clear();
                      lcd.print("Kalibreerin...");
                      lcd.setCursor(0,01);
                      lcd.print("oota...");
                      for(int i=0;i<100;i++)
                      {
                      count=readCount();
                      sample+=count;
                      }
                      sample/=100;
                      lcd.clear();
                      lcd.print("sisesta 100g & oota");
                      count=0;
                      while(count<1000)
                      {
                      count=readCount();
                      count=sample-count;
                      }
                      lcd.clear();
                      lcd.print("oota....");
                      delay(2000);
                      for(int i=0;i<100;i++)
                      {
                      count=readCount();
                      val+=sample-count;
                      }
                      val=val/10000,00;
                      val=val/100,00; // kalibreeritud mass
                      lcd.clear();
                      }

                      -------------------------------
                      EDI: Ise küsin//ise vastan.
                      Suvalise kolakastist võetud asjaga vist tulemus isegi hea.
                      Mida siis üldse katsetasin? Koormus/massisensori ja Arduino koostööd.
                      Püüdsin seada resolutsiooni sajandikgrammile mis 24bitise ADC puhul ei tohiks üldse kujutada endast mingit probleemi.

                      Probleem kujuneb hoopis mujal millekohta selle hiina ADC datasheetis napilt infot. Ehk reaalselt see ADC annab ~14 müravaba bitti mis iseenesest ka veel 100g täisväärtuse puhul 0,01 resolutsioonis probleemiks ei kujuneks aga hulk probleeme tekib mujalt, alates sensorist endast ehk selle omadustest (suvaline kolakastist võetud sensor ei ole ka parim valik) kuni ADC ühendamiseni jne.
                      Seega vist on probleem lahendatud ja üks uus Arduino lisakogemus saadud milleks see katsetus pm saigi tehtud.

                      Ehk viidatud kood iseenesest töötab ilma tõrgeteta Uno ja Mega2560 plaatidega ja katsetatud 100g/1000g täisskaalal 0,01, 0,1 ja 1g resolutsiooniga.
                      viimati muutis kasutaja radiotehnika35; 03 11 2020, 23:40.
                      -superradical-

                      Comment


                        #12
                        Soovitaks seal keskmist koguda et sellest m[rast t''psem kaal saavutada...

                        Comment


                          #13
                          HX711 ei ole üldse hea selleks.
                          Paar tehaseinstrumenti tundusid olevat paremad, sisu on neil räpakas nagu 10-20 euristel hiinakatel ikka aga isegi neid HX711 kõrvutades tundub, et need 10-20eurised riistad on parema muunduriga, infot nendekohta pole aga leidnud. Enamusel on COB kus ADC/CPU ühes tükis.

                          Kõik see värk on teoreetiline, mingit praktilist väärtust sellega jebimisel tegelikult ei ole.

                          Oluline on veel sensor ise - on 3 dollarised sensorid ja on sama koormuse jaoks 300dollarised - odavamatel on mürad, suhteline viga, temperatuurist sõltuv ja ajaline nihkumine tundmatud suurused ja ainult katseeksituse meetodil saaks nendega suuremat täpsust.
                          ADC ise ei olegi kõigesuurem pudelikael vaid just see sensor ise, need sensorid on oma loomuselt juba mürased.

                          ADC juures jäin pidama LTC2508-32 ja AD7177 juurde, mõlemad 32bitised aga oluline jälle hoopis müravabad bitid. Esimese kohta täpselt ei teagi, infot seinast seina.
                          Kipun arvama, et selleks katseks on parem AD7177 millel müravabalt 24,6 bitti 5 sämplit sekundis kiirusel. Viimane on mouseris u. 30 euri, esimene natuke odavam aga selleks eksperimendiks lihtsalt katsetamiseks pole veel soetanud, muid asju mis tähtsamad aga ilmselt kevadepoole ehk katsetan edasi.

                          Miks üldse see katsetamine siis?
                          No näiteks https://www.ebay.com/itm/20g-0-001g-...Cclp%3A2334524
                          olen käes hoidnud aga katsekaalumisi ei saanudki teha ja enne lõhuti see juba ära...tuttav kaalus omale pätikohvi sellega ja leidis, et täpne kohvikogus tassis on ikka tähtis...krt teab, oli nagu kohvi ikka.

                          Ma kuidagi nagu ei tahaks uskuda, et kui nüüd panna sinna kaalule oletame näiteks koormis massiga 7,000062g näiteks siis ma ei usu, et kui selle massiga kaalumist korrata näiteks 20 korda siis ta igakord näitab ka konkreetselt sulle 7,000 , ma kipun oletama, et ka need viimased või viimane number võib seal ujuda ikka kord ühes, kord teises suunas ja eriti kui süsteem on aktiivne näiteks tund aega. Selle ajaga kindlasti sensori mürad muutuvad ja ujub balanseering jne.

                          Veelkord, see pole mingi oluline praktiline küsimus vaid lihtsalt puht eksperimentaalne.

                          Mõte tekkis sest kohalikus apteegis on mingi vana analüütiline kapiga kaal kus resolutsioon oli 6 või 7 kohta peale koma grammijaotises, küsisin apteekrilt ja kuigi ei olevat juba mitu aastat seda taadeldud, ütles, et varem oli ta hea riist kui mingeid ravimeid veel kohapeal tehti aga kuna enam aktiivselt ei ole kasutuses siis seisab, õnneks heades tingimustes ja sain nõusse, et saan ilmselt küllaltki täpselt "kalibreerida" omale 100mg, 1g, 10g ja 100g koormised millega saaks eksperimenteerimiseks piirkondi valida ja katsetada...eks näe kevadepoole äkki, lihtsalt huvitav matemaatiline eksperiment.
                          -superradical-

                          Comment

                          Working...
                          X