Projekt-náklonoměr a akcelerometr s výstupem na grafický LCD

Čau všichni, nevím kam to dát, tak to šupnu sem.

Toto je téma mé bakalářské práce,ale protože o tom téměř nic nevím, potřeboval bych pár rad.
Náklonoměr a akcelerometr budou ovládány uC a data se budou zobrazovat na LCD. Jaký je pro toto nejvhodnější uC? a asi něco z rodiny 8051.
dál nevím jestli zobrazovat na displeji informace z obou senzorů nebo jen z jednoho. Jde to udělat nějak jednoduše? Třeba určit jeden pomocí tlačítka?

Díky všem za rady

:arrow_right: administrator: přesunuto z "Ostatní"

:arrow_right: administrator: přejmenováno z "Projekt - nálkonoměr a akcelerometr"

Mno, tak předem, žádná sranda to nebude… určitě půjde zobrazovat oboje naráz (nejsnáz to půjde na znakovém displeji a přepisovat jen pozice na displeji)
Já osobně bych třeba na ovládání volil PICko, třeba 16f690 nebo pokud budes vyuzivat 8bit prenos k LCD a senzory budou mit vsechny vystupy analagovy tak 16f877 (tady by ale samozrejme sly i SPI a I2C - aspon myslim).

toť snad zatím věe :wink:

Tak ten LCD ma byt graficky

no tak to si jeste uzijes :smiley: v tom pripade se nejdriv podivej jakym zpusobem budes komunikovat s LCD (SPI/I2C/paralelni rizeni) a podle toho svaba s patricnym rozhranim primo implementovanym v HW (SW nebude tak spolehlivy) nebo patricnym poctem nozicek a vlastni ovladaci rutinou

Další věc samozřejmě je s jakym typem uC jsi uz delal (pokud uplne nezacinas, pak to bude vazne mazec :wink: )

Nejvhodnější je použít mikrokontrolér, s jehož programováním máš nejvíce zkušeností. Dle tvého textu ovšem soudím (případně mě oprav, prosím), že tvé zkušenosti s aplikacemi s mikrokontroléry nejsou velké.

Pokud jsi zatím nic moc nenaprogramoval, tak Hello World! na grafický displej bude pro tebe projekt sám o sobě. Nemysli si, programování mikrokontrolérů není jako psaní jednoduchých programů v Java. Chce to hodně znalostí a hlavně zkušeností.

Během projektu budeš muset rozjet komunikaci s jednotlivými čidly, rozjet zobrazování dat na grafickém LCD a vyřešit matematické operace ohledně zobrazovaných údajů. I vývojáři, který už má za sebou mnoho funkčních aplikací, by tvorba tvého projektu zabrala hodně času.

Ale i tak kolegovi popřeju hodně štěstí. Už jenom proto, že letos taky končím Bc. obor a shodou okolností dělám taky projekt využívající mikrokontroler… :slight_smile:

Pokud nemáš se žádnou konkrétní rodinou mcu větší zkušenosti, tak bych se ovšem již x51 vyhnul a použil nějaké modernější běžně rozšířené 8b jádro jako AVR nebo PIC. Na vyšší třídu jako ARM bych se zase pro začátek taky nesnažil.
V případě přání psát v C zdarma a bez omezení bych to dále zúžil na AVR :wink:
Každopádně obsluha graf. disp. ti zabere hooodně času, takže začni co nejdřív. I tak budeš mít přes rok co dělat :wink:

Ahoj uz jsem neco malo vymyslel, ale mam dalsi dotazy:
lcd budu mit asi ATM12864D-FL-YBW
senzor zrychleni a naklonu MMA7260Q
to je dohromady 17 I/O a 3 A/D (staci mi ale jen 2, kanaly x a y)
nevim jakej k tomu vybrat mcu, chtel jsem nejakej PIC, ale nevim kolik budu potrebovat program. slov, eeprom pameti a ram pameti

k tomu vsemu by mel byt este prevodnik seriove linky na usb, nejaky tlacitko a asi nejaka dioda, takze tech I/O bude potreba min 20 , lepsi este vic, at je nejaka rezerva na pripadny dodelavky. A/D 10bitovy kvuli to senzoru. a este se budou ukladat data ze senzoru do pameti kazdou vterinu po zmacknuti toho tlacitka. Snad sem na nic nezapomel. Diky vsem za rady a tipy

Můj návrh je PIC 18f4550 nebo 18f2550 (ta 2550 ma min nozicek)
EDIT: jen doplním, že obě PICka mají přímo implementované USB, požadovaný 10bit AD (4553 a 2553 dokonce 12bit) a rychlost interniho oscilatoru max 8MHz (volitelne snizovany prez postscaler). UART, I2C nebo SPI jsou samozrejmosti.

Nebolo by jednoduchsie pouztis standart seriove rozhranie a prevod na usb urobit cipom od FT. Predsa len nastavenie a pouzivanie USB…

ups zmazat preto lebo mi to zobrazilo jednu sravu 2krat…takze tuto spravu poprosim admina zmazat

Proč smazat? tvoje připomínka je zcela na místě a v souladu s tymotyho požadavky. Taky bych se přiklonil na stranu specializovaného obvodu pro převos uartu na usb. Samotná implementace USB by totiž byla na mnoha školách více než dostačující jako téma BP. Jeho zadání se mu o zábavu postará i bez nutnosti zprovozňovat USB na jednočipu.

Vsem diky za odpovedi. Sel by treba i 16f877A?

A podle ceho urcite jaka bude potreba velikost pameti? (eeprom, ram, kodovy slova, pamet programu)
Podle zkusenosti nebo se to da nejak vypocitat (odhadnout)?

Máš disp. 128x64, to je 1kB dat. Display má sice svoji paměť, ale nevím, jesli budeš chtít kreslit “online”. Pokud budeš chtít grafiku nakreslit v ram a pak zapsat, tak pod 2kB ram neber. Tolik ram nemá žádný nižší pic než 18F…

Dále budeš nejspíš potřebovat uloženou i znakovou sadu. To lze buď ve flash nebo v eeprom. To záleží na tobě. EEPROM bys každopádně potřeboval v případě, kdy by sis chtěl uchovávat nějaká data i po vypnutí zařízení (třeba kalibrace senzoru). Velikost tabulky pro znaky bude záležet na jejich rozměrech a počtu.

Vzhledem ke grafice bych vzal aspon 32kB flash(lepší víc než míň), 2kB ram.
Nejlevnější pic, kterej to splňuje a má i nějakou eeprom, je 18F26K20.
Má dokonce 64kB flash a skoro 4kB ram. Kdybys nepotřeboval eeprom, jsou tam i levnější. A/D má taky a stojí skoro polovičku oproti výše jmenovaným.

to piityy:

Co je to kreslit “online”?
No ja budu mit asi 25 znaku. V leve casti lcd bude bud “zrychleni” nebo “naklon” a pod tim hodnoty, v prave ma byt graf, takze natvrdo osy a pohyblivej vektor.

a kde si ten 18f2620 nasel? Ja ho pres hledejsoucastky.cz nenasel.
a diky moc za rady

Buď si můžeš vytvořit výsledný obrazec v RAM a pak ho nahrát do LCD, nebo to můžeš posílat do LCD rovnou. Ten druhý způsob bude podle mne složitější.

Ten procesor jsem vylovil na stránkách microchipu. Dal jsem seřadit 18F podle ceny a hledal první, který vyhovuje parametry. Jesli ho u nás není možné sehnat, můžeš použít stejný postup a zkoušet dokud nenarazíš na takový, který bude dostupný :slight_smile:

Cau, tak mam este jeden dotazek, potrebuju spocitat, kolik budu potrebovat pameti, kdyz budu ukladat data ze senzoru. Kdyz budu mit 10bit AD tak se to vypocita jako

10 x pocet kanalu x kolikrat za s budu ukladat x kolik s budu ukladat ?

asi blbej dotaz, ale chci mit jistotu, ze to tak je

diky za odpovedi

Vzhledem k organizaci paměti (po 8 bitech) musíš pro uložení 1 hodnoty použít 2 byty. Tudíž místo “10” dej “2” a vyjde ti potřebné místo v bytech.

Tak to sem rad, ze nejsem tak daleko od spravneho reseni.

A dalsi dotaz, jsou u nas i jine obchody s mcu? (krome tech na hledejsoucastky.cz a nejlip v praze)

jedinej asi vhodnej mcu sem nasel na gme.cz - PIC18F2455