Op de prima PICBasic.nl site (Frits Kieftenbelt, super!) staan een reeks voorbeelden hoe de 1 wire DS1820 gebruikt kan worden. Werkt allemaal fantastich op m'n Microchip 'Low Pin Count Demo Board' met 16F690. Maar ik heb het als een echt 1-wire (in parasite power mode: Vdd aan Vss) nog niet goed aan de praat gekregen. Zou daarvoor tussentijds de Data lijn hoog worden gebracht meten worden, of is de timing via de ProtonBasic compiler niet geschikt?

Ik kan wel zonder probleem 1-wire aansluiten en uitlezen via DigiTemp onder Linux. Het zou mooi zijn om dit op een PICje ook te kunnen doen. Wie heeft suggesties?

Als je pullup weerstand goed is, zou het gewoon moeten werken. Wat heb je daar nu aan hangen?

En, hoe lang zijn de kabels naar je DS1820?

Pullup is 4K7, en de DS1820 zit binnen 20 cm.
Met DigiTemp had ik ze (met voldoende dik snoer) op meer dan 15 meter werkzaam!

Probeer inderdaad eens het romid te lezen.

Werkt je DS1820 wel als je hem rechtstreeks aan de vcc hangt?

En verbind de DigiTemp de datalijn niet rechtstreeks met VCC zodra er een temperatuur conversie begint?

Rom-id lezen kost niet zoveel stroom, als dat werkt dan ben je een stapje verder.
Als rom-id wel werkt en de rest niet dan moet je de pull-up weerstand wat verlagen naar 1K.
Het temperatuur converteer proces kost wat meet stroom en duurt ook een stuk langer dan het rom-id uitlezen.

Dank voor de suggesties, antwoord op de vragen:

- de DS1820 (twee eigenlijk) werken wel als ze direct gevoed worden
- ROM-id lezen gaat wel goed 1-wire parasitair
- Pull-up weerstand verlagen naar 1K heeft geen effect
- opnemen van 150msec delay na opdracht T-meting(en) heeft geen effect.

Hmm, misschien moet het via een assembly routine, dan is er meer controle over timing en hoog/laag van de data-lijn.

Lees dit topic even door, de jongen had een probleem met een DS18S20 en kwam zo'n beetje uit met de 1 draads (1-wire) parasite mode:
www.circuitsonline.net/forum/view/81158/3/ds1820