Fyr-rotorig flygfarkost

Planering och tankar kring eventuella framtida projekt.
Användarvisningsbild
Walle
Moderator
Inlägg: 7701
Blev medlem: 14 december 2004, 10:32:18
Ort: Stockholm

Inlägg av Walle »

1: Vanliga digitala utgångar. Du ska ju bara slå på/av transistorn :) En logiknivåstyrd FET bottnar på 5V, det gör inte en som inte är logiknivåstyrd.

4: Ska du inte mäta rotationen runt axlarna, utan bara själva accelerationen så bör det räcka med en tvåaxlig. Men jag tvivlar på att det är så lätt att få till det så det fungerar bra. Men det är bara att prova :)

Jag förstår inte riktigt vad du menar med "vinklade"? Två av rotorerna (fram och bak) roterar medurs, två moturs (höger och vänster). Propparna är således olika, beroende på vilket håll de roterar åt. De ska altså vara riktade precis rakt nedåt, inte vinklade åt något håll, om det är det du menar.

5: Jag tvivlar på att den kommer orka bära en tre cells 2250mAh-ack. Jag har flugit min med en 1200mAh-ack, och det går men då har den inte mycket kraft över.

Att få den att hänga på en och samma plats kräver mer än aktiv stabilisering. Aktiv stabilisering innebär att den återgår till hovrande läge, men vill man få den att hålla en viss position krävs det att den dessutom kan motkompensera rörelsen. Det är mycket svårt att få till, inget man fixar på ett skolprojekt direkt.

Jag skulle nog nästan rekommendera en Basic Stamp till det här projektet. Det är en PIC-baserad µCU med inbygd BASIC-tolk. Den är snabb att komma igång med, lätt att programmera, och PIC-BASIC-språket har massor med funktioner som skulle underlätta en hel del för dig! Bland annat funktioner för PWM, och för att mäta pulslängder (vilket man gör för att ta in signalen från mottagaren).

Att ta in signalen från mottagaren är enkelt. Det är en PWM med ca 50Hz PWM-frekvens och pulslängd på ungefär 1-2ms, där 1.5ms är neutralläget.
Mindmapper
Inlägg: 7106
Blev medlem: 31 augusti 2006, 16:42:43
Ort: Jamtland

Inlägg av Mindmapper »

PIC-stamp. :lol: Nog är Microchip folket bättre på att göra reklam än MCU'er. :D Men den här draghjälpen tror jag dom tackar nej till.

PIC-basic, vrider sig någon kanske. :shock:

Håller dock med på att det inte är något enkelt projekt.
Användarvisningsbild
Walle
Moderator
Inlägg: 7701
Blev medlem: 14 december 2004, 10:32:18
Ort: Stockholm

Inlägg av Walle »

Hmm..kan det månne vara så att jag minns fel, att den inte alls är baserad på en PIC? :) Var läääänge sen jag använde en (har dock en stamp ligger nånstans och skräpar), men jag hade bestämt för mig att den var PIC-baserad :) Språket hette visst PBASIC, det var väl för att jag hade fått för mig att den var PIC-baserad som jag fick det till PIC-BASIC ;)

Hur som helst så tror jag att en Basic Stamp är bäst för det här projektet, med tanke på att det är ett skolprojekt.
Mindmapper
Inlägg: 7106
Blev medlem: 31 augusti 2006, 16:42:43
Ort: Jamtland

Inlägg av Mindmapper »

Varför ska Basic Stamp vara bra att lära sig i skolan? Tror inte att det är efterfrågat från näringen att de ska kunna! Bäst är nog att bygga på den kunskap och utrustning dom redan har!
Användarvisningsbild
Walle
Moderator
Inlägg: 7701
Blev medlem: 14 december 2004, 10:32:18
Ort: Stockholm

Inlägg av Walle »

Jag tänker mest på inlärningskurvan. Med en Basic Stamp är man igång på nolltid, mer eller mindre. Speciellt eftersom den har många av de funktioner som behövs för det som ska göras inbygt i språket. Klart det inte är efterfrågat från branchen dock, en Basic Stamp är ju en leksak :)

Fast å andra sidan vet jag inte vilken nivå det här ligger på, måste erkänna att jag nog fick för mig att det handlar om grundskole- eller gymnasienivå, och att man då inte skulle ha den tiden som behövs för att sätta sig in i allt, lära sig programmera asm eller C, tillverka kretsar, o.s.v.
hatten
Inlägg: 94
Blev medlem: 9 maj 2008, 22:16:23
Ort: Uppsala

Re: Fyr-rotorig flygfarkost

Inlägg av hatten »

Kul projekt!
HonkStonk skrev:Och var får man info om hur man får mikroprocessorn att behandla PWM-signaler som kommer direkt ifrån en låt säga 4-kanalig 35Mhz radiomottagare?
Här, såklart! :)

Jag har just gjort ett liknande system, dvs kopplat en RC-mottagare till DC-motorer via en µC. Mitt förslag för att mäta pulsbredderna är följande;

Använd en mikrodator med pin change interrupt på alla pinnar (i mitt fall en ATmega164P, men det finns flertalet andra att välja mellan). Koppla mottagardelens utsignaler till en och samma port på mikrodatorn. Maska sedan så att den lyssnar på en kanal i taget och triggar en interrupt vid varje flank. Interrupt-rutinen håller du med fördel så enkel som möjligt, dvs nollställer en timer vid detekterad rising edge och läser av samt sparar timerns värde vid falling edge. När en hel puls har blivit avläst maskar du om så att du lyssnar på nästa pinne. Loopa igenom alla pinnar på detta sätt så är du väldigt nära hamnen.

Men, som flera skribenter har påpekat under tiden jag skrev ovanstående är "svårighetsgraden" kanske lite hög, utan att veta något om dina förkunskaper eller projektets tidsram/budget. Har du programmerat förut?
Mindmapper
Inlägg: 7106
Blev medlem: 31 augusti 2006, 16:42:43
Ort: Jamtland

Inlägg av Mindmapper »

På grundskolenivå vore det nog ok. Här är det nog gymnasienivå och då bör det nog vara lite mer kretsnära eller i vissa fall mera systemnivå. Beror väl på vad syftet är. Har aldrig själv hållit på med Basic-stamp utan har väl egentligen bara hört hur många baktalat dom. Har faktiskt någon gång tittat på systemet, men kom då fram till att det var för långsamt för det som var på gång då.
Användarvisningsbild
Walle
Moderator
Inlägg: 7701
Blev medlem: 14 december 2004, 10:32:18
Ort: Stockholm

Inlägg av Walle »

På den tiden när jag höll på med Basic Stamp var det just i RC-sammanhang. För att styra lite servon eller motorer med PWM är den faktiskt lysande, just för att den är så snorenkel att programmera.

Men som sagt, det beror ju också på nivån och syftet med det hela. Om elektronik- och programmeringsbiten bara är ett "nödvändigt ont" i ledet att få en fungerande maskin ser jag absolut ingen anledning att inte använda en BS.

Är syftet att lära sig µCU-biten och programmeringen av den så skulle jag satsa på något annat.
Användarvisningsbild
Icecap
Inlägg: 26636
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Inlägg av Icecap »

Att ens nämna BasicStamp i ett projekt som innebär 4 st samtidiga PWM-signaler, mottagning från radio och input från ett antal accelorometra viser att man inte riktigt har klart för sig vad som behövs.
Användarvisningsbild
Walle
Moderator
Inlägg: 7701
Blev medlem: 14 december 2004, 10:32:18
Ort: Stockholm

Inlägg av Walle »

Vad faller BS på, enligt dig, Icecap?

Jag tror det skulle gå aldeles utmärkt att använda exempelvis en Basic Stamp 2px. Att generera 4 PWM-signaler (det finns ett specifikt PBASIC-kommando för att generera PWM, "PWM"), ta emot signaler från mottagaren (finns ett specifikt kommando för det också, "PULSIN") och att läsa in två axlar från en accelerometer är inga problem.

BS2px exekverar ca 19.000 instruktioner/sekund, och det lär räcka med råge, med tanke på att det t.ex. endast krävs en instruktion för att läsa in en kanal från mottagaren. Inläsning av accelerometrarna är en baggis också.

Så vad gör att det inte skulle fungera med en BS?

Btw, Mindmapper, så hade jag visst inte helt fel angående Basic Stamp och PIC i alla fall :) BS1 var bestyckad med en 16C56a och BS2 med en 16C57c. Senare BS-modeller är bestyckade med en Ubicom SX28AC eller SX48AC.
Användarvisningsbild
Icecap
Inlägg: 26636
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Inlägg av Icecap »

Walle: ganska tydligt att du inte vet hur ett sådan system måste fungera.

BS är dels skit, på tok för dyrt och begränsat men viktigast av allt: det finns inten interrupt!

Kan du beskriva HUR den ska ta emot pulser från radion kontinuerligt, läsa av accelerometerna (ja, de blir sekventiella) och styra PWM-utgångerna samtidig?

Accelerometernas avläsning och den medföljande styrning av PWM-utgångerna kan den nog klara men hur ska den SAMTIDIG hänga med radioinformationen?

Det går inte att vänta på den (som PulseIn kräver), den ska hålla reda på synkroniseringen, detta kan enbart klaras av om man har en interrupt och använder en Capture-enhet, kan BS det?

Det jag har läst om BS viser mycket tydligt att den bara kan sköta en sak åt gången och inte har interrupt vilket gör det omöjligt att använda till detta.
Användarvisningsbild
Walle
Moderator
Inlägg: 7701
Blev medlem: 14 december 2004, 10:32:18
Ort: Stockholm

Inlägg av Walle »

Icecap: Det känns snarare som att du överskattar hur avancerat styrsystem som behövs för att flyga skrället. Jag har sett folk som har moddat sina X-UFOs till att flyga stabilt helt utan µCU. I orginal är det ett billigt och fruktansvärt värdelöst gyro som står för stabiliteten.

Sen om BS är skit eller inte beror väl helt på vad man ska använda den till, eller hur? Allt har sina för och nackdelar. BS nackdelar är väl att den inte är speciellt snabb, saknar interrupt (dock har den nåt de kallar "polling", samt att det med ett knep går att få till pseudo-interrupt), och såklart priset.
Fördelen är att det är oerhört enkelt att implementera den i ett system, även för någon som inte har någon tidigare erfarenhet av programmering.

Att t.ex. koda en 4-kanals servomixer går på nolltid. Jag har gjort det själv, för några år sedan, för ett flygplan som krävde mer avancerad mixning än vad min computerradio klarar.

Men hur som helst, sure, avsaknaden av äkta interrupt kan vara ett problem.

Omöjligt säger du..jag blir sugen på att bygga om mitt X-ufo med en BS2sx som kontroller, enbart för att visa att det går ;) Den dan jag får mycket tid över så...;)
v-g
EF Sponsor
Inlägg: 7875
Blev medlem: 25 november 2005, 23:47:53
Ort: Kramforce

Inlägg av v-g »

Tror faktist att båda har rätt. "Farkosten" är inte så snabb så att inte BS hinner med den det är helt rätt, MEN problemet är om BS missar sina instruktioner för att den håller på med annat så är du ute på tunn is.

Att då buffra signalen "i väntan på" BS är ohyggligt svårt och garanterat över nivån som BS programmeraren antas ha. BS är perfekt till blink a led och köra robotar osv med men då krävs att man kör ett program "runt runt" i detta fall är det mer "sitta och vänta" då passar inte BS helt enkelt.

BS styrka är också dess strörsta svaghet. Man kommer igång snabbt MEN väggen kommer också relativt snabbt, sen kan man aldrig bygga saker som används till något eftersom µcn är så dyr. Det är liksom inte lika kul när varenda pryl man bygger kostar 800 spänn :roll: Till BS fördel, den har inbyggd 5v regulator men den kostar å andra sidan inte 30 spänn att bygga själv heller (blir dock aningen större ;)

En aning roligare när man ser ens egenbyggda motorkontroll eller pannstyrning inte kostar mer än ett par hundra i kretsar, då börjar det vara lönt.

Välj PIC eller AVR. Tröskeln är högre men när du väl är på banan är möjligheterna i princip obegränsade detsamma kan inte sägas om BS.

Edit:PIC eller AVR är inte felfria som det tycks låta utan det hänger fortfarande på programmeraren ;)

Hör med folk på forumet som kört BS, man växer ur den helt enkelt, och det ganska snabbt. Har en BS2pe själv som är till salu, lite använd sen PIC kom in i bilden ;)
Mindmapper
Inlägg: 7106
Blev medlem: 31 augusti 2006, 16:42:43
Ort: Jamtland

Inlägg av Mindmapper »

Walle skrev:Btw, Mindmapper, så hade jag visst inte helt fel angående Basic Stamp och PIC i alla fall :) BS1 var bestyckad med en 16C56a och BS2 med en 16C57c. Senare BS-modeller är bestyckade med en Ubicom SX28AC eller SX48AC.
Det är nog en hel del år sedan, tycker det var länge sedan jag kollade, och det var Ubicom, men tiden går så fort numera. P-basic stod i varje fall för Parallax Basic och inte något annat.

Tror nog egentligen också att det går, men...
Bäst är nog att bygga på den kunskap och utrustning dom redan har!
Vi får väl se var HonkStonk hamnar till sist.
SvenW
Inlägg: 1156
Blev medlem: 24 april 2007, 16:23:10
Ort: Göteborg

Inlägg av SvenW »

När det gäller val av processor så är det nog omöjligt att veta vilken som är bäst! Jag råkar just nu hålla på och labba med ATMega48. Den har såvitt jag kan se allt som behövs: 6 PWM-utgångar, 6 ADC, External Event Counter.
Den går att programmera 'bitbanga' från parallellporten och det finns en fri utveklingsmiljö åtminstone för Linux.
Om den är lätt att komma igång med är svårt att säga; det tar säkert femtio eller hundra timmar, och man måste kunna läsa engelska manualer. Men jag tror inte det kan bli så mycket enklare än så trots allt. Om det skall fungera bra.
Skriv svar