kommunikation+spänningsmatning...

Elektronikrelaterade (på komponentnivå) frågor och funderingar.
sebastiannielsen
Inlägg: 3663
Blev medlem: 11 september 2004, 09:30:42
Ort: gbg
Kontakt:

kommunikation+spänningsmatning...

Inlägg av sebastiannielsen »

Om ni tittar på denna bild:
Bild

Så förstår ni hur jag menar...

Någon flödeskontroll kommer inte att behövas, då SLAVE ska vara en manöverpanel, och SLAVE kommer alltid att inleda kommunikation.
(kommunikationen är ju i halv duplex. Men det gör inget)

Jag hade tänkt att spänningsmata på samma linje som datan skickas över, altså hade jag tänkt mig att ettor skickas som 12v och nollor skickas som 7v.

HOST kommer ju då att variera spänningen för att skicka data till SLAVE.
(hur ska jag variera spänningen baserat på signaler från PIC:en? (kretsen i ? på HOST)

Och hur detekterar jag om spänningen är 7 eller 12 volt? (kretsen i ? på SLAVE)


Men sedan måste jag ju kunna skicka data från SLAVE till HOST. Hur ska man kunna göra det?
Användarvisningsbild
vfr
EF Sponsor
Inlägg: 3515
Blev medlem: 31 mars 2005, 17:55:45
Ort: Kungsbacka

Re: kommunikation+spänningsmatning...

Inlägg av vfr »

HOST kommer ju då att variera spänningen för att skicka data till SLAVE.
(hur ska jag variera spänningen baserat på signaler från PIC:en? (kretsen i ? på HOST)


En strömgenerator ger 12V och "lagom" med ström (lagom = lite mer än förbrukningen på din slav). Viloläge blir då 1:a (12V) på linjen. Vid sändning av 0:a så kortsluter man med en transistor till nolla via en zenerdiod på ca 7V. Då har man 7V på linjen. Denna sändning funkar från båda ändar.

Och hur detekterar jag om spänningen är 7 eller 12 volt? (kretsen i ? på SLAVE)

Transistorswitch med spänningsdelare/zenerdiod eller en komparator/op-amp.

Men sedan måste jag ju kunna skicka data från SLAVE till HOST. Hur ska man kunna göra det?

Se första svaret.
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

> Jag hade tänkt att spänningsmata på samma linje som datan skickas över,

Varför ?

> och SLAVE kommer alltid att inleda kommunikation.

Inte *min* definition på en "slave"... :-)
maxxflow
Inlägg: 1150
Blev medlem: 17 mars 2004, 16:11:14

Inlägg av maxxflow »

> Varför?
Antagligen för att kunna använda billig/smidig 2-ledare

> Inte *min* definition på en "slave"... :)
Han menar väl att "HOST" är huvudenheten, och "SLAVE" är en panel som kopplas till den. Men på signalnivå kan man tycka att det borde heta tvärtom..
sebastiannielsen
Inlägg: 3663
Blev medlem: 11 september 2004, 09:30:42
Ort: gbg
Kontakt:

Inlägg av sebastiannielsen »

Bild
är det så här du menar med sändningen?

(jag har inte möjlighet att simulera kopplingen -> Zenerdioder finns ju inte i Falstad circuit simulator!)

Och nu förstår jag inte vad du menar med spänningsdelare och transistorswitch, när man ska mottaga.
Skulle du kunna göra en ritning...
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

> använda billig/smidig 2-ledare

Billigare och smidigare än *vad* ?
Än alla extra elektronik i varje nod ?

Det normala är att man har *en* host och > en slave.
Att då låta slave'arna initiera kommunikationen kan medföra
en del "intressanta" kollisions problem... :-)

Skit samma, var bara nyfiken vad det var som låg bakom
valet av teknik.
Användarvisningsbild
MadModder
Co Admin
Inlägg: 31535
Blev medlem: 6 september 2003, 13:32:07
Ort: MadLand (Enköping)
Kontakt:

Inlägg av MadModder »

Det där är ingen vidare koppling, ifall du har en NPN-transistor. Du har isf gjort en emitterföljare, och spänningen på emittern kommer aldrig vara högre än basspänningen-0,7V. Det kommer således vara 4,3V ovanför zenern. Den gör ju då ingen större nytta...

1k till basen på transistorn.
Emittern ska kopplas direkt till jord.
Kollektorn kopplas till zener, och vidare till matningen.
I serie med 12V-ledningen, innan zenern, sätter du ett motstånd, som har ett värde så att spänningen inte sjunker för mycket pga vad panelen drar, och så pass att det tål att ha 3V över sig.

Annars kan du väl överlagra signalen på matningen istället. Skicka in en bärvåg på 30kHz via en konding och modulera den med datan. Sen på andra sidan plockar du ut datan via en till konding.

För att datan inte ska leta sig in i matningen, eller in i panelens drivning, sätter du en spole utanför datastråket på båda sidor.

Ytterligare en idé är att ha en stor elektrolyt i panelen, och när du skickar data stänger du helt enkelt av matningen olika länge beroende på om det är 1 eller 0.
Du får ju då köra matningen via en schottky-diod till kondingen, och plocka ut datan innan dioden, och matningen efter kondingen. :)
sebastiannielsen
Inlägg: 3663
Blev medlem: 11 september 2004, 09:30:42
Ort: gbg
Kontakt:

Inlägg av sebastiannielsen »

har uppdaterat ritningen nu...

Madmodder:
Överlagring låter lite krångligare än 7-12v-metoden.

Och problemet med stor elektrolyt samt att stänga av matningen, är om man skickar en hög med nollor till panelen så kommer panelen att slockna...

det ska bara vara en HOST och en SLAVE.
Men om HOST börjar sända tex status till manöverpanelen, och någon
kommer och trycker på en knapp, så manöverpanelen börjar sända, så blir
det datakollision.
Och låter jag HOST polla panelen, så blir det väldigt mycket pollningar för att inte få för stora fördröjningar efter att en person har tryckt på en knapp.

Därför tänkte jag att istället låta manöverpanelen skicka data till HOST när någon trycker på en knapp, och HOST svarar sedan med status på ev dioder osv.
Och sedan så låter man manöverpanelen polla varannan minut, ifall något händer så status måste uppdateras...

Tycker det är smidigare att dra en 2-ledare. Varför dra en massa kabel i onödan?
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

*En* 3 eller 4-ledare är väl inte *fler* kablar än *en* 2-ledare !?
Och hela lösningen blir offantligt mycket enklare.
Hur många Km ska det dras ?
sebastiannielsen
Inlägg: 3663
Blev medlem: 11 september 2004, 09:30:42
Ort: gbg
Kontakt:

Inlägg av sebastiannielsen »

En högtalarkabel, 2-delad är mycket enklare att "stuva" in bakom lister, dörrkarmar och sådant, än en tjock 4-ledare, som är ca dubbelt så tjock.
Användarvisningsbild
MadModder
Co Admin
Inlägg: 31535
Blev medlem: 6 september 2003, 13:32:07
Ort: MadLand (Enköping)
Kontakt:

Inlägg av MadModder »

Ja det var precis så jag menade med transistorn. Dock kommer din koppling inte göra något alls ändå. Motståndet ska sitta på 12V-ledningen, till vänster om där sladden kommer upp från zenern. Och 10k är för stort.
Du måste veta hur mycket ström din panel kommer att dra, innan du kan veta hur stort motstånd det ska vara.

Och sen med den stora elektrolyten menade jag inte att det ska vara noll hela tiden om man skickar bara nollor.
Som morse-kod ungefär. Mellanrum mellan alla bitar, där det är +12V.

Kod: Markera allt

  0    1    0   0    1    0   (ingen data=+12V)
_   _     _   _   _     _   ____________________
 | | |   | | | | | |   | | |
 | | |   | | | | | |   | | |
  ¯   ¯¯¯   ¯   ¯   ¯¯¯   ¯ 
Men, och ett stort men då, är att detta gör ju att bara ena sidan kan skicka data.

Både host och slave ska ju kunna sänka spänningen.
Då funkar zener-metoden bra iaf.

Säg att panelen drar 50mA.
Låt säga att du kan tänka dig ett spänningsfall på 1V över motståndet. Det blir då 11V vid hög signal.
Det ger ett motstånd på 20Ω (1V/50mA)

[edit]
Här är ett schema. Vänstra rutan är huvudenheten och högra är knappanelen.

Bild

Sen hur du plockar ut datan är en annan historia.
Hur ska du t.ex kunna utröna om det är en etta, eller bara 12V (11) när det inte sänds något alls? Hur ska du kunna skilja på flera ettor eller flera nollor efter varandra om de bara går ihop så det ser ut som en enda lång bit?
Kanske lite svårt att synkronisera utan bärvåg.
Alternativet är ju att bygga det på "morse" även här...
sebastiannielsen
Inlägg: 3663
Blev medlem: 11 september 2004, 09:30:42
Ort: gbg
Kontakt:

Inlägg av sebastiannielsen »

Kommer skicka asynkron seriell data.

Men frågan är hur jag detekterar om spänningen på linjen är högre än 10v eller lägre än 10v?

Det där motståndet på 20ohm kan man byta ut mot en pot, och justera vid installationstillfället. För jag antar att ledningslängden spelar in också.
Användarvisningsbild
MadModder
Co Admin
Inlägg: 31535
Blev medlem: 6 september 2003, 13:32:07
Ort: MadLand (Enköping)
Kontakt:

Inlägg av MadModder »

nja... inte flera volt.
Dock undrar jag om en vanlig pot klarar effekten. De brukar klar runt 0,2W. Det blir 0,45 när någon transistor drar.

Det är lite bökigt med sån här entrådskommunikation.

Du kan använda en opamp kopplad som komparator. Du måste då ha en spänningsreferens som inte ändras med drivspänningen.
Du lär väl ha en 7805 (helst en low drop) i panelen antar jag. Driv opampen med det. Sen en spänningsdelare mellan samma 5V och jord (100k pot) så du kan ställa referensen.
Sen har du en spänningsdelare till, så att 7V hamnar på ca 2V. 68k+33k kanske. Då får du 2,28V vid 7V, och 3,59V vid 11V. Ställ referensen mitt mellan, på 2,93V. Du kan ju ta en 100k pot där med om du vill istället.
Då får du noll volt vid 7V, och 5V vid 11V. :)
Och så samma sak i HOSTen såklart.
sebastiannielsen
Inlägg: 3663
Blev medlem: 11 september 2004, 09:30:42
Ort: gbg
Kontakt:

Inlägg av sebastiannielsen »

så här?
Bild
Användarvisningsbild
MadModder
Co Admin
Inlägg: 31535
Blev medlem: 6 september 2003, 13:32:07
Ort: MadLand (Enköping)
Kontakt:

Inlägg av MadModder »

Exakt så. Det borde funka.
Skriv svar