Långsiktigt hemautomationsprojekt
Hittade lite intressanta oscilloskopbilder relaterade till CAN:
http://www.picotech.com/auto/waveforms/canbus.html
Vpp = 0,2V
T = 15 µs
Application Bulletin AB-6 RS-485 SystemsMaking Them Work
http://www.nve.com/Downloads/ab6.pdf
The stub length is defined as the distance between the transceiver chip output and the bus lines, including connectors and PCB traces. To minimize reflections and maintain signal integrity, stub lengths should be less than one-sixth of the electrical signal length. Electrical signal length is defined as:
Elec. Length = tr / prop delay
Most standard transceivers have a signal rise time of approximately 10 ns. This gives an electrical signal length in a cable with 78% propagation velocity as follows:
Elec. Length = 10-8 x 3x108 x 0.78 = 2.34 m
One sixth of the electrical length is 390 mm (15"), so each stub-length in this example should be less than 390 mm.
För hastighet under 100 kbps och längder kortare än 10 meter går oskärmat tydligen bra, annars är skärmat/tvistat rekommenderat.
Endast en sida av skärm skall jordas, den andra kan gå via ett RC nät.
http://www.amplicon.co.uk/data/CAN-Application_Note.pdf
"These rise and fall times are determined in 1/32 nds of the bit time. Rise or fall times of greater than 5/32 nds are considered to be a bus fault."
Om figur 5 är korrekt så gäller:
Längd = Stigtid * Ljushastighet * Kabelfaktor
Längd = 16*10^-9 * 2,99*10**8 * .78 = 3,74 meter
En 1/6 del av längden blir således 0,624 meter och bör vara den maximala "stub längden".
Någon som vet hur "kompatibla" RS-485 och CAN är ..?
CAN använder ett hårt prioriterings protokoll. Kanske något som komplicerar programmering.
http://www.picotech.com/auto/waveforms/canbus.html
Vpp = 0,2V
T = 15 µs
Application Bulletin AB-6 RS-485 SystemsMaking Them Work
http://www.nve.com/Downloads/ab6.pdf
The stub length is defined as the distance between the transceiver chip output and the bus lines, including connectors and PCB traces. To minimize reflections and maintain signal integrity, stub lengths should be less than one-sixth of the electrical signal length. Electrical signal length is defined as:
Elec. Length = tr / prop delay
Most standard transceivers have a signal rise time of approximately 10 ns. This gives an electrical signal length in a cable with 78% propagation velocity as follows:
Elec. Length = 10-8 x 3x108 x 0.78 = 2.34 m
One sixth of the electrical length is 390 mm (15"), so each stub-length in this example should be less than 390 mm.
För hastighet under 100 kbps och längder kortare än 10 meter går oskärmat tydligen bra, annars är skärmat/tvistat rekommenderat.
Endast en sida av skärm skall jordas, den andra kan gå via ett RC nät.
http://www.amplicon.co.uk/data/CAN-Application_Note.pdf
"These rise and fall times are determined in 1/32 nds of the bit time. Rise or fall times of greater than 5/32 nds are considered to be a bus fault."
Om figur 5 är korrekt så gäller:
Längd = Stigtid * Ljushastighet * Kabelfaktor
Längd = 16*10^-9 * 2,99*10**8 * .78 = 3,74 meter
En 1/6 del av längden blir således 0,624 meter och bör vara den maximala "stub längden".
Någon som vet hur "kompatibla" RS-485 och CAN är ..?
CAN använder ett hårt prioriterings protokoll. Kanske något som komplicerar programmering.
CAN och RS485 har ganska snarlika elektronisk funktion. Det är mer protokollen som skiljer. Om jag inte missminner mig så har tom RS485 större signalamplituder och borde vara ännu mindre känsligt för störningar. CAN har dock ett smidigare och enklare protokoll, förutsatt att man har hårdvarustöd för det.
Dom som kommer ihåg koax-nätverk till dator minns säkert att om man inte terminerade korrekt så funkade inte nätverken. Samma lär gälla dessa bussar om dom kommer upp i lite storlek. Tror inte man ska räkna bort kabelreflektionerna, dom kan sabba signalerna ganska ordentligt.
Dom som kommer ihåg koax-nätverk till dator minns säkert att om man inte terminerade korrekt så funkade inte nätverken. Samma lär gälla dessa bussar om dom kommer upp i lite storlek. Tror inte man ska räkna bort kabelreflektionerna, dom kan sabba signalerna ganska ordentligt.
Mitt nätverk går runt min 30kvm-lägenhet.
Börjar vid skrivbordet där jag har en terminering "mitt i", sen går det ut trådar till 7 noder på skribordet med kabellängder på 10cm-1m. (det är nummerpresentatör, ethernetnod, serieportsnod, relänod, oled-display samt ett par testnoder.)
Från skrivbordet går det en kabel på 9m till nästa "gren", där går det upp en kabel till periennerna, cirka 3m. Från grenen går det också en kabel vidare till nästa gren, 3m längre bort där en kabel på 10cm går ut till temperatursensor, från den grenen vidare till TV-bänken. Där finns irmottagare och irsändare.
Bara en terminering, oskärmas, ej tvinnad telefonkabel.
19:18:40 <arune> Linuxz: hur långa kablar har du och var har du terminering?
19:19:35 <Linuxz> som det är nu har jag nog totalt 20 till 30 meter med en terminering ungefär på mitten
19:21:38 <Linuxz> i oskärmade och ej tvinnade biltemakablar
Detta är som sagt inga problem i ett hemmanätverk.
Börjar vid skrivbordet där jag har en terminering "mitt i", sen går det ut trådar till 7 noder på skribordet med kabellängder på 10cm-1m. (det är nummerpresentatör, ethernetnod, serieportsnod, relänod, oled-display samt ett par testnoder.)
Från skrivbordet går det en kabel på 9m till nästa "gren", där går det upp en kabel till periennerna, cirka 3m. Från grenen går det också en kabel vidare till nästa gren, 3m längre bort där en kabel på 10cm går ut till temperatursensor, från den grenen vidare till TV-bänken. Där finns irmottagare och irsändare.
Bara en terminering, oskärmas, ej tvinnad telefonkabel.
19:18:40 <arune> Linuxz: hur långa kablar har du och var har du terminering?
19:19:35 <Linuxz> som det är nu har jag nog totalt 20 till 30 meter med en terminering ungefär på mitten
19:21:38 <Linuxz> i oskärmade och ej tvinnade biltemakablar
Detta är som sagt inga problem i ett hemmanätverk.
Som sagt så är jag också sugen på ett hemnät men vill bara vara säker på att det funkar innan jag sätter igång. Bäst att utreda noga innan man sätter igång bara, men det tycks ni ju ha gjort.
Enda jag tänkte var just att ni pluggade på KTH och bodde i en etta på just 30kvm. Jag bor i en normalstor villa på 200kvm. Det är ju just när nätet blir större problemen uppstår. Har en labb i bakhuvudet som jag gjort för många år sen som gick ut på oterminerade koax-kablar. I dessa blev det enorma reflektioner när man terminerade fel.
Nu verkar det ju inte vara ett problem för CAN och i värsta fall får jag väll bygga repeaters. CAN verkar väldigt smidigt i övrigt.
Enda jag tänkte var just att ni pluggade på KTH och bodde i en etta på just 30kvm. Jag bor i en normalstor villa på 200kvm. Det är ju just när nätet blir större problemen uppstår. Har en labb i bakhuvudet som jag gjort för många år sen som gick ut på oterminerade koax-kablar. I dessa blev det enorma reflektioner när man terminerade fel.
Nu verkar det ju inte vara ett problem för CAN och i värsta fall får jag väll bygga repeaters. CAN verkar väldigt smidigt i övrigt.
Det är CTH och 18 kvm som gäller :)
Själv har jag ca 25 meter busskabel, och ett par avstickare på 10cm upp till 2m.
Hastighet på 250 kbit/s och 120 ohms terminering i två ändar. Databussen har inte varit några problem med, däremot så är fallet på spänningsmatningen lite väl häftigt då det är dåliga kablar.
blueint: Att arbitreringen på CAN fungerar som den gör är ingen nackdel. Det är naturligt att vissa typer av paket ska ha högre prioritet (tex Network Management), alltså väljer man ett lägre ID till dem.
Själv har jag ca 25 meter busskabel, och ett par avstickare på 10cm upp till 2m.
Hastighet på 250 kbit/s och 120 ohms terminering i två ändar. Databussen har inte varit några problem med, däremot så är fallet på spänningsmatningen lite väl häftigt då det är dåliga kablar.
blueint: Att arbitreringen på CAN fungerar som den gör är ingen nackdel. Det är naturligt att vissa typer av paket ska ha högre prioritet (tex Network Management), alltså väljer man ett lägre ID till dem.
F.d. CTH 
Angående stort hus, om jag tänker mig ett stort nät så tänker jag att det är uppdelat i subnät, med TCP emellan för att koppla i hop dem. T.ex. mellan våningar eller mellan rum.
Jag känner iaf inte till någon lämpligare trådbunden buss som skulle klara stjärn-topologi lika bra som CAN.
Ang. http://en.wikipedia.org/wiki/10BASE2 så var det trots allt 10Mbit.
En kollega påpekade att CAN-transceivrarna har en pinne för att begränsa slewrate om man tycker det blir ett problem.

Angående stort hus, om jag tänker mig ett stort nät så tänker jag att det är uppdelat i subnät, med TCP emellan för att koppla i hop dem. T.ex. mellan våningar eller mellan rum.
Jag känner iaf inte till någon lämpligare trådbunden buss som skulle klara stjärn-topologi lika bra som CAN.
Ang. http://en.wikipedia.org/wiki/10BASE2 så var det trots allt 10Mbit.
En kollega påpekade att CAN-transceivrarna har en pinne för att begränsa slewrate om man tycker det blir ett problem.
Efter ett långt uppehåll har jag börjat lite med hemautomationen igen. Jag tyckte det var dags att få igång IR-mottagning och IR-sändning ordentligt. Tidigare har jag haft en IR-mottagare för att styra mythtv via en universalfjärrkontroll, men nu har jag tagit det ett steg längre och lagt till en sändare också. Två bilder på mottagaren finns nedan. Jag passade även på att skriva in stöd för att ta emot ir-sädningar ifrån min Marantzfjärrkontroll, de har någon konstig typ av RC-5 som är förlängt med sju extra databitar.

Så långt är allt väl, jag kan styra saker och ting med hjälp av antingen universalfjärrkontrollen eller marantzfjärrkontrollen. Det är dock kul att kunna styra lite mer saker, så jag har fixat en IR-sändare som kan skicka ut signaler också. Jag har bara en än så länge, och den är satt till förstärkaren så att jag kan styra den ifrån datorn. Än så länge har jag inget smidigt program för det dock, så man får knappa in lite saker i en telnet-session men det ska det förhoppningsvis bli ändring på när jag orkar lära mig att skriva lite enkla saker i Objective-C. En snyggare låda till sändaren måste jag fixa också.

Så långt är allt väl, jag kan styra saker och ting med hjälp av antingen universalfjärrkontrollen eller marantzfjärrkontrollen. Det är dock kul att kunna styra lite mer saker, så jag har fixat en IR-sändare som kan skicka ut signaler också. Jag har bara en än så länge, och den är satt till förstärkaren så att jag kan styra den ifrån datorn. Än så länge har jag inget smidigt program för det dock, så man får knappa in lite saker i en telnet-session men det ska det förhoppningsvis bli ändring på när jag orkar lära mig att skriva lite enkla saker i Objective-C. En snyggare låda till sändaren måste jag fixa också.
Nu har jag monterat ihop den hittills längsta buss vi kört med detta systemet. Närapå 100 meter i en RLFK 2x0,14 kvmm som är skärmad. Hastigheten är 250 kbit/s och det är terminerat med 120 ohm i varje ända. Inga stubbar över 20 cm finns.
I ena änden som är uppdragen i en antennmast sitter en nod gjord för att styra en antennrotor. I andra änden som är inomhus sitter tre noder varav en är en NodeCLCD och en NodeUSB.
Fungerar fint!
Ska såsmåningom testa lite mer belastning på bussen, fler noder (fler styrningar och sensorer) och hur den beter sig vid endast en terminering. Blir också intressant att se ifall min antennstyrningsnod kommer överleva i längden med tanke på klimat och störningar från rotorns motor.
I ena änden som är uppdragen i en antennmast sitter en nod gjord för att styra en antennrotor. I andra änden som är inomhus sitter tre noder varav en är en NodeCLCD och en NodeUSB.
Fungerar fint!
Ska såsmåningom testa lite mer belastning på bussen, fler noder (fler styrningar och sensorer) och hur den beter sig vid endast en terminering. Blir också intressant att se ifall min antennstyrningsnod kommer överleva i längden med tanke på klimat och störningar från rotorns motor.
Hemautomationen är inte död, den vilar bara
Jag har lagt mycket tid på att få mythtv att fungera hemma på sistonde så jag har inte lagt någon tid alls på hemautomationen nästan. Nu har jag dock fått igång ett litet hemaskrivet program till min PSP som ansluter till Can-demonen via WLAN och visar vad som skickas på bussen. Mycket användbart! Jag ska fortsätta leka och se om jag kan få ihop någon slags menysystem så att jag kan styra lampa och förstärkare via knapparna på den.



- ElectricMan
- Inlägg: 4874
- Blev medlem: 21 februari 2007, 20:22:48
- Skype: ElectricManSwe
- Ort: Luleå
- Kontakt: