Prata mellan två arduinos

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Användarvisningsbild
Icecap
Inlägg: 26650
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Re: Prata mellan två arduinos

Inlägg av Icecap »

Krille Krokodil: "Och vad kostar det i tid innan man får det att snurra mot sin labplatta?" Med ett adapterkort kan det ta upp emot 30 minuter kanske. Då har man en bendelning på 2,54mm.

Väljer man en DIP kan det ta upp emot 10 minuter...
Användarvisningsbild
PHermansson
EF Sponsor
Inlägg: 4340
Blev medlem: 22 december 2004, 00:46:38
Ort: Särestad Grästorp
Kontakt:

Re: Prata mellan två arduinos

Inlägg av PHermansson »

Sen ska man ju koda för alla sensorer också. Istället för att ladda ned, packa upp och skriva in "include färdigt_lib_med_öppen_källkod_som_någon_annan_redan_skrivit" i sin kod.
Användarvisningsbild
Icecap
Inlägg: 26650
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Re: Prata mellan två arduinos

Inlägg av Icecap »

Och det ska man inte med Ardurik?
Borre
Inlägg: 4609
Blev medlem: 14 juni 2007, 15:43:50
Ort: Hälsingland

Re: Prata mellan två arduinos

Inlägg av Borre »

Ja vi vet att du hatar Arduino, men hur jäkla svårt ska det vara att fatta att andra gillar det och lägga av med dina nedvärderande namn du kör med hela tiden, det heter Arduino och inget annat. Sluta bete dig som en mupp eller skriv inte alls!
Användarvisningsbild
Electricguy
Inlägg: 12488
Blev medlem: 15 augusti 2007, 16:52:14
Ort: Kälmä' typ..

Re: Prata mellan två arduinos

Inlägg av Electricguy »

What he said ^

Förbannat omoget för att komma från en vuxen? man.
Användarvisningsbild
Krille Krokodil
Inlägg: 4062
Blev medlem: 9 december 2005, 22:33:11
Ort: Helsingborg

Re: Prata mellan två arduinos

Inlägg av Krille Krokodil »

Icecap skrev:Krille Krokodil: "Och vad kostar det i tid innan man får det att snurra mot sin labplatta?" Med ett adapterkort kan det ta upp emot 30 minuter kanske. Då har man en bendelning på 2,54mm.

Väljer man en DIP kan det ta upp emot 10 minuter...
Ingår adapterkortet i AVR Mega:n eller AVRISP2:en? Finns Mega 2560 i 100 pinnars DIP?
Användarvisningsbild
Icecap
Inlägg: 26650
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Re: Prata mellan två arduinos

Inlägg av Icecap »

Jag hatar inget! Det överlåter jag till småbarnen.

Jag anser bara att Ardurik är ett dumt sätt att bli fattig på. Jag har ingen som helst problem med att man kan ha det som "leksak" till att lära sig med och att utveckla mindre saker på. Men att som i denna tråd rekommendera att byta upp sig till en annan modell som bara kostar 499:- för att få lite fler pinnar känns mycket magstarkt.

Och hela konceptet med att koppla ihop fler enheter för att få pinnar nog att jobba med visar ganska klart att det är dags att ta en enhet som klarar alla saker i samma krets, helt enkelt för att denna kommunikation kommer att avvika så mycket från det slutgiltiga designen att det "proof of concept" som det ska utgöra blir snudd på värdelöst.

Man kan alltså lösa exakt samma uppgift billigare även då det inkluderar en programmeringsenhet och det "proof of concept" som eftersträvas kan testas under realistiska former.

Är det att hata? Väx upp!
Användarvisningsbild
Electricguy
Inlägg: 12488
Blev medlem: 15 augusti 2007, 16:52:14
Ort: Kälmä' typ..

Re: Prata mellan två arduinos

Inlägg av Electricguy »

Varför ska man bli fattig på det? Du kan mycket väl köpa lösa processorer, bygga ditt egna kort och bränna in bootloadern själv om du vill. Det har jag gjort. Min hemmasnickrade Arduino kostade mig ca 12kr att bygga. Eftersom att jag hade allt utom µC'n hemma.
ISP programmeraren köpte jag för 40kr på ebay..
Inte det snyggaste på jorden.. Men det funkar kanonbra.

Nej, åter till topic. Sorry för trådkap!
Användarvisningsbild
Krille Krokodil
Inlägg: 4062
Blev medlem: 9 december 2005, 22:33:11
Ort: Helsingborg

Re: Prata mellan två arduinos

Inlägg av Krille Krokodil »

Icecap skrev:Jag anser bara att Ardurik är ett dumt sätt att bli fattig på. Jag har ingen som helst problem med att man kan ha det som "leksak" till att lära sig med och att utveckla mindre saker på. Men att som i denna tråd rekommendera att byta upp sig till en annan modell som bara kostar 499:- för att få lite fler pinnar känns mycket magstarkt.
Fortfarande rör det sig om skitsummor i förhållande till vad det kostar i tid att komma igång på en ny plattform. Visst, saknar man pengar, familj, barn, vänner, arbete och alla andra typer av fritidsintressen så kanske ditt resonemang är rimligt...
Användarvisningsbild
Icecap
Inlägg: 26650
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Re: Prata mellan två arduinos

Inlägg av Icecap »

OK, så WinAVR är okänd och besvärligt? Oj då, jag hade bestämt för mig att det kom en bra bit innan Ardunånting och att den används fortfarande.

Och var det kommersiella intressen i detta hade den plattform varit bortvald illa kvickt. Så kom gärna med argument för Ardunånting men låt bli att skjuta dig själv i foten.
Användarvisningsbild
Krille Krokodil
Inlägg: 4062
Blev medlem: 9 december 2005, 22:33:11
Ort: Helsingborg

Re: Prata mellan två arduinos

Inlägg av Krille Krokodil »

Ja, Win AVR är det betydligt större tidsinvestering för att komma igång med, hade du haft erfarenheten att ha prövat så hade du känt till det.

Oavsett Arduino-modell är det en skitsumma kommersiellt sett om den används för R&D eller i något fåstyckstillverkat. Jag tex kostar 500kkr/år, sitter vid en dator för 50 kkr med en CAD-licens för 200 kkr med ett supportavtal för 30 kkr/år och jobbar för närvarande med ett litet kvalitetsproblem som kostar oss 100 kkr/vecka sedan många veckor tillbaka...
Användarvisningsbild
XCore
EF Sponsor
Inlägg: 963
Blev medlem: 31 januari 2009, 03:00:12

Re: Prata mellan två arduinos

Inlägg av XCore »

NU känner jag att tråden spårat ut helt.
Jag väljer arduino uno för det är det som stöds av den robotplattform jag valt att arbeta med just nu.
ZUMO bot av pololu.
Jag själv bryr mig inte om att det kostar så mkt, jag vet att det inte är kanske det ekonomiskt smartaste.
Men jag väljer att lägga 999 kr på 5 st uno v3,or och så blir det.
I en startfas.
Jag vill börja någonstans med mina kort och måste lära mig allt som har med kodning också.
Denna setup jag kommer börja med gör att jag är igång med en färdig modul på drygt 30 minuter och runt 700 kr/roboten.
Jag lägger i dagsläget mer vikt i att det funkar out of box så att säga.
Skall gå över till ett rent kretskort skapat och ritat av mig för ändamålet.
Men nu får det bli som det blir.

Tråden startade inte som någon tråd som skall ta upp om det är värt det eller inte.
Är bra medveten om att sådana här utvecklings typer som arduino är prismässigt värdelösa.
Men jag kör ändå.

JESSE, skitbra förklarat!
Du gjorde mig klokare och avståndet kommer inte bli mer än 10 cm kabel.
Användarvisningsbild
XCore
EF Sponsor
Inlägg: 963
Blev medlem: 31 januari 2009, 03:00:12

Re: Prata mellan två arduinos

Inlägg av XCore »

EDIT : Jag förstår att det skulle vara bäst med bara en processor.
Men då jag vill lära mig mer djupgående programmering och göra så flera robotar gör en uppgift enklare tillsammans handlar det mer om programmering än pris och val av plattform.
Om någon hänger med?
Jag tänkte mest bara på skoj ansluta extra sensorer och det gör mig inget om roboten får stanna upp och vänta på datan ifrån mina UART anslutna sensorer.
Som sagt är det kodningen jag ska börja med och därefter bygger ajg ett system anpassat för det hela.
Som sedan skall försökas bli en produkt att sälja i lågskala och i pris av i stort sett noll vinst.
Mest för att dom flesta pcb online sidor skapar minst 50 st, köper man bara 10 får man betala satan.
Bättre med en mindre batch.
Användarvisningsbild
Icecap
Inlägg: 26650
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Re: Prata mellan två arduinos

Inlägg av Icecap »

Att "behärska" kommunikation mellan fler plattformar är definitivt inte en nackdel! Att det är fel som "pin-expansion" i samma enhet är mer fel i design-frågan men kommunikationen kan likaväl vara via radio eller liknande och där kan "samarbetet" vara mycket värdefullt att kunde.

"Hemligheten" är alltså att använda lite olika saker, mitt sätt är att använda interrupt ganska intensivt.

Viktigast är att kunde skapa kommunikationsblock som är tydligt definierat så att mottagaren kan kolla om det har blivit störningar på vägen. Tänk radiolänk och grannungen på den trimmade moppen med tändningsstörningar.

Detta kan man lösa på fler sätt.

Sedan ska man kunde ta emot data. Är det bara en enda byte är det ju enkelt - men jag känner mig ganska säker på att du kan behöva fler data överförda, alltså behövs en buffer för att samla in alla data innan de kan behandlas.
Mitt sätt är att jag startar en UART Rx-interrupt, där kollar jag den mottagna byten och väljer:
* Är det en STX (Start av block) nollställer jag pekaren som anger var i buffern jag ska lägga byten.
* Är det en ETX (Slut på blocket) aktiverar jag omvandling och kontroll av det mottagna block.
* Är det inget av dessa petas den i buffern om det finns plats.

Men data ska sändas också. Alltså måste det finnas en rutin som kan "bygga upp" dessa kommunikationsblock på rätt sätt, i mitt fall använder jag oftast att buffra sändningen så att även den är interruptstyrd, detta frigör programmet från att stå och vänta på att UART'en ska sända klart men om man behöver detta beror ganska mycket på hur bråttom man har osv.

Om en enhet ska mäta en grej och sända värdet är man knappast hjälpt av att den hinner mäta samma grej 100 gg för varje gång den hinner med att sända dessa data så där får man se till att välja rätt.

Jag använder oftast ASCII-kommunikation, den är inte komplicerat men såklart ger den en del overhead med omvandling hit och dit. Ska jag alltså sända "Sensor A har mätt värdet B" blir det något i stil med:
<STX> 12,25,C9<ETX> ("12" = Sensor A mätvärde, 25 = mätvärdet, C9 = Checksum) som överföras.

På detta vis kan jag "sniffa" kommunikationen med en annan serieport och kolla att värden är rätt och den rätta tolkningen kan göra att mottagaren kan kolla giltigheten (via Checksumman) och sedan "bara" lägga in det överförde värde i en variabel i minnet.

Resultatet kan, om vi tar detta projekt som exempel, bli att "extrakortet" kontinuerligt sänder uppmätta värden, mottagaren ("huvudenheten") dekoder sedan de inkomna data och petar ner i rätt variabel. När alla interruptrutiner är på plats och kommunikationen fungerar kommer det att "se ut" för programmet som att det extra kortet "på magisk vis" fyller i variablerna och programmet kan köra vidare utan att "bekymra sig" eller vänta på värden.

Såklart kan man skapa en kommunikation av typen "jag frågar och du svarar" men där kan det bli en del eftersläp om programmet ska vänta på svar.
Användarvisningsbild
jesse
Inlägg: 9240
Blev medlem: 10 september 2007, 12:03:55
Ort: Alingsås

Re: Prata mellan två arduinos

Inlägg av jesse »

XCore skrev:avståndet kommer inte bli mer än 10 cm kabel.
Då bör det räcka gott med att bara ansluta UART direkt mellan processorerna.


TX ----------------------> RX
RX <---------------------- TX
GND ---------------------- GND
Skriv svar