iSendIR / Samköpsprojekt #1

Berätta om dina pågående projekt.
Användarvisningsbild
jesper
Inlägg: 722
Blev medlem: 12 juni 2006, 16:04:08
Ort: Laem Mae Phim, Thailand

iSendIR / Samköpsprojekt #1

Inlägg av jesper »

Uppdaterat till Rev. C

hanzibal startade en tråd för någon vecka sen eller så, http://elektronikforumet.com/forum/view ... =3&t=45114
Tråden omhandlade fjärrstyrning av TV, Video, ljus m.m.
Jag började skissa lite på ett kort för detta och räknade med att komponentkostnade skulle bli ca 200-300:- plus ev. moms o tull.

Jag har nu designat ett kort, och självklart blev det lite mer kostnad än tänkt. Men det blev även en hel del mer funktionalitet.

Däremot plockade jag av den planerade debuggerfunktion och la den på ett separat kort, då det egentligen är en helt fristående JTAG debugger som kan användas med OpenOCD på vilken processor som helst (som stöjder JTAG, så klart).
iSendIR kortet går att programmera utan debuggeren, då det finns en seriell bootloader förladdad i processorn. Man kan inkludera denna bootloader i huvudkoden, men gör man något fel, kan kortet bli okontaktbart. Med JTAG debuggeren kan man alltid komma åt kortet.
Se separat inlägg om debugger kortet, USB-JTAG.

iSendIR skrytlista
  • * Snabb 50MHz 32-bit ARM Coretex-M3 processor, 512k Flash, 64k SRAM
    * 10/100Mbps RJ-45 anslutning med Power over Ethernet support (ej standard)
    * Micro-SD kortplats
    * lwIP TCP/IP stack
    * Inbyggd webserver
    * 3 separate IR kanaler
    * 1 300V, 10A reläutgång
    * 4 I/O pinnar + en utgång med 400mA switchkapacitet
    * RS-232 kanal med RTS/CTS handskakning
    * Open Source kod
    * JTAG kontakt
    * Flexibel spänningsmatning, tre ingånger, 5-48V

Vad är det här då för pryl?

Man kaller det väl en IR-gateway. Den konverterar kommandon från Ethernet till IR. Men den kan mycket mer än så.
Kortet har jag kallat iSendIR. Namnet är en spinoff på den applikation på iPhone/iPod som man användar för att styra kortet.
iPod appen heter iRule, http://www.iruleathome.com
Med en iPhone, en iPod Touch, en Android telefon (eller vilken annan nätverksansluten enhet som helst), kan man med iSendIR skicka IR
kommandon till sin TV, stereo eller annan IR kontrollerat enhet, kontrollera relät eller I/O pinnarna på iSendIR eller skicka data på
serieporten.
På I/O pinnarna kan man t.ex. koppla på en 433MHz sändare för att kontrollera NEXA, IKEA eller andra liknande enheter.

iPoden blir därmed en multifjärr på steroider. Man får en fjärr med ett helt konfigurerbart gränssnitt och mycket bra överblick.
Man kan kontrollera både IR enheter som TV och video men även lampor och andra elektriska prylar.
Och man kan göra det från vart som helst i huset, bara man befinner sig inom WiFi räckvidd. Man kan även ha flera iPod'ar liggande lite här o var och använda vilken som helst av dem.
Närsomhelst.
Smidigt som bara den.


Webserver

Det finns även en webb-server inbyggd. Den används för att konfigurera vissa parametrar för iSendIR funktioner.

Men man kan ju även använda kortet som en ren webb-server, som presenterar data från SD-kortet, eller status på I/O.
Eller man kan logga data till SD-kortet.
Eller bara använda det som utvecklingsplatform fär att lära sig om ARM processorer.


Lite detaljer om kortets I/O

Ethernet:
Standard 10/100Mbps RJ-45 med inbyggda induktanser och enkeltriktare för PoE (Power over Ethernet).
PoE är inte "äkta" PoE enligt IEEE standard, men tillåter att man matar med 5-48V via kabeln.

Spänningmatning:
Vanlig DC-plug med 2.1 mm mittpinne.

IR:
3 IR utgånger som direkt kan driva en IR-diod (med lämplig förmotstånd för 3.3V).
3 ingånger som kan användas för IR mottagare (drivspänning 3.3V), eller som vanlig I/O.
Dessa 3 in/ut-gånger är tillgängliga via 3.5mm stereojacks.

Seriel:
1 seriel RS-232 port med RTS/CTS handskakning. Hastighet från 300-115200 (kanske mer), med
alla vanliga varianter på bitar per tecken, paritet, stopbitar.
Tillgänglig via DB9 hane.

Relä:
1 reläutgång, enkelpolig slutarfunktion. Maxbelastning ca 7A (300V).
Tillgänglig via 2 polig Phoenix MSTB stiflist.

Extra I/O:
4 I/O pinnar direkt från CPU'n, samt 1 utgång med en FET till 3.3V.

LEDs
Det finns 8 ljusdioder på kortet.
Varje IR kanal, relä och I/O har en röd ljusdiod för att markera aktivitet.
En grön ljusdiod för power, samt en gul och en grön för nätverksstatus och aktivitet.


Spänningsmatning.

Kortet kan matas på 3 sätt:
1. Via DC-pluggen, med 5-48V.
2. Via JTAG anslutningen, pin 2 (observera att detta inte är en officiell standard).
3. Via PoE på Ethernet kontakten. 5-48V matning endast, inte IEEE standard med handskakning.

Strömförbrukning beräknas vara ca. 200mA @ 3.3V



Schema
Länk till schemat i PDF format.


Inbyggnad

Bild
Datablad
Kortet är designat för att passa i en 1/2 Hammond extruderat aluprofil med plaständor.
Lådan är 160*78*27mm, men den behöver kapas på mitten till 78*78*27 och med två extra frontpaneler får vi två inbyggnadslådor per profil.
Hoppas någon här på forumet kan hjälpa med kapningen.


Kretskortslayout
Bild
Länk till layout i PDF format.

Kortet är två-lagers. Kostnad för ta fram dessa är ca. 4 Euro per kort + 20 Euro shipping vid 25 stk.
Då är det eltestat, med svart lödmask, kemisk guld och vit komponenttryck på båda sidorna. Skitsnyggt.


Kod

Koden skrivs i C, och är baserat på standard bibliotek från Luminary. TCP/IP stacken är Anders Dunkels lwIP.
Koden till kortet är Open Source och kommer att placeras i ett subversion repository på Google Code.
Även hårdvarainformation och filer kommer att läggas där.

Utvecklingsmiljö är helt baserat på OpenSource verktyger. Eclipse IDE, GCC kompilator, Doxygen för kod-dokumentation
och OpenOCD för debugging.
Jag kommer ta fram en komplett utvecklingsmiljö som en VirtualBox VM med Ubuntu 9.04 som OS.
Denna miljö kan man då köra direkt på OSX, Linux eller Windows.


Komponenter

Nästan allt köpas via Digikey. Undantaget är RJ-45 kontakten, mikro-SD kontakten samt en liten induktans.
RJ-45 och micro-SD har jag på lager och säljer för 80kr för båda. Induktansen bjuder jag på.

Totalpris för de resterande delar på Digikey är ca $50.

BOM'en är här (PDF)

Notera att priserna från Digikey är EXKLUSIVE tull och moms. Dock är tullsatsen på de flesta (om inte alla) komponenter 0%. Så det tilkommer altså 25% moms.

Total priset för kort och samtliga komponenter blir då ca. 590 kr.
Hammond boxen tilkommer, den kostar ca 130 kr, men när den delas i två och man lägger till extra ändpaneler blir priset nog ca 90 kr/stk.



Samköp / beställning

Samme upplägg som för USB-JTAG projektet gäller.

Är du intresserad av att delta i ett samköp, skriv då ett inlägg här i tråden.

Ni får en vecka på er att bestämma om ni vill delta i samköpet.
Tisdag d. 28 Sept skickar jag PM till de som anmält intresse med exakt belopp som ska betalas. Blir det tillräckligt många, blir det lite
billigare än som beräknat ovan.

Du betalar då till mig via banken och när alla betalat, beställer jag hos Digikey och beställer kretskort (tar 12-14 arbetsdar + shipping).
När alla delar anlänt, delar jag upp i "kit" förpackningar och skickar ut dessa.
Tilkommer några tior i porto. Om du deltar i båda USB-JTAG och iSendIR projektet, sparar du lite porto.


Phew....

Kommentera gärna.

-----

Inga fler beställningar tas emot nu.
Beställningar hittils (10-09-28 14:28) :


mcdanne82 (2 stk inkl. lådor)
stenD (inkl. låda)
hanzibal
Xynter
Johanb (3 stk endast PCB)
Stockman (inkl. låda)
nifelheim (2 stk)
JimmyAndersson (2 stk inkl. lådor)
makan1975 (inkl. låda)


Statusuppdatering (10-09-29 18:00):
  • * Fick snabba bekräftelser på mitt PM från nästan alla, bra jobbat.
    * Kretskort beställda, 14 arbetsdagar för att göra dem + shipping ? dagar.
    * Digikey order beställd, bekräftad, packat och skickat från USA.
    * iSendIR lådor beställda och skickade från Farnell, ändpaneler är det 12 dagars vänttid på.
    * Har börjat lägga upp dokumentation och data på iSendIR sidan på code.google.com.
    * Utvecklingsmiljön nästan klar, lite småjusteringer kvar innan den är redo för nedladdning. Förbereda gärna genom att ladda hem och installera VirtualBox.
Statusuppdatering (10-10-01 17:20):
  • * Lådor inkommit från Farnell, behöver någon med en bandsåg eller så, som kan kapa dessa på mitten. PM'a mig.
    * Komponenter anlände från Digikey. Inser nu vad jag gett mig in på. :shock: Fan, det kommer ta ett tag att sortera ut allt detta i portionspåser.
    * Städer upp lite i koden. Den var ju ursprungligen för EK-LM3S6965 kortet, och det finns rester kvar. Kommer nog lägga upp den ändå, så kan ni börja titta på den.
    * Utvecklingsmiljö klar, la till GCC för AVR också, samt ett litet test projekt på den lokala Subversion serveren i miljön. Ska nolla ut oanvänt utrymme på diskimagen så att den kan zippas optimalt. Disken är 4GB, varav ca 70% används. Med lite tur går det att zippa ned detta till ca 1-1.5 GB.
Statusuppdatering (10-10-02 21:20):
  • * Komponenter sorterade och uppmärkta klar för leverans när korten dyker upp om några veckor. 25 satser totalt, mycket jobb, men det gick bra tack vara stenD som kom hit och hjälpte till.
Senast redigerad av jesper 2 oktober 2010, 21:21:14, redigerad totalt 10 gånger.
blueint
Inlägg: 23238
Blev medlem: 4 juli 2006, 19:26:11
Kontakt:

Re: iSendIR / Samköpsprojekt #1

Inlägg av blueint »

Vad är det för chips som sköter PoE handskakningen?
Användarvisningsbild
PeterH
Inlägg: 8614
Blev medlem: 15 mars 2006, 15:57:10
Ort: Gävle/Valbo

Re: iSendIR / Samköpsprojekt #1

Inlägg av PeterH »

kan det vara "sour cream & onion" eller kanske helt vanliga lättsaltade :humm: :lol:

Sorry, kunde inte låta bli :mrgreen:

Kul grej förresten men jag vågar inte köpa på mig mer, jag måste ju bli av med det jag har!
Användarvisningsbild
AndLi
Inlägg: 17221
Blev medlem: 11 februari 2004, 18:17:59
Ort: Knivsta
Kontakt:

Re: iSendIR / Samköpsprojekt #1

Inlägg av AndLi »

Nu verkar ju allt klart, men varför satsade du inte på en färdigkapad hammondlåda istället?
De finns ju i tex 80 x 71 x 19 , lite lägre än din, men det verkar inte finnas så många höga komponenter... (1455A802BK)
limpan4all
Inlägg: 8216
Blev medlem: 15 april 2006, 18:57:29
Ort: Typ Nyköping

Re: iSendIR / Samköpsprojekt #1

Inlägg av limpan4all »

Du kommer att få problem med POE (har gjort den grodan redan på ett LPC2368 kort, ändrades till fly-back innan POE kastades ut...).
POE är ju definitionsmässigt +jordat och -48V.
Standarden är minst sagt luddig i vissa frågor, t.ex hur skyddsjorden skall hanteras i POE-switcharna.
Detta innebär i praktiken att rätt många kopplar + på 48V till skyddsjord då blir switcharnas EMC testning mycket enklare men det ställer till problem då du kopplar in saker till din iSendIR speciellt RS232 då PC´n definitionsmässigt är -jordad (0V till skyddsjord).
Standarden "förutsätter" att all utrustning (device) skall ha galvaniskt åtskild intern matning om det är någon anslutning till något externt. Så i ditt fall så länge som man inte ansluter något externt som har extern koppling till något så kommer det att funka. En POE telefon kan kopplas utan galvanisk åtskillnad då den inte har någon extern elektrisk anslutning.
I samma ögonblick så kommer du att få svårfelsökta problem...
Så du måste/bör ta bort dina I/O pinnar och RS232 kanalen eller göra en fly-backlösning på POE.

Schemat som ligger på webben omfattar bara strömförsörjningen dvs sheet 2/2.
Så jag har ingen möjlighet att bedöma POE handskakningen.

Men det är ett kul projekt. Jag hade nog stoppat in en en FTDI FT232R istället för RS232 billigare och mera 2010...
Tips: I layouten, lägg in tre st bortbrytbara dotterkort för IR som tillverkas samtidigt.
I mitt fall så skulle jag vilja handla kortet SMD klart men utan testning och hålmontering och det skulle nog vara en lättare hantering även för dig.
Användarvisningsbild
jesper
Inlägg: 722
Blev medlem: 12 juni 2006, 16:04:08
Ort: Laem Mae Phim, Thailand

Re: iSendIR / Samköpsprojekt #1

Inlägg av jesper »

@blueint:
Kommer sätta en LTC4257 för handskakningen.

@andli:
71 mm är för lite för att få plats med alla kontakter på panelerna. Tänk på att det försvinner ca 10-12 mm i sidorna där inget kan placeras. Dessutom är 19mm för lågt. Det blir bara 11.65 över kretskortet.

@limpan4all:
Jepp, ser lite problem med PoE. Jag hade nog misuppfattat lite och trott det var enklare än det var.
Men jag låter det nog stanna som det är. Det är inte meningen att man skal koppla på jordade saker till vara sig RS232 eller I/O pinnarna. De är tänkt för styrning av t.ex en NEXA sändare eller liknande.
Det får bli en användningsbegränsning, helt enkelt. I alla fall i denna version.
Det är av samma orsak att det är en "riktig" RS-232 port. Det är ingen PC som ska kopplas in här utan saker som kör vanlig RS232 och inte har USB.
Är lite osäker på vad du menar med dotterkort för IR? Det går att koppla IR dioder direkt på kontakten, så det behövs ingen dotterkort.
Att handla kortet SMD-klart skulle höja kostnaden avsevärt vid enstaka eller mycket låga stycktal.
Dessutom skulle det kräva många timmars förberedelse, dokumentation och komponenthantering för att sätta upp detta.
Jag har ingen problemer att montera SMD, men det är klart, det kanske avhåller vissa för att beställa ett kit.

Har nu fixat schemat så båda sidor är med.
blueint
Inlägg: 23238
Blev medlem: 4 juli 2006, 19:26:11
Kontakt:

Re: iSendIR / Samköpsprojekt #1

Inlägg av blueint »

Föreslår push-pull eller flyback för isolerad PoE lösning så löser sig problemet. Om man bara hittar lämplig transformator.

limpan4all, Måste säga att (+) jordning verkligen är knepigt. Fast dom kanske ville vara kompatibla med telefonstationer av någon anledning ?

Tipsar annars om LM5071.pdf
limpan4all
Inlägg: 8216
Blev medlem: 15 april 2006, 18:57:29
Ort: Typ Nyköping

Re: iSendIR / Samköpsprojekt #1

Inlägg av limpan4all »

Nu är båda sidor med.
Borde du inte ja en extern kondensator mellan SRST- och GND?
Varför inte lägga PB1 tom PB7 till en stiftlist (obestyckad) tillsammans med VCC och GND då får man mera flexibilitet utan att det kostar nått.
Borde inte IR_IN1 tom IR_IN3 kopplas via ett motstånd/tranzorb eller likande för att klara lite ESD?

Bra att du stoppar in en LTC4257 annars hade det aldrig fungerat, sen så måste du vara extrem tydlig med vad som funkar och inte funkar att koppla till när den matas av POE. Iochmed att du inte matar den issolerat så skulle jag stoppat in en bygel på både GND och matningen mellan POE och din interna matning så att ingen kopplar "fel" utan att förstå konsekvenserna (kan ju göras som en layoutsymbol som man byglar med lödtenn eller en vanlig 100mil bygel).

Om man sätter lysdioder på ett dotterkort så slipper man löda in dom direkt på kabeln.
Sen så är väl IR egentligen 38Khz modulerat ljus, då skall man väl ha en extern demodulator eller göra demoduleringen i SW men det förutsätter väl att det finns endera bra modulering (starkt externt inkommande ljus) så att CPU´n garanterat ser höga och låga nivåer eller att man tar in signalen på en ADC ingång och kör SW i analog mode för demodulering. Cortex M3 har kraft så det räcker men hinner ADC kanalerna med (tittade i databladet den har 1M sampel per sekund så det räcker, 1M/3 är 333kS/s vilket ger en tiofaldig översampling men det krånglar ju till SW en del)? Dess IRDA support förutsätter ju att signalnivåerna är rätt annars så kommer det ju inte att funka.

Tittade lite på din stycklista.
Kostar verkligen din RJ45 70 sek, i så fall fundera på att lösa det med lösa komponenter, det blir billigare.
Sen att jag ogillar tab-down är en annan sak...

Håller med -48V är ett satans arv från telefonstationtiden, och det ställer till problem hela tiden.
POE kom fram för att telefonfolket ville köra centralmatad IP-telefoni med lösa telefoner på kontoren och då spelar det ju ingen roll.
limpan4all
Inlägg: 8216
Blev medlem: 15 april 2006, 18:57:29
Ort: Typ Nyköping

Re: iSendIR / Samköpsprojekt #1

Inlägg av limpan4all »

Förresten, vad är planen med SD korthållaren?
Dataloggning skriver du, men att logga saker som kommer in på I/O portar blir inte mycket till att logga.
Varför inte lägga ut en pinne för singelwire interface så att en massa temperaturer kan loggas då blir den rejält användbar.

Hittade ett potentiellt fel: Koppla bort V- från CASE på RJ 45 donet, det funkar inte med STP kabel mot ett antal POE switchar (har provat). Med UTP så funkar det men varför ta risken och med UTP så spelar det ingen roll heller eller så kopplar du ihop V+ med CASE via 100pF//1M (plusjordat...)...
Användarvisningsbild
Micke_s
EF Sponsor
Inlägg: 6741
Blev medlem: 15 december 2005, 21:31:34
Ort: Malmö

Re: iSendIR / Samköpsprojekt #1

Inlägg av Micke_s »

Jag hade dragit i2c och uart till expansionsporten istället, PB2, PB3, PG0, PG1.
kör du med ftdi chip och usb så skulle du kunna få plats med en till 6-pin-10pin header på framsidan, för t.ex. ADC och fler i/o:s
blueint
Inlägg: 23238
Blev medlem: 4 juli 2006, 19:26:11
Kontakt:

Re: iSendIR / Samköpsprojekt #1

Inlägg av blueint »

limpan4all, Du har visst en del "didn't know that" om PoE ;)

Om PoE hadde definierat polaritet och trådpar hadde man kunnat förenkla och effektivisera konstruktionen avsevärt.
limpan4all
Inlägg: 8216
Blev medlem: 15 april 2006, 18:57:29
Ort: Typ Nyköping

Re: iSendIR / Samköpsprojekt #1

Inlägg av limpan4all »

Jo...
Har gjort två olika POE projekt, det första var tänkt som detta dvs icke isolerat, fick det aldrig att funka, rev B funkar men begränsningarna är jobbiga så det skippades till produkten Rev C.
Ett annat projekt gjordes som POE fullt ut med fly-back och det funkar alldeles utmärkt, men det var många timmars manualstuderande samt lusläsande av POE standarden och labbande med 6 olika POE switchar har jag för mig och några injektorlösningar (vika alla är skitlösningar).

Jag gillar POE principiellt det är jättesmart, men i praktiken så ogillar jag skiten.
blueint
Inlägg: 23238
Blev medlem: 4 juli 2006, 19:26:11
Kontakt:

Re: iSendIR / Samköpsprojekt #1

Inlägg av blueint »

Ett annat projekt gjordes som POE fullt ut med fly-back och det funkar alldeles utmärkt, men det var många timmars manualstuderande samt lusläsande av POE standarden och labbande med 6 olika POE switchar har jag för mig och några injektorlösningar (vika alla är skitlösningar).

Det är svårt, men när man väl fått till DC/DC:n så fungerar det väl bra?

Vad är så dåigt med injektorlösningarna?
Användarvisningsbild
jesper
Inlägg: 722
Blev medlem: 12 juni 2006, 16:04:08
Ort: Laem Mae Phim, Thailand

Re: iSendIR / Samköpsprojekt #1

Inlägg av jesper »

@blueint:
Tack för tipset om LM5071, har dock ändrat lite när det gäller PoE. Det blir helt enkelt för komplext med "riktig" PoE. En flybacklösning verkar vara det enda som skulle fungera och att hitta lämplig transformator är helt enkelt för bökigt.
Det var egentligen inte heller tänkt från början att vara standard PoE, men jag trodde det skulle vara en enkel match.
Men efter tipsen här samt att ha lusläst specar har jag övergett PoE, ifölje standarden. Det är väl ändå ett fåtal som har switchar som klarar av detta.
Istället kör jag på en simplel injektor lösning, liknande det som Olimex gör här: http://www.olimex.com/dev/pic-mod-poe.html

@limpan4all:
Se ovan om PoE.
En konding på SRST används egentligen bara för att fördröja reset. Skulle det bli störningsproblem kan man sätta en över switchen.
Orsaken till att det inte finns några skydd på IR_IN_x är helt enkelt för att hålla nere komponentantalet. Detta är ju ingen kommersiell produkt, utan endast tänkt som en kul sak. Därmed lite shortcuts här o var.
IR är modulerat ja, men det är inget problem för processorn att dekoda detta. IR_IN_x sitter på Input Capture ingånger.
Normalt ska den ju inte heller dekoda, utan koda. I de fall där dekodning ska ske, är det ju när man ska "lära" den en IR kod. Då håller man sin fjärr nära och signalen blir då ganska stark. I alla fall är det ju en fråga om hur kopplingen ser ut _utanför_ iSendIR.
RJ-45'an kostar mig 4.80 Euro + shipping från dacomwest.de
Då tilkommer moms 25%, så egentligen bjuder jag nog på några kronor när det gäller den.
SD-kortet är främst för de som vill köra kortet som en webserver. Det går da alldeles utmärkt att köra one-wire på en I/O port. Två av I/O portarna sitter även på Input Capture, för att ge lite mer möjligheter. Jag kanske ska parallkoppla två av dem mot A/D'n så kan man mäta lite analogt också.
Ska koppla bort CASE helt och hållet.

@Micke_s:
Jag kan parallelkoppla med PG0/PG1, då blir det lite mer möjligheter.
Jag kan som redan nämt, INTE köra med FTDI chip och USB. Det är ju inte för att koppla till en PC. Det har man JTAG interfacet till.
limpan4all
Inlägg: 8216
Blev medlem: 15 april 2006, 18:57:29
Ort: Typ Nyköping

Re: iSendIR / Samköpsprojekt #1

Inlägg av limpan4all »

Angående SRST- jag skulle definitivt CAD´a in ett seriemotstånd mot switchen och en kondensator mot GND, det gör att din strömförsörjning inte blir lika kritisk...

Jag fördrar en/din injektor lösning om man inte gör en äkta POE, tips: nämn för guds skull inte POE i dokumentationen...
Skriv svar