SchemaTheek
 
Home Nieuws Forum Schema's Artikelen Magazine Downloads Links Shops Zoeken
 
Controle Paneel
Gebruikersnaam
Wachtwoord
  Onthoud mij
» Wachtwoord?
» Registreren
Site info
» Het Team
» Contact
» FAQ
» Leden
» Upload Archief
Stats
Totaal online: 15
15 gasten
0 leden:
Forum > Digitaal > DS18B20 temperatuur sensor uitlezen op een 16F877A
[1] 2 »
pascalbianca
Lid
Berichten: 1394
Gepost op donderdag 14 Januari 2010 09:37:13 QuoteWijzig

Ik heb hier een apparte topic voor gemaakt omdat ik nergens iets goeds hierover kan vinden betreft het aansluiten op een 16F877A.

Ik heb hier een DS18B20 liggen, zoals hieronder:


Ik heb het dus 1 wire gemaakt zoals hieronder:


Deze aangesloten zoals hieronder op picbasic vermeld staat:


Het enigste verschil is dat de datalijn bij mij op porte.1 staat.

De code heb ik aangepast en luid als volgt:




Code
' **************************************
' ******** DS18B20 uitlezen !!! ********
' **************************************
 
Device 16F877A                ;Gebruik een 16F877A type
Config CP_OFF , CPD_OFF , WDT_OFF , HS_OSC , PWRTE_ON , BODEN_OFF , LVP_OFF , DEBUG_OFF
 
XTAL = 20
 
ALL_DIGITAL TRUE
Declare LCD_DTPIN = PORTC.4
Declare LCD_ENPIN = PORTC.1
Declare LCD_RSPIN = PORTC.0

ALL_DIGITAL TRUE              ;Alle ingangen digitaal

;Variabele declareren
Dim Temperatuur     As Byte   ;Bevat de factor 2 van de temperatuur Celsius

Clear                         ;Wis RAM geheugen

DelayMS 500                   ;LCD stabilisatie


;Hoofdprogramma
Cls                           ;Wis LCD scherm
While 1 = 1
  OWrite PORTE.1, 1, [$CC, $44]    ;Zend 'Convert' opdracht (temperatuur meten)
  OWrite PORTE.1, 1, [$CC, $BE]    ;Zend 'Read ScratchPad' opdracht
  ORead  PORTE.1, 2, [Temperatuur] ;Lees temperatuur en plaats dit in de variabele 

  Print At 1, 1, Dec Temperatuur / 2, ".", DEC1 (Temperatuur // 2) * 5, 223, "C  "
Wend
 



Maar ik krijg een meting te zien, alleen 127.5C'.
Wat zou er fout zijn?
Ik heb een 4k7 weerstand tussen pootjes zitten zoals aangegeven.
Ik heb ook eens een andere poort geprobeerd, maar blijft dezelfde waarde aangeven.
Wat zou het probleem kunnen zijn?
 
[Bericht gewijzigd door pascalbianca op Donderdag 14 Januari 2010 09:59:07]

http://pascalbianca.blogspot.nl/
Stynus
Admin
Berichten: 2773
Gepost op donderdag 14 Januari 2010 11:06:34 QuoteWijzig

De code ziet er hetzelfde uit als die op picbasic.nl ( http://www.picbasic.nl/frameload.htm?http://www.picbasic.nl/electro_ds1820.htm ) en zou dus moeten werken.

Probeer eens of Print At 1, 1, Dec Temperatuur wel een waarde geeft die veranderd met de temperatuur.

EDIT: en die aansluitingen die je posten zijn van onder bekeken. Houd daar rekening mee!
 
[Bericht gewijzigd door Stynus op Donderdag 14 Januari 2010 11:07:16]


Met vriendelijke groet, Stynus ||| www.elektronicastynus.be
appy
Lid
Berichten: 42
Gepost op donderdag 14 Januari 2010 12:58:01 QuoteWijzig

in de artikel van picbasic staat dat DS18B20 een andere aansturing nodig heb dan DS1820 en de code is geschreven voor de DS1820.


professionele apple hater
pascalbianca
Lid
Berichten: 1394
Gepost op donderdag 14 Januari 2010 13:00:00 QuoteWijzig

Klopt daarom heb ik hem geplaatst om te achterhalen hoe het wel moet.

@Stynus: dan geeft hij steeds de waarde 255 aan.


http://pascalbianca.blogspot.nl/
Stynus
Admin
Berichten: 2773
Gepost op donderdag 14 Januari 2010 13:09:37 QuoteWijzig

Die B was me nog niet opgevallen.

Hier staat code die daar wel mee moet werken:
http://www.circuitsonline.net/forum/view/78947/1/


Met vriendelijke groet, Stynus ||| www.elektronicastynus.be
pascalbianca
Lid
Berichten: 1394
Gepost op donderdag 14 Januari 2010 18:38:13 QuoteWijzig

Stel ik zou hem alsnog vanavond niet aan de praat krijgen.
Welk onderdeel zou ik dan ook nog kunnen gebruiken om alleen een temperatuur te meten en te tonen op mijn lcd?


http://pascalbianca.blogspot.nl/
reddevil
Lid
Berichten: 1221
Gepost op donderdag 14 Januari 2010 20:04:53 QuoteWijzig

Wat zou je die niet aan de praat krijgen. Probeer deze code eens, die werkt bij mij en heb ik van Dannymyron gekregen. Kan zijn dat je hier of daar nog een poort moet veranderen. Ook mag je niet continu gaan meten, anders warm je je dallas op.
Op portc.4 staat een led op de seconde te pinken, dit is gewoon een controle led om te zien of de pic niet vast hangt.


Code
 
'****************************************************************
'*  Name    : Thermostaat                                       *
'*  Author  : REDDEVIL                                          *
'*  Notice  : Copyright (c) 2009 REDDEVIL                       *
'*          : All Rights Reserved                               *
'*  Date    : 29/12/2009                                        *
'*  Version : 1.0                                               *
'*  Notes   :                                                   *
'*          :                                                   *
'****************************************************************
'****************************************************************
DEVICE 16f877
             
XTAL = 20                           
ALL_DIGITAL = true

TRISA = %00001
PORTA = %00000
TRISB = %00000000
PORTB = %00000000   
TRISC = %00000000
PORTC = %00010000
TRISD = %00000000
PORTD = %00000001
TRISE = %000
PORTE = %000

DECLARE LCD_DTPIN PORTD.4
DECLARE LCD_ENPIN = PORTD.3
DECLARE LCD_RSPIN = PORTD.2

DELAYMS 500
CLEAR
CLS

DIM t AS BYTE
DIM Temp_Flag AS BYTE
DIM Temp AS BYTE
DIM Tempbad AS WORD ;Bevat de factor 2 van de temperatuur Celsius
; ****************************************************************

; ** Subroutines DS1820B **

; ****************************************************************
start:


OWRITE PORTA.0, 1, [$CC, $44] ;Zend 'Convert' opdracht (temperatuur meten)
OWRITE PORTA.0, 1, [$CC, $BE] ;Zend 'Read ScratchPad' opdracht



weergeven:

OREAD PORTA.0, 2,[Tempbad.LOWBYTE,Tempbad.HIGHBYTE]

Temp = Tempbad.LOWBYTE & %00001111

Temp = LOOKUPL Temp,[0,0,1,1,2,3,3,4,5,5,6,6,7,8,8,9]

Tempbad = Tempbad >> 4

PRINT AT 1,14, DEC Tempbad, ".",DEC Temp,223,"C"
 DELAYMS 1000
TOGGLE PORTC.4 
GOTO start
END


 
[Bericht gewijzigd door reddevil op Donderdag 14 Januari 2010 20:06:37]


Veel te weinig tijd voor mijn projecten of heb ik er soms te veel?
pascalbianca
Lid
Berichten: 1394
Gepost op vrijdag 15 Januari 2010 00:12:21 QuoteWijzig

Ik heb het geprobeerd maar hij geeft nu rechts in het scherm 409 aan, dit klopt toch niet toch?
Hij veranderd niet in waarde.
Zou ik de sensor printje niet verkeerd hebben dan?
Ik zou nu even niet weten wat er fout zou moeten zijn.
 
[Bericht gewijzigd door pascalbianca op Vrijdag 15 Januari 2010 00:16:08]


http://pascalbianca.blogspot.nl/
pascalbianca
Lid
Berichten: 1394
Gepost op vrijdag 15 Januari 2010 00:21:11 QuoteWijzig

Zou het ook kunnen zijn dat mischien die weerstand stuk is?
Zoveel verkeerd kun je toch niet aansluiten schat ik zo met die sensor een + een min en een data lijn.

Of moet hij aangesloten worden hoe het hieronder word verteld?
http://grotebeer.enwelhierom.nl/index.php?option=com_content&view=article&id=11:meten-met-1-wire&catid=7:hardware&Itemid=3
 
[Bericht gewijzigd door pascalbianca op Vrijdag 15 Januari 2010 08:26:20]


http://pascalbianca.blogspot.nl/
Stynus
Admin
Berichten: 2773
Gepost op vrijdag 15 Januari 2010 10:36:06 QuoteWijzig

Dat rechtse schema daar kan je idd ook gebruiken. Zo een 1 wire sensor is zo zuinig dat die zijn voeding parasitair uit de 1wire bus kan trekken.
De 5V wel aansluiten mag natuurlijk ook.

Probeer anders eens met een 100nF condensator over de voeding van de sensor te zetten.


Met vriendelijke groet, Stynus ||| www.elektronicastynus.be
pascalbianca
Lid
Berichten: 1394
Gepost op vrijdag 15 Januari 2010 12:11:50 QuoteWijzig

Nou ik heb dus alles uitgesloten.
Die 100nF condensator heeft geen effect.
Diverse poorten geprobeerd allemaal hetzelfde.
Of ik nu grd, dq en +5 aansluit of alleen grd en dq blijft hij zogenaamd 127.5'C aangeven.
Ik ga dus nu nog van 1 punt uit dat die weerstand niet meer inorde is, alleen ik kan het nu niet testen omdat ze op zijn, wel weer besteld.

[edit]

Nu ik even verder ging nadenken over je tekst:

Quote
Zo een 1 wire sensor is zo zuinig dat die zijn voeding parasitair uit de 1wire bus kan trekken.


Als ik dus de meter erop zet op de grd en de dq ,zie ik geen pieken komen dus de poort geeft volgens mij geen signaal, toch?
 
[Bericht gewijzigd door pascalbianca op Vrijdag 15 Januari 2010 12:28:26]


http://pascalbianca.blogspot.nl/
Stynus
Admin
Berichten: 2773
Gepost op vrijdag 15 Januari 2010 16:45:52 QuoteWijzig

Die weerstand kan je toch gewoon met een ohm meter nameten.

Met wat ben je aan het meten? een multimeter is niet snel genoeg voor die "pieken". Dat moet met een scoop of een logic analyser.


Met vriendelijke groet, Stynus ||| www.elektronicastynus.be
pascalbianca
Lid
Berichten: 1394
Gepost op vrijdag 15 Januari 2010 20:52:59 QuoteWijzig

Ik heb de weerstand door gegemeten , maar blijkt niet stuk te zijn.

Nu weet ik helemaal niet meer waar het aan zou moeten liggen

Ik heb hem op porta.4 zitten en een ledje op porta.0 om te kijken of hij niet vast hangt zoals reddevil adviseerde.
Of ik zie niets, dus 0.0'C of hij geeft 127.5'C aan, maar werkend ho maar.
Hier word je moedeloos van
 
[Bericht gewijzigd door pascalbianca op Vrijdag 15 Januari 2010 20:55:30]


http://pascalbianca.blogspot.nl/
appy
Lid
Berichten: 42
Gepost op vrijdag 15 Januari 2010 22:05:33 QuoteWijzig

is je voeding ook goed


professionele apple hater
reddevil
Lid
Berichten: 1221
Gepost op vrijdag 15 Januari 2010 22:29:08 QuoteWijzig

kun je hem eens op een andere poort hangen,op A0 en de led op A4.


Veel te weinig tijd voor mijn projecten of heb ik er soms te veel?
Stynus
Admin
Berichten: 2773
Gepost op vrijdag 15 Januari 2010 22:41:17 QuoteWijzig

a.4 is open collector dus oppassen met die led of hij gaat niet aan .


Met vriendelijke groet, Stynus ||| www.elektronicastynus.be
reddevil
Lid
Berichten: 1221
Gepost op vrijdag 15 Januari 2010 23:06:19 QuoteWijzig

Dan is dat het probleem, dacht al dat het die poort was, die kan je dallas niet aansturen.


Veel te weinig tijd voor mijn projecten of heb ik er soms te veel?
Stynus
Admin
Berichten: 2773
Gepost op vrijdag 15 Januari 2010 23:10:29 QuoteWijzig

Dat kan wel. Die poort is zelf beter. Anders moet de poort telkens als ingang voor hoog te worden. (anders kortsluiting als die dallas iets terug wil zeggen).
De 4K7 weerstand trekt hier de poort hoog.


Met vriendelijke groet, Stynus ||| www.elektronicastynus.be
pascalbianca
Lid
Berichten: 1394
Gepost op vrijdag 15 Januari 2010 23:30:37 QuoteWijzig

Reddevil: Ik heb hem al verschillende poorten gezet en overal heb ik die 2 dezelfde waardes 0 of 127.5.

Dus iets moet niet kloppen, maar ja wat

In tussentijd heb ik ook nog andere temperatuur sensor besteld, voor als het hier niet mee gaat lukken namelijk: LM35DZ

Ik heb wel gezien dat die idem hetzelfde aangesloten moet worden . kan dat?
 
[Bericht gewijzigd door pascalbianca op Zaterdag 16 Januari 2010 15:32:22]


http://pascalbianca.blogspot.nl/
Stynus
Admin
Berichten: 2773
Gepost op zondag 17 Januari 2010 10:25:53 QuoteWijzig

Dat is een sensor met een analoge uitgang. Die moet dus op een analoge ingang komen. Maar best kan je er ook nog een versterkertje (opamp) tussen zetten.

In dit schema heb ik een lm35 aan een pic gekoppeld:


Met vriendelijke groet, Stynus ||| www.elektronicastynus.be
pascalbianca
Lid
Berichten: 1394
Gepost op zondag 17 Januari 2010 14:09:23 QuoteWijzig

Ik heb nu wel iets anders gemerkt.
Als ik de grd en de datalijn aangesloten heb en ik zet de +5v erop dan geeft hij 127.5 aan, maar als ik die +5v eraf haal en ik hou mijn vingers op de soldeersel en pak met een tangetje de +5v lijn vast dan begint hij verschillende waardes aan te geven.
Dit is natuurlijk niet de bedoeling, maar komt dit dan door de kortsluiting die ik met mijn vingers maak of cre?er ik een extra weerstand of zoiets op dat moment?

Is er ook een verschil of ik een 4k7 ohm gewone weerstand neem of een smd weerstand van 4k7 ohm?


http://pascalbianca.blogspot.nl/
[1] 2 »

Active Topics

» Subaru Outback 2016
» Stofafzuiging
» Aanpassingen aanbouwde...
» Audi
» Show je mini projecten
» Puls schkelaar
» Draadknipper
» Intercom
» buske (Peugeot Boxer 2...
» Voeding 24V 3A Stynus

» Meer actieve topics

Advertenties

ElektronicaStynus

© 2004-2019 SchemaTheek
Laadtijd: 0.06645 sec.