DS18B20 rare waarden

Bavelt

Golden Member

Er zijn al diverse topics over, maar vrijwel allemaal redelijk gedateerd.

Ik ben daarom zo vrij er hier eentje te maken.

Ik heb een DS18B20 'one wire' temperatuur sensor waarmee ik de temperatuur uitlees. Dat doe ik met onderstaande MikroBasic routine

pic basic code:


'====================================================================================================
 Sub procedure Read_Temp()              'Read Temperature from DB18B20
'====================================================================================================
  Ow_Reset(PORTB, 0)                    'Onewire reset signal
  Ow_Write(PORTB, 0, 0xCC)              'Issue command SKIP_ROM
  Ow_Write(PORTB, 0, 0x44)              'Issue command CONVERT_T
  Delay_us(120)
  Ow_Reset(PORTB, 0)                    'Onewire reset signal
  Ow_Write(PORTB, 0, 0xCC)              'Issue command SKIP_ROM
  Ow_Write(PORTB, 0, 0xBE)              'Read ScratchPad

  TempL1 =  Ow_Read(PORTB, 0)
  TempH1 =  Ow_Read(PORTB, 0)
  Temp  = TempH1 <<4 + TempL1 >>4
  TempDec = TempL1 and 0x0F
  If TempDec > 4 Then Inc(Temp) End If  'From .5 and above add 1 Degree
End Sub

Nu werkt het wel, maar het vreemde is dat er af en toe op willekeurige tijdstippen een heel rare waarde wordt gemeten (Temp is een word).

Die waarden zijn dan bv 8614 of 2647..Volkomen random.
Omdat mijn projectje met die temperatuur dingen doet, schiet het dus in de stress.
Ik heb het 'opgelost' door deze rare waarden uit te sluiten. Maar het liefst zou ik natuurlijk zien waarom deze rare waarden verschijnen.

De sensor is voorzien van een pull up van 4K7, de voeding is +5V.

Kent iemand dit verschijnsel, of doe ik wellicht iets verkeerd in de routine?

Beter goed gejat dan slecht zelf bedacht...

Misschien te snel achtereen uitlezen? (sensor heeft vrij veel tijd nodig voor 1 cyclus)

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

Er zijn extreem veel namaak DS18B20 sensoren op de markt. Gebruik je de losse chip of zo'n waterproof versie in een metalen buisje? In dat laatste geval heb je 99% zeker een valse. Afhankelijk van welke namaak het is kan je rare verschijnselen zien.

Bavelt

Golden Member

Op 24 januari 2023 00:20:34 schreef Arco:
Misschien te snel achtereen uitlezen? (sensor heeft vrij veel tijd nodig voor 1 cyclus)

Wat is vrij veel? Een seconde?

Beter goed gejat dan slecht zelf bedacht...

Geen idee, ligt in ieder geval in de tientallen ms volgens mij...
(ik gebruik 1-wire nooit, ik vind het een lastig en onbetrouwbaar protocol...)

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

Golden Member

Op 24 januari 2023 00:24:47 schreef Totale beginner:
Er zijn extreem veel namaak DS18B20 sensoren op de markt. Gebruik je de losse chip of zo'n waterproof versie in een metalen buisje? In dat laatste geval heb je 99% zeker een valse. Afhankelijk van welke namaak het is kan je rare verschijnselen zien.

Het is geen buisje, maar een kleine TO-92 behuizing.
Ik heb een vertraging van 2 seconden ingebouwd tussen het lezen. Snelheid is hier nl niet zo belangrijk.

Een tellertje geeft straks aan hoeveel foutwaarden er voorkwamen in 24 uur. Ik ben benieuwd.

Beter goed gejat dan slecht zelf bedacht...
Bavelt

Golden Member

Op 24 januari 2023 00:47:40 schreef Arco:
Geen idee, ligt in ieder geval in de tientallen ms volgens mij...
(ik gebruik 1-wire nooit, ik vind het een lastig en onbetrouwbaar protocol...)

Ik heb ook wel MCP9801 hier liggen. Dat is dan wel I2C, een draadje meer naar de sensor. Valt mee te leven.
Omdat ik ook al SPI gebruik voor het Oled displaytje wordt het wel puzzelen. Zou wel moeten kunnen met de PIC16F1847. Ik heb wel eerder een proefje gedaan met I2C en SPI tegelijk.

Beter goed gejat dan slecht zelf bedacht...
Hoeben

Golden Member

Op 24 januari 2023 00:13:09 schreef Bavelt:
Er zijn al diverse topics over, maar vrijwel allemaal redelijk gedateerd.

Ik heb een DS18B20 'one wire' temperatuur sensor waarmee ik de temperatuur uitlees. Dat doe ik met onderstaande MikroBasic routine

Die sensoren ben ik al eerder tegengekomen bij iemand die dacht goedkoop een groot project te maken. Het zijn Chinese kopiën die regelmatig een verkeerd getal opsturen. Bagger, rommel, troep, maar ze zijn goedkoop dus denkt iedereen dat ze dan heel goede hebben.....het zijn illegale kopiën.

Maar er is een oplossing:
Ze sturen nooit (of bijna nooit) twee keer een fout getal.
Lees gewoon 2 keer, als dat hetzelfde is klopt het.
Als het verschillend is herhaal dit. Net zolang tot je twee dezelfde waardes hebt.

Dit werkt natuurlijk alleen bij redelijk stabiele temperatuur.

Alternatief is dat je wat logica op de inhoud loslaat, y-ax+b lijntje, of hij dat volgt.

Het is geen andere variant van de famillie? (oude) DS1820, DS18S20, DS1822.
Sommigen hebben een kleinere resolutie.

Ik ben niet bekend met PIC, maar 120 us lijkt erg te kort.
Arduino voorbeeldcode voor alle chips wacht 1s, richting 10000x zo lang. 12 bit conversie kost 750 ms.

Ik zou even met die code kijken wat het lijkt te zijn, ik heb veel van die IC's gezien geloof niet zo in 'net niet bruikbare nep'. Als u er een op wilt sturen mag dat ook.

miedema

Golden Member

Toevallig de laatste tijd in de weer geweest met DS18B20 :-)

De datasheet zegt (uit m'n hoofd) 750 ms conversietijd in de 12bits modus. Maar bij de klonen kan die tijd flink variëren.

Als jij 2 sec interval tussen het starten van een nieuwe conversie cyclus aanhoudt dan moet het goed gaan. (Bij mijn software is dat minimaal 850ms bij 12bits, en dat gaat in de praktijk ook goed)

Ik zou wat middeling over je uitlezing heen leggen, en de meetwaarden die te ver van het gemiddelde af liggen niet gebruiken. Zo vang je veel problemen af. Niet alleen foutjes van de sensor, maar ook externe storingen, instralen op de kabel, die de communicatie verstoren. Dat one-wire protocol is niet zo robuust...

Uiteraard helpt wat filteren ook. Bij mij was een RC netwerkje voor de µp one-wire pin zegenrijk. (kantelpunt 700kHz, is ≈ 10x fclock))

Geen idee of het in jouw toepassing belangrijk is, maar die DS18B20 warmt zichzelf flink op als je hem veel laat meten. Bij continue conversies (elke seconde een meting), dan geeft hij 0,3....0,5°C meer aan, dan in het geval dat je hem maar 1x per 10 sec. of minder een meting laat doen...

Inderdaad blijken de meeste DS18B20 klonen.... Ik kocht een paar Maxim's bij Farnell, en die bleken origineel. De rest was kloon. (zowel TO-92 als alle in buisjes met kabel)

Er zwerven wat progjes waarmee je dat kunt testen. Ik had 2 TO-92 die het helemaal niet deden. Zelfs de CRC van hun ID-nummer bleek niet te kloppen :S

groet, Gertjan.

blackdog

Honourable Member

Hi,

Heel vaak uitlezen heeft weinig zin, kijk in de datasheet hoe vaak het zinnig is, dit is namelijk afhankelijk van de gekozen resolutie.

Laat een timer lopen die b.v. 1x per seconde de temperatuur voor je ophaald, of vaker, maar dat is bijna nooit nodig, pas dan je resolutie aan.

Koop deze sensoren bij de echte groothandel, zoals RS, Farnell, TME, Digikey enz,
dan heb je een beetje zekerheid dat je echte typen koopt die ook nog kloppen wat temperatuur betreft. ;)

Niet direct een probleem oplossing voor de wisselende waarden maar handig om te weten
Ik weet je toepassing niet echt, maar hou er rekening mee dat als ik het goed heb, de middenpen van de TO92 behuizing het meest gevoelig is voor de temperatuur meting, dus je kabel speeld ook een beetje mee bij de uiteindelijke temperatuur meting.

Er zwerft ergens bij Maxim(Analog Devices nu) een application-note hierover.
En 4K7 kan als pullup weerstand, maar bij langere bedrading is een lagere weerstandwaarde zinvol.

Groet,
Bram

Sometimes people don't want to hear the truth because they don't want their illusions destroyed
buckfast_beekeeper

Golden Member

Op 24 januari 2023 00:27:32 schreef Bavelt:
[...]
Wat is vrij veel? Een seconde?

Hangt van de resolutie af. Bij 12 bits (default) is dat 750ms. De Dallas librarie gebruikt onderstaande wachttijden indien je deze niet uitschakelt.

Ik laat mijn programma niet wachten op de conversie. Ik lees de waarde elke 10 seconden uit en geef dan een nieuwe conversieopdracht. De waarden zijn dan 10 seconden oud. De temperatuur in een ruimte gaat in 10 seconden niet echt veel verschillen.

Ik heb een 20-tal chinese DS18B20 in gebruik. Tot vandaag geen problemen vastgesteld. Hang ik ze in een bundeltje samen op dan is er een maximaal temperatuur verschil van 0,1°C. Blijkbaar vergeten we weer even dat vele componenten gewoon in China worden gemaakt. Er gebeuren ook geen wetenschappelijke metingen mee. Dat de gemeten temperatuur er net naast zit, zal me worst wezen. Waren onze kwik en alcohol thermometers uit de DHZ of tuincentrum zoveel nauwkeuriger? Ze waren ook niet geijkt.

Niet alles bij ali is fake. Een tijdje geleden de wat moeilijker te vinden WS2813A besteld. Tegen de verwachtingen in ontvangen in de originele en gesealde WorldSemi verpakking met productiedatum en lot nummer er op.

edit:

Chinese DS18B20 gegevens. Programma heb ik niet geschreven de frequentie van opvragen ken ik dus niet. Telkens de gegevens wijzigen worden ze naar de MQTT server gestuurd en worden ze in een database opgeslagen. Gegevens zijn van de serre.

Van Lambiek wordt goede geuze gemaakt.

Op 24 januari 2023 00:47:40 schreef Arco:
Geen idee, ligt in ieder geval in de tientallen ms volgens mij...

Nee je hebt het fout. Honderden! het is 750ms dat je moet wachten voordat je een waarde mag uitlezen.

Oh. Ik zie nu beekeeper's bericht. Afhankelijk van resolutie. Tja. Lagere resolutie zie ik niet als optie.....

Op 24 januari 2023 09:26:13 schreef buckfast_beekeeper:
Programma heb ik niet geschreven de frequentie van opvragen ken ik dus niet.

Uit de data blijkt dat ie ongeveer iedere 5 sec wordt opgevraagd en niet wordt opgeslagen als ie niet verandert.

[Bericht gewijzigd door rew op 24 januari 2023 10:08:39 (29%)

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

Golden Member

Even iets meer info:

Ik heb een teller ingebouwd, waardoor er een tijd ligt van 2 seconden tussen iedere meting. Dat heeft de hele nacht doorgelopen en nu 0 errors!
Daar zat het hem dus wel in.

Ik weet niet precies waar ik ze gekocht heb, kan Alie zijn of Farnell. Vroeger kon je bij Farnell met een zakelijke account spullen bestellen zonder verzendkosten, maar daar zijn ze alweer een tijd geleden van afgestapt. Dat maakt het bestellen van één zo'n dingetje dan wel duur.

Op de TO-92 staat "Dallas 18B20". Dat zegt natuurlijk nog niet alles, zelfs een merknaam is zo opgedrukt. :)

De meetwaarden kloppen wel redelijk: Ik heb het dingetje met een tirewrap strak met de platte kant op de aanvoerleiding van de vloerverwarming gemonteerd. En daarnaast een andere sensor, die op een eigen temperatuurmetertje is aangesloten. De waarden liggen bijna gelijk. Dus dat gaat wel goed. De 3 draden naar de print zijn ongeveer 25 cm lang.

Verder filter ik in mijn programmaatje nu ook idiote meetwaarden er uit. Een temperatuur van meer dan 100 graden (of 0, wat ook nog wel eens voorbijkwam, gaan er uit en handhaaf ik de laatst gemeten reële temperatuur.
Dit gaat dus gewoon de goede kant op!

Last but not least: er is al veel geschreven over 'rommel' vanuit China. Het land staat er bekend om om heel veel dingen te kopiëren, waarbij auteursrechten daar als niet zo bijster spannend worden ervaren.

Maar veel mérkcomponenten komen voor een overgroot deel óók uit China.
Ik vraag me dan weleens af: heb je dan 'good and bad guys' daar? (waar niet :) )
Voor hobbywerk is het wel meestal wel redelijk te doen vind ik.

En ik bestel ook nooit één exemplaar, maar minimaal 5 tegelijk.

Beter goed gejat dan slecht zelf bedacht...
buckfast_beekeeper

Golden Member

Op 24 januari 2023 10:06:30 schreef rew:
[...]Tja. Lagere resolutie zie ik niet als optie.....

[...]

Afhankelijk van wat je meet en wat je beoogd.

Voor een temperatuur in een ruimte, buitentemperatuur, ... is 0,25°C resolutie (10 bit) al heel aanvaardbaar.

Op 24 januari 2023 10:06:30 schreef rew:
[...]
Uit de data blijkt dat ie ongeveer iedere 5 sec wordt opgevraagd en niet wordt opgeslagen als ie niet verandert.

Dat is ook wat ik verwacht. Een verwarming gaat in 5 seconden geen gigantische verschillen genereren. Temperatuur in een ruimte zakt ook niet met meerdere graden Celsius in die tijd.

De code uit de DallasTemperature librarie die al dan niet doet wachten op conversie.

c code:

	// ASYNC mode?
	if (!waitForConversion)
		return true;

	blockTillConversionComplete(bitResolution);

De code uit blockTillConversion

c code:

// Continue to check if the IC has responded with a temperature
void DallasTemperature::blockTillConversionComplete(uint8_t bitResolution) {

  if (checkForConversion && !parasite) {
    unsigned long start = millis();
    while (!isConversionComplete() && (millis() - start < MAX_CONVERSION_TIMEOUT ))
      yield();
  } else {
    unsigned long delms = millisToWaitForConversion(bitResolution);
    activateExternalPullup();
    delay(delms);
    deactivateExternalPullup();
  }

}

// returns number of milliseconds to wait till conversion is complete (based on IC datasheet)
int16_t DallasTemperature::millisToWaitForConversion(uint8_t bitResolution) {

	switch (bitResolution) {
	case 9:
		return 94;
	case 10:
		return 188;
	case 11:
		return 375;
	default:
		return 750;
	}

}

Op 24 januari 2023 10:24:22 schreef Bavelt:
[...]

De meetwaarden kloppen wel redelijk: Ik heb het dingetje met een tirewrap strak met de platte kant op de aanvoerleiding van de vloerverwarming gemonteerd. En daarnaast een andere sensor, die op een eigen temperatuurmetertje is aangesloten. De waarden liggen bijna gelijk. Dus dat gaat wel goed. De 3 draden naar de print zijn ongeveer 25 cm lang.

[...]

Last but not least: er is al veel geschreven over 'rommel' vanuit China. Het land staat er bekend om om heel veel dingen te kopiëren, waarbij auteursrechten daar als niet zo bijster spannend worden ervaren.

Maar veel mérkcomponenten komen voor een overgroot deel óók uit China.
[...]

Dan is de vraag ook weer hoe nauwkeurig is de andere meter? Maar maakt dat veel uit? Als jij weet dat een bepaalde temperatuur voor een aangename temperatuur zorgt is dat toch OK.

25cm draad is voor deze sensoren niks. 3m en meer is normaal geen probleem.

Gelukkig is er door de leveringsproblemen in China wel wat in beweging gekomen. Intel gaat een grote fabriek bouwen in de buurt van Leipzig. Hopelijk volgen er nog wat. Amerika heeft blijkbaar ook liever dat ASML niet meer of minder gaat leveren aan China.

Van Lambiek wordt goede geuze gemaakt.

Met 10 bits kun je door uitmiddelen ook prima een hogere resolutie krijgen...

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

Als je 16 samples van 10 bits middelt (of eigenlijk optelt) dan heb je 14 bits nodig voor het resultaat. Maar statistiek schrijft voor dat je maar 12 bits aan "meting" hebt en 2 bits ruis er bij.

Concreet kan je 4 10 bit metingen bij mekaar optellen voor een 12bit resultaat, met maar 11 bits aan nauwkeurigheid.

Het is dan gunstiger om in dezelfde tijd de DS18B20 een 12bit resultaat te laten produceren.

Omdat deze twee methoden precies evenveel tijd kosten bestaat natuurlijk het vermoeden dat het "4 10bit resultaten bij mekaar optellen en het 12bit resultaat doorgeven" precies is wat de DS chip doet. Maar als het goed is, doen ze het beter. Ik hou een beetje hoop. :-)

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

Golden Member

Het doel van deze meting is wel zo, dat er grote schommelingen in korte tijd ontstaan.
In onverwarmde toestand is het leidingwater van de vloerverwarmin ca 22 Graden. Springt de ketel aan, dan vliegt het in enkele seconden naar 50-55 graden.
Bij uitschakelen het omgekeerde (al koelt het minder snel af dan dat het opwarmt)
Dus de DS18B20 meet dan steeds andere waarden.

Maar de marge is erg groot. Ik schakel de pomp in bij een temperatuur boven de 29 Gr en weer uit onder de 24. Die marge van 5 gaden kan zelfs nog groter.

Dat betekent dat ik rustig naar een lagere resolutie kan.

Mijn eerste probleem met de meting/programma was dat wanneer de sensor een rare (hoge) waarde mat, de pomp meteen aansprong en pas veel later weer uit. OF hij stond te klapperen wanneer het leidingwater onder de benedengrens lag.
Maar dat is nu ook opgelost met de delay/filtering.

Voor de netheid kan ik wel de resolutie verlagen en de delay ook.
Al was het maar voor de eer... :)

Beter goed gejat dan slecht zelf bedacht...

Even voor de goede orde:

Ik denk dat je "iets verkeerd" doet met het uitlezen van de meetresultaten. Zelfs chinese clones zullen gewoon betrouwbaar werken.

Als je het feature: "parasitic power" gebruikt: Advies: Doe dat niet. Dat extra draadje kost jou nauwelijks iets. Mijn indruk van het lezen van het datasheet is dat net "net an" werkt, maar niet "van harte".

De meest waarschijnlijke oorzaak: Interrupts.

Je moet PRECIES op het juiste moment de datalijn uitlezen. Als je een interrupt tussendoor krijgt, dan gaat de hele boel in de soep. Bewijs hiervoor kan je verzamelen door de meetwaardes in binary van foute metingen, en ervoor en erna te verzamelen en te vergelijken.

Als ik me het protocol goed genoeg herinner, als je te laat bent met lezen van de waarde, krijg je een "1" waar een "0" had gemoeten. Compatible met: "je CPU had een interrupt gedurende het wachten op het moment om het bitje uit te lezen.

Ik doe:

code:


for (i=0,data=0;i<nbits;i++) {
   clr_bit (OW); 
   cli (); 
   delay_us (OW_PULSE);
   set_bit (OW); 
   delay_us (OW_DATA_WAIT);
   data = data << 1 + get_bit (OW);
   sti (); 
   while (! get_bit (OW));
   delay_us (OW_WAIT); 
}

(Gewoon hier als text getypt, niet getest!)

Ik verlaat het uitzetten van de interrupts tot het allerlaatste moment. En zet hem zodra dat weer kan weer aan. Ik tolereer dus wel interrupts tussen de bits, maar niet in het kritische gebied. Makkelijker is gewoon alle interrupts uit te zetten gedurende de hele uitlees periode.

Als het commando wat je stuurt "fout" is, dan kan het ook zijn dat je een heel ander register uitleest dan wat je wil hebben. Dan moet je dus ook interrupts uitzetten in de "stuur commando" routine.

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

Honourable Member

Hi,

Ik vraag mij af waarom beweerd wordt, dat ik of anderen stellen dat veel klein elektronisch materiaal via Ali/Ebay enz. veel namaak materiaal betreft en
dat de gene die dit beweren er niet bewust van zijn, dat heel veel apparatuur in China gefabriceerd wordt, wij zitten dus met ons hoofd in het zand? :+

Voor mij geld dat ik meestal verbaasd ben als een product ergens anders gefabriceerd is en dat zal voor de meeste gebruikers zo zijn, denk ik.

Het zijn denk ik twee verschillende zaken, fabrikanten zoals voorbeeld Keithley, welke een aantal van hun meetinstrument in China laten maken,
KeySight die veel in Malaysia laat maken en zo nog meer.
Dat heeft wat mij betreft heel weinig te maken met de bagger die je via Ali en b.v. Ebay en anderen kan kopen en de bagger verkopers die je recht in je gezicht uitlachen, de enige moraal die ze hebben is hun marge.

Opvallend vandaag, bij een groothandel twee USB encryptie sticks gekocht, de commerciële versie is in Taiwan gemaakt, en de Zakelijke versie in de USA.
Het is vrijwel zeker dat ze extra zekerheid willen bieden, wat de zakelijke encryptie betreft naar hun klanten toe.

Koop ik op Ebay en Ali, ja hoor vaak speel spul, maar Maxim temp sensoren zeker niet, kan je af en toe wat goeds kopen, ook dat kan.
Het één sluit het ander niet uit, ik heb hier hele mooie precisie weerstanden van een Europese verkoper, ik heb er eerst twee besteld om te testen en toen de rest.
Het voordeel was bij deze onderdelen, dat het geen heel populaire onderdelen zijn, dan is de kans veel kleiner op rotzooi.
Probeer maar geen Burr-Brown audio opamps te kopen, je wordt genaaid waar je bij staat en zo zijn er nog veel meer. :)

Vind ik iedere Chinees een afzetter, dan zou iedere Nederlander behalve een kaaskop, dat ook zijn, niet vergeten dat we op wereldschaal, worden getergd door het systeem van aandelenhandel(en de rest),
dat hebben wij Nederlanders uitgevonden en als ik het goed heb door de VOC.

Echte handelaren zijn constant met winstmaximalisatie bezig, dus als de Chinese handelaar een kans ziet 2e hands of nep onderdelen op een Arduino Nano kloon te zetten, dan doet hij dat.
De meeste denk ik, zonder de koper in andere delen van de wereld, het te laten weten, dat daarom die Arduino Nano zo goedkoop is.
Maar bij de betere apparatuur bouwers zijn bijna altijd de moederbedrijven de baas wat betreft de controle en ja, ik weet het, er zijn ook nu weer uitzonderingen.

Het kan ook anders op Ali, ik heb twee eindversterker printjes gekocht waar gewoon bij stond dat er gebruikt eindtransistoren waren gebruikt, dan weet je beter wat je kan kopen, ik heb het geprobeerd.

Zoals altijd, niet te snel simpele conclusies trekken, werkt echt beter.

Groet,
Bram

PS
Deze tekst is met al mijn liefde geschreven door mijzelf, hier is geen ChatGPT aan te pas gekomen, ik doe mij niet mooier voor dan dat ik ben.
Ruim 60 jaar en nog steeds probeer ik alles zelf zo goed mogelijk uit te zoeken en te schrijven.
Dus de kromme zinnen en andere misschien onzin in jullie ogen, mogen jullie mij verwijten, heb ik helemaal zelf gedaan.

Sometimes people don't want to hear the truth because they don't want their illusions destroyed
Hoeben

Golden Member

Op 24 januari 2023 10:24:22 schreef Bavelt
Maar veel mérkcomponenten komen voor een overgroot deel óók uit China.
Ik vraag me dan weleens af: heb je dan 'good and bad guys' daar? (waar niet :) ) Voor hobbywerk is het wel meestal wel redelijk te doen vind ik.

En ik bestel ook nooit één exemplaar, maar minimaal 5 tegelijk.

Vaak weten de handelaren ook niet dat het fake is. Met fake bedoel ik niet niet-werkend, maar een kopie. Het analoge deel van de Chinees werkt best goed, vooral in het middengebied van de temperatuur. In het digitale deel van het component hebben ze wat steekjes laten vallen bij het maken van de kopie.

Veel fabrieken staan in China gewoon normale dingen te doen. Maar dit is een kleiner bedrijf dat een gat in de markt zag. De reden was dat het originele component erg duur is. Dus dachten ze daar geld te verdienen.

Ze hebben het helemaal niet voor Europa gemaakt maar voor China waar alles helemaal niks mag kosten. Alleen zien handelaren dat als een mogelijkheid wat bij te verdienen, zo komt het ook hier. Je bent niet de eerste met dit probleem. Bijna alle sensoren uit China waar dit component inzit hebben de fake. Soms kost de hele sensor met component minder dan het originele component.

Good en bad betekent in China wat anders. Alles wat geld genereert is good. Ook alles wat geld bespaart is good. Zo kan je subcontractor daar gewoon ander materialen toepassen en dan trots tegen je zeggen "kijk eens hoe goedkoop we het hebben gemaakt". Dat is good.

De echt goede hebben kwaliteitscontrole en regelen hun zaken goed. Die zijn er ook genoeg. Maar die hebben geen louche handelaar op aliexpress nodig. Sommigen hebben daar, of op alibaba, wel hun eigen winkel, dan weet je wel waar het vandaan komt.

Ik vraag me dan weleens af: heb je dan 'good and bad guys' daar?

JA zeker in dan ook nog de very bad guys ;).
Nu is het niet zo dat die chinezengeweten loze criminelen zijn maar gewoon andere morele waarden hebben. Zoals hoeben ook zegt de meeste tussen handelaren weten zelf ook niet meer wat fake is niet. Of ze weten het wel maar het interesserend ze niets.

En dan zei er de bad guys zij die de nep onderdelen ook echt produceren. Zo kan er bv een fabrikant of tussen persoon met obsoleet spul zitten die ze in de handel dumpen. Dat word dan nog een tijd verkocht totdat opdroogt of er geen winstmarge meer te behalen valt. Dan kunnen ze zo onderdeel schoon laseren er iets anders op laseren.
Wat ook gebeurd is dat ze afgekeurde productie ergens vinden die niet vernietigd is. Dan zijn dan kale chips of die's die kunnen ze dan eenvoudig in een behuizing stoppen en daar een opdruk van een goed verkopen component opzetten.
Of ze kopen gewoon een partij oude printplaten op en strippen daar de componenten vanaf zetten er weer nieuwe pootjes aan en een nieuwe opdruk. Er kan en gebeurd van alles daar.

En ik bestel ook nooit één exemplaar, maar minimaal 5 tegelijk.

Hoeveel je er bestelt maakt meestal niet veel uit...

Ik ken een bedrijf die (om te proberen) 5 stuks ic's bestelde om te kijken of ze goed waren, en dat waren ze. Daarna 25 stuks bij zelfde tent, ook OK.
Toen maar meteen 250 stuks, en dat... was rommel.(deden niets).

Bij een onbekende bron blijft het altijd een risico, ook als je er al vaker besteld hebt...

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

Golden Member

Ondertussen ben ik verder gegaan met een poging om de resolutie op 9 bits te zetten. Dat scheelt enorm in de conversie tijd.

Volgens de data sheet moet je dan in het Configuration Register Bit 6 en 5 op 00 zetten.

Maar ik kan nergens gewaar worden wat nu het commando is om het configuration register te muteren.

Hoe zet ik die bitjes nu?

Beter goed gejat dan slecht zelf bedacht...
Bavelt

Golden Member

Hele avond gezocht maar nergens een voorbeeld gevonden voor een 9-bits resolutie.
Het is iets met een 'scratchpad' dat je moet schrijven.

Maar kan niet ontdekken hoe...

Beter goed gejat dan slecht zelf bedacht...