DS18B20 hittas inte.. AVR

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Användarvisningsbild
AndLi
Inlägg: 18282
Blev medlem: 11 februari 2004, 18:17:59
Ort: Knivsta
Kontakt:

Re: DS18B20 hittas inte.. AVR

Inlägg av AndLi »

Får du inte liv i din kod bifogade jag ett 1wire bibliotek som är Atmels appnote AVR318 portad till GCC. (orginal IAR)
Jag vet inte vem som gjort porten dock, eller var jag hittade den..
Här är Atmels orginaldokument dock: http://www.atmel.com/Images/AVR318.zip

i min kod har jag en

static oneWireDevice devices[MAX_DEVICES];
och för att hitta enheterna gör jag
while (oneWireSearchBuses(devices, MAX_DEVICES, BUS) != ONEWIRE_SEARCH_COMPLETE);
och sen för att prata med den DS2413 jag har gör jag bara

Kod: Markera allt

 int16_t status;
    
    // Reset, presence.
    if (!oneWireDetectPresence(BUS))
        return -1; 
		
    // Match the id found earlier.
    oneWireMatchRom(id, BUS);
	
    // Send set 
    oneWireSendByte(DS2413_WRITE_PIO, BUS);
    oneWireSendByte(value, BUS);
		oneWireSendByte(~value, BUS);
		
		status = oneWireReceiveByte(BUS);
    status |= (oneWireReceiveByte(BUS) << 8);
	  
    return status;
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Användarvisningsbild
toffie
Inlägg: 1888
Blev medlem: 22 juli 2004, 21:38:07
Ort: Töreboda / Stockholm
Kontakt:

Re: DS18B20 hittas inte.. AVR

Inlägg av toffie »

Bild
Bild

Här har vi då två bilder, ena från skåpet och den andra från min logic.. Får inte fram "värden" för signalerna på logic'en.. Vet inte om man kan få det på 1-wire.. alltså likt Serial osv.. men båda två verkar ju åtminstone uppfatta samma signaler..

Sen vet faktiskt inte jag ifall de är "korrekta" på något sätt.. Men så ser det ut..
Användarvisningsbild
toffie
Inlägg: 1888
Blev medlem: 22 juli 2004, 21:38:07
Ort: Töreboda / Stockholm
Kontakt:

Re: DS18B20 hittas inte.. AVR

Inlägg av toffie »

Nu slängde jag bort den kod som jag hittade tidigare då det inte verkade hända någonting alls och lyckades till slut hitta en annan kod som jag provade. Efter att jag rev bort en massa kod för en DHT11 fukt/temp-sensor så hade jag bara kod kvar för avläsning av en enstaka DS18B20.

Nu.. fungerar det!

Grundkoden..
http://www.pocketmagic.net/2012/10/atme ... and-dht11/

Jag läste lite om DS18B20 och om man kör ett SKIP ROM kommando så behöver man inget ID för att läsa av sensorn, däremot går det bara med en sensor då.. korrekt?

Vidare.. OM jag nu skulle vilja läsa av fler än en sensor.. Vad är nästa steg? Är det någon som kan ge mig tips?
Jag behöver väl förmodligen läsa av varje sensor för sig, se ROM ID numret.. lagra det, i EEPROM eller liknande eller?
När alla är inlästa som jag vill använda så måste jag köra en for loop eller liknande och läsa av varje enstaka sensor i följd, en efter en.. Blir det rätt?



EDIT...
AndLi
Din kod fungerar säkerligen, men den gjorde mig bara förvirrad när jag inte ens fick någon avläsning.. Jag ska titta mer på din kod när jag börjar känna mig varm i kläderna runt det här ;)
Användarvisningsbild
SeniorLemuren
Inlägg: 8427
Blev medlem: 26 maj 2009, 12:20:37
Ort: Kristinehamn

Re: DS18B20 hittas inte.. AVR

Inlägg av SeniorLemuren »

Kul att det funkar. :) Det kanske kan leda till eftertanke mot dem som var tuffa mot mig och babblade om att programmet är det inget fel på och någon kodning skall man inte behöva bry sig om, ej heller databladet. Jag ser att SKIP ROM hittades i databladet. Det beskrev jag redan i mitt andra inlägg. Man skall inte vara så snabb i sina omdömen, en och annan gammal gubbe hittar ett riskorn ibland. :)

Angående att läsa flera givare på samma lina, så är det precis som du tror. Läs in dom en och en och spara ID som konstanter i programmet så att de finns kvar vid omstart. Läs sedan av dom i en loop.

Det program du först testade har en funktion som kollar vilka givare (ID) som finns inkopplade, men det är en ganska krånglig procedur som kan vara svår att programmera om man inte är van. När det inte är flera än kanske 5-10 st så går det utmärkt att ta dom en och en, men om det blir flera tiotal eller ännu mer så kan det ju vara bra att ha den automatiska funktionen till hands.

Men som sagt, RTFM står sig bra. :)
Användarvisningsbild
JimmyAndersson
Inlägg: 26579
Blev medlem: 6 augusti 2005, 21:23:33
Ort: Oskarshamn (En bit utanför)
Kontakt:

Re: DS18B20 hittas inte.. AVR

Inlägg av JimmyAndersson »

SeniorLemuren:
Jag var den enda som babblade om att "programmet är det inget fel på",
även om Toffie svarade mig och skrev att han tänkt samma sak.
Därför vill jag gärna berätta att jag uppskattar ditt inlägg. :tumupp:


Jag läste igenom mitt inlägg nu igen och jag kan dessvärre inte förstå var jag var tuff mot dig.
Kan det ha blivit ett missförstånd någonstans? :)

Snälla: Skulle du kunna citera den mening eller stycke i mitt förra inlägg där jag förargade dig?
Utan det så kan jag inte förstå och därför vore en ursäkt intetsägande.


"Man skall inte vara så snabb i sina omdömen, en och annan gammal gubbe hittar ett riskorn ibland."

Gav jag verkligen dig ett omdöme?
Kan du citera den meningen eller stycket som överhuvudtaget handlar om dig som person?
Jag tror inte att det är möjligt, för jag skrev faktiskt ingen sådan text. :)


PS: Jag vet att du inte skrev mitt namn, men jag tar ändå till mig
eftersom jag var den enda som skrev om programmet och databladet.
(Som sagt; bortsett från trådskaparen, men han svarade på det *jag* skrev om det.)


Trevlig helg!
Användarvisningsbild
SeniorLemuren
Inlägg: 8427
Blev medlem: 26 maj 2009, 12:20:37
Ort: Kristinehamn

Re: DS18B20 hittas inte.. AVR

Inlägg av SeniorLemuren »

@JimmyA: Jag är inte förargad, jag bara konstaterade att det förslag jag kom med, snabbt blev förklarat som onödig. No hard feelings. :)
JimmyAndersson skrev:Att döma av länken så fungerar ju koden för den som gjort den.
Om Toffie inte modifierat koden så finns det inte så mycket att felsöka just där.
Av samma orsak behöver man inte ta reda på hur en DS18B20 fungerar i detalj,
även om det visserligen är intressant.
Sedan var det inte enbart ditt inlägg som gick i samma spår och där blev jag ju faktiskt anklagad för att komma med ett korkat förslag och det känns ju inte så kul, senare visade det ju faktiskt att koden var fel, så det där med korkad kanske man kan tycka var ett lite för snabbt omdöme.:)
toffie skrev:Ja med tanke på att koden uppenbarligen fungerar för den som gjort det, som jag laddat ner ifrån, så bör det ju förhoppningsvis inte vara något fel på just koden. Att jag då ska sätta mig och läsa genom databladet för att försöka lösa dennes kod verkar ju ganska korkat.. eller vad säger du?
toffie skrev:Nu slängde jag bort den kod som jag hittade tidigare då det inte verkade hända någonting alls och lyckades till slut hitta en annan kod som jag provade. Efter att jag rev bort en massa kod för en DHT11 fukt/temp-sensor så hade jag bara kod kvar för avläsning av en enstaka DS18B20.
Önskar er en bra jul. :)
Skriv svar