Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

Master - Slave Communicatie systeem

Pagina: 1
Acties:

  • soepah
  • Registratie: December 2006
  • Laatst online: 20:49
Ik heb lang lopen zoeken, maar kan het absoluut niet vinden.
Waar ben ik naar op zoek?

Ik ben op zoek naar een communicatie systeem(pje), dat voldoet aan onderstaande eisen

Het is de bedoeling dat er 1 master is (Misschien later meer).
Deze kan berichten versturen naar clients (In principe oneindig aantal, maar ga eerst eens uit van ca 8 / 10 clients)
Deze berichten hoeven niet perse via een bestaand protocol, maar het mag wel (geen eis dus)
De slaves kunnen wel berichten terugsturen (Op polling van master, of sturen waarop master interrupt krijgt).
Deze berichten hoeven niet groot te zijn (ca 8 / 10 bytes).

Ik heb zelf lopen denken om bijvoorbeeld communicatie via een netwerk te doen bijvoorbeeld via CAN,
Nadelen hiervan zijn dat can controller vrij prijzig zijn (CA 100 euro voor PCI kaartje met 1 controller or USB->CAN)

Daarnaast zit ik in over de slave,
Deze moet zo energie zuinig zijn, ALTIJD aan staan en wat kunnen doen met de berichten (Aansturen van relais/Led's/servo's)
Dus hier moet ook wat op draaien. Verder moet de slave klein zijn.

Hiervoor heb ik bijvoorbeeld wel een PIC-MINI-WEB gevonden,
maar ik weet niet wat deze allemaal verder kan. (er staat namelijk alleen dat hij als webserver gebruikt kan worden)
Er zitten niet veel in/output poorten op.

Wat zouden jullie adviseren?

wie van vissen houdt, houdt niet van vissen


  • Bryan Tong Minh
  • Registratie: Juli 2008
  • Laatst online: 18-07 12:49
Ik zou voor slaves een willekeurige I2C microcontroller nemen.

Ik neem aan dat je master een computer is? Dan zou ik zelf een microcontroller gebruiken met USB support en daarmee een USB<>I2C bridge maken. Het probleem is dat het schrijven van USB code alles behalve triviaal is...

  • soepah
  • Registratie: December 2006
  • Laatst online: 20:49
De master kan inderdaad een standaard (relatief krachtige) pc zijn.
Het schrijven van usb code voor de pc is niet zo'n probleem met C# (en Dot Net)
(Usb als Com poort benaderen)
Echter het probleem zijn de slaves..

wie van vissen houdt, houdt niet van vissen


  • Jaap-Jan
  • Registratie: Februari 2001
  • Laatst online: 20-11 18:44
Je probleemomschrijving is niet helemaal compleet.

Wat zijn je doelsystemen? PC's, microcontrollers, een mengeling?

Ik zou zelf kiezen voor communicatie op basis van RS485 of RS422. Nadeel is wel dat er maar één master mag zijn, meerdere masters levert moeilijkheden op in de communicatie, aangezien meerdere devices mogelijk tegelijk data kunnen versturen. Voor PC's kun je een RS232 naar RS485 converter fabrieken en ook voor microcontrollers zijn er genoeg chips (Maxim heeft ze plenty) om RS485 communicatie te verzorgen.

Tot slot zou je ook wel CAN kunnen gebruiken. CAN is gebaseerd op RS485 waaraan al een datalinkprotocol is toegevoegd en als je doel een microcontroller is: er zijn AVR's met ingebouwde ondersteuning voor CAN. Met RS485 iets bouwen houdt in dat je zelf een datalinkprotocol moet kiezen/ ontwerpen. Er zijn al bestaande protocollen daarvoor (uLan bijvoorbeeld).

| Last.fm | "Mr Bent liked counting. You could trust numbers, except perhaps for pi, but he was working on that in his spare time and it was bound to give in sooner or later." -Terry Pratchett


  • soepah
  • Registratie: December 2006
  • Laatst online: 20:49
mijn doelsystemen zijn inderdaaad PC als master, en microcontrollers (of iets anders mag ook, maar lijkt me de beste oplossing) als Slave's.

wie van vissen houdt, houdt niet van vissen


  • naftebakje
  • Registratie: Februari 2002
  • Laatst online: 20-11 15:08
Voor het te gebruiken protocol is ook de buslengte van belang, binnen een paar meter kan je gemakkelijk I2C gebruiken, wat langere afstanden kan je RS232 gebruiken, wil je echter storingsvrij over lange afstanden gaan verzenden heb je echt een differentiëel protocol als RS485 nodig.
Dus graag nog wat meer info over de afstanden, wil je ook power meesturen of krijgt elke slave zijn eigen voeding (kan soms problemen geven), is multi-master écht nodig (moeten beide "gelijktijdig" kunnen versturen of kan je het in software omzeilen, bijvoorbeeld elke seconde de actieve master laten pollen bij de "master die slave speelt" of er moet omgeschakeld worden)?

[ Voor 3% gewijzigd door naftebakje op 05-12-2008 17:46 ]

Als de boer zijn koeien kust, zijn ze jarig wees gerust. Varkens op een landingsbaan, leiden nooit een lang bestaan. Als de boer zich met stront wast, zijn zijn hersens aangetast. Als het hooi is in de schuur, zit het wijf bij den gebuur.


  • kluyze
  • Registratie: Augustus 2004
  • Niet online
Waarom starten de Ts'en altijd met zo een cryptisch verhaal. Als je gewoon zegt wat je wil doen dan is het voor ons ook veel gemakkelijker. Dus gewoon, wat is de bedoeling van het project? Of is het misschien een bedrijfsgeheim? Ook wat je zelf al kent is een handig weetje voor ons.

In principe kan je elke bus/protocol gebruikt worden, je kan er namelijk zelf een hoger level protocol op implementeren. Zo kun je zelfs ethernet gebruiken en draadloos gaan. Alleen is dan de vraag, hoe real time moet dit zijn? En wat voor overhead is er dan toegelaten.
Daarnaast kan je ook 2 draden uitzoeken die de gewenste bandbreedte hebben en daar zelf je drivers voor maken. Dus dan bepaal je zelf het protocol en dus ook de overhead en de snelheid.

Nu, het eerste wat ik dacht is, usb zelf is toch ook master-slave, maar dan moeten er dus ook meer specs gegeven zijn, want usb heeft denk ik een enorme overhead. Maar dan is natuurlijk ook de gewenste snelheid belangrijk.

[ Voor 4% gewijzigd door kluyze op 05-12-2008 22:36 ]


  • soepah
  • Registratie: December 2006
  • Laatst online: 20:49
De bedoeling is om via een server (PC) modules aan te sturen (bv module Woonkamer) die dan de aangesloten apparaten kan bedienen (Lamp1, lamp2, Rolluik)
en waarbij de Status uitgelezen kan worden (Eventueel opslaan in module, beter nog uitlezen schakelaarstand)
Dus de slave's moeten ook I/O opties hebben.
Zelf zat ik momenteel te denken aan eventueel een microcontroller oid aan het Ethernet of via 433MHz.
(Ethernut / Klik aan Klik Uit systeem)
Maar aan beiden kleven voor en nadelen :

Ethernet: Voordeel, betrouwbaar, kabel (is ook het nadeel: Kabels)
433MHZ: Voordeel, Draadloos, klein, relatief simpel te implementeren, Nadeel: Storingsgevoeligheid.

wie van vissen houdt, houdt niet van vissen


  • !null
  • Registratie: Maart 2008
  • Laatst online: 22:12
Ik weet niet wat je met 433MHZ bedoelt..

Voor I2C heb je iig USB->I2C modules vanaf 20 euro oid, dus makkelijk te implementeren, hoef je het niet eens zelf te maken.

Ampera-e (60kWh) -> (66kWh)


  • SA007
  • Registratie: Oktober 2002
  • Laatst online: 21:12

SA007

Moderator Tweaking
Andere optie om naar te kijken is ZigBee op 2.4Ghz, werkt best goed en zit beveiliging op.

  • kluyze
  • Registratie: Augustus 2004
  • Niet online
Zigbee is misschien fijn, maar is (/was de laatste keer ik erop gezocht heb) tamelijk prijzig. Wat ik toen gekeken heb, was je al snel €1000 kwijt voor een basisstation en enkele temperatuur/vochtigheid sensoren.

Ethernet is fijn, maar dan kan je niet zomaar elke µC gebruiken of je zou zelf een IP-stack moeten softwarematig implementeren/gebruiken of via een extra ethernet-ic. En dan moet je natuurlijk kabels lopen trekken.
Grootste voordeel is denk ik de uitbreidbaarheid en de veelzijdigheid.

Draadloos heeft het voordeel dat je geen kabels moet lopen trekken of misschien buizen voorzien. Maar is natuurlijk net zat minder stabiel als bedraad.

Dingen als 1-wire / I2C / RS232 / RSxxx / ... hebben het zelfde nadeel als ethernet, de kabel dus en zijn misschien moeilijker te maken als ethernet en minder veelzijdig/uitbreidbaar. En de afstand kan ook een probleem zijn met sommige bussen zoals RS232 die eigenlijk niet bedoelt zijn voor grote afstanden. Ook iets als I2C is eigenlijk voor op 1 pcb tussen verschillende IC's (Inter IC Connect) dus voor afstanden van verschillende meters misschien minder geschikt.

Het is natuurlijk een keuze die je zal moeten afwegen en wat je zelf persoonlijk liever hebt.

[ Voor 5% gewijzigd door kluyze op 08-12-2008 17:12 ]


  • Sprite_tm
  • Registratie: September 2002
  • Laatst online: 29-10 06:07

Sprite_tm

Semi-Chinees

Je zou es kijken of je iets met 2.4GHz-moduletjes zoals de cc2500 kan doen. Modules daarvoor zijn voor E8 ofzo te krijgen en ze zijn bidirectioneel en hebben uit zichzelf al een hoop aan packetizing en retransmitting en collision detecting etc in huis. Ik weet iig dat ik ze waarschijnlijk ook als basis van een domotica-systeempje ga gebruiken.

Relaxen und watchen das blinkenlichten. | Laatste project: Ikea Frekvens oog


  • Mr_gadget
  • Registratie: Juni 2004
  • Laatst online: 21:54

Mr_gadget

C8H10N4O2 powered

zigbee hoeft niet duur te zijn.
Voor de arduino zijn er o.a. best wel goedkope modules te krijgen. Voor cc2500 ook:
http://www.samenkopen.net/action_products/309466
Pagina: 1