CAN nätverk, flera frågor

Övriga diskussioner relaterade till komponenter. Exempelvis radiorör, A/D, kontaktdon eller sensorer.
Användarvisningsbild
toffie
Inlägg: 1888
Blev medlem: 22 juli 2004, 21:38:07
Ort: Töreboda / Stockholm
Kontakt:

CAN nätverk, flera frågor

Inlägg av toffie »

Hallojsan, nu kommer nästa tråd som gäller mitt larmprojekt :)
Tog upp det lite i batteribackup tråden, men nu blir det så många frågor så jag startar en CAN tråd istället.

Innan frågorna, kom inte och säg att det ska vara trådlöst istället! :evil:
För att göra de trådlösa fantasterna glada så har jag funderat på att även göra en trådlös modul i framtiden ;)
Hur som, lite frågor..

1.) Strömförsörjning
Jag har nu bestämt mig för att använda CAN som nätverk mellan sensornoderna och när det gäller strömförsörjningen
så kan jag tänka mig att det kan strula lite om man använder ex. en spänningskälla för alarmcentralen, en annan för
kontrollpanelen och sedan förmodligen batterier eller kanske spänning över kabeln till sensorerna?

Nu måste jag utveckla, så här tänkte jag, går det?
Larmcentralen - 12V väggvårta med batteribackup
Kontrollpanel - 12/9V väggvårta med batteribackup
Sensorer - 9/5V över CAN kabeln?

Kan det bli några komplikationer med detta? För kontrollpanelen kan man ju skippa att koppla in strömpinnen från CAN
kontakten, bara man kopplar in GND över hela nätverket så man har en gemensam jord.

Eller ska man köra 12/9/5V direkt över hela nätverket och låta larmcentralen driva både sensorer och kontrollpanelen?
Känns lite konstigt att man skulle göra så, det är väl bättre ändå att kontrollpanelen får en egen spänningskälla?


2.) Kablage, RJ45?
Sen en fråga om kabel, jag tänkte mig använda vanlig RJ45 nätverkskabel med 4 par. För RX/TX CAN bör man väl då använda
ett tvinnat par i kabeln och sen kan man välja fritt för GND och VCC. För vad jag förstått så är det bara de två signalerna samt
GND som behövs för ett komplett CAN kablage?

Jag tittade fram denna bild, finns på flera ställen när man söker på "RJ45 CAN bus";
Bild
Denna bild verkar ju gå efter någon CAN RJ45 standard? Inte för att jag behöver följa någon standard, det är mest idéer.


3.) Ihopkoppling
CAN kopplas ju bäst punkt till punkt, ex;
Larmcentral - sensor - sensor - sensor - sensor - sensor : termination
alt.
Larmcentral - kontrollpanel - sensor - sensor - sensor - sensor - sensor : termination

CAN gillar ju inte liknande;
Larmcentral - sensor - sensor - sensor : termination
|
kontrollpanel : termination

Detta stämmer tror jag, enligt det jag läst på nätet. Första två exemplen är ju det "bästa" för nätverket, men inte så snyggt.
Säg att man har larmcentralen i en garderob, därifrån går en kabel till kontrollpanelen som sedan går till en sensor, som
går till nästa sensor, som går till nästa sensor.. Det blir lite väl inringat om man gör så, förstår ni vad jag menar?
"Fastigheten" dvs. Alltså det som övervakas, det blir i stort sett en enda lång kabel.. :humm:

Finns det något negativt, förutom kablaget ;) i att dra ett sånt här nätverk?
Det man skulle kunna tänka sig är, säg att man har 10 sensorer, om någon kommer in mitt emellan och kapar CAN sladden
efter kanske 4 sensorer.. Fast borde ju inte göra något, larmet går ju hur som :D Förhoppningsvis :humm: :roll: hehe

Men om man nu ska ha noder som går på led, kan man göra något liknande eller blir det störningar eller annat fel av det?
Bild
Detta i varje nod.

Förutom att sensorerna kanske blir något större än med bara en kabel inkopplad plus att det faktiskt går två kablar
in i varje sensor, förutom den sista då, så kanske detta är en bra lösning?

Följande är tre olika scenarior.
Bild

- 1. Här kan vi säga att kabeln ligger längs med golvsockeln från Alarmcentralen i garderoben, till hallen där kontrollpanelen sitter och där sitter en splitter vid golvsockeln så man kan dra upp en kabel till kontrollpanelen. Från splittern går sedan
kabeln vidare till Rum1 där första sensorn ligger, en splitter här också med 1 kabel upp till sensorn. Från splittern går
sedan kabeln vidare till Rum2 osv...

- 2. Här går kabeln från Alarmcentralen i garderoben till hallen direkt in i kontrollpanelen, och sedan går ytterligare en kabel
ut från kontrollpanelen in till Rum1 där första sensorn ligger, kabeln går rakt in i sensorn. Från sensorn går sedan ytterligare
en kabel ut som går till Rum2 osv..

- 3. Här gjorde jag någonting, men när jag började skriva ovan för alt. 1 så kom jag på att det förmodligen är den bästa
lösningen? Så alt. 3 tror jag man kan skrota.

Så.. Vad säger ni om alt. 1 och alt. 2?
Alt. 1 är väl den bästa lösningen, men kan det bli några störningar av att man gör en splitter sådär?
Känns som den naturliga lösningen av någon anledning, eller vad säger ni?


Exempel på en splitter
Bild



Finns det något jag inte tänkt på som ni med erfarenhet kommer att tänka på?
Hoppas ni kan hjälpa mig med det här :)
Nerre
Inlägg: 27215
Blev medlem: 19 maj 2008, 07:51:04
Ort: Upplands väsby

Re: CAN nätverk, flera frågor

Inlägg av Nerre »

När jag jobbade med larm så råkade jag aldrig ut för nåt larm där centralen INTE strömförsörjde kontrollpaneler och detektorer.

Men sen är jag lite fundersam. Har du alltså tänkt att detektorerna ska snacka CAN? Är inte det EXTREM overkill? Dyrt, krångligt och sabotagekänsligt?

Vad är det för fel på vanliga dubbelbalanserade slingor?
Johanb
Inlägg: 3406
Blev medlem: 26 mars 2006, 22:26:12
Ort: Smedjebacken

Re: CAN nätverk, flera frågor

Inlägg av Johanb »

Kan man få indikering på vilken sensor som triggat med dubbelbalanserade slingor?
Annars verkar ju OneWire vara ganska tåligt för "felkopplade" nät enligt de som kör termometrar.
Billigt och kompakt också,implementera slaven i en mcu och haka på en FET för bättre ork.
mippen
Inlägg: 744
Blev medlem: 15 april 2009, 15:34:31
Ort: Lindome

Re: CAN nätverk, flera frågor

Inlägg av mippen »

Hur man skall koppla CAN nät finns det många åsikter om.
På senare tid så har vi på jobbet börjat med "Hubbar" där man bygger stjärnnät.
Men innan dess så försökte vi att bygga en slinga med terminering i ytterändarna.

Enklast kanske är att köra två RJ45 kontakter på varje nod som parallell kopplas.
Sätt sedan en plugg i sissta enhet där du terminerar slingan.

Kan vara värt att koppla in en common shoke på varje nod så du får bort lite störningar också.
Skall bli intressant att följa detta projekt!
danielr112
Inlägg: 8092
Blev medlem: 18 januari 2009, 00:48:24
Ort: Alvesta, Småland

Re: CAN nätverk, flera frågor

Inlägg av danielr112 »

1-wire hade jag använt helt klart. enkelt billigt och bra!
Nerre
Inlägg: 27215
Blev medlem: 19 maj 2008, 07:51:04
Ort: Upplands väsby

Re: CAN nätverk, flera frågor

Inlägg av Nerre »

Johanb skrev:Kan man få indikering på vilken sensor som triggat med dubbelbalanserade slingor?
Normala centraler indikerar ju bara vilken sektion som löst ut (men sitter det t.ex. ett gäng glaskross-detektorer på en sektion så brukar de ha egna lysdioder så man gå runt och hitta vilken av dem som löst ut).

Med lite trixande kan man det (om man använder uC och A/D-omvandlare för avläsningen, normala centralen använder nog bara ett par komparatorer), men då blir de inte riktigt dubbelbalanserade utan snarare trippel-, kvadrupel- eller så balanserade.

Säg att du sätter ett slutmotstånd på 1k i slingan, sen över första givare sätter du 1 k, över andra givare 2,7 k och över tredje givaren 4,7 k.

Vi normalfall har du alltså 1 k. Larmar första givaren har du 2 k, larmar andra givaren har du 3,7 k. Och larmar första och tredje givaren har du 6,7 k. Detta använder man då som "nedre" motstånd i en spänningsdelare (med det övre motståndet sittande i larmcentralen). Läser man in det i en uC så får man ju ett binärt värde som motsvarar spänningen/resistansen och det är bara att loopa igenom sektionerna och för varje sektion jämföra med några gränsvärden för att lista ut vilken status sektionen har. Värden som ligger utanför de "korrekta" räknas som sabotagelarm.


Det är ju betydligt enklare att bara sätta ett motstånd parallellt över en magnetkontakt, glaskross-sensor eller rörelsedetektor än att behöva sätta dit aktiv elektronik.
mippen
Inlägg: 744
Blev medlem: 15 april 2009, 15:34:31
Ort: Lindome

Re: CAN nätverk, flera frågor

Inlägg av mippen »

Om det "bara" är ett larmsystem som du skall bygga och huset/området som du skall larma inte är jätte stort,
Så är det nog både enklast/billigast att bygga som larmcentralerna brukar byggas.
En kabel till varje sensor med ett serie och ett parallellt motstånd ute på sensorn.

Om du vill bygga på CAN för att kunna utveckla ditt "hemnät" smidigt så kanske det är bättre att bygga någon form utav nod.
En nod med tex 8 kanaler som klarar av dubbelbalanserade sensorer.. och denna nod pratar CAN med huvudcentralen.
Kan man enkelt när man vill bygga ut systemet dra vidare CAN tråden till fler noder.

RJ45 konatakten kändes stor att ha ute vid sensor... kanske en 6 polig plint är okej..
är inget som endå skall kopplas i och ur hela tiden.
CAN in, CAN ut och matning.

Vad har du tänkt dig bygga på för uC?
Användarvisningsbild
toffie
Inlägg: 1888
Blev medlem: 22 juli 2004, 21:38:07
Ort: Töreboda / Stockholm
Kontakt:

Re: CAN nätverk, flera frågor

Inlägg av toffie »

Nerre skrev:När jag jobbade med larm så råkade jag aldrig ut för nåt larm där centralen INTE strömförsörjde kontrollpaneler och detektorer.

... EXTREM overkill? Dyrt, krångligt och sabotagekänsligt?
Ok, så centralen strömförsörjer både kontrollpaneler och detektorer? Det är ju visserligen en bra lösning på det
sättet att man slipper batteribackup i kontrollpaneler. Jag tänker bara på spänningsfall osv. för längre kablar och
låga spänningar. Bara av vad jag läst, har ingen erfarenhet av det dock.

Kan det inte bli så, speciellt om man väljer RJ45 som har ganska tunna ledare.. Eller tänker jag fel?

overkill, dyrt.. kanske, det är egentligen bara en annan lösning än hos andra..

krångligt och sabotagekänsligt.. nej varför skulle det vara sabotagekänsligt? Tanken är att larmcentralen skickar ut "ping" till noderna och
svarar de inte över kanske 2-3 ping så larmar sektionen som sabotage. Då blir det dock lite konstigt om man har kanske 10 noder och de kapar efter 3.. Då blir det sabotage där och man kommer inte kunna se något av sensorerna därefter, förrän
man kopplar in kabeln igen på nätverket. Men det gör väl inget? Det är väl kanske standard i alla system?

Huvudsaken är att det larmar sabotage när noderna inte svarar. Det kan ju bli ett fellarm om noderna exempelvis skulle
gå på batteriström och helt plötsligt dö. Men kör man spänning över kabeln från centralen ut till noderna så är ju det löst.
Skulle man köra batteriström i noderna så kan man ju, precis som centralenheten övervakar sitt eget batteri, larma när
batteriet börjar bli dåligt. Men spänning över kabeln till noderna är nog att föredra.

Det har jag varit med om när jag jobbade som vakt och brandlarmet gick igång en natt på grund av batteriet.
Tydligen var batteriet för gammalt och behövde bytas ut samtidigt som det var något knas i mjukvaran för brandlarmet, något känt märke kommer inte ihåg vilket dock.. Så istället för att bara ge en notis inne hos oss, så gick hela larmet av.. :)
En vanlig lugn natt blev rätt stressad :D Larmet gick direkt till larmtjänsten och brandbilarna åkte ut ;)
Detta på en ganska så väldigt stor anläggning i Stockholm som ligger lite avsides..

Den "funktionen" vill jag inte implementera i mitt system ;) haha

Sen krångligt.. nja, enda som kan bli krångligt är väl i sådant fall kodningen.. Inkopplingen av noderna måste ju göras
användarvänligt. Därav RJ45 som bara kan sättas på ett sätt, splitters som gör det enkelt att koppla in osv..
Koden kan väl bli krånglig, kanske.. Men egentligen är det väl bara att koden tar lite längre tid att skapa och att jag måste
sätta upp ett protokoll för olika larmkoder osv.

Själva noderna kan ju sedan vara antingen helt integrerade med magnetkontakt och sensorkort i en låda.
Alternativt att man har sensorkortet i en låda och magnetkontakten en vanlig standard som sedan kopplas in i sensorboxen.

Johanb skrev:Kan man få indikering på vilken sensor som triggat med dubbelbalanserade slingor?
Jo det tror jag.. hmm.. Vad jag förstått det som :)

mippen skrev:Hur man skall koppla CAN nät finns det många åsikter om.
På senare tid så har vi på jobbet börjat med "Hubbar" där man bygger stjärnnät.
Men innan dess så försökte vi att bygga en slinga med terminering i ytterändarna.
Hubbar med stjärnnät är ju inte rekommenderat för CAN, det är väl inte det för de andra typerna heller RS-xxx.
Hur har ni fått det att fungera utan komplikationer? Vad är det ni sätter i näten förresten, håller ni på med larm eller nåt annat skoj kanske?
mippen skrev:Enklast kanske är att köra två RJ45 kontakter på varje nod som parallell kopplas.
Sätt sedan en plugg i sissta enhet där du terminerar slingan.
Det är ju en av idéerna. Men känns som om varje nod blir så "stor" då, plus en extra kabel.
Om det går så är det ju bra om man kan göra noderna i storlek med ungefär en magnetkontakt, något större kanske :)
mippen skrev:Kan vara värt att koppla in en common shoke på varje nod så du får bort lite störningar också.
Common choke, nåt typ av filter? Har jag hittat rätt? http://www.tdk.co.jp/tefe02/e971_zjys.pdf
Några tips på specs på sådant?

Här bifogar jag en liten bild på hub/stjärnnät liknande samt på bus nätverket som rekommenderas i rapporter som.. jag inte kan hitta förstås.. :(
Bild

Är det som den övre bilden ert nätverk ser ut? Med antingen CAN ut till noderna eller något annat protokoll kanske? Vad är era hubbar för något? Aktiva switchar eller
splitters liknande den jag gjorde ovan med tre RJ45 kontakter?

Vart går kabeln till nästa hubb sedan? Från den första hubben eller från centralenheten?


danielr112 enkelt, billigt och bra är jag inte ute efter. Jag vill ha ordentligt och stabilt, men givetvis bra :)
Framförallt ska det vara utbyggbart på ett enkelt sätt :)

mippen skrev:Om det "bara" är ett larmsystem som du skall bygga och huset/området som du skall larma inte är jätte stort,
Så är det nog både enklast/billigast att bygga som larmcentralerna brukar byggas.
En kabel till varje sensor med ett serie och ett parallellt motstånd ute på sensorn.
Som jag skrev ovan, jag är inte ute efter något enkelt, billigt sätt att lösa det på. Jag vill ha någonting ordentligt som fungerar.
Visst, det jag bygger kommer ju gälla för en lägenhet (inga flames nu va ;)) men varför inte kunna använda det i hus/radhus eller
liknande vid senare tillfälle? Jag vill skapa ett larm som kan täcka flera olika möjligheter.
mippen skrev:Om du vill bygga på CAN för att kunna utveckla ditt "hemnät" smidigt så kanske det är bättre att bygga någon form utav nod.
En nod med tex 8 kanaler som klarar av dubbelbalanserade sensorer.. och denna nod pratar CAN med huvudcentralen.
Kan man enkelt när man vill bygga ut systemet dra vidare CAN tråden till fler noder.
Detta är exakt det jag vill åstadkomma :) Noder med flera kanaler för olika sensorer.
Digitala ingångar, ADC och sen finns det säkert annat som kan vara bra att ha :)
mippen skrev:RJ45 konatakten kändes stor att ha ute vid sensor... kanske en 6 polig plint är okej..
Ja, tänk dig då också om man har två vid varje sensor. Nej det hoppar jag ;) Noder där man kopplar in sensorer på normalt
sett blir det nog :)

AVR är det jag baserar det hela på, centralen kommer hamna på antingen en ATmega32 eller en ATmega64, endast beroende av kodstorlek.
Sensorerna kan bli någon ATtiny möjligen annars någon mindre ATmega, här beror det på hur många "kanaler" jag kan få in på varje chip och
vad de ska användas till.


En sak jag har tänkt lite på, det skulle väl gå att "lätt"-programmera / konfigurera noderna från ex. centralen.
Säg att man sätter in 4 magnetisar och kanske en ADC sensor av någon typ på en av noderna, så kanske man vill kunna "gå in" på
en nod och säga vad som sitter inkopplat.

Exempelvis skulle man ju kunna ha dubbelbalanserade magnetisar inkopplade och då kanske kunna ange vad varje magnet har för
motstånd över sig och i serie som man kopplar till en ADC ingång (spänningsdelare grejsimojs). Eller man kanske ska ha ett standardvärde?
Har läst i några olika manualer att de anger flera olika värden som ok, dvs man tar det man har och känner för.


Men en lösning som följande är nog det bästa;
Larmcentral -> CAN nätverk -> Noder med ex. 8 kanaler -> Analog signal alt. Digital 1/0 -> 8 st Sensorer
Sen så kör man fortfarande BUS nätverket med Alarmcentral -> nod1 -> nod2 -> nod3.

Då kan man ju ha en nod per rum exempelvis och varje nod har då koll på sina fönster och dörrar. Öppnas ett fönster så skickar
noden in detta till centralenheten som i sin tur tolkar meddelandet. Blir en sensor bortklippt, då skickar noden som sensorn tillhör
ett sabotage meddelande istället.

Sen om ex. en sensor utlöses så kan centralenheten ge ifrån sig ett oavbrutet piiiip, som inte är alltför starkt, i sisådär kanske
en 30-60 sekunder. Om det inte återställs på en kontrollpanel inom vald tidsrymd så drar stora larmet igång.
Om istället ytterligare en sensor utlöser under den valda tidsrymden så drar stora larmet igång direkt.

Bara lite tankar nedskrivna :)

Men vilken lösning ska jag ha på själva kablaget då?
Ska jag ha en splitter, med 3 kontakter som följande;
Bild

Eller ska jag ha paralellkopplade kontakter i varje nod som så här;
Bild

Blir nog billigast med alternativ två. Just ja, angående att sätta en plugg i sista uttaget för att terminera;
det är vad JP1 är till för på alternativ två här ovan. Det fungerar väl lika bra det?


Usch va långt inlägget blev. Hoppas ni orkar läsa igenom hela ;) haha
mippen
Inlägg: 744
Blev medlem: 15 april 2009, 15:34:31
Ort: Lindome

Re: CAN nätverk, flera frågor

Inlägg av mippen »

Ok, så centralen strömförsörjer både kontrollpaneler och detektorer?
Jag tänker bara på spänningsfall osv.
Nu är det visserligen 15 år sedan man jobbade med larminstallationer, så det finns säkert lite nyheter på centralerna :)
Men på den tiden körde vi 6 tråd till en enkel sensor, dubblerade matningen.
Skulle tro att sensorerna är byggda för att klara ett större spänningsområde och klarar rätt stora spänningsfall över tunn kabel.
Hur har ni fått det att fungera utan komplikationer? Vad är det ni sätter i näten förresten, håller ni på med larm eller nåt annat skoj kanske?
Att köra CAN i stjärnnät är vanligt hos olika tillverkare men vi försökte klara oss så länge som det gick.
Själva kör vi blandade nät.. är ett seriekopplat nät i grunden med hubbar som skapar en kort stjärna för olika sensorer och interface.
Utvecklar elektronik för tex båtar/anläggningsmaskiner etc
Common choke, nåt typ av filter?
Yes.. Liknande det som du refererar till ja.. skall kika vidare på vad vi kör för ngt.
Ett ESD sydd är även det trevligt så har man skyddat sig någerlunda.

Vårt nät ser ut som Bus nätet men där en blå ring kan innehålla en HUBB.
Skall man ha flera hubbar så skall dom sitte på Bus nätet.. man får inte sätta hub på hub.
Hubbarna i sig är passiva kopplingspunkter helt utan elektronik.

Angående RJ45 kontakten... Vem har du tänkt skall vara "slutkund" som monterar sakerna.
Är det en "kunnig" installatör, som det bör vara med tanke på placering av sensorer mm...
Så hade jag valt bort RJ45 kontaken av flera skäl...
Dels är den svår att kontaktera.. Dels så är en förkontakterad kabel svår att dra igenom väggar mm.

Bygger du ett nytt system så hade kanske ett webbinterface i centralen som man kopplar upp datorn mot varit trevligt som konfigurations sätt.
Alternativt kan man skapa en PC soft men då är det ytterligare en sak att hålla reda på.
Centralen får gärna leta upp vilka externa noder som finns samt vad dom rapporterar om vad dom har inkopplat på sina ingångar.

Skulle nog utgått från att speca vilket motstånd som krävs...
Lättare att få en bra ADC lösning då..
Hmm.. nu sviker minnet... var det 47k i serie och 4k7 parallellt över sensorn.. hmm.
Var olika beroende på larmtillverkare också..
danielr112
Inlägg: 8092
Blev medlem: 18 januari 2009, 00:48:24
Ort: Alvesta, Småland

Re: CAN nätverk, flera frågor

Inlägg av danielr112 »

1wire är ju både lätt stabilt och bra. Du kan köra både stjärnnät eller på slinga. Försvinner en enhet så vet du om att någon klippt kablen o.s.v

Men smaken e som baken :D
Nerre
Inlägg: 27215
Blev medlem: 19 maj 2008, 07:51:04
Ort: Upplands väsby

Re: CAN nätverk, flera frågor

Inlägg av Nerre »

Detektorer drar ju inga abnorma mängder ström, så spänningsfallet blir inte särskilt stor. Kan man köra PoE över CAT5 så borde man väl kunna köra 12 V till en detektor?

CAT5 är såvitt jag förstått specad till under 10 ohm på 100 meter, det blir under 0,1 ohm per meter.

20 meter kabel ger alltså 2 ohm. 1 A ger ett spänningsfall på 2 V. Men detektorer drar väl inte mer än 100 mA? (Googlade lite snabbt och hittade nån som var specad 20 mA vid 24 V.)
Skriv svar