GPSpiloot

User avatar
tola555
Posts: 348
Joined: Thu Mar 15, 2007 13:24

Post by tola555 »

mis kood on? C? asm? C koodi uudistaks ise kah
Ma muidu ise plaanin kah autole taolist asja. Kohe lennukile ei saa ikka paigaldada, võib kalliks minna :P Auto tuleb nendest juppidest: http://notsu.pri.ee/asd/index.php.html ja PIC asemel on mul AVR ja ARM(GPS on selle küljes ja ei saa teda lahti). Hetkel on plaan mitte osta servo kontrollerit vaid teha see ise.
User avatar
-Ilmar-
Posts: 367
Joined: Mon Jan 08, 2007 11:08
Location: Viljandi
Contact:

Post by -Ilmar- »

Elou!

Olen enamuse ajast progenud assembleris, MPLAB. Seoses GPSpiloodiga hakkasin õppima MikroC keelt.
Enam ei saanud hakkama assembleris arvutuste tegemisega, rad, atan2. Ühesõnaga C. http://www.mikroe.com/en/compilers/mikroc/pic/
Teine asi mis hirmsasti hakkas meeldima on PicFlash2 http://www.mikroe.com/en/tools/picflashwicd/ Programmaator millel on riistvaraline debugimine Microchipi enda progejad maksavad oi oi...

Sihtpunkti arvutus:

Code: Select all

void GPS_Arvutus()    // hakkame arvutama
{
  if (gps_OK[0] == 'A'){
      // konverdime GPSi andmed Ddmm.mmmm -> dd.dddd
			// latitude  gps_LAT
      gps_LAT[9]=0x30;  // taastame
  		afterDecimal[0] = gps_LAT[2];
			afterDecimal[1] = gps_LAT[3];
			afterDecimal[2] = gps_LAT[4];
			afterDecimal[3] = gps_LAT[5];
			afterDecimal[4] = gps_LAT[6];
			afterDecimal[5] = gps_LAT[7];
			afterDecimal[6] = gps_LAT[8];

   currentLat = (float)(atol(gps_LAT)/100) + atof(afterDecimal)/60;

       // konverdime GPSi andmed 0Ddmm.mmmm -> dd.dddd
			// longtidude gps_LONG
      gps_LONG[10]=0x30;  // taastame
			afterDecimal[0] = gps_LONG[2];
			afterDecimal[1] = gps_LONG[3];
			afterDecimal[2] = gps_LONG[4];
			afterDecimal[3] = gps_LONG[5];
			afterDecimal[4] = gps_LONG[6];
			afterDecimal[5] = gps_LONG[7];
			afterDecimal[6] = gps_LONG[8];

   currentLong = (float)(atol(gps_LONG)/100) + atof(afterDecimal)/60;

// hakkame arvutama suunda "bearing"
	LatTo_m	= 111377.60;
  LongTo_m = 59132.84;

   Lat = 0.0;
   Long = 0.0;
   angle = 0.0;
   Lat_m = 0.0;
   Long_m = 0.0;
	// current waypoint
//	currentWayptLat = 58.34663;
//  currentWayptLong = 25.61145;

    Lat = currentWayptLat - currentLat;
    Long = currentWayptLong - currentLong;

// Siin kontrollime kas on vaja vahetada sihtpunkti 1852*0,0003=0.54m
// 1 kaareminut ~1 meremiil (1852m)
// 0.0000040  +-0.0003   0.5m
// 0.000015   +-0.0006   1.1m
// Lat  0.000030   +-0.0017   3.1m
// Long 0.000060   +-0.0035   6.4m
// --------------------------------
// Lat  0.000070   +-0.0042   7.7m
// Long 0.000140   +-0.0080   14m
// --------------------------------
// Lat  0.000090   +-0.0053  9.8m
// Long 0.000180   +-0.0100 18.5m
   if((Lat<0.000070 && Lat>-0.000070) && (Long<0.000140 && Long>-0.000140)) {
         SDrida++;
         EEprom_Write(0, SDrida);   // salvestame mällu uue sihtkoha punkti aadressi
      if (SDrida == 99) SDflag = 1; // edaspidi enam kaardilt ei loe
       SihtpunktFailist();          // loeme uue sihtpunkti failist
    Lat = currentWayptLat - currentLat;
    Long = currentWayptLong - currentLong;
    Lcd_Out(1, 1, "Sp");          // Print text at LCD
    }
        Lat_m = Lat * LatTo_m;
    Long_m = Long * LongTo_m;

  rad = atan2(long_m, lat_m);
  angle = 180 * rad / 3.14;

  if ((Lat > 0) && (Long < 0))  // kas on neljandas veerandis?
   angle = 360 + angle;
   else
  if ((Lat < 0) && (Long < 0)) // kas on kolmandas veerandis?
   angle = 180 + angle + 180;
   else;
      FloatToStr(angle, bearing);

  bearing[5]=0;                            // märgime teksti lõpu muidu LCD kirjutab jura
  Lcd_Out(2, 16, bearing);         // Print text at LCD
  }
  else
  Lcd_Out(2, 16, "---.-");         // ei lubatud arvutada...
}
Praeguse seisuga:
prose: PIC18F2520
kell: 11Mhz
Kasutatud mälu: 78%

Parimat soovides,
-Ilmar-
User avatar
-Ilmar-
Posts: 367
Joined: Mon Jan 08, 2007 11:08
Location: Viljandi
Contact:

Post by -Ilmar- »

Elou!

Image

Tegin uue plaadi, ilma ekraanita, kaal 40g.
2 potekat - rooliservo käik ja keskpunkt.
nupp - sihtpunkti nullimiseks.

Hetkel kasutuses autopiloodi lülituse sisend ja rool. Kasutan mux lülitust, kas rooli keerab autopiloot või saan puldist ise juhtida.

auto - katsetamata.
UHU - katsetamata.

Parimat soovides,
-Ilmar-
User avatar
tola555
Posts: 348
Joined: Thu Mar 15, 2007 13:24

Post by tola555 »

mis see 16 jalaga kiip on? max232 ?
AndrusT
Posts: 541
Joined: Mon Mar 05, 2007 19:41
Location: Tallinn

Post by AndrusT »

ohh, lahe, ajab endal ka uuesti isu peale.
Vaatan, et vormistus läheneb jõudsalt tehase toodangule.
User avatar
-Ilmar-
Posts: 367
Joined: Mon Jan 08, 2007 11:08
Location: Viljandi
Contact:

Post by -Ilmar- »

Elou!

Kasutatud prussakad :)

prose: PIC18F2523 - sellel on 12bit ADC
mux/switch: MAX4053
GPSiga ühendus kahe transiga. GPS on TTL väljundiga, andmeleht väitis et 2.8V TTL. Arvasin et PIC võib valesti aru saada, panin 2 trantsi.
Kõrguse hoidmiseks on mul eraldatud üks analoog sisend 12bit ja üks mux kanal. Kõrguse hoidmine lahendamata.

Parimat soovides,
-Ilmar-
[J]
Posts: 2776
Joined: Sun Aug 28, 2005 22:42
Location: Tallinn

Post by [J] »

Kas seda saaks panna platsi kohal lõpmatut ringi lendama. Trajektoori täpsus pole oluline. Kõrgust peaks gaasi abil hoidma.
Saaks kestvusrekordit näiteks teha!
User avatar
-Ilmar-
Posts: 367
Joined: Mon Jan 08, 2007 11:08
Location: Viljandi
Contact:

Post by -Ilmar- »

Elou!

Hetkel tegingi nii, et sihtpunkte saab lisada kuni 99tk. Võib ka panna ainult 2 punkti ja kui GPS jõuab punkti-B suundub punkti-A. Niimodi kuni aku tühi :)
Autoga katsetasin jalka platsil A-B ja sõitis kuni aku tühi :P
Kui punkte on rohkem siis peab arvestama et jõuaks ringiga tagasi, muidu paneb otse tagasi :)

Lahe oli vaadata, pulti ei puutu, panin puldi käest ja auto muutkui pendeldas edasi-tagasi :)

Parimat soovides,
-ilmar-
[J]
Posts: 2776
Joined: Sun Aug 28, 2005 22:42
Location: Tallinn

Post by [J] »

Sub-class : F8 Open (Aeroplane, Electric motor S (rechargeable sources of current))

N°914: Duration : 31 min 12 sec

Date of flight: 03/05/2008
Modeller: Gary B. FOGEL (USA)
Crew: Lindsey CHEW (USA)
Course/place: California Valley, CA (USA)

USA asemele saaks Estonia kirja kui ...
User avatar
mart63
Posts: 2508
Joined: Mon Jul 24, 2006 16:44
Location: Tallinn,Mustamäe

Post by mart63 »

Pool tundi!?
See on ju kui kiviga visata, kui elektroonika on kindel.
User avatar
-Ilmar-
Posts: 367
Joined: Mon Jan 08, 2007 11:08
Location: Viljandi
Contact:

Post by -Ilmar- »

Elou!

Ma olen kah nüüd hädas....
Uus plaat, auto sama.
Tegin ühe katse jalka platsil, muru sees, kõik OK. Kuna auto murus väga ei taha roomata(kui siis alguses, kui aku täis), otsustasin teha katse kooli parklas. Täisaku, sihtpunkt AB, ma muidugi ei lugenud kordasid, mitu korda ta sihtpunkte läbis aga toimis OK.
Kuid ühel hetkel hakkas autopilooti ise maha võtma ja natukese ajapärast pani tagasi. Hea küll, võtsin piloodi puldist maha, auto jäi seisma. Nimelt on mul PICi sisse lülitatud "vahikoer" kui PIC 4sek. jooksul koera kuuti ei kamanda, teeb koer PICile reseti. Nii tunduski, peale reseti oli piloot maas ja kuna pult oli piloodil lülis uuesti auto sõidule.
Ja üllatus üllatus, kui kodus SD mälukaarti vaatasin siis seal oli pudru ja kapsad, miski suutis failid ära rikkuda, aitas vaid format.
Ise katlustan pooltühja akut, nimelt kui tegin uue katse pooliku akuga siis kolmandal ringil tekkis viga kohe uuesti...

Samas kui PIC sai toite seinakuubikust ja tegin nii, et ta vahetakse kogu aeg sihtpunkti ja vehiks servoga, puudus vaid auto, siis 3tunni jooksul ei juhtunud midagi....

Kas kasutaks eraldi toidet, auto/lennuki peal?

Parimat soovides,
-Ilmar-
AndresO
Posts: 146
Joined: Mon Feb 12, 2007 10:32
Location: Tallinn

Post by AndresO »

Ehk tekitab auto(mootor) häireid, mis teatud madalama akupinge juures võivad paremini mõjule pääseda. Eraldi toide ei pruugi siis ka aidata.
[J]
Posts: 2776
Joined: Sun Aug 28, 2005 22:42
Location: Tallinn

Post by [J] »

Lennukil on tavaliselt vähemalt 3 LiPo-t, siis 12V ja sellest teeb stabilisaator vastuvõtjale ka 5V. Nii madalale justkui langeda ei saa, et 5V jaoks ei jätku, sest 9V peal lülitatakse juba veomootor välja (2 LiPo korral 6V peal).
Mingid sellist tüüpi stabilisaatorid veaks ikka välja kui ESC omast ei piisa?
http://unitedhobbies.com/UNITEDHOBBIES/ ... oduct=2160
http://unitedhobbies.com/UNITEDHOBBIES/ ... tegory=112
User avatar
-Ilmar-
Posts: 367
Joined: Mon Jan 08, 2007 11:08
Location: Viljandi
Contact:

Post by -Ilmar- »

Elou!

Minul on praegu autol 7805 pinge regu mis teeb 12V>5V. Mootori jaoks pole ESC vaid lülitan releega mootorile täismatsu peale.

-Ilmar-
User avatar
tola555
Posts: 348
Joined: Thu Mar 15, 2007 13:24

Post by tola555 »

ehk piisab esialgu paarist kondekast
[J]
Posts: 2776
Joined: Sun Aug 28, 2005 22:42
Location: Tallinn

Post by [J] »

... ja feriitrõngast?
User avatar
-Ilmar-
Posts: 367
Joined: Mon Jan 08, 2007 11:08
Location: Viljandi
Contact:

Post by -Ilmar- »

Elou!

ferriit on ja elektrolüüdid 470uF,100uF ja on ka 100n konded.

-Ilmar-
[J]
Posts: 2776
Joined: Sun Aug 28, 2005 22:42
Location: Tallinn

Post by [J] »

Kui ikka toitest sõltub, võiks minna üle UBEC-le. 7805-ga ei saagi peaaegu võrrelda.

Over current and over heat protection.
Switching frequency 300khz.
Chip Efficiency is 92%. This UBEC utilises switching technology to gain a much higher efficiency than liniar BEC. Which means less heat and longer battery life.
The UBEC is equiped with a noise reduction alloy housing to reduce noise even further.
Incorrect polarity safety feature ensures the UBEC will not be destroyed should the battery be connected incorrectly.
jne.
Image
Last edited by [J] on Mon Jun 09, 2008 11:20, edited 1 time in total.
User avatar
-Ilmar-
Posts: 367
Joined: Mon Jan 08, 2007 11:08
Location: Viljandi
Contact:

Post by -Ilmar- »

Elou!

Kas ma teen õigesti, kui kasutaks katseks:
Lipo 7.4V 1500mA ja ESC PICO8 on küll lennuki oma.
Kui auto mootori kinni poon siis üle 2ampri ei lähe. PICO8 peaks ellu jääma.
Et kasutan PICO8 - BEC saan 5V ja teen uue katse?

Ma tõesti ei tea, millest probleem tekib, kas soft, või toide. Samas laua peal ei oska seda esile kah kutsuda...

Muud mul pole,
-Ilmar-
[J]
Posts: 2776
Joined: Sun Aug 28, 2005 22:42
Location: Tallinn

Post by [J] »

See on 8A mootorile?
Peaks ju varuga jätkuma.
Ennem ei kõlba LiPo kui äkki 1C vooluga. Tavaliselt on aga vähemalt 5C ikka.
pipercub
Posts: 516
Joined: Wed Dec 13, 2006 13:10
Location: Tartu

Post by pipercub »

1A vooluga peab 7805 tüüpi pingeregulaatori sisendpinge olema ~7V, 100mA puhul 6,8V. Mudelite mootorite regulaatorites kasutatakse madala pingelanguga ehk LDO(Low Drop-Out) kive. Pingelanguga 0,25 - 0,8V.
LM1117, LM2940, LM2941, L4940, L4941.
User avatar
-Ilmar-
Posts: 367
Joined: Mon Jan 08, 2007 11:08
Location: Viljandi
Contact:

Post by -Ilmar- »

Elou!

Uus katse, Lipo 7.4V 1500mA, ESC PICO8, auto sama, koht sama, kus jukerdas.
Juba lennukilähedasem katse :) Auto kiirust hoidsin puldist, kui auto oli käsijuhtimisel sain autot ise juhtida, nupust käis autopiloot.
Kaks sihtpunkti AB vahemaa ~46m.
Punkti A läbis üle 20x edasi ei lugenud, GPS log näitab täpsemalt kordasid aga aeg oli ligi/üle 50min. :)
Mälukaarti käkki ei keeranud akut tühjaks ka ei sõitnud jäi 7.5V.

Katse üliedukas!!!
Järgmine oleks lennukatse???

Parimat soovides,
-Ilmar-
[J]
Posts: 2776
Joined: Sun Aug 28, 2005 22:42
Location: Tallinn

Post by [J] »

Kõrgust saab hoida uuemate GPS-vastuvõtjatega piisava täpsusega ja hakkama saab ilmselt ilma rõhuanduriteta ja tülika analoogvõimendita:
http://diydrones.com/profiles/blog/show ... st%3A39771
User avatar
-Ilmar-
Posts: 367
Joined: Mon Jan 08, 2007 11:08
Location: Viljandi
Contact:

Post by -Ilmar- »

Elou!

Tänan lingi eest...

Kahjuks pole veel enda pilooti lennukile saanud, õigemini lennukile sain, mahub väga ilusasti ja tüürib kah aga lennukiga pole lennanud.

Mul on ka see SiRF III-based EM406.
Seoses selle GPS'i ja kõrgusega, tegin kiiresti ühe katse.
Lisasin programmi $GPGGA lugemise, mis sisaldab kõrgust merepinnast.

PIC salvestas iga 5sek järgi kõrgust ja mina käisin katuseidmööda...

Tulemus on selline:
http://www.hot.ee/wzoft/GPSpiloot/GPSLOG01_katusel.xls

Katusel oli III erinevat kõrgust + lõpuks maapinnal.
See kus ma kirjutasin I,II,III kõrgus see on see hetk kui ma vaatasin oma kella. Vaadata tuleks sellest ajast edasi, vahetult enne võis olla mööda redelit ronimine.

III ja maapinna vahel on suur kukkumine, seal ma ei hüpanud vaid lülitasin seadme välja ja ronisin alla... :)

Parimat soovides,
-Ilmar-
[J]
Posts: 2776
Joined: Sun Aug 28, 2005 22:42
Location: Tallinn

Post by [J] »

See peaks ju kõrguse hoidmiseks piisama küll ???
Käsitsi silma järgi kõrgust hoides mingi 100 m kõrgusel kõigub kindlasti palju rohkem kui +/- 5 meetrit, sest pea kohal silmaga kõrgust hinnata on raske.
Mina üritaks gaasi sealt kaudu muuta ja +/- 20 m lennus pole umbes 100 m kõrgusel justkui probleem.
User avatar
-Ilmar-
Posts: 367
Joined: Mon Jan 08, 2007 11:08
Location: Viljandi
Contact:

Post by -Ilmar- »

Elou!

Käisin GPSpilooti katsetamas...

1. Tuleb tõdeda, mina UHU lennukit lennutada ei oska...
2. Lisaks lendan maakerale liiga lähedal...

Image

Imelikul kombel on tiivad ikka veel terved :)

GPS ise jäi ellu, pilooti pole veel katsetanud. SD mälukaart ei jää enam kinni :)

Image

Mõned juhtmed katki... Lipo pistikust tuli juhe lahti... Lipo ise muljuda ei saanud.

SD mälukaart jäi terveks(must kast) Lennata sain alla minuti...
GPSlogi järgi lasin lennukil tõusta vaid 47,1m kõrgusele, oma viga...

Image

Imelik on see, et langemist pole üldse näha, kas see ei jäänud 5sek. sisse :) või sai GPSpiloot matsust ja mäluka :P
Takkajärgi arvan, et juhtus nii - lasin lennuki üles, jätsin muidugi sihtpunkti seljataha. Nii kui piloodile lülitasin, keeras lennuk järsult otsa ringi, kiirus sai otsa, hakkas nina ees kukkuma...
Võtsin piloodilt maha ja üritasin viga parandada aga tuli ikka vastu maad :(

Liiga lähedal maakerale ei tohi lennata...
Ma ei tea miks ma kiirustasin...

Hea on see, et kõrguse mõõtmiseks kõlbab GPS vägahästi...

Edasi lendan LAMA V4'ga, seda pole ma ära lõhkunud :P

Väga kahju,
-Ilmar-
Last edited by -Ilmar- on Sat Jul 12, 2008 23:02, edited 1 time in total.
User avatar
vallojoe
Posts: 501
Joined: Tue Aug 08, 2006 23:41
Location: Tallinn/Harjumaa

Post by vallojoe »

Karta on, et datat ei jõutud korrektselt lõpuni kardie kirjutada, enne kui toide katkes.
Kurb, et nii kehvalt läks. :(
User avatar
mart63
Posts: 2508
Joined: Mon Jul 24, 2006 16:44
Location: Tallinn,Mustamäe

Post by mart63 »

Pane kogu kupatus vigurlennukile ning õpeta ta ideaalset f3a kava lendama. :D :D
User avatar
-Ilmar-
Posts: 367
Joined: Mon Jan 08, 2007 11:08
Location: Viljandi
Contact:

Post by -Ilmar- »

Elou!

Annan teada, et lennukiga on kõik korras, sai jälle väheke kuuma liimi kere vahele. GPSpiloot jäi ka ellu, ainuke häda, SD kaardipesa ei hoia enam mälukaarti kinni...
Millal ma nüüd jälle proovida julgen... Kuidagi hellaks on teinud need matsud.
Äkki soovitate midagi kergemat harjutamiseks :)
Tegelikult on see viga, vähese harjutamise viga...

GPSpiloot tahaks proovimist aga näed ei saa maast lahti :(

-Ilmar-
pipercub
Posts: 516
Joined: Wed Dec 13, 2006 13:10
Location: Tartu

Post by pipercub »

Lennuk tundub pildil olevat originaalmootoriga. Kui panna kergem ja võimsam brushless-süsteem, läheb ka piloteerimine tüki maad libedamalt.
Post Reply