Page 3 of 4
Posted: Wed May 14, 2008 12:45
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

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.
Posted: Thu May 15, 2008 15:42
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-
Posted: Mon Jun 02, 2008 10:15
by -Ilmar-
Elou!
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-
Posted: Mon Jun 02, 2008 11:07
by tola555
mis see 16 jalaga kiip on? max232 ?
Posted: Mon Jun 02, 2008 11:09
by AndrusT
ohh, lahe, ajab endal ka uuesti isu peale.
Vaatan, et vormistus läheneb jõudsalt tehase toodangule.
Posted: Mon Jun 02, 2008 11:16
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-
Posted: Mon Jun 02, 2008 14:12
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!
Posted: Mon Jun 02, 2008 15:32
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

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-
Posted: Mon Jun 02, 2008 16:13
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 ...
Posted: Mon Jun 02, 2008 16:36
by mart63
Pool tundi!?
See on ju kui kiviga visata, kui elektroonika on kindel.
Posted: Mon Jun 09, 2008 9:35
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-
Posted: Mon Jun 09, 2008 9:42
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.
Posted: Mon Jun 09, 2008 9:58
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
Posted: Mon Jun 09, 2008 10:24
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-
Posted: Mon Jun 09, 2008 10:30
by tola555
ehk piisab esialgu paarist kondekast
Posted: Mon Jun 09, 2008 10:35
by [J]
... ja feriitrõngast?
Posted: Mon Jun 09, 2008 10:39
by -Ilmar-
Elou!
ferriit on ja elektrolüüdid 470uF,100uF ja on ka 100n konded.
-Ilmar-
Posted: Mon Jun 09, 2008 11:12
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.

Posted: Mon Jun 09, 2008 11:20
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-
Posted: Mon Jun 09, 2008 11:25
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.
Posted: Mon Jun 09, 2008 11:42
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.
Posted: Mon Jun 09, 2008 23:34
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-
Posted: Tue Jul 08, 2008 13:36
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
Posted: Thu Jul 10, 2008 17:11
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-
Posted: Thu Jul 10, 2008 18:45
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.
Posted: Sat Jul 12, 2008 22:42
by -Ilmar-
Elou!
Käisin GPSpilooti katsetamas...
1. Tuleb tõdeda, mina UHU lennukit lennutada ei oska...
2. Lisaks lendan maakerale liiga lähedal...
Imelikul kombel on tiivad ikka veel terved
GPS ise jäi ellu, pilooti pole veel katsetanud. SD mälukaart ei jää enam kinni
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...
Imelik on see, et langemist pole üldse näha, kas see ei jäänud 5sek. sisse

või sai GPSpiloot matsust ja mäluka

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
Väga kahju,
-Ilmar-
Posted: Sat Jul 12, 2008 22:52
by vallojoe
Karta on, et datat ei jõutud korrektselt lõpuni kardie kirjutada, enne kui toide katkes.
Kurb, et nii kehvalt läks.

Posted: Sat Jul 12, 2008 22:55
by mart63
Pane kogu kupatus vigurlennukile ning õpeta ta ideaalset f3a kava lendama.

Posted: Sun Jul 13, 2008 11:55
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-
Posted: Sun Jul 13, 2008 14:06
by pipercub
Lennuk tundub pildil olevat originaalmootoriga. Kui panna kergem ja võimsam brushless-süsteem, läheb ka piloteerimine tüki maad libedamalt.