I/O över nätverk

Berätta om dina pågående projekt.
cjonash
Inlägg: 613
Blev medlem: 20 maj 2011, 08:53:58
Ort: Göteborg

Re: I/O över nätverk

Inlägg av cjonash »

Så kom den första av dagens leveranser till projektet - och snabbast var då ELFA. Det ska sägas att jag hade delat upp det, så det var en order med majoriteten av delarna och en med några extra som jag hade missat i den första. Men den stora ordern var skickad som 3 paket, så totalt 4 paket kom DHL bärandes på:
ELFA_1.jpg
Två av kartongerna till den större ordern var i alla fall hyfsat fyllda (med delar alltså, inte bara luftpåsar), men den tredje innehöll detta:
ELFA_2.jpg
Tur att man inte betalar per paket...

Nu väntar jag bara på paketet med själva lådan (från tyskland) och ett paket från Electrokit med lite stiftlister.
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
MiaM
Inlägg: 9903
Blev medlem: 6 maj 2009, 22:19:19

Re: I/O över nätverk

Inlägg av MiaM »

Det där med många kollin och en del nästan tomma har diskuterats i nån annan tråd.

Min teori är att det helt enkelt kostar mer att inte kunna hämta så mycket som går att få med när man hämtar saker i någon viss del av lagret för att man inte har plats vid packningsplatsen för alla kolli som dessa saker skulle hört till. Elfa och speditören är säkert båda medvetna om detta och förhandlar nog fram fraktpriset så att det passar. Vem vet, det kanske till och med finns en koppling så att Elfa får olika priser olika dagar beroende på hur mycket speditören i övrigt har att skicka. Om speditören ändå har utrymme över i hela transportkedjan fram till din dörr så kostar det ju i praktiken knappt något alls att skicka en stor kartong med en enda grej, och då kan Elfa skicka så. Om det istället varit fullt i speditörens tranportkedja på något ställe (eller snarast blivit fullt om leveransen delats på för många kollin) så kan Elfa lägga ner mer tid per order för att packa optimalare.

En annan teori är ett ganska så automatiserat lager men en del kräver handpåläggning och när den handpåläggningen inte kan göras omedelbart så dundrar det som kunnat packats ut. Den där sista ensamma grejen kanske hela tiden fanns i lager men hade ramlat ur sin låda och någon fått leta i lådorna invid för att finna den.

M.v.h. snillen som spekulerar :)
cjonash
Inlägg: 613
Blev medlem: 20 maj 2011, 08:53:58
Ort: Göteborg

Re: I/O över nätverk

Inlägg av cjonash »

Chassiet kom inte idag :(
Men i övrigt är första prototypen byggd. Och tyvärr så visade det sig finnas ytterligare ett fel - betydligt allvarligare. Ena optokopplaren (för isoleringen av RS422) har fått omkastade pinnar på matningsspänningen - och det tycker de inte om!
Så tills jag har gjort en ny version av kortet, får det köras utan isolering. Det gick som tur var att koppla förbi optokopplarna hyffsat enkelt - bara två trådar på kortet.

Jag ska testa de seriella ingångarna senare ikväll, med hjälp av de simulatorer som jag byggt, men allt annat verkar fungera.
cjonash
Inlägg: 613
Blev medlem: 20 maj 2011, 08:53:58
Ort: Göteborg

Re: I/O över nätverk

Inlägg av cjonash »

Då har det hänt lite på projektet igen.
I tisdags skulle prototypen användas på produktion igen, och planen var att sedan lämna den till mina kollegor i Danmark för fortsatt användande (utan att jag själv behöver vara med på varje produktion). Delarna till chassiet kom ju inte som utlovat på måndagen, men efter ett antal telefonsamtal med FedEx så lovade de mig att paketet skulle stoppas på Kastrup i Köpenhamn, så att jag kunde hämta det där på tisdagsmorgonen. Så jag packade med mig alla delar och verktyg som jag skulle behöva för att skruva ihop allt, och begav mig till Danmark.

Tyvärr visade det sig att den tyska delen av FedEx inte var lika alert som den svenska, och det expresspaket som skulle flugits redan under helgen (enligt ordinarie rutin), placerades istället på en lastbil... Så det stod klart att jag skulle inte hinna få någon låda innan produktionen.

Istället blev det en temporär lösning med en verktygslåda, som fick ligga under bordet hos den officiella tidtagaren:
produktion_2.jpg
Inte så snyggt, men med locket stängt så fungerade det i alla fall. Och funktionsmässigt fungerade allt, helt utan handpåläggning!
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
cjonash
Inlägg: 613
Blev medlem: 20 maj 2011, 08:53:58
Ort: Göteborg

Re: I/O över nätverk

Inlägg av cjonash »

I dag (torsdag) kom så äntligen delarna till chassiet, och jag kunde påbörja nästa steg i bygget av prototypen. Kretskortet byggde jag ju redan innan produktionen i början på veckan. Så här kommer ett bildcollage av monteringen...

Det här platta paketet var efterlängtat:
lådbygge_1.jpg
Lite känsla av LEGO eller Mekano, när man packade upp det. Men snyggt (och säkert) förpackat:
lådbygge_2.jpg
Jag började med att montera display och enkoder på frontpanelen:
lådbygge_3.jpg
Framifrån ser det ut så här:
lådbygge_4.jpg
Sedan monterade jag alla kontakterna på baksidan. Även om kretskortet för de digitala in- och utgångarna inte är tillverkat ännu, så satte jag dit kontakterna för att det skall se snyggare ut tills det är klart:
lådbygge_5.jpg
Och så här blev resultatet av det:
lådbygge_6.jpg
Sedan monterade jag fast kortet i bottenplåten. Precis som med frontpanelens fästen för displayen så kunde jag konstatera att jag lyckats att rita dit fästena på rätt ställen. Det var perfekt passform:
lådbygge_7.jpg
Därefter kunde jag börja sätta ihop alla delarna. Först ut de under profilerna och bakpanelen:
lådbygge_8.jpg
Följt av sidopaneler:
lådbygge_9.jpg
Och de övre profilerna och frontpanelen:
lådbygge_10.jpg
Till sist på med locket, och sedan en testkörning:
lådbygge_11.jpg
Sammantaget är jag nöjd med prototypen av lådan. Min oro för stabiliteten var helt obefogad, 2mm aluminium räcker gott för ändamålet.
Däremot är jag inte helt nöjd med elektroniken. Kortet blir för klumpigt, och dessutom är det ju två konstruktionsfel - även om de gick att fixa.
Så nästa steg blir att ta fram ett nytt kort där alla komponenter sitter på ett och samma kort. Nu måste jag bara hitta något företag som kan utföra monteringen till ett vettigt pris. Sedan återstår en hel del programmering av mjukvaran också...
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Användarvisningsbild
Anahka1975
Inlägg: 1271
Blev medlem: 30 augusti 2006, 21:49:46
Ort: Säffle

Re: I/O över nätverk

Inlägg av Anahka1975 »

Ruggigt snyggt! :tumupp:
MiaM
Inlägg: 9903
Blev medlem: 6 maj 2009, 22:19:19

Re: I/O över nätverk

Inlägg av MiaM »

Nu är jag Captain Obvious men den där böjen på nätverkskabeln är väl inte jättebra. Om du skaffar en kabel utan böjskydd så bör det gå att göra en lindrigare böj.

Crimptång och en påse kontakter är ändå bra-att-ha [tm] så här kan du passa på att klippa av nätverkskabeln till lagom längd, behålla den redan monterade kontakten i ena änden och själv klämma på en kontakt i andra änden och få lindrigare böj.

Ja, sen är jag väl ännu mer Captain Obvious när jag påpekar att det verkar som att någon skruv skulle behöva vara längre och ha någon mer distans för att hålla ethernet-modulen.

Jag vet inte riktigt hur det ser ut layoutmässigt med saker på kortet precis invid arduinosakerna, men i princip kunde kanske en framtida version ha Arduinosakerna vända åt motsatt håll så att USB- och nätverkskontakterna är vända in över kortet istället för ut mot sidan. Alternativt kunde de kanske vara vända bakåt. Fast det är ju en smaksak.

Ett tips är att ordna ett buntband som håller USB-kontakten i Neutrik-kontakten på något vis. Även det mest oväntade händer förr eller senare på grejer som används för "proffsbruk".
cjonash
Inlägg: 613
Blev medlem: 20 maj 2011, 08:53:58
Ort: Göteborg

Re: I/O över nätverk

Inlägg av cjonash »

Man kan väl säga att du (MiaM) rätt så bra sammanfattade vad jag själv upptäckte igår :)

Ethernetmodulen skulle egentligen ha suttit ihop med hjälp av gängade distansrör. Tyvärr så lyckades jag beställa fel sort (lärdomen av det är att läsa noggrannare och inte lita på katalogbilder :oops: ), så de var inte alls gängade - och jag har inte några skruvar som är tillräckligt långa för att nå genom alla tre korten.

Både USB-kabeln och nätverkskabeln är provisorisk - det visade sig att den korta nätverkskabel jag tänkt att använda dels var för kort och dels för styv. Och lösa kontakter har jag, men de är på mitt nya kontor och dit orkade jag inte gå sent igår när jag gjorde upptäckten. USB-kabeln som jag plockat fram tidigare i veckan hittade jag inte (möjligen blev den kvar i Danmark). Sedan visade det ju sig också att det är för kort avstånd mellan kontakterna på korten och lådans sida. Trots att jag menade att jag hade kontrollerat detta när jag ritade lådan. Måste ha haft en dålig timme just då...

Och som sagt, layouten på korten gillar jag inte. Det går åt alltför mycket plats till ingenting. Jag har börjat rita på ett nytt kort, där allt är på ett och samma kort. Med utgångspunkt i EtherMega designen. Men jag är fortfarande osäker på hur jag skall kunna få det tillverkat. Om någon känner till något företag som kan göra prototypserier (vi pratar om kanske 10 kort) utan att det kostar som ett mindre hus, så tar jag tacksamt emot förslag. Jag har hittat en tänkbar kandidat (men vill gärna ha flera alternativ): http://www.pcbtrain.co.uk/
cjonash
Inlägg: 613
Blev medlem: 20 maj 2011, 08:53:58
Ort: Göteborg

Re: I/O över nätverk

Inlägg av cjonash »

Tre år senare, så väcker jag det här projektet till liv igen...

Den förra versionen av projektet jag byggde har i, nästan på dagen, tre års tid använts på tv-produktioner i primärt Danmark, för att läsa klockdata från poängtavlorna i baskethallar. Till det har den fungerat alldeles utmärkt. Men under det senaste året har jag jobbat tillsammans med det internationella basketförbundet att skaffa och verifiera klockprotokoll på system runt om i hela världen, och har under det arbetet kunnat konstatera att dels finns det fler platser som mitt projekt kan komma till användning, dels finns en del ytterligare funktioner som skulle underlätta användandet.

Så därmed är det dags att ta tag i version 2 av projektet. Nu är fokus enbart på att koppla in sig på olika klockor (helt enkelt att konvertera olika klockprotokoll till ett gemensamt, nätverksbaserat, protokoll), och då på så många olika modeller som möjligt. Tanken är att göra två olika modeller:

1) Den "stora" modellen är tänkt att flyttas mellan olika arenor. Den ska därmed ha mjukvara som kan koda av så många protokoll som möjligt, där man väljer önskat protokoll i ett gränssnitt. Den skall ha en 9-pin D-SUB som ingång, och via mjukvara väljer man signalnivå och vilka pinnar som skall användas. Den har dessutom en extra nätverksanslutning för att kunna kopplas till klockor som skickar signaler över nätverk.

2) Den "lilla" modellen är tänkt att kopplas in i en arena (permanent eller per säsong), och laddas med enbart den arenans protokoll. Hårdvaran har stöd för både RS232 och RS422/485, men istället för konfiguration i mjukvara så görs det genom att tillverka en anpassad kabel.

Jag gillade i stort sett den låda jag tillverkade för den första versionen, men har en del förändringar på gång för den nya. Den stora versionen kommer att monteras i en 19" racklåda (1 HE) eftersom den kommer sitta i ett rack tillsammans med annan utrustning som hör till tv-produktionerna. Till skillnad från den gamla får den nätdelen inbyggd i lådan, och jag har försökt att göra fronten lite snyggare när det gäller framför allt monteringen av displayen. Den lilla versionen (som än så länge bara är en ide) skall vara betydligt mindre än både den förra och den nya versionen.

Arduino kommer fortfarande att vara plattformen för utvecklingen, då det är det jag kan bäst. Jag övervägde att sätta mikrokontrollern direkt på kortet, men jag är fortfarande inte trygg med att göra ytmonterade byggen själv (och i nuläget är volymerna för små för att lägga ut tillverkningen av korten) så någon form av moduler krävs. Men för att få ner storlek och pris så blir det inget riktigt Arduino-kort, utan jag har köpt moduler av den här typen, som monteras direkt på mina kort:
Arduino.jpg
Av samma skäl får nätverkskorten bli färdiga moduler, i mitt fall baserade på Wiznet chip:
Ethernet.jpg
Innehållet i lådan kommer att bestå av tre kretskort:
- ett med mikrokontroller, nätaggregat, realtidsklocka och anslutningskontakter för övriga kort
- ett kort som sitter på fronten och innehåller en RGB OLED-display, 6 knappar, 3 LED och en "rotary encoder"
- ett kort som innehåller de seriella interfacen

Det sista kortet innehåller relän för att mekaniskt ansluta två valfria pinnar på en 9-pin DSUB till antingen en RS232 eller en RS422 krets. I båda fallen är det optiskt isolerat från resterande del av systemet.

Det här är bakgrunden, och projektet har redan tjuvstartat. I några kommande inlägg kommer bilder och praktisk beskrivning av projektets fram- (och mot-)gångar.
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
cjonash
Inlägg: 613
Blev medlem: 20 maj 2011, 08:53:58
Ort: Göteborg

Re: I/O över nätverk

Inlägg av cjonash »

Det första som gjordes i det nya projektet var att designa det seriella ingångskortet. Det gjordes i December, och för första gången testade jag en kinesisk tillverkare (allpcb). Tyvärr har jag ingen bild på det monterade kortet, men så här ser det ut omonterat:
seriekort_1.jpg
Kortet innehåller 24 st relän, som låter mig välja två valfria pinnar på en 9-pin ingångskontakt och skicka dem till antingen A/B-ingångarna på en RS422 mottagare eller till RX och jord på en RS232 mottagare. Utgångarna från dessa är optiskt isolerade innan de skickas vidare till huvudkortet. Styrningen av reläerna sker med I2C. Första versionen av kortet autoroutades för att det skulle gå snabbt att få en prototyp, och i stort så fungerade kortet vid de första testerna. Men jag har gjort en ny version av kortet nu, som dels är routat manuellt (lite snyggare), dels så har jag bytt I2C-kretsarna mot en annan typ. Det nya kortet är ett 4-lagers kort för att få ett helt jordplan (och för att skillnaden i pris är obefintlig). Dessa kort väntar jag på nu (ska skickas från Kina i början på nästa vecka).

Parallellt med designen av det nya seriella kortet så har jag kopplat upp uC, nätverksmodul, display och delar av tangentbordet på en kopplingsplatta:
Experimentplatta.jpg
Dels är alla delar testade så att de fungerar tillsammans, men framför allt har jag jobbat med att få till uppladdning av mjukvaran via nätverk. Baserat på Ariadne-bootloadern (https://github.com/codebndr/Ariadne-Bootloader) så har jag fått till en lösning som verkar fungera bra. En del modifieringar har jag gjort, för att förenkla uppladdningen för användaren. Det här ska ju kunna göras i fält, av personer med liten eller ingen erfarenhet av programmering.

Jag har också designat en låda, ett kort för display och tangentbord samt ett kort för Arduino-modulen med diverse tillbehör.
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Användarvisningsbild
Lennart Aspenryd
Tidigare Lasp
Inlägg: 12607
Blev medlem: 1 juli 2011, 19:09:09
Ort: Helsingborg

Re: I/O över nätverk

Inlägg av Lennart Aspenryd »

Tack för (återigen) ett stycke god läsning. Alltid kul att gå tillbaka och se vad som händer med projekt.
Det känns som om du är väldigt engagerad och faktiskt bekväm med denna utveckling!
Lycka till med det internationella.
cjonash
Inlägg: 613
Blev medlem: 20 maj 2011, 08:53:58
Ort: Göteborg

Re: I/O över nätverk

Inlägg av cjonash »

Kul att du gillar att läsa det, Lasp!
För mig är ju det här fortfarande mest en hobby - mitt yrkesliv är fördelat mellan att vara programmerare (primärt för tv-grafik) och att vara bildproducent. Men då och då uppstår möjligheten att få plocka in lite elektronikkonstruktion även i jobbet, vilket jag är mycket tacksam för!

Beställningen av de nya korten skickades iväg för några dagar sedan, och består som tidigare nämnts av en ny version av det seriella ingångskortet tillsammans med ett "huvudkort" och ett kort för frontpanelen. Än så länge har jag bara ritningarna, men om allt går som det skall så bör de nya korten vara här i mitten eller slutet på nästa vecka.

Så här ser layouten på det nya seriekortet ut (mellan de två synliga lagren finns ett GND-layer och ett +5V layer):
seriekort_2.jpg
Utöver reläer för att välja ingångssignaler så finns drivkretsar till dessa, samt I2C-expanders. Dessutom RS232 och RS422 mottagare, samt en isolerande DC/DC omvandlare och en optokopplare för att isolera resten av system från ingångarna.


Huvudkortet består egentligen bara av kontakter. På kortet monteras den Arduino-kompatibla uC'n, en I2C modul med en unik MAC-adress (för nätverket), en I2C-modul med en realtidsklocka (inkl. batteribackup) och sen anslutningar till övriga kort. Det finns fler anslutningar än vad som kommer att användas, och det är för att jag har ett par andra one-off enheter som jag planerar att använda samma kort i (kommer kanske mer om det senare). Slutligen sitter det en nätdel på kortet (det var en av de förändringarna jag ville ha in - jag ville inte ha ett externt nätaggregat som i den första versionen). Det här är också ett 4-lagers kort där GND och +5V ligger på egna lager (som inte går under hela nätaggregatet!).
mainboard_1.jpg

Till sist är det ett kort som skall sitta bakom frontpanelen. Det innehåller en OLED-modul (128x128 pixlar, RGB), 6 st strömbrytare, 3 LED (varav en är en ren power-on-LED) och en "rotary encoder". Kunde inte komma på en bra svensk betäckning på denna (pulsgivare, men det låter mer som en givare monterad på t.ex. en drivaxel tycker jag), någon som har bra förslag?
keyboard_1.jpg
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
cjonash
Inlägg: 613
Blev medlem: 20 maj 2011, 08:53:58
Ort: Göteborg

Re: I/O över nätverk

Inlägg av cjonash »

Under förra veckan så beställde jag, utöver kretskorten, också lådan. Som tidigare så har jag beställt av Schaeffer AG (https://www.schaeffer-ag.de/en/), och jag använde deras CAD-program för att rita upp lådan. Mekanisk konstruktion är inte min starkaste sida, så det här är ett sätt för mig att få relativt hög kvalité utan alltför mycket trial-and-error arbete.

Jämfört mot förra gången, så önskar jag att displayen blir lite snyggare. Eftersom den sitter monterad bakom panelen, och inte på ett enkelt sätt kan flyttas fram så att den kommer kant-i-kant med fronten (bl.a. för att det sitter en kontakt på ena sidan av displayen), så har jag gjort ett försök med en bit plexi som (om jag lyckats göra rätt) är fräst så att den kommer kant-i-kant med fronten, medans den bakom panelen har ett djup på 1,5 mm och är större än hålet. Återstår att se om jag lyckats att få till det korrekt...

Så här ser i alla fall frontpanelen ut i programmet:
Frontpanel.jpg
Och baksidan:
Backpanel.jpg
Alla kontakter är från Neutrik's D-serie, inklusive elanslutningen och D-SUB kontakten.
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
cjonash
Inlägg: 613
Blev medlem: 20 maj 2011, 08:53:58
Ort: Göteborg

Re: I/O över nätverk

Inlägg av cjonash »

Efter att ha tittat på produktionsstatusen hos ALLPCB så inser jag att jag gjort ett misstag på det ena kortet när jag gjorde beställningen :(
Av misstag har jag valt svart komponenttryck (på standard grön lödmask) istället för vitt tryck på svart kort. Visserligen "bara" på frontpanelskortet, men irriterande ändå.

Sen insåg jag att jag hade en designmiss också. Hela systemet är ju förberett för 2 nätverkskort, och för att slippa koda MAC-adresserna i mjukvaran så har kortet plats för en modul med ett ROM som innehåller en MAC-adress. Tyvärr tänkte jag inte på att jag ju behöver två adresser... Lösningen kommer bli att använda 2 st DS18B20 temperatursensorer (1-wire). De har också ett fast, unikt, ID som kan användas. Så jag kommer tillverka ett litet kort som kan sättas i expansionskontakten som redan finns på huvudkortet, med 2 sensorer och ett pullup-motstånd samt en motsvarande kontakt om man trots allt vill koppla in något mer.
cjonash
Inlägg: 613
Blev medlem: 20 maj 2011, 08:53:58
Ort: Göteborg

Re: I/O över nätverk

Inlägg av cjonash »

Natten använde jag till att rita upp och beställa kortet för de två temperatursensorerna, som alltså inte kommer användas för att mäta temperatur utan för att generera MAC-adresser. Samtidigt gjorde jag en version av displaykortet som är lite mindre och saknar de 3 LED'arna. Det kortet skall användas i ett annat projekt, men jag passade på att beställa dem samtidigt.

Och så här blev då tilläggskortet för MAC-adresser (2 lager, varav det ena bara är jordplan):
macmodule_1.jpg
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Skriv svar