tvåtrådsbuss, som tål hyggliga avstånd
tvåtrådsbuss, som tål hyggliga avstånd
Tänkte slänga upp lite PIC10F206 baserade noder här och var som kommunicerar via tvåtrådsbuss med en master, som styr villken som får yttra sig. grejen är just bussen. Tanken är att det ska ligga likspänning på
den nästan konstant för att strömförsörja alla små 10F206 noder.
Jag önskar lite tips på hur busskommunikationen ska ske för att ge en hyggligt
störsäker kommunikation, men som kräver så lite elektronik som möjligt i noderna.. för just där noderna ska sitta kan det råda lite platsbrist.
Visst riktigt balanserad är ju bra men det kräver en del elektronik, eller?
En tanke jag hade vara att låta en nod dra en viss ström för att skicka en etta etc.. Såklart en bra bit över vad alla noders strömförsörjning tar.
eller att polvända polaritet ... osv.. de fleta ideer är intressanta.
(avstånd typ 50m med ett kanske 8 noder.)
Är detta meddelande lite rörigt/ospecifierat får ni klaga, lite trött just nu..
Tips mottages tacksamt.
den nästan konstant för att strömförsörja alla små 10F206 noder.
Jag önskar lite tips på hur busskommunikationen ska ske för att ge en hyggligt
störsäker kommunikation, men som kräver så lite elektronik som möjligt i noderna.. för just där noderna ska sitta kan det råda lite platsbrist.
Visst riktigt balanserad är ju bra men det kräver en del elektronik, eller?
En tanke jag hade vara att låta en nod dra en viss ström för att skicka en etta etc.. Såklart en bra bit över vad alla noders strömförsörjning tar.
eller att polvända polaritet ... osv.. de fleta ideer är intressanta.
(avstånd typ 50m med ett kanske 8 noder.)
Är detta meddelande lite rörigt/ospecifierat får ni klaga, lite trött just nu..
Tips mottages tacksamt.
du har i princip beskrivit hur 1wire-protokollet fungerar. Man har en konstant positiv spänning, en enhet skickar en etta genom att sänka spänningen, alla enheter lagrar ström i varsin liten kondensator emellan varven.
läs specifikationen på http://www.1wire.org/
Fungerar på 100-300m beroende på kablar, noder osv.
läs specifikationen på http://www.1wire.org/
Fungerar på 100-300m beroende på kablar, noder osv.
Jepp jepp.. Har nog blivit något influerad av det eftersom jag sitter
och pillar med 1-wire just nu.. och tänkt plagiera mycket av det.
Men att plagiera 1-wire bussen helt är inte intressant då mina noder kommer att dra något mer ström.. Så jag försöker komma fram till alternativa sätt
att signalera än att jorda ner bussen.
och pillar med 1-wire just nu.. och tänkt plagiera mycket av det.
Men att plagiera 1-wire bussen helt är inte intressant då mina noder kommer att dra något mer ström.. Så jag försöker komma fram till alternativa sätt
att signalera än att jorda ner bussen.
I en del sammanhang är det väldigt bra med tvåtråd. Man kan t.ex bygga en liten kontrollpanel för ett värmesystem i huset och sätta den på väggen. Sedan drar man två-ledare dockskåpsledning under tapeten vid listen. Voila, en "osynlig" installation.
Använd samma princip som 1-wire fast med UART-kommunikation. Sätt en strömgenerator någonstans på tvåtrådsbussen som leverar tillräckligt med ström för alla dina noder. Spänningen ut kan t.ex vara 12 eller 24V. I industrisammanhang används ofta 24V men det funkar med 12V också.
Sedan sänder varje nod en nolla genom att kortsluta bussen precis som 1-wirenoderna gör. Öppen buss med spänning ger en etta, d.v.s idle. Den sändande transistorn måste klara av att kortsluta den ström som strömgeneratorn ger.
Mottagarna består av en enkel komparator som kontrollerar om spänningen på bussen är hög eller låg. Välj en lämplig tröskelnivå, t.ex halva matningen. Detta går att lösa med ett par diskreta transistorer och några motstånd.
En sån här buss är väldigt robust och tolerant mot störningar. Dessutom går det till viss del att bygga ett grenat nät också. Det är inte lika känsligt på detta som t.ex 485. Nackdelen mot just 485 är hastigheten. Prestandan blir någonstans i storleksordningen 500m buss vid 9600baud. Busslängd går att byta mot hastighet och vice versa.
Blir det för mycket ström för en enda strömgenerator så kan man ha flera segment på bussen och sätta repeatrar emellan.
Min Nexasändare (omnämd i projekttråden ang. Nexa) är byggd med en sån här buss och matas från bussen. Funkar väldigt bra!
/Håkan
Använd samma princip som 1-wire fast med UART-kommunikation. Sätt en strömgenerator någonstans på tvåtrådsbussen som leverar tillräckligt med ström för alla dina noder. Spänningen ut kan t.ex vara 12 eller 24V. I industrisammanhang används ofta 24V men det funkar med 12V också.
Sedan sänder varje nod en nolla genom att kortsluta bussen precis som 1-wirenoderna gör. Öppen buss med spänning ger en etta, d.v.s idle. Den sändande transistorn måste klara av att kortsluta den ström som strömgeneratorn ger.
Mottagarna består av en enkel komparator som kontrollerar om spänningen på bussen är hög eller låg. Välj en lämplig tröskelnivå, t.ex halva matningen. Detta går att lösa med ett par diskreta transistorer och några motstånd.
En sån här buss är väldigt robust och tolerant mot störningar. Dessutom går det till viss del att bygga ett grenat nät också. Det är inte lika känsligt på detta som t.ex 485. Nackdelen mot just 485 är hastigheten. Prestandan blir någonstans i storleksordningen 500m buss vid 9600baud. Busslängd går att byta mot hastighet och vice versa.
Blir det för mycket ström för en enda strömgenerator så kan man ha flera segment på bussen och sätta repeatrar emellan.
Min Nexasändare (omnämd i projekttråden ang. Nexa) är byggd med en sån här buss och matas från bussen. Funkar väldigt bra!
/Håkan