Page 1 of 1

uitbreiding software io module voor meedere DS18s20

Posted: Mon Jun 22, 2009 10:13 pm
by flybywire
Hallo allemaal

Ik zou graag meerdere Ds18s20 aan willen sluiten op 1 io module.
In het boek heb ik gelezen dat de software dan echter geupdate moet worden.
Voordat ik mijn assembler kennis uit het stof ga halen wou ik even controleren of iemand dit al gemplementeerd heeft ?

Heb je dit al gedaan en wil je de code delen dan hoor ik het graag.

uitbreiding software io module voor meedere DS18s20

Posted: Wed Jun 24, 2009 8:20 pm
by Heino Peters
Ha,

Ik ken nog niemand die dit gedaan heeft, maar op 5 september wil ik op de domotica praktijkdat (www.elektor.nl/domoticadag) een nieuwe io-module presenteren. Omdat ik de software hiervoor nog moet schrijven zal ik je voorstel meenemen in de overwegingen. Ik zie wel een uitdaging in de identificatie van de sensoren. Aan hoeveel temperatuursensoren denk je?

Heino

uitbreiding software io module voor meedere DS18s20

Posted: Thu Jun 25, 2009 12:26 am
by flybywire
Heino

Met betrekking tot de DS18s20.
Ik ben al begonnen de code aan te passen , assembler valt echter vies tegen.
Ik dacht een nieuw commando te bouwen die de ds1821's opzoekt in het netwerk en dus een lijst met (64 bits) id's oplevert.
Algoritme had ik hier gevonden :
http://www.maxim-ic.com/appnotes.cfm/an_pk/187
Ja dit zal even duren en ik hoop dat ik niet teveel timing issue's tegenkom.
Voorzie jij hier de problemen ?
Het lees en digitaliseer commando moet ook worden uitgebreid om een id van de sensor mee te geven.
Ik wil nu 5 ds1820 op 1 module aansluiten.

Is dit de verstandigste oplossing ?

Groeten
Joost M

uitbreiding software io module voor meedere DS18s20

Posted: Mon Jun 29, 2009 7:42 pm
by Heino Peters
Joost,

Je hebt inderdaad het juiste algoritme. Overigens is dit (niet toevallig) hetzelfde algoritme als dat wat ik gebruik voor het zoeken van een IO-module (zie pagina 37 van het boek). Misschien helpt dit je. Ik heb geprobeerd het daar iets eenvoudiger te beschrijven. Voor het digitaliseren kun je alle sensoren tegelijk selecteren (SKIP ROM, CCh) en in n keer alle devices een CONVERT T (44h) geven. Vervolgens is het misschien een optie om een nieuwe functie toe te voegen waarbij je eerst de master het aantal op te vragen sensoren laat versturen. Met SEARCH ROM (F0h) kun je daarna de PIC-processor in de IO-module achtereenvolgens alle devices na elkaar adresseren en uitlezen. Als je de eerste keer het adres goed initialiseert (allemaal nullen) meldt met de SEARCH ROM de laagst genummerde sensor zich het eerst. Met het ID van de gevonden sensor zoek je dan weer naar de volgende en dat net zo vaak als de master heeft aangegeven. Zo kun je een onbeperkt aantal sensoren in je netwerk hangen. Het is natuurlijk wel zaak even uit te zoeken welke sensor zich als eerste meldt (het laagste ID heeft), enz. Is een kwestie van n keer testen en dan weet je het. Succes, het is een flinke klus!

Heino