Sida 2 av 2
Re: 'Overdrive' vid kommunikation med 1-trådskretsar?
Postat: 21 maj 2009, 12:15:56
av Willy
mrfrenzy skrev:Schemat som visas på länken du klistrade in (shtxx.tripod.com) använder en DS9490R via usb.
Han har länkat till en annan snubbe, Peter Polm som har gjort en lösning med Max232 på serieporten.
Använder du DS9490R och DS2406 eller är det MAX232 som gäller?
Eftersom jag kör 1-trådsinterface så är det ju inte MAX232 utan jag kör DS2480 (seriell, inte USB) och DS2406
Re: 'Overdrive' vid kommunikation med 1-trådskretsar?
Postat: 21 maj 2009, 12:22:31
av mrfrenzy
Ok, antar att hans program inte funkar med serieadaptern?
Hårdvarumässigt är det säkert inga fel (om inte just din STH skulle råka vara trasig). Det borde utan problem gå att komma ner under en sekund.
Kanske du kan prova att lägga in lite timers i ditt program och räkna ut hur lång tid varje steg i kommunikationen tar, kanske itererar du igenom en massa värden någonstans?
Re: 'Overdrive' vid kommunikation med 1-trådskretsar?
Postat: 21 maj 2009, 13:40:23
av sodjan
> Jag har ett par temp/fuktighetsmätare SHT11 som jag faktiskt lyckats snacka med via 1-tråden,
> problemet är att det tar ca.20sek att läsa ut värdena från varje SHT-krets, så tanken var
> att försöka snabba upp detta en aning.
Varför inte säga detta i det *FÖRSTA* inlägget ?
Och är det "20 sek" eller ".20sek" ? Låt oss anta att det faktiskt är 20 sekunder...
Om det nu tar 20 sekunder så är det ju helt uppenbart att det inte är själva
1-Wire överföringen som är problemet. Att byta till "overdrive" skulle max göra en skillnad
någon enstaka millisekund (om ens det) så det skulle knappt vara mätbart. Så att börja
hela tråden med fokus på "overdrive" gör nog inte att du kommer närmare en lösning
på ditt verkliga problem. Du kan säkert glömma overdrive helt, något annat är väldigt fel.
Du kanske borde skapa en ny tråd med en korrekt rubrik som faktiskt beskriver problemet.
Re: 'Overdrive' vid kommunikation med 1-trådskretsar?
Postat: 21 maj 2009, 15:57:11
av Willy
sodjan skrev:Och är det "20 sek" eller ".20sek" ? Låt oss anta att det faktiskt är 20 sekunder...
Om det nu tar 20 sekunder så är det ju helt uppenbart att det inte är själva
1-Wire överföringen som är problemet.
20 sekunder är det, ursäkta punkten.
Varför är det så uppenbart att det inte är 1-wire överföringen, har ni kollat hur mycket det är som skall skickas till/från SHTn genom att 'pulsa' ut/ingångarna?
Kunde man köra i overdrive mode så borde kommunikationen med kretsen bli betydligt snabbare, men då är väl avståndet ett nytt problem.
mrfrenzy skrev:om inte just din STH skulle råka vara trasig. Det borde utan problem gå att komma ner under en sekund.
Den är inte trasig, alla mina SHT uppför sig likadant.
Under 1 sekund skulle jag GÄRNA vilja se.
Jag kommer tyvärr inte längre med mina kunskaper, har nog gjort vad jag kan och får tydligen nöja mig med det.

Re: 'Overdrive' vid kommunikation med 1-trådskretsar?
Postat: 21 maj 2009, 16:32:38
av Icecap
Jag ville kolla på schemat men inte fan om jag hämtar och kör ett EXE-program för att visa ett bild!
Nåväl, utan schema får det bli.
SHT11'an är SPI, inte 1-wire efter vad jag kan se, alltså är det inte så svårt alls. Och 20 sek för att läsa den är alldeles löjligt!
För att ge den kommandon om att den ska konvertera ska det skickas ca: 1 byte och 9 klockpulser, dessa får inte skickas snabbare än 5MHz. Går vi på 19200 baud (ja, jag vet att det är asynk och att det egentligen ska vara synk men jag räknar här) går den byte på 521µs.
Sedan behöver sensorn ha 320ms på en omvandling (som mest) varefter resultatet ska avläsas, det är då 3 bytes á 521µs.
Totalt tar det som mest 330ms. Hur du kan få detta att ta 20 sek är mig en gåta. Jag skulle ganska enkelt kunde sno ihop ett kretslopp baserat på en MAX232 som medgav att jag, medelst handskakningssignalerna i en vanlig COM-port, kunde klocka data till och från denna krets och köra via USB-dongel. Visst, den ville inte bli snabb, varje byte skulle nog ta runt 100ms eller så att överföra så totalt ville det nog ta runt 1 sekund att ge kommandon, vänta på omvandlingen och hämta data.
Edit: så ja, problemet är 1-wire kommunikationen, den används alldeles fel i detta! Dessutom kommer fuktigheten inte att ändra sig så snabbt att 20 sek är ett problem ur mätsynpunkt men att använda 1-wire med bryggor emellan för att prata SPI är sinnessjukt!
Re: 'Overdrive' vid kommunikation med 1-trådskretsar?
Postat: 21 maj 2009, 16:47:35
av mrfrenzy
Icecap: här är schemat

Man använder alltså en DS2406P för att bitbanga two-wire... Enligt
databladet tar det 15-60µs för den att gå hög, och 200-300ns att gå låg. Kan kanske förklara fördröjningen
Här är en lite smartare lösning med en PIC som interface, dom specificerar 300ms för en läsning
http://home.hetnet.nl/~thomas_7/1Wire/1-WireIOPort.html
Re: 'Overdrive' vid kommunikation med 1-trådskretsar?
Postat: 21 maj 2009, 16:56:30
av Icecap
Precis! Att skulle skriva/läsa flera bytes per bit som ska bit-bangas är ju ganska ... osmart i mitt tycke. Jag hade direkt tryckt dit en liten PIC med seriell port i, då hade det varit enkelt. Skulle man ha fler sensorer på samma bus hade jag använd RS485.
Re: 'Overdrive' vid kommunikation med 1-trådskretsar?
Postat: 21 maj 2009, 17:00:04
av mrfrenzy
Ska man ha flera sensorer så är det ju bara använda I2C direkt som sensorerna pratar - det är ju ett bussnät, bara att lägga in stöd i picen för att lista och fråga många sensorer. Man skulle kunna skicka ett kommando som säger till alla att konvertera (precis som man kan göra med 1wire-tempsensorer), så skulle man troligen kunna få data från 50 sensorer på mindre än en sekund.
Re: 'Overdrive' vid kommunikation med 1-trådskretsar?
Postat: 21 maj 2009, 19:42:06
av Willy
Verkar som att det är bäst att avsluta tråden, kommer nog inte mycket längre.
Så för att sammanfatta diskussionen, ingen har tydligen provat att köra overdrive-mode i ett 1-wire nät.
Re: 'Overdrive' vid kommunikation med 1-trådskretsar?
Postat: 21 maj 2009, 19:51:03
av bearing
Inte någon av de som skrivit i tråden, nej. Fast de har ju gett förslag på andra lösningar, robustare sådana.
Re: 'Overdrive' vid kommunikation med 1-trådskretsar?
Postat: 21 maj 2009, 20:03:35
av mrfrenzy
Eftersom du tydligen har bestämt dig för att använda DS2406 och DS2406 inte stödjer overdrive så är det svårt att komma mycket längre.