Als DS1820 gemarkeerde sensor blijkt DS18B20

Vandaag een aantal DS1820 temperatuur sensoren uit China ontvangen. Deze waren besteld als DS1820 of tegenwoordige vervanger DS18S20. Ze zijn hier in Nederland meer dan EUR 5,- per stuk en in China echt een heel stuk goedkoper (soms maar EUR 0,90 per stuk, inclusief verzending). Dus de gok maar genomen.

Ik heb ze altijd gebruikt om de temperatuurzones van telescopen te regelen. Dit met een Proton Basic code om ze te adresseren (meerdere sensoren op één ingang), naar de juiste temperatuurwaarden te converteren en nauwkeurigheid te verhogen (slope en remain bytes gebruiken), zoals Frits zo prachtig duidelijk heeft beschreven op zijn picbasic.nl site.

Dit heeft altijd goed gewerkt, maar met de vrijdag binnen gekomen sensoren in één keer niet meer. De communicatie verliep goed, ze reageerden wel maar ze bleven veel te grote en negatieve temperaturen terugsturen. Goed, dan toch maar eens in de datasheet gekeken. Op de TO92 behuizing stond toch echt de 9-bits Dallas DS1820 aangegeven en niet de DS18S20 of de 12-bits DS18B20 versie.

Hier kwam ik niet uit, dan maar aan de gang met de teruggestuurde temperatuur bytes en kijken wat er terugkomt als je ze op 100 C brengt (aan de wand van een roestvrijstalen waterkoker tapen, met een doek er om heen) of onder nul afkoelt (inpakken met een coolpack uit de vriezer). En wat denk je, deze DS1820 stuurt dus gewoon 12-bits aan temperatuurwaarde terug i.p.v. 9-bits. Het zijn dus DS18B20 temperatuur sensoren. Dit staat er echter niet op en is ook niet zo besteld.

Nu dit bekend is, is de code nog wel eenvoudig aan te passen. Het blijken verder wel goede sensoren (weinig onderling verschil, mooi lineair voor zover ik met de waterkoker kon zien en weinig kalibratie nodig). Ze hebben echter een verkeerde opdruk op de behuizing. Het enige wat mij verder opviel is dat het eerste adres byte van de sensor (ID1) bij iedere sensor altijd terug kwam als $FF (ik had er 20 met wel verschillende family bytes)

Mijn vraag is of iemand dit wel eens eerder heeft meegemaakt. Betreft het hier een (wegens opdruk) afgekeurde partij DS18B20 sensoren die op de markt gedumpt wordt of hebben de Chinezen een productie kloon DS18B20 sensoren lopen, waar ze alles maar opdrukken wat iedereen vraagt?

Tip voor Frits Kieftenbelt is misschien om ook gelijk de temperatuurconversie van de Dallas DS18B20 op de site te zetten. Deze is tegenwoordig sowieso makkelijker verkrijgbaar, maar nu de sensoren door elkaar op de markt komen met dezelfde opdruk lijkt me dit voor een hoop mensen handiger.

Robert.

In de ID bytes kan je toch zien wat voor chip hij beweert dat ie is? Mijn one-wire-kennis is wat weggezakt, maar als jij zegt dat je een family byte van 0xff krijgt, dan is dat precies waar je had moeten kunnen zien of het een 1820, 18B20 of 18S20 is. Toch?

Dan zijn het geen officiele chips die goedkoop in china terecht gekomen zijn.

(Je statement is volgens mij: altijd 0xff en "20 verschillende waardes", dus ik snap niet wat je nu bedoeld).

[Bericht gewijzigd door rew op maandag 25 januari 2016 09:51:32 (14%)

four NANDS do make a NOR . Kijk ook eens in onze shop: http://www.bitwizard.nl/shop/

Misschien nog wat onduidelijk gebracht, maar de family byte is af en toe verschillend bij deze 20 sensoren (niet altijd 28h). Dit duidt nu ik het nakijk inderdaad ook meer op de DS18B20. Je krijgt bij adres uitlezen bij deze sensor dus een family byte (FAM), 6 uniek adres bytes (ID1 t/m ID6) en een CRC byte terug.

Het eerste adres byte (ID1, dus eigenlijk het tweede byte bij uitlezen) wijkt echter af bij deze range "DS1820" sensoren, deze ID1 bleef altijd dus inderdaad FFh bij deze 20 sensoren.

Ik heb eerder "echte" DS1820 sensoren gebruikt waarbij dit eerste byte van het unieke adres wel flink verschilde, ondanks dat de family byte daar wel altijd dezelfde was (10h).

Mijn one-wire kennis is overigens nog lager dan die van jou, dus alle hulp is welkom. Ik heb de regelaar nu wel werken, maar ben nieuwsgierig naar wat er hier aan de hand is: op de markt gebrachte offspec of een kloon met een (bewust) foute opdruk. Veder vraag ik me af of niet meer mensen dit probleem kennen of misschien gaan meemaken.

Robert.

Arco

Special Member

Klopt de timing van de one-wire communicatie wel? Als die afwijkt kunnen er ook al snel vreemde dingen gebeuren. (ben nooit een aanhanger van one-wire geweest daarom)

Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com

Nee hoor, bleek puur om DS18B20 (12-bits) temperatuur sensors te gaan, terwijl ik DS1820 of DS18S20 (9-bits) besteld had. Het vreemde is alleen dat ook de behuizing dus Dallas DS1820 aangeeft.

Ik heb het allemaal gewoon aan het werk gekregen door de 12-bits temperatuur codes uit te lezen, als of het om een DS18B20 sensor gaat, en te converteren naar dezelfde word variabele die temperatuur in graden Celsius representeert in de software. Voor de temperatuurregeling van en langzaam systeem als een telescoop is één keer per seconde de temperatuur meten (wel over 6 sensoren) voldoende. Timing is hier absoluut geen probleem, maar bedankt voor het meedenken.

Robert.

Chinezen maken gewoon wat je vraagt: ze pakken een ander component en zetten daar de door jou gewenste opdruk op. Liefst iets wat een beetje werkt zodat ze kunnen zeggen dat het redelijk goed is (het werkt toch).

Zo heb ik eens een partij fake MC68000 processoren ontvangen waarvoor ze echter erg dure andere hadden "aangepast" en daarmee waardeloos gemaakt.

Ebay: stapels fake componenten

Aliexpress: de bedrijven die er al langer opstaan bedoelen het goed maar kunnen bij hun inkoop gefopt worden, ik schat daar een 20% fake. Bij de bedrijfjes die er minder dan 3 maanden op staan schat ik 80% fake.

Velen die fake troep hebben ingekocht hebben gewoon niet in de gaten dat ze er een hebben met minder temperatuurbereik of lager specs of lagere snelheid.

Tinplating kan door hen gerefresht worden, je ziet niet dat het gesoldeerde zijn. Tekstopdruk kan voorzien worden van nieuwe epoxylaag met tekst. Als je niet weet waar naar te kijken zie je het niet.

Kijk maar eens in mijn posts, ik heb een voorbeeld in een andere posting van mij met die MC68000's.

Moraal: handen af van fakes

[Bericht gewijzigd door Hoeben op maandag 25 januari 2016 13:16:39 (16%)

Arco

Special Member

Als je het family-ID niet uit kunt lezen, is er toch wat mis. (of de timing, of het is afkeur/namaakspul)

Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com

Ik kan de family echt wel uitlezen. Van de 6 sensoren uit de 20 die ik nu heb uitgelezen, hadden ze alleen niet allemaal dezelfde family code volgens mij (de meeste 28h, wat inderdaad ook op een DS18B20 duidt, kom ik nu achter), maar ik dacht één of twee niet. Deze doen het echter nu wel op de 12-bits temperatuur uitlezing, dus het zullen ook wel DS18B20 sensoren zijn.

Ik zit nu op mijn werk, maar zal thuis eens nakijken welke family byte deze afwijkende sensoren terug gaven.

Ik ga toch meer voor de verklaring van Hoeben, zou alleen niet verwachten dat men dit soort goedkope componenten bewust van een nieuwe opdruk voorziet. Ze werken verder goed als DS18B20 in de regelaar ook met negatieve temperaturen, nu ik de software heb aangepast.

Vervelend dat er dit soort gemarkeerde componenten op de markt verschijnen, terwijl er wat anders in zit. Dit kan natuurlijk voor problemen gaan zorgen.

Robert.

Ze hebben wel allemaal family byte 28h. Ik heb me vergist door het 16 karakter lcd display waar dit allemaal moeilijk op paste en ik een aantal bytes tegen elkaar moest printen. Het zijn dus gewone DS18B20 temperatuur sensoren, maar met een DS1820 opdruk en ook zo verkocht.

Lastig, misschien gedaan om een paar centen te kunnen verdienen per sensor of een offspec die toch op de markt is gekomen.

Robert.

Ik denk dat het een namaak is. Kijk anders eens naar de opdruk, daar kun je het vaak aan zien. De namaakdingen hebben een opdruk die in het begin wat meer helder is dan de echte. Maar die vervaagt wel gauwer onder invloed van warmte (solderen) en die staat er soms ook scheef of niet gecentreerd op.

De fakers hebben professionele lasers tegenwoordig, dezelfde als de fabrikanten. Alles wordt nagemaakt. Zelfs "kippenvoer" weerstanden.

Het zal inderdaad wel namaak zijn. Toch vreemd dat men in staat is een goed werkende 12-bit DS18B20 sensor na te maken en ze dan wil verkopen voor de oudere, 9-bit DS1820.

Ik heb een aantal van deze 12-bits digitale sensoren getest bij 100 C tegen de wand van mijn waterkoker en bij -18 C in mijn vriezer. Ze weken echt minimaal af en bleken net zo lineair als de originele DS1820 die ik al had.

Je moet toch nog wel wat kunnen op gebied van engineering om zo'n IC alleen al te kopiëren en je moet ook de nodige, dure apparatuur hebben om deze in aantallen te produceren. Dit lijkt me in China dus geen technisch probleem of gebrek aan kennis te zijn. Ook kwalitatief kan ik niet zeggen dat er wat aan mankeert, behalve het feit dat de opdruk en typeaanduiding niet klopt.

Het probleem in China is dan mogelijk de betrouwbaarheid van de commercie. Ze hebben er geen problemen mee iets na te maken. Ook denken ze een bepaald IC ietwat duurder te kunnen verkopen en katten andere IC's dan kennelijk gewoon om.

Het vreemde hier is echter dat ik een dispuut heb geopend (ik had ze inderdaad besteld via Aliexpress) en de helft van het aankoopbedrag heb gevraagd als schadevergoeding, omdat ik de software moest aanpassen naar deze 12-bit sensoren. En wat denk je, binnen een paar dagen werd dit door de verkoper gehonoreerd en de dag daarna had ik het bedrag al op mijn bankrekening.

Dit is dan toch wel weer redelijk. Ze gaan tot nu toe echter wel gewoon door met het verkopen van deze namaak 12-bit sensor als een 9-bits DS1820, wat dus weer minder netjes is. Gaan we de Chinezen ooit begrijpen?

Robert.

Er stond mij iets bij dat de resolutie (=het aantal bits) instelbaar was. Even nakijken....

Het klopt. Met de configuratie byte kan je aangeven in welke resolutie je de temperatuur terug wil krijgen: 9, 10, 11 of zelfs 12 bits. Je kan dit dus aanpassen en hem gewoon 9 bits laten uitspuwen.

Zie datasheet: https://datasheets.maximintegrated.com/en/ds/DS18B20.pdf Pagina 8 en 9 edit:7.

Dank je wel Blauw Lampje,

Ik had voor een temperatuurregelaar voor een telescoop echter zes stuks DS1820 gebruikt (alleen 9-bits temperatuur waarde), maar met behulp van de slope en remain bytes die deze sensor ook teruggeeft, valt de resolutie bijna nog een decimaal te verbeteren. Hiermee kreeg ik ze op een gewenste nauwkeurigheid van 0,1 C.

Deze regelaar wordt nu door een aantal mensen nagebouwd en ik moest dus een aantal pics programmeren met voor-geadresseerde sensoren. Vervelend dat je dan andere sensoren kreeg. Ik heb de DS18B20 echter gewoon op 12-bit laten staan. Dit geeft dan zonder deze slope en remain byte correctie ook een nauwkeurigheid van 0,1 C.

Robert.

Arco

Special Member

Hiermee kreeg ik ze op een gewenste nauwkeurigheid van 0,1 C.

Je bedoelt resolutie. Nauwkeurigheid is 0.5°C
Met de DS1820 kun je ook een grotere resolutie krijgen door meerdere samples te middelen.
Dat doet de DS18b20 onder de motorkap tenslotte ook. (2, 4, of 8 samples)

Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com

De temperatuurwaarde komt bij een DS1820 terug in 9-bits en heeft bij een range van -55 tot +125 C dan inderdaad een resolutie van maximaal 0,5 C.

Maar je krijgt bij deze sensor nog twee waarden terug: de remain en slope byte. Hiermee kun je rekenen en de resolutie van de temperatuur verder verbeteren tot 0,0625 C. Ik rond dit af tot een nauwkeurigheid van 0,1 C.

Kijk maar in de datasheet van de DS18(S)20 of op de site picbasic.nl onder het project temperatuursensor DS1820.

Robert.

rweust, wat arco probeerde te zeggen is dat de RESOLUTIE Misschien 0.1 graden is maar de nauwkeurigheid waarschijnlijk/offficieel maar 0.5 graden is. Als het ding -0.4 graden aangeeft kan het best 0.1 graden zijn. (ook al heeft ie nog een aantal stappen er tussenin).

four NANDS do make a NOR . Kijk ook eens in onze shop: http://www.bitwizard.nl/shop/

Dat lijkt mij dus echt niet het geval. Bij afkoelen zie je keurig de temperatuur, gelijkmatig in stappen van 0,1 C dalen. Dit geldt niet voor één sensor, maar zelfs voor 6 tegelijk. Ze komen ook altijd op dezelfde kamer of buiten temperatuur weer uit (ook als deze ondertussen een paar tienden graden is veranderd). Ik gebruik ze onder buitenomstandigheden op mijn telescoop (zelfs bij vorst) en ook hier vind ik geen abnormale afwijkingen. Ik werk op de telescoop met onderlinge temperatuurverschillen tussen de verwarmde zones die allen binnen een 0,5 C venster liggen samen met de buitentemperatuur (zie grafiek).

http://i1294.photobucket.com/albums/b602/rweust/Temperatuur%20vangspiegel%20gecorrigeerd_zps27gxdirt.jpg

Ik kan ze in de software kalibreren (ook in stappen van 0,1 C) en ze volgen keurig de temperatuur van mijn lab kwik thermometer die ook beduidend nauwkeuriger is dan 0,5 C. Dit heb ik over een grote range bij -12 C, 21 C en 100 C getest. Geloof me (en als je mij niet gelooft, lees dan de site van Frits Kieftenbelt: picbasic.nl eens of kijk in de datasheet) de DS18(S)20 sensoren zijn echt nauwkeuriger te krijgen dan 0,5 C. Ik heb geen enkele reden om te twijfelen aan de 0,1 C nauwkeurigheid.

Bovendien kan ik ze nu vergelijken met de 12-bits DS18B20, helaas niet tegelijk of door elkaar, maar wel onder dezelfde omstandigheden. De DS18(S)20 met remain en slope byte correctie voor een betere resolutie en de 12-bit DS18B20 werken met dezelfde nauwkeurigheid van 0,1 C op mijn regelaar. Geen verschillen in temperaturen, geen rare sprongen of onderlinge afwijkingen, geen afwijkingen t.o.v. een nauwkeurige lab kwik thermometer. Ik kan niet anders zeggen dan dat het gewoon goed werkt.

Maar in ieder geval bedankt voor de waarschuwing.

Robert.

Voor mijn gevoel is een afkeurpartij, verkeerde opdruk 'DS1820' ipv 'DS18B20', niet vernietigd maar op een vreemde manier op de markt gekomen.

Op 6 februari 2016 19:30:06 schreef rweust:
eens of kijk in de datasheet) de DS18(S)20 sensoren zijn echt nauwkeuriger te krijgen dan 0,5 C. Ik heb geen enkele reden om te twijfelen aan de 0,1 C nauwkeurigheid.

Robert, het lijkt er op dat je het verschil "resolutie" en "nauwkeurigheid" niet begrijpt.

De resolutie is zeker 0.1 graden. Of zelfs 0.0625 graden. Maar de nauwkeurigheid is, en ik heb het zojuist in het datasheet opgezocht, 0.5 graden.

Dat wil zeggen dat ALS ie X aangeeft, de temperatuur ergens tussen X-0.5 ? en X+0.5 ? zal zitten. De afwijking is vrijwel voor 100% bij fabrikage "ingebakken". Ze specificreren: "drift max 0.2 ?". Dus als jij met een ijs-bak de boel netjes corrigeert, zal vanaf dat moment de meting binnen 0.2 ? kloppen. In de praktijk is de drift ZELDEN zo groot als het opgegeven maximum. Extreme temp schommelingen, blootstelling aan rare omgevingen, met al die ongein moet ie volgens het datasheet binnen die 0.2 ? blijven. Dus als jij "rustig" er mee omgaat, is de kans heel groot dat je binnen de 0.1 ? blijft.

Maar dat is dus na calibratie en het corrigeren voor een exemplaar afhankelijke offset.

four NANDS do make a NOR . Kijk ook eens in onze shop: http://www.bitwizard.nl/shop/

Resolutie is volgens mij de hoogst haalbare "fijnheid" van het getal. Hoe je het ook definieert, kleinst mogelijke stapje in een digitaal signaal of bv. op een scherm hoogste aantal pixels op een oppervlak.

Nauwkeurigheid geeft aan hoe dicht een gerepresenteerd of gemeten getal in de buurt van de werkelijkheid zit onder verschillende omstandigheden.

Het kan zijn dat de absolute nauwkeurigheid van een sensor iets van 0,5 C is. Ik denk dat jij bedoelt dat ze in absolute waarde over hun hele range iets kunnen afwijken door drift of a-lineariteit. Ga je ze echter in een beperkter gebied kalibreren, dan zal deze absolute afwijking beslist verlaagd worden, zoals je zelf ook al aan gaf. Ik kwam niet hoger uit dan iets 0,3 C tussen de -18 en 100 C. Ik heb echter analoge kwik thermometers om mee te vergelijken en deze geven een verschil van 0,1 C wel al wat moeilijk aan.

Waar het bij mijn toepassing om gaat is dat het meetverschil tussen de sensoren onderling, ik noem het even de relatieve nauwkeurigheid, dus bijvoorbeeld tussen 6 stuks DS18(S)20 sensoren op een breadbord, nog veel minder is. Dit komt bij mijn gebruik met de telescoop echt op 0,1 C nauwkeurigheid uit. Dit is door mij al onder verschillende omstandigheden getest. Ik denk dat de grootste afwijking in de temperatuur nauwkeurigheid dan ook door iets a-lineariteit over een groot temperatuurbereik veroorzaakt wordt en niet door drift o.i.d.

Het is mij echter niet opgevallen dat de 12-bit DS18B20 hier beter presteert dan de oudere 9-bit DS18(S)20 met verhoogde resolutie door gebruik van de slope en remain byte. Dit is wat ik wilde aangeven, vandaar misschien de verwarring. Ze zijn beide goed bruikbaar om de temperaturen van de optiek en andere onderdelen aan een telescoop goed met een nauwkeurigheid van 0,1 C te regelen.

Misschien dat dit iets van de werkelijke, absolute temperatuur afwijkt. Zoals jij al aangaf, zal dit echter beslist geen 0,5 C zijn. Ik heb ze op 20 C gekalibreerd en bij de dit jaar laagst opgetreden buitentemperatuur zal dit misschien 0,1 of 0,2 C absolute afwijking geven. De nauwkeurigheid bij een verschilmeting in een regeling met de eveneens door een DS18(S)20 of DS18B20 gemeten buitentemperatuur is echter nog minder, in mijn geval de 0,1 C van de resolutie, zoals de grafiek ook al liet zien.

Robert.

Arco

Special Member

Zoals gezegd haalt de 'B' versie de hogere resolutie door middelen. Duidelijk te zien doordat de detectietijd verdubbelt bij ieder extra bit resolutie...

Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com

Op 6 februari 2016 14:30:19 schreef rweust:
...
Het vreemde hier is echter dat ik een dispuut heb geopend (ik had ze inderdaad besteld via Aliexpress) en de helft van het aankoopbedrag heb gevraagd als schadevergoeding, omdat ik de software moest aanpassen naar deze 12-bit sensoren. En wat denk je, binnen een paar dagen werd dit door de verkoper gehonoreerd en de dag daarna had ik het bedrag al op mijn bankrekening.

Dit is dan toch wel weer redelijk. Ze gaan tot nu toe echter wel gewoon door met het verkopen van deze namaak 12-bit sensor als een 9-bits DS1820, wat dus weer minder netjes is. Gaan we de Chinezen ooit begrijpen?

Robert.

Niet zo vreemd. Doordat ze het dispuut oplossen kunnen ze onder dezelfde naam gewoon doorgaan met de verkoop van fake componenten. Die ene keer dat ze terug moeten betalen hebben ze allang ingecalculeerd.

EricP

mét CE

Heb je Maxim al eens benaderd? Die vinden het wellicht ook wel interessant.

Op 7 februari 2016 07:10:51 schreef EricP:
Heb je Maxim al eens benaderd? Die vinden het wellicht ook wel interessant.

Misschien dat ik dit maar eens doe. Ik heb wel een vergoeding gekregen, maar ze gaan inderdaad gewoon door met het verkopen van deze verkeerd gemarkeerde sensoren. Verder stoort het me dat de slechte review die ik heb gegeven ook niet zichtbaar is, lijkt gewist. Kennelijk heeft bij Aliexpress de verkoper hier meer invloed op dan de koper.

Robert.