Teade

Collapse

Foorumi reeglid.

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

Raspberry Pi ja vooluarvesti SO Open collector väljundi ühendamine

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

    Raspberry Pi ja vooluarvesti SO Open collector väljundi ühendamine

    Soovin ühendada vooluarvesti Raspberry PI'ga et arvesti SO Open Collector impullsväljundist signaale lugeda. Kuna pole ise elektrikuharidusega ja elektroonikaga tegelen hobikorras siis küsin spetsialistidelt üle.

    Vooluarvesti DINmetering DIN03165A DTS353 - http://www.harjuelekter.ee/xml/K140118209.pdf
    Click image for larger version

Name:	2017-01-21 18.58.29.jpg
Views:	1
Size:	296,8 KB
ID:	879178Click image for larger version

Name:	20170121_000332.jpg
Views:	1
Size:	504,6 KB
ID:	879179Click image for larger version

Name:	20170121_000349.jpg
Views:	1
Size:	501,0 KB
ID:	879180

    Open Collector väljundi kohta tean niipalju et väljundi klemmid on seadme siseselt ühendatud ühe NPN transistori collector ja emitter külge. Selleks et impulsse lugeda peab ise sisendpinge klemmi 20 tagama. Sisendpinge peab olema vahemikus 5-30V ning voolu tarbib see 20mA. Kuna tegu on standariga mõtlesin et ehk leiab konkreetseb infot SO väljundi piirangute kohta (max pinge, voolutugevus, impulsi pikkus jms.). Harjuelektri DIN03165A datasheedilt SO väljundi piirangute kohta midagi kirjas pole kuid leidsin rohkem infot ühe teise arvesti datasheedilt (https://goo.gl/gVRVcX):
    S0 output (interface) Optocoupler max. 30V/ 20mA and at least 5V, impedance 100Ω, pulse width 30ms
    Kas see kehtib ka teistel seadmetel olevate SO Open Collector väljundite kohta?

    Tegin skeemi ja üks variant oleks ühendada nad omavahel niimoodi:
    Click image for larger version

Name:	Joonis 1.png
Views:	1
Size:	17,9 KB
ID:	879181
    GND, 3.3V ja GPIO on kõik Pi klemmid. Skeemis arvesti klemm 1 vastab reaalsel arvestil olevale klemmile 20 ja skeemi klemm 2 vastavalt arvesti klemmile 21. Tean et Raspberry Pi'l on olemas ka sisseehitatud pull-up ja pull-down takistid aga oletame et ma neid ei kasuta. Kas sel juhul võiks arvesti ja Pi omavahel skeemil toodud viisil ühendada?

    Teine moodus oleks kasutada optoisolaatorit (misiganes põhjusel). Saan aru et SO väljund on juba põhimõtteliselt seadme seesmisest skeemist eraldatud aga oletame lihtsalt et kasutan Raspberri Pi'ga ühendamiseks seda sellegipoolest. Kas toimiv skeem oleks seljuhul midagi sarnast (rohelisel alal olevad klemmid on Pi omad, ülejäänud GND ja 5V on toiteploki ühendused):
    Click image for larger version

Name:	Joonis 2.png
Views:	1
Size:	27,9 KB
ID:	879182
    SO Open Collectori minimaalne voolupinge peab olema 5V kuid vaadates optoisolaatori PC120FB datasheeti (https://goo.gl/WyJNeM) loen siit välja et optoisolaatori LEDi poolne osa vajab umb 1.2V ning tarbib 20mA. Skeemis olev 2000 ohmine takisti peaks optoisolaatori ledi töö nõutud tingimustes vist tagama? Kuna pole spetsialist siis tekkis küsimus et kas SO väljund saab sel juhul oma vajaliku 5V kätte? Ning kuna optoisolaatori LED tarbib 20mA on see SO väljundi max voolutugevuse (20mA) piirimail.

    Kas ma olen õigesti aru saanud SO Open Collectori väljundi tööpõhimõttest ja piirangutest ning kas tehtud skeemide baasil võib Pi ja arvesti SO väljundi omavahel ühendada ning oodata et Pi saab edukalt sealt impulsid kätte? Või olen ma millegiga totaalselt mööda pannud ja valesti aru saanud?
    Tänan juba ette aitamast!

    #2
    Vs: Raspberry Pi ja vooluarvesti SO Open collector väljundi ühendamine

    Sa mõtled asjad enda jaoks liiga keeruliseks.
    Kui see pi on sealsamas arvesti kõrval, ühenda pi üldjuhe ja optroni emitter kokku. Optroni kollektorile saada pi 3,3V läbi sobiva takisti. Signaali saad kollektorilt. Kui soovid, võid ka selle kilooomise sinna gpio ja kollektori vahele pista.
    Kui pi on arvestist kaugemal ja liin pikk, tasub takistid valida nii, et voolud oleks ülemistele lubatud piiridele lähemal. Aga see on katsetamise värk natuke. Väiksem vool on säästlikum. Suurem häirekindlam.
    Ülejäänu on softi teema.

    Comment


      #3
      Vs: Raspberry Pi ja vooluarvesti SO Open collector väljundi ühendamine

      Mina kasutaks seda viimast optroniga skeemi ja raspberry sisendisse paneks veel 0,1 nF kondensaatori häirete summutamiseks.
      MINULE EI MEELDI KUI MÕNINGAD ISIKUD MINU POSTITUSI MUUDAVAD,
      KUI POSTITUS EI SOBI SIIS PALUKS SEE KUSTUTADA !

      Comment


        #4
        Raspberry Pi ja vooluarvesti SO Open collector väljundi ühendamine

        Pi on arvesti kõrval.

        Ma tegin need skeemid kahes variandis - üks on kus normaalolek on digitaalsisendis LOW ja signaali puhul HIGH ("Pull Down" lõpuga skeemid) ning teine on kus normaalolek on digitaalsisendis HIGH ja signaali puhul LOW ("Pull Down" lõpuga skeemid).

        Kas saan õigesti aru et kuna SO Open Collectori puhul ei ole põhimõtteliselt vaja optroni kasutada ning võib kasutusele võtta koostatud "SO Open Collector - Pull Down" ja "... - Pull Up" skeemid (vastavalt millist digitaalsisendit normaalolekus vaja on)?
        Või kas on soovitatav ikkagi optroni kasutada?

        Optroni kasutuse puhul kas mul pole juba kõik nii nagu te soovitasite? Optroni collectorile lähebki 3.3V juba Pi vastavalt klemmilt ning voolutugevust piirab GPIO klemmi ees olev 1K oomine takisti. Kas sellest piisab? See GPIO ees olev kilooomine takisti kaitseb ka lühise eest juhul kui peaks kogemata vastav Pi klemm muudetama väljundiks.

        Optroniga "... - Pull Up" skeemis ongi mul juba kilooomine takisti GPIO ja optroni collectori vahel (selle skeemi puhul on digitaalsisend normaalolekus HIGH).

        Arusaamatuks jäi aga mida te mõtlesite "pi üldjuhe ja optroni emitter kokku" all.

        Võibolla mõtlen tõesti asja keeruliseks aga tahan et kõik oleks datasheetidel olevate tolerantside piires ja üldiselt on hea tunne kui mõni kogemustega asjatundja annab positiivse tagasiside.

        Skeemid ise on kättesaadavad ja muudetavad siin - http://www.digikey.com/schemeit/proj...-O69QA88201H0/

        Esmalt postitatud klm poolt Vaata postitust
        Mina kasutaks seda viimast optroniga skeemi ja raspberry sisendisse paneks veel 0,1 nF kondensaatori häirete summutamiseks.
        Kas sa mõtled "SO Open Collector (with optocoupler) - Pull Down" skeemi? Kui nii siis seal peaks sisendi floatingus (ujuva pingega) olekut vältima maasse ühendatud 10kilooomine takisti. Või kui arvad et ka kondekas paha ei tee siis kuidas kondeka otsad täpselt ühendada - kas maa ja gpio sisendi vahele? Ja kas kondekas peaks olemas olema kõigi skeemide puhul GPIO klemmi ja maa vahel?

        Ja ps. ma ise kasutaks ka seda sama skeemi - "SO Open Collector (with optocoupler) - Pull Down" - on loogiline et normaalolekus on digitaalsisend LOW ja signaali puhul HIGH.
        viimati muutis kasutaja Scott; 22 m 2017, 02:34. Põhjus: järjestikpostitused kokku

        Comment


          #5
          Vs: Raspberry Pi ja vooluarvesti SO Open collector väljundi ühendamine

          Esmalt postitatud RobertV poolt
          Kas sa mõtled "SO Open Collector (with optocoupler) - Pull Down" skeemi? Kui nii siis seal peaks sisendi floatingus (ujuva pingega) olekut vältima maasse ühendatud 10kilooomine takisti. Või kui arvad et ka kondekas paha ei tee siis kuidas kondeka otsad täpselt ühendada - kas maa ja gpio sisendi vahele? Ja kas kondekas peaks olemas olema kõigi skeemide puhul GPIO klemmi ja maa vahel?

          Ja ps. ma ise kasutaks ka seda sama skeemi - "SO Open Collector (with optocoupler) - Pull Down" - on loogiline et normaalolekus on digitaalsisend LOW ja signaali puhul HIGH.
          Kondekas jah gnd ja GPIO vahele.
          Optronitega sisend on ka tööstuskontrollerite puhul suhteliselt tavaline - kui miskit nihu läheb tapad vaid ühe sisendi (antud juhul optroni), mitte terve kontrolleri.
          MINULE EI MEELDI KUI MÕNINGAD ISIKUD MINU POSTITUSI MUUDAVAD,
          KUI POSTITUS EI SOBI SIIS PALUKS SEE KUSTUTADA !

          Comment


            #6
            Vs: Raspberry Pi ja vooluarvesti SO Open collector väljundi ühendamine

            Küsimused mis mul ikka õhku jäänud.

            1) Optroni led tarbib voolu (seda küll mA'des aga ikkagi). Kui suurt voolutugevust siis SO Open Collector väljund kannatab? Kas see on kuskil standardis kirjas ja kõigil seadmetel ühesugune? Selle arvesti datasheedilt (https://goo.gl/gVRVcX) oli kirjas nagu enne mainitud :
            S0 output (interface) Optocoupler max. 30V/ 20mA and at least 5V, impedance 100Ω, pulse width 30ms
            Kas see on siis SO Open Collector ühenduse standard ja on samasugune kõigil SO väljundit kasutavatel seadmetel, st. SO Open Collector Pinge 5-30V, voolutugevus max 20mA ja impulsi kestvus 30ms?

            2) Oomipood pakub erinevaid optroneid (4-jalaga https://www.oomipood.ee/category/opt...er=a2145:4775;). Darlingtoni ja transistor tüüpi optroni vahe on see et darlington pakub kõrgemat CTR'i kui transistor tüüpi optron (current transfrer ratio). Milline antud lingil olev optron on käesoleva kasutuse jaoks sobiv? Skeemis on PC120FB aga võibolla asjatundja valiks mõne teise?

            3) Kui kasutada minu optroniga skeemi mõne teise miniarvuti peal (näiteks Onion Omega2+), kus tolerantsid GPIO klemmi jaoks järgmised:
            Click image for larger version

Name:	gpio.png
Views:	1
Size:	21,4 KB
ID:	869883

            Kas mu skeemis saaks negatiivset pinget GPIO klemmil vältida lisades vahetult selle ette dioodi?

            4) Uuendatud skeemid keraamilise 100pF häireid summutava kondekaga:
            Click image for larger version

Name:	Joonis 1.png
Views:	3
Size:	20,4 KB
ID:	869884Click image for larger version

Name:	Joonis 2.png
Views:	3
Size:	28,1 KB
ID:	869885
            viimati muutis kasutaja RobertV; 22 m 2017, 14:50.

            Comment


              #7
              Vs: Raspberry Pi ja vooluarvesti SO Open collector väljundi ühendamine

              Esmalt postitatud klm poolt Vaata postitust
              Mina kasutaks seda viimast optroniga skeemi ja raspberry sisendisse paneks veel 0,1 nF kondensaatori häirete summutamiseks.
              Vabandust, läks veidi valesti kondekas peaks ikka olema 0,1 uF ehk 100nF.
              100pF on veidi liiga vähe.
              MINULE EI MEELDI KUI MÕNINGAD ISIKUD MINU POSTITUSI MUUDAVAD,
              KUI POSTITUS EI SOBI SIIS PALUKS SEE KUSTUTADA !

              Comment


                #8
                Vs: Raspberry Pi ja vooluarvesti SO Open collector väljundi ühendamine

                Eeldus et see 0,1uF signaali ära ei silu. Ja teiseks põhjustab see optroni lülitamisel piiramata voolupulsse läbi optroni, pole tavaline praktika panna väljundisse kondensaator (ja prose poolt on sisend aga optroni poolt vaadatuna väljund). Lisaks tuleks kasutada pulldowni mitte pulupi sest EK vaheline pinge jääb llitatud olekus sinna 1V kanti ja CMOS sisend LOW on samas suurusjärgus.
                Modelleerimises ja tootmises kehtivad:
                1. Avariikindel vooluring lühistab kõik teised.
                2. Transistor, millel on kiiresti toimiv kaitse, säästab kaitset, sulades kõigepealt ise.

                Comment


                  #9
                  Vs: Raspberry Pi ja vooluarvesti SO Open collector väljundi ühendamine

                  Click image for larger version

Name:	Joonis 2.png
Views:	3
Size:	28,1 KB
ID:	869885Optroniga pilt parempoolne on ju PullUP, kui optroni väljundtransistor juhib siis on GPIO pinge kõrge tase ja kui ei juhi siis on madal tase. Või mida seal pildi pealkirjas mõeldakse ?Muidu kas see kondekas peaks 100Hz filtreerima? RC>1/fpul. Väga suureks ei saa ajada, pole teada impulsi pikkus.
                  Esmalt postitatud murphy poolt Vaata postitust
                  Eeldus et see 0,1uF signaali ära ei silu. Ja teiseks põhjustab see optroni lülitamisel piiramata voolupulsse läbi optroni, pole tavaline praktika panna väljundisse kondensaator (ja prose poolt on sisend aga optroni poolt vaadatuna väljund). Lisaks tuleks kasutada pulldowni mitte pulupi sest EK vaheline pinge jääb llitatud olekus sinna 1V kanti ja CMOS sisend LOW on samas suurusjärgus
                  Kui optroni väljundtransistor küllastusse läheb siis võiks nagu sisendpinge üsna 3.3V ligidal olla. Sellel parempoolsel pildil laadub kondekas läbi 1k takisti ja tühjeneb läbi 11k.
                  viimati muutis kasutaja Starfish; 23 m 2017, 12:13.
                  http://hparchive.com/
                  https://worldradiohistory.com/index.htm

                  Comment


                    #10
                    Vs: Raspberry Pi ja vooluarvesti SO Open collector väljundi ühendamine



                    Tegu peaks olema terminite järgi PullDown tüüpi ühendusega, kuna tavaolekus (optroni emitteril ei ole väljundit) tagab skeemis takisti R21 (10K Oomi) GPIO pin'i ühenduse maaga ning seega pinget GPIO'l olla ei tohiks. Et neid omavahel mitte ära lühistada siis ongi R21 väärtusega 10K Oomi. Takisti R22 (1K Oomi) eesmärk on järgmine:
                    Note: The 1kΩ R2 resistor is there in both circuits to give the GPIO pin a fail-safe protection, in case we mistakenly set the pin to be in OUTPUT mode.
                    Kui arvesti transistor avaneb siis on optroni transistor samuti avatud ning GPIO klemmil peaks olema digitaalne HIGH olek.

                    Mul tekkis aga küsimus. Kui näiteks GPIO klemmi ja sealt edasi läbi kogu Raspberry vms. miniarvuti skeemi on takistus kõvasti suurem (näiteks 1M oom) kui takisti R21 10K Oomi, kas siis mitte ei peaks vool läbima väiksema takistusega tee läbi 10K Oomise takisti maasse ning sel juhul GPIO sisendisse ei jõua HIGH oleku jaoks ettenähtud pinge kui üldse?

                    Vt:
                    We are a charity with the mission to enable young people to realise their full potential through the power of computing and digital technologies.



                    Selle kondeka vajadusest rääkides - impulsi pikkus peaks olema 30ms nagu ma ühe teise arvesti datasheedilt leidsin (vt. eelmisi postitusi), kuid ma pole kindel.

                    Kas SO tähendab Standard Output? Kui nii siis peaks SO väljundiga seadmetel kõigil olema standardi kohaselt impulsi pikkus 30ms ning talutav pingevahemik kollektoril 5-30V, ja voolutugevus 30V juures max 20mA (nagu eelnevalt ühe teise arvesti datasheedil väljatoodud) . Kas see vastab tõele? Kuna see 20mA oli antud 30V juures siis loogiliselt peaks SO transistor 5V juures maksimaalselt kannatama 120mA (valem P = I * V)? Kas ma saan õigesti aru?
                    viimati muutis kasutaja RobertV; 23 m 2017, 23:25.

                    Comment


                      #11
                      Vs: Raspberry Pi ja vooluarvesti SO Open collector väljundi ühendamine

                      Kui massiga ühendamine on PullUp siis küll...kes kuidaspidi vaatab seda.

                      Click image for larger version

Name:	Joonis 2.png
Views:	3
Size:	28,1 KB
ID:	869885
                      Vasakpoolne pilt:
                      Kui optroni LED valgust ei anna, on GPIO sisendil pinge H (kõrge).
                      Optroni transistori küllastuse(Uce-sat) puhul on GPIO sisendil pinge L (madal, massis).
                      Parempoolne pilt:
                      Kui optroni transistor ei juhi on GPIO sisend L ja kui juhib on GPIO sisend H.
                      Mõlemal juhul piirab 10k takisti küllastusvoolu.

                      See on ju hea kui GPIO sisend on suure impedantsiga.

                      Kui see 120mA üle (Ic-max) ei lähe siis äki kannatab...

                      Kui impulss on 30ms siis võiks 1uF kondeka panna kui 100nF väheks jääb.
                      1000*0.000001=1ms*5=5ms, saab enne täis kui 30ms läbi saab.
                      (eeldusel et GPIO sisendvool on väga väike).
                      Teine asi muidugi kui tihedalt neid impulsse on...
                      http://hparchive.com/
                      https://worldradiohistory.com/index.htm

                      Comment


                        #12
                        Vs: Raspberry Pi ja vooluarvesti SO Open collector väljundi ühendamine

                        Impulsside intervall on 800imp/1KWh ehk siis 1 impulls teatab 1,25Wh tarbimisest. Impulsi led arvestil vilgub mõne sekundilise vahega.

                        Comment


                          #13
                          Vs: Raspberry Pi ja vooluarvesti SO Open collector väljundi ühendamine

                          Esmalt postitatud RobertV poolt Vaata postitust
                          Impulsside intervall on 800imp/1KWh ehk siis 1 impulls teatab 1,25Wh tarbimisest.
                          Neid mõõtjaid on vist mitmesuguseid. Minu omal on 1000 pulssi kWh kohta.
                          Hea loendajal otse kulu näha aga neljast kohast jääb väheks.

                          Comment


                            #14
                            Vs: Raspberry Pi ja vooluarvesti SO Open collector väljundi ühendamine

                            See 100nF kondensaator seal sisendis on debounce kondensaator.
                            Eriti oluline on selle kasutamisel kas lüliti või relee korral, kuid ka optroni ja pikemate juhtmete korral võib tekkida peale lülitumist võbelus, mida loendur loeb mitme impulsina. Debounce saab ka tarkvaraliselt lahendada, aga see koormab protsessorit ja muude protsesside jaoks ei tarvitse enam aega jätkuda. Lisaks summutab see kondensaator kõrgsagedushäireid - keegi räägib juhtme lähedal näiteks mobiiliga ja loendur hakkab jooksma.
                            MINULE EI MEELDI KUI MÕNINGAD ISIKUD MINU POSTITUSI MUUDAVAD,
                            KUI POSTITUS EI SOBI SIIS PALUKS SEE KUSTUTADA !

                            Comment


                              #15
                              Vs: Raspberry Pi ja vooluarvesti SO Open collector väljundi ühendamine

                              Kõrge sageduse jaoks võiks sellele 100nF kondekale 1nF rööbiti juurde panna, sedasi on madala Xc sagedusvahemik laiem.

                              1000 pulssi on hea, sellega on lihtsam arvutada aga kui masin teeb inimese tööd siis polegi väga vahet.
                              viimati muutis kasutaja Starfish; 24 m 2017, 20:58.
                              http://hparchive.com/
                              https://worldradiohistory.com/index.htm

                              Comment

                              Working...
                              X