Teade

Collapse

Foorumi reeglid.

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

DS1820 valetab

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

    #16
    Vs: DS1820 valetab

    Tänks, kiusangi neid. Aga kas teistel DSi kasutajatel pole tõesti sama anomaaliat ette tulnud? Või ei kasutata seda kivi ?
    - Vend Hieronymus tunneb Motorola toodete nimekirja kõige paremini, las tema ütleb.
    - Motorola poolt loodud kiipide hulgas ei ole teda üles tähendatud. - Tähendab: ta on Intelist!

    Comment


      #17
      Vs: DS1820 valetab

      olen kasutnud, aga sellist nähtust pole esinenud. kuidagi väga raskesti usutav. 1wire on muidugi füüsikalises mõttes täiesti valesti tehtud siin, sest kaabli impedants ja elektriskeemi oomilisus on ca 50x erinevad, pika liini puhul peaksid peegeldused tänu termineerimise puudumisele märgatavad olema, mille kiire protsessor suudab ilmselt ka kinni püüda. ega sul 1wire küljes teisi komponente või juhet ole ?

      Comment


        #18
        Vs: DS1820 valetab

        Ei, seal pole hetkel midagi muud. Toide on eradli +5V pealt ja data ots on lbi 4,7k toites.
        Tahan kasutada sama viiku ka I-buttoni jaoks. See krüptiks mõõtmistulemused.
        TEgelikult olen sama effekti märganud mitme DSi ja mitme skeemi juures. Alates juba mu kunagisest akva kontrollerist ver. 1.0 alfa. Pidin viima sisse parandusteguri miinus 5 kraadi. OK, see oli 1 esimesi DS-e ja ehk samuti üsna alfa...
        Suvila valvesüsteemis on lah DS-id SOIC8 korpuses ja täheldatav sama nähtus.
        LEDidega maatriksdispleis kasvas temperatuur samuti aga seal oli ka reaalne pühjus- muundi drossel. Pannes anduri juhtmete otsa, kadus jama.
        Positiivne on muidugi see et kui vea kätte saan on kohe mitu skeemi/koodi parandatud.
        Brian Lane'i suudab oma Digitemp'iga mõõta majas ühel pika juhtmega siinil asuvaid andureid üsna täpselt. Seega ei saaks nagu juhe olla põhjuseks (v.a. suht harva esinevad häired mis avalduvad kosmiliste näitudena).
        - Vend Hieronymus tunneb Motorola toodete nimekirja kõige paremini, las tema ütleb.
        - Motorola poolt loodud kiipide hulgas ei ole teda üles tähendatud. - Tähendab: ta on Intelist!

        Comment


          #19
          Vs: DS1820 valetab

          kust andurid ostetud on ? pole saladus et vägagi mitmeid kiipe pakendatakse venemaa tehastes ja sel juhul pole praagi müügileilmumine kõrvalteid pidi üldse välistatud. näiteks vene turule määratud AVRi kristall saab kesta ja jalad külge Odessas.

          Comment


            #20
            Vs: DS1820 valetab

            Tevalost kui ta veel Tevalo oli.
            - Vend Hieronymus tunneb Motorola toodete nimekirja kõige paremini, las tema ütleb.
            - Motorola poolt loodud kiipide hulgas ei ole teda üles tähendatud. - Tähendab: ta on Intelist!

            Comment


              #21
              Vs: DS1820 valetab

              Felch, kui soovid, võin sulle tuua 4 DIP8 korpuses olevat DS1631'te ja 4 TO92 kestas DS1820'e. Kõik on tuttuued, otse tehasest.
              Helista või anna teada.
              Erilahendused.
              PS või mail.

              Comment


                #22
                Vs: DS1820 valetab

                TO92 on nagunii vajalik ühtedele plaatidele. Kui juhtud Tipist läbi astuma, võta kaasa.
                - Vend Hieronymus tunneb Motorola toodete nimekirja kõige paremini, las tema ütleb.
                - Motorola poolt loodud kiipide hulgas ei ole teda üles tähendatud. - Tähendab: ta on Intelist!

                Comment


                  #23
                  Vs: DS1820 valetab

                  Kui esmaspäevani kannatad, siis OK.
                  Erilahendused.
                  PS või mail.

                  Comment


                    #24
                    Vs: DS1820 valetab

                    Nii, proovisin veel1*. Tulemused:
                    - 5cm traatide otsas olev andur näitab 20,5C, pcb-l olev aga 24,5..25C. Objekt: valveandur, uP:PIC12f683@4MHz.
                    - 5cm traatide otsas olev andur näitab 21,5C, pcb-l olev aga kuni 31C. Objekt: spektromeeter, uP:PIC18f4550@24MHz. (andur prose külje all aga mitte vastu plaati).
                    Oki, doki, kuna teised elektroonikud ei kinnitanud otseselt oletust, et asi lihtsalt soojeneb ja koivad juhivad soojust paremini kui elektrit ( ), küsisin tootjalt. Vastus:
                    Veljo,
                    It sounds like your PCB is generating heat that is being transferred to the DS1820. The thermal conduction through the leads of the device is much greater than through the case. If the PCB where the device is soldered is warmer than the ambient air, you will read back this warmer temperature. It sounds like you are seeing this when you say that the device readout increases to 30C after power on. In order to get the best temperature results, try to isolate the DS1820 from any sources of heat on your PCB. This may be done with changes to the layout or by connecting with wires as you have already tried.
                    Kokkuvõte: termomeeter on asi, mis mõõdab termomeetri temperatuuri

                    Valdur: Tnx!!!


                    PS. Sama valveanduri korpuse kokku panek tõstis näidu 22 kraadini. Tundlik värk !
                    viimati muutis kasutaja felch; 11 m 2008, 23:05.
                    - Vend Hieronymus tunneb Motorola toodete nimekirja kõige paremini, las tema ütleb.
                    - Motorola poolt loodud kiipide hulgas ei ole teda üles tähendatud. - Tähendab: ta on Intelist!

                    Comment


                      #25
                      Vs: DS1820 valetab

                      Pusisin vahepeal jälle DS1820ga mõõtmist ja selgus huvitav tõsiasi - ta on suuteline küll õigesti mõõtma. Nimelt ei tohi teha datasheedi järgi (käivitame mõõtmise, ootame valmidust ja loeme) vaid
                      - oota lihtsalt valmidust (ilma reseti jms käskudeta)
                      - kui valmis, loe tulemus
                      - käivita uus mõõtmine.
                      Töötab 5+ !
                      Vot nii...on lood!?
                      viimati muutis kasutaja felch; 31 m 2008, 19:01.
                      - Vend Hieronymus tunneb Motorola toodete nimekirja kõige paremini, las tema ütleb.
                      - Motorola poolt loodud kiipide hulgas ei ole teda üles tähendatud. - Tähendab: ta on Intelist!

                      Comment


                        #26
                        Vs: DS1820 valetab

                        Oot, mille poolest neil kahel asjal vahet on? Äkki kood abiks?
                        If you think education is expensive, try ignorance.

                        Comment


                          #27
                          Vs: DS1820 valetab

                          Seda tahaks minagi teada, milles vahe. Kood ütleb rohkem kui 1000 sõna.
                          Töötav kood:
                          Kood:
                          ;*************************************************************************************************************
                          ; *** Loe temp. W=0, tulemus olemas, W<>0, viga, termomeeter puudub või veel mõõdab Tulemus DSMAG ja DSSIGN-s**
                          ; *************************************************************************************************************
                          GetTemp:        CALL    DSRX8                    ; CHECK DS1820 STATUS
                                          ADDLW    .1                        ; 255=READY => 0=READY
                                          BTFSS    ZERO                    ; Z set = READY
                                          goto    BadTemp                    ; W non zero = not ready
                                          CALL    DSRESET                    ; mõõdetud, termomeetrile saabast
                                          BTFSC    termoerr                ; vea puhul naahui siit        
                                          goto    BadTemp
                                          MOVLW    SkipRom                    ; käsutame: ROMi ei loe
                                          CALL    DSTX8
                                          MOVLW    ReadScratch                ; käsutame: loe tulemust
                                          CALL    DSTX8
                                          CALL    DSRX8                    ; loe temperatuur
                                          MOVWF    DSMAG
                                          CALL    DSRX8                    ; märk (FF => -, 00 => +)
                                          movwf    DSSIGN
                                          CALL    DSRESET                    ; mõõdetud, termomeetrile saabast
                                          MOVLW    SkipRom                    ; uus mõõtmine kohe käima
                                          CALL    DSTX8
                                          MOVLW    ConvertT                
                                          CALL    DSTX8
                                          bcf        _CARRY
                                          rrcf    DSSIGN,F                ; kasutan 9-bitist resot aga ei konfi andurit nii (hiljem ehk). Teisendame siis...
                                          rrcf    DSMAG,F
                                          bcf        _CARRY
                                          rrcf    DSSIGN,F
                                          rrcf    DSMAG,F
                                          bcf        _CARRY
                                          rrcf    DSSIGN,F
                                          rrcf    DSMAG,F
                                          movlw    '-'                        ; dekodeerime märgi
                                          bcf        _CARRY
                                          rrcf    DSSIGN,F                ; kumb siis oli?
                                          btfss    _CARRY
                                          goto    Gettemp1
                                          MOVWF    DSSIGN                    ; negatiivne temp.
                                          negf    DSMAG                    ; negatiivne, pöörab ringi
                                          goto    GetTemp2                
                          
                          Gettemp1:        movlw    '+'
                                          MOVWF    DSSIGN
                          GetTemp2:        bcf        _CARRY
                                          bcf        DSSIGN,.7                
                                          rrcf    DSMAG,F                    ; dekodeerime temperatuuri näidu ehk jagame 2-ga
                                          btfsc    _CARRY                    ; kui oli CY, siis temp. 0,5 kraadi kõrgem
                                          bsf        DSSIGN,.7                ; märgime ää
                                          bsf        temprdy                    ; tulemus olemas !
                                          RETURN                            ; lubame...seekord veel
                          BadTemp:        bcf        temprdy                    ; ja tulemust mõistagi ei ole
                                          return                            ; p....uu taga see werk
                          Valetav kood:
                          Kood:
                          ; *************************************************************************************************************
                          ; *** Loe temp. W=0, tulemus olemas, W<>0, viga, termomeeter puudub või veel mõõdab Tulemus DSMAG ja DSSIGN-s**
                          ; *************************************************************************************************************
                          GetTemp:         btfss    moodabtemp                ; juba käivitatud, ootame vastust ?
                                          goto    GetTemp4                ; ei veel, peab teda kaikaga udjama...
                                          CALL    DSRX8                    ; DS1820 mõõtetulemus olemas ?
                                          ADDLW    0x01    
                                          BTFSC    ZERO                    ; Z =1 -> olemas
                                          goto    GetTemp1
                                          decfsz    _TempErrCnt                ; kas lubame veel lugeda või tõstab kisa ?
                                          RETURN                            ; lubame...seekord veel
                                          goto    GetTemp4b                ; ei saa hakkama...teeme kisa!
                          GetTemp1:        CALL    DSRESET                    ; mõõdetud, termomeetrile saabast
                                          BTFSC    termoerr                ; vea puhul naahui siit        
                                          goto    GetTemp4a
                                          MOVLW    SkipRom                    ; käsutame: ROMi ei loe
                                          CALL    DSTX8
                                          MOVLW    ReadScratch                ; käsutame: loe tulemust
                                          CALL    DSTX8
                                          CALL    DSRX8                    ; loe temperatuur
                                          MOVWF    DSMAG
                                          CALL    DSRX8                    ; märk (FF => -, 00 => +)
                                          movwf    DSSIGN
                                          bcf        _CARRY
                                          rrcf    DSSIGN,F                ; kasutan 9-bitist resot aga ei konfi andurit nii (hiljem ehk). Teisendame siis...
                                          rrcf    DSMAG,F
                                          bcf        _CARRY
                                          rrcf    DSSIGN,F
                                          rrcf    DSMAG,F
                                          bcf        _CARRY
                                          rrcf    DSSIGN,F
                                          rrcf    DSMAG,F
                                          movlw    '-'                        ; dekodeerime märgi
                                          bcf        _CARRY
                                          rrcf    DSSIGN,F                ; kumb siis oli?
                                          btfss    _CARRY
                                          goto    Gettemppos
                                          MOVWF    DSSIGN                    ; negatiivne temp.
                                          negf    DSMAG                    ; negatiivne, pöörab ringi
                                          goto    GetTemp2a                
                          
                          Gettemppos:        movlw    '+'
                                          MOVWF    DSSIGN
                          ; teha negatiivse temperatuuri arvutamine !
                          GetTemp2a:        bcf        _CARRY
                                          bcf        DSSIGN,.7                
                                          rrcf    DSMAG,F                    ; dekodeerime temperatuuri näidu ehk jagame 2-ga
                                          btfsc    _CARRY                    ; kui oli CY, siis temp. 0,5 kraadi kõrgem
                                          bsf        DSSIGN,.7                ; märgime ää
                          ;                movf    DSMAG,W                    ; võrrelda eelmise näiduga. Kui erin. >10 kraadi -> error, unusta
                          ;                subwf    oldtemp,W
                          ;                btfsc    _CARRY
                          ;                goto    GetTemp2
                          ;                movf    oldtemp,W
                          ;                subwf    DSMAG,W
                          GetTemp2:        bcf        moodabtemp                ; mõõtmine igal juhul otcas
                          ;                sublw    .10
                          ;                btfsc    _CARRY
                          ;                goto    GetTemp3                ; tulemus heaks kiidet!
                          ;                bcf        temprdy                    ; mõõteviga, tulemust mõistagi ei ole
                          ;                RETURN                            ; häiret ei tõsta...või peaks...?
                          GetTemp3:;        movf     DSMAG,W                    ; seivi vanaks temperatuuriks
                                  ;        movwf    oldtemp
                                          bsf        temprdy                    ; tulemus olemas !
                          GetTemp3a:;        movlw    TempErrCnt                ; "nullime" valelugemiste loendi
                                      ;    movwf    _TempErrCnt
                                          RETURN
                          
                          GetTemp4:        movlw    TempErrCnt                ; "nullime" valelugemiste loendi
                                          movwf    _TempErrCnt
                                          bsf        moodabtemp                ; mõõtmine käivitatud
                                          bcf        temprdy                    ; tulemust veel ei ole
                                          CALL    DSRESET                    ; jälle puuga pähe
                                          BTFSC    termoerr                ; vea puhul naahui siit        
                                          goto    GetTemp4a
                                          MOVLW    SkipRom                    ; käsutame: ROMi ei loe
                                          CALL    DSTX8
                                          MOVLW    ConvertT                ; käivita mõõtmine
                                          CALL    DSTX8
                                          return
                          GetTemp4a:        decfsz    _TempErrCnt                ; kas lubame veel lugeda või tõstab kisa ?
                                          goto    GetTemp5                ; saab veel
                          GetTemp4b:        bsf        termoerr                
                                          bcf        moodabtemp                ; mõõtmine igal juhul otcas
                                          bcf        temprdy                    ; ja tulemust mõistagi ei ole
                                          return                            ; p....uu taga see werk
                          GetTemp5:        bcf        termoerr                ; nullib ajutiselt vea libu
                                          bcf        moodabtemp                ; mõõtmine igal juhul otcas
                                          bcf        temprdy                    ; ja tulemust mõistagi ei ole
                                          RETURN
                          ;
                          Sry, mu kommentaarid koodi juures on tiba ... lõbusad

                          PS. Mõlemat koodi kutsuti lihtsalt iga 1 sekundi tagant jutule ja vaadati ka vastus olemas. Kui oli, siis kuvati.
                          PS1. See mitmekordne kontroll ja vigade max arvu lubamine/kontrollimine on relikt ühest vanemast koodist. Parandust proovisin koos temaga ja siis kui selgus et fisk mõjus, viskasin liigse välja. Seega siin esitatud koodid pole täpselt samad aga see vast ei sega, algoritmid on võrreldavad küll.
                          PS2. kui nüüd hästi nuputada siis ehk...mingi taimingu küss ikkagi ?
                          viimati muutis kasutaja felch; 31 m 2008, 23:32.
                          - Vend Hieronymus tunneb Motorola toodete nimekirja kõige paremini, las tema ütleb.
                          - Motorola poolt loodud kiipide hulgas ei ole teda üles tähendatud. - Tähendab: ta on Intelist!

                          Comment

                          Working...
                          X