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
-
- Member
- Posts: 75
- Joined: Wed Jun 21, 2006 10:31 pm
- Location: Netherlands
uitbreiding software io module voor meedere DS18s20
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
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
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
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
-
- Member
- Posts: 75
- Joined: Wed Jun 21, 2006 10:31 pm
- Location: Netherlands
uitbreiding software io module voor meedere DS18s20
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
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