Oldik napsal: Uff, tak to je vycerpavajici, dekuju za odpoved:) Prekopcim si to a budu se tim pokud mozno ridit. Mam to dovest do funkcni podoby, no pokud mozno funkcni, prekladac na avrka mam, jmenuje se to Ponyprog, jeste jsem s tim nedelala, prave k tomu bastlim jednoduchej programatorek, asembler jsem videla jen zdalky, kdyz jsem se ho museli ucit, ale od toho ruce pryc:)
Dotaz první, který asi určí celé směrování dalších rad a diskuze. Umíš programovat v C ? Máš k dispozici (má škola koupený) překladač C pro nějaký typ mikrokontrolerů ? (ne omezené demo, ty velikosti kódů, které to umí jsou na funkční GO-TO systém naprosto nedostatečné)
S tim dipslejem to je fakt, to jsem si neuvedomila, jen mi to navrh vedouci, kterej o tom moc nevi a ja mu na to skocila. Jinak ta 8051 me napadla, delala jsem na ni neco ve skole, mame tam programatory, takze by tim odpadlo jedno bastleni
Mám strach, že na tohle jen programátor asi stačit nebude, i když si od svého návrhu odmyslím spoustu parádiček a vychytávek, a nechám jen minimální nutnou kostru, nedokážu si představit, že bych to naprogramoval bez real-time hardwarového emulátoru (nebo čipu s vlastním JTAG emulačním rozhraním), ne myslím teď pomocí nějakého softwarového simulátoru, ten to moc neřeší, protože není návaznost na hardware okolo procesoru. Neříkám, že to nejde vůbec, ale rozhodně ne v rozumném čase, který na to máš, a to tvrdím i teď, kdy mám zasebou víc než deset let práce s vývojem elektroniky, programováním mikrokontrolerů a podobně. Pokud s tím začínáš, tak je to bez moderních vývojových prostředků značně nereálné. Pokud se zadavatel (a vedoucí, který, jak píšeš, tomu moc nerozumí) domnívá, že se to dá postavit v rozumném čase v assembleru a bez emulátoru (ne simulátoru !), tak ať si to zkusí Já jsem to svoje tvořil přes půl roku, a s profesionálními koupenými prostředky (Keil C + procesor s JATG HW emulátorem).
Tím tě rozhodně nechci nijak podceňovat ani odrazovat od té práce (spíš naopak, pokud se do toho pustíš, bude to pro tebe pořádná škola), ale pokus se ve spojení s vedoucím to zadání maximálně zminimalizovat. A prosadit si, že bez pořádných vývojových protředků to nepůjde, a bude to plácání se na místě.
ale avrka jsou prece jen trochu lidstejsi, teda aspon me prijde snadneji programovatelny. Jinak v tom starym modulu je nejaka 2051, ktera zajistuje to jednuduchy ovladani, jak jsem psala, takze dalsi faze bude preprogramovat ji na vetsi rychlost-to si porucili na hvezdarne, coz bude asi problem, pac zrejme nepujde upravovat zdrojak, vetsinou to vyrobci nejak zamknou:(
Problém není ten, že to je (nebo není) zamčené. Pokud nemáš zdrojový kód, tak analýza vyčteného kódu je několikanásobně pracnější, než to celé znovu napsat, nehledě na to, že z návrhu, který tam je, a hýbe tím pomalu, GO-TO s rychlými pohyby prostě neuděláš, viz. důvody v mém minulém sáhodlouhém příspěvku.
Zapomeňte prostě na to, že se dá udělat dvouosý GO-TO systém do Atmelu s 2KB (ev. 4KB, kdyby se tam dal 4051) paměti pro kód. To je sotva na očesaný kontrolér jedné osy (jednoho motoru) Navíc nemá PWM-ko, muselo by být mimo, v nějakém jiném obvodu nebo budiči, pak by to snad šlo. Ale znamenalo by to distribuovaný systém, každý motor svoji jednotku s Atmelem, s rutinami pro rozjíždění, zpomalování, počítání pulsů, nastavování rychlostí, mikrokrokování. Komunikovalo by se s tím sériově, jednotky pro RA a DE osu by byly identické, každá by měla jinou adresu. Pomocí nějakého vymyšleného protokolu by se manipulovalo s motory, a četly se zpět souřadnice a podobně. Celý systém by potom sestával z dvou takovýchto jednotek a hlavního ovladače do ruky, který by je řídil. Něco podobného jsem měl postaveno (bez GO-TO) a i se 4 KB AT89C4051 to bylo tak tak a GO-TO se tam nevešlo.
Omezeni pohybu montaze, to asi necham byt, kdyz to spoctu kolem a kolem, mam na to tak devet mesicu a to po me fakt nemuzou chtit.
To je rozumné, počítat goniometrické funkce na malém jednočipu bez slušného překladače a matematických knihoven není moc reálné.
To mikrokrokovani zkusim najit a nastudovat.
Kdyz o tom tak premejslim, tak bude asi nejlepsi klavesnicka s jednoradkovym displejem, nebo tak neco.
Nesoustřeď se teď vůbec na uživatelské rozhraní (klávesnici, displsej...) Pořád mám pocit, že to chceš stavět jakoby odshora, tohle je až poslední záležitost, až budou fungovat věci na nižších úrovních. Musíš to začít stavět odspoda, jinak vede cesta do pekel, věř mi.
Kdybych to měl shrnout, tak doporučuji následující postup:
1) zjistit, jaké vybavení (překladač C, s jakými omezeními, emulátor) a pro jaký typ mikrokontroléru, je k dispozici. Pokud jen assembler a Ponnyprog, tak potěš pánbůh
2) na základě tohoto zjištění vybrat vhodný mikrokontrolér (bude-li ovšem z čeho vybírat) nebo nějakým způsobem donutit školu něco pořídit.
Když se na to podívám realisticky, tak krabička s JTAG HW emulátorem na typ procesoru, co používám, stojí dnes necelé 2000,- a vhodný procesor od Sillicon Labs (výkonná řada x51 s RISC jádrem) od 200 do 600 stovek. To je relativně zanedbatelná investice.
U Honzou zmiňovaných MSP-ček je to podobně. Jediná investice je kompilátor, ale i to lze obejít (vím, nemá se to, já mám samozřejmě Keil legálně koupený) ale potkal jsem na síti i cracknutou plnou profi verzi Keilu
Pokud vím tak i na AVR-ka AVR studio podporuje verze s JATG debuggerem. Nicméně jsem to nikdy v ruce neměl, ale na fórech se o tom běžně diskutovalo. Jak to je s dostupností C překladače, nevím.
3) Udělat ideový návrh se zvoleným procesorem, a začít programovat. ODSPODU !!! Zapomeň v té fázi na displej a podobně. Nejdřív rozpohybuj motory, nauč je jezdit správnými rychlostmi, počítat souřadnice, a pak teprve přejdi ke komunikačním záležitostem a uživatelskému rozhraní. Posledním završením je databáze objektů, tu nech nakonec.
No zatim moc dekuju za vycerpavajici popis, nevim jak ted budu na netu, odjizdime s hvezdarnou na takovy skoro dvoutydenni neco jako soustredeni:) Tak az se vratime, asi na tom zacnu intenzivne makat a otravovat Te. Teda spis az zacatkem zari(po zkouskach :-/)
Tak zatim moc dekuju, ze sis udelal cas a co nejdriv se ozvu
Doufám, že teď z toho nebudeš mít "hlavu v pejru". Užij si to soustředění, a pak se klidně zase ozvi.
MMys