Jaký MCU použít pro řízení serv potenciometry AVR/Microchip?

Tak on martin vždy zdůrazňuje 16F :wink: Řada 18 je o něčem jiném, jenže ten procesor navržen nebyl tak srovnává s tím, co je tu předhozeno. Navíc každý doporučí to s čím dělá že :slight_smile:.

Jediný důvod, proč se 16F používá je podle mě dostupnost literatury k nim a neschopnost nebo lenost se podívat po něčem jiném. Vždyť mnoho 18F je levnějších a našláplejších než kterýkoli 16F.

Dále bysme mohli řešit proč vůbec někto ještě tyhle 8bit šroty používá (mimo aplikace kritické na cenu součástek), když cortex strčí do kapsy kterýkoli 8bit ze stejné cenové kategorie a většinou i mnohem dražší. Každopádně to tu asi není tématem :slight_smile:.

Martin navrhl lepší řešení než bylo původní (výkon i cena), ale nic nebrání aby někdo jiný přihodil vlastní myšlenku místo rozčilování se (to nebylo na Tebe marzou :slight_smile:). Mega8 rozhodně není nejmodernějším výkvětem poslední doby a i mezi picy jsou lepší procesory. Jen to nejsou 16F :wink: tak nechť je prosím nikdo začátečníkům nedoporučuje. Pak jsou chudáci vedle že jim program nejde když si zapoměli přepnout banku. Kdo tohle vymyslel… :unamused:
Máte-li tedy zájem aby dotyčný začal s pic, dejte mu rozumnou alternativu.

Z duse mi hovoris. :slight_smile:

Jedine, preco som sa chytil zrovnavania ATmega8 a PIC16F81x je, ze tu bola spomenuta jeho nizsia cena ako PIC16F81x. ATmega8 samozrejme tiez patri medzi tie starsie a je nahradzovany ATmega8A, ATmega88,… a tak podobne (nemeni sa jadro, meni sa iba fyzicka realizacia, cim sa zvysuje rychlost a znizuje spotreba).
Ale preco platit za “horsie” viac :slight_smile:. Ak by 16F81x stali menej, budis. Je to na rozhodnutiu investora.

Dakujem tiez, ze si niekto vsimol moje “busenie” proti PIC16Fxxx. Myslim, ze Microchip ma ovela lepsi rad procesorov PIC18Fxxx a dalsich. Ale v tych sa nevyznam a preto som ich prezentaciu nechal na zasvatenych. Aspon by som sa nieco nove dzovedel. Ale tie tu nikto ako alternativu nespomenul. Az to nakoniec tak posobi, akoby Microchip robil iba tie PIC16Fxxx. :slight_smile:

Co sa tyka malopinovych MCU, Atmel robi este aj rad ATtiny, napriklad ATtiny25, 44,261 atd. v 8/14/20 pinovom puzdre, ktore su k dostaniu za celkom slusnu cenu.

S Cortexami (aj ked na nich obcas robim a su fakt skvele :slight_smile: ) by som novacika nezatazoval s troch dovodov

  1. prvy program (napriklad blikanie LED-kou) na 32bite je pre zaciatocnika daleko menej prehladny ako program pre 8bit. Na zaciatok treba obsiahnut o nieco viac informacii ako pre 8bit

  2. Pre mnohych bastlicov zaciatocnikov problem v podobe “nepriatelskeho” puzdra

  3. Dnesne 8bity (PIC18F, ATmega, STM8, urcite nejaky Freescale, …) su tak vykonne, ze bude velmi, ale fakt velmi dlho trvat, kym zaciatocnik narazi na ich limity. Pritom zfunkcnit svoj prvy program by nemalo trvat viac ako 3-4 hodinky od dodania 8b procesora na stol. Preto obsiahnut pracu s 8bitmi sa asi momentalne oplati i vdaka dobrym prekladacom C (mam velmi dobre skusenosti s AVR-GCC)

Ako priklad mojho tvrdenia v bode tri uvadzam tuto prezentaciu, co dokaze 8bit (konkretne ATmega):

youtube.com/watch?v=hWWsSn_QKLM

urcite nieco podobne existuje i na ine 8b platformy. V tom sa vsak nevyznam a rad to necham na skusenejsich.

P.S. Provizie z ATmega8 bohuzial nemam, ale uplne by mi stacil 1 cent od kusa. :slight_smile:

Okrem ineho ich ani nepouzivam. Pre moje potreby maju na puzdro malo pamate. Drzim sa ATtiny25, ATmega168, ATmega32, ATmega644P a ATmega1280. S tymito piatimi typmy vystacim na vsetko co potrebujem.

Krapet prileju benzin do ohne :smiling_imp:
Trosku my vadi jakym zpusobem se to tu resi , ten je pomalej a drahej , musi se prepinat banky, vem si levnejsi a lepsi atd. je tady spis debata lepsi/horsi,
Tomas chtel pouze vedet jaky MCU na tento projek (AVR/Microchip), neni to nic extra narocnyho co by bezny pomalejsi , s malou pameti , drazsi PIC nezvladl ( s min. 4x A/D + 4 volne piny) , bylo mu nabidnuto , mohl si vybrat , a pokud uvedl ze se PICum nebrani a ma postaven programator ktery podporuje uvedeny typ picu tak bych rekl ze jedno + pro PIC, a jestly se zozhodne jit touto cestou tam ma moznost si vyskouset oba dva typy , AT ve skole PIC doma, urcite at uz drive ci pozdeji pride sam na to co mu vyhovuje a co je pro nej stravytelnejsi, to je druhy + proc si vybrat PIC, a ze je o 15 KC drazsi (pokud nepocita s velkoodberem) neni zadna tragedie,
je mozny ze ta 16F rada laka kvuly rekl bych docela dobre cesky literature krok za krokem , ale pro zacatecnika kterej o MCU nic nevi lakat na 18 radu jenom proto ze je lepsi ? a lenost kouknout po necem jinem ? ono pokud si otevres DS nejakyho lepsiho , vkonejsiho (tet zrovna nemam na mysli AT8) MCU a vybafne na tebe 300-500 strankek tak ti to moc kuraze neprida, to samy pokud delas v simulatoru krokujes si a zjistujes co se tam deje, koukat do maximalniho DS a rozpisu registru kterej se ti ani nevejde na monitor pro zacatecnika neni moc pozbudivej , me by konkretne 18 rada v ASM ( v C neni proble) dala taky zabrat chvyly by to trvalo zapotil bych se u toho mozna i nastekal a na konec bych se na to i vyprt ,mozna, ale chudak zacatecnik,a to jenom kvuly tomu ze chtel ovladat 4 serva ? at si to skusi klidne na “primitivnim” mcu skusi pokud ma zajem.
Byl bych rad kdyby se Tomas a i ostatni kteri budou resit vyber mcu rozhodl sam a posoudi po precteni tohoto topicu co za to pro danej pripad je vhodny a pro nej, a neusuzoval jen s toho ten je lepsi/horsi.

NOo snad sem to ze sebe trochu dostal (sem krapet penil u procitani) a nikoho osobne neurazil , ale uz sem musel aspon neco napsat,
PS: toto je muj nazor a nikomu ho nevnucuju, a je my jasny ze tim urcite nekoho namichnu proto nebudu reagovat (pokud me to nezvedne ze zidle :smiley:) a neplenit to tu nejakou hadkou , me osobne taky ako uzivatele PICu nejdou nektery veci u AT do hlavy ale to neznamena ze ho budu jaksi stavet do pozadi TEČKA

Ale ja s Tebou v podstate suhlasim.
Co sa zlozitejsich mcu tyka, svoj nazor som uz pisal. Zaciatocnikovi by som ich urcite nedoporucoval.
Osobne som si s PIC16xxx svoje niekolko rokov uzil, preto som na ne mozno trochu viac kriticky. Asi ako by som dnes nikomu nedoporucovam win3.11. Aj ked Word 6 a Excel 5 (tusim) pod nimi je uplne skvely nastroj a vobec nic mi v tomto smere nechybalo ani vtedy a nechybalo by mi ani dnes.

Aj ked na druhu stranu chapem, ze to obrovske mnozstvo literatury na tuto temu v rodnom alebo jemu blizkom jazyku je asi ten najsilnejsi argument. A dovolim si (skoro) zacitovat sam seba:“na tie pwm staci aj PIC16F”. Co len dava za pravdu Tvojmu nazoru. Nech si porovna a vyberie zakladatel vlakna.

Svetu mier a procesorom zvlast :slight_smile:

Bankování – u 8bit PIC
…… v dnešní době, kdy existují kvalitní kompilátory C i na řadu PIC16F, nemusí bankování znamenat výraznější problém, programátor v C se s ním prakticky nesetká.
…… navíc tahle architektura (i právě díky možnosti bankování) nabízí i některé výhodné módy adresování a práci s pamětí (v datasheetu jsou uvedeny, bohužel se téměř nepoužívají – nejspíš proto, že jejich použití není úplně triviální a informace jsou jenom v angličtině). Už jenom z podstaty bankování lze využít jednu banku jako samostatnou paměť a vytvořit tak kruhový registr (adresa 0xFF se inkrementací změní na 0x00 – navíc inkrementace může být v některých módech adresování automatická), to všechno šetří strojový čas procesoru…….možná podobné věci umí i AVR, to že nebankuje nemusí bý limitem – např. dsPIC33 umožňuje vytvořit kruhový registr (FIFO paměť) téměř v jakékoliv části paměti s libovolnou délkou.

1 instrukční cyklus trvá 4 takty procesoru – opět 8bit PIC
…… na druhou stranu procesory se dají taktovat na vyšší frekvence než AVR apod – takže konečný výkon procesoru je srovnatelný. Otázkou může být vyzařování – samotné procesory jsou většinou dobře odstíněné – tento problém se spíš týká krystalu, i ten může být použit shodný, pokud je signál násoben v PLL, samozřejmě se zvýší spotřeba – ale spousta návrhů procesorových systémů jde dnes tímto směrem -> co nejnižší frekvence krystalu a pak to doženu pomocí PLL -> pak nebudu tolik vyzařovat na vysokých frekvencích, samozřejmě při použití interního krystalu tento problém odpadá….

Tímto nechci polemizovat o tom, který procesor je lepší, jestli PIC16F nebo ATmega8, to nechám na jiných……. také mi občas vadí argumentace bankováním a FOSC/4 v neprospěch PIC16F, přičemž daný člověk o těchto dvou věcech zase až tak moc neví….

Každopádně programovat v assembleru pro ATmegu8 je lehčí než pro PIC16F, takže bych volil ATmegu8, pokud bych chtěl programovat v C, musel bych se rozhodovat podle dalších vlastnostech obou procesorů.

Jinak bych sáhnul po PIC24FxxKAxx, nabízí o hodně více muziky za méně peněz a není komplikovanější, spíše naopak. Samozřejmě, že literatura existuje pouze v angličtině, ale s tím se prostě musí počítat, je to nový kousek a čekat 10 let než se něco objeví v češtině, jestli vůbec, není moc rozumné . . . navíc existuje spousta ukázkových projektů, které učení se s procesorem dále značně ulehčí . . . takže blikání LED je možné rozběhat opravdu do pár jednotek max desítek minut.

Cortex M3 je dobrý procesor (s ukázkovými projekty jeho první naprogramování opět není moc náročné, i když rozdíl tam je), zvláště jeho „lowendové“ varianty s nízkopinovými pouzdry, malou datovou a programovou pamětí (proto za nízkou cenu) nemají protějšek v rodině PIC32……… otázka je, jak často potřebuji výkonný procesor s velmi malou pamětí……… vybavenějším Cortexům již přímo konkurují PIC32 …… a je opět otázkou co zvolit (sám jsem např. testoval výpočetní aplikaci, kde je PIC32 asi o 20% rychlejší než Cortex, konkrétně šlo o typ STM32F105RBT6)…………ale zase by se i zde dalo debatovat hodiny a hodiny :slight_smile:

Ještě k vybavenější procesorům – obsáhlejším datasheetům
Tohle by zase nemělo začínajícího uživatele vyděsit, většinou jednotek/periférií/atd, které procesor obsahuje a tak zvyšují obsáhlost datasheetů, se není nutné zabývat, pokud nechci, jinými slovy tyto jednotky jsou většinou deaktivované a není nutné je jakkoliv programovat, abych např. blikal LED :slight_smile:

koukám, že zakladatel tématu už se ani neozývá - snad jste ho svou akademickou diskusí s příslušnou dávkou vášní neodradili?

I když dostal na svou otázku víc než vyčerpávající odpověď - nejsem si jistý, jestli všichni pochopili, že je “naprostý začátečník” - což já si překládám jako: “ještě jsem nikdy nic nenaprogramoval”.
Takže za odpvědí jaký typ použít měla následovat rada jak vůbec začít.
Protože kdyby měl za sebou to elementární “blikání ledkou” - nemluvě o zobrazení znaků na lcd a podobných pro nás triviálních záležitostí - asi by neměl potřebu se ptát na vhodný typ.
No a vy po něm chcete, aby zrovna psal program pro obsluhu čtyř kanálů AD převodníku a čtyř PWM výstupů.
Taky bych varoval před radou, že klidně může může paralelně studovat jak PIC tak AVR- to je dost nezodpovědné - protože v tom bude mít takový “hokej”, že ho to spíš odradí. Netvrdím, že není dobré znát obojí - ale pěkně jedno po druhém - až zvládnu ATMEL, nastudovat PIC, nebo obráceně.

Další věc je, jestli kromě toho ,že mu teď vyvstala potřeba ovládat 4 serva se hodlá dál věnovat programování (kromě školy)?

Nebyl by první kdo se chce učit programovat jen kvůli jedné jediné aplikaci v naivní představě , že to vlastně vůbec nic není.

Pak by asi bylo lepší aby MiloPS3 sedl a ten prográmek mu napsal, když už se nabídl ( a za to ho chválím) a neřešil jesli PIC nebo ne.

A nakonec ještě poznámku: doufám, že s tím odchodem z fora kvůli Martinovi jste to nemysleli tak vážně bylo by to škoda . Ono by vám to nakonec nebylo stejně moc platné - protože Martin pd jinými nicky je snad všude

:smiley: :smiley: :smiley: :smiley:

No tak pokud studuje obor (který si vybral, že ho baví), kde je povinný předmět mikroprocesorová technika (volitelně by si jí asi nevybíral kdyby nechtěl), tak se dá předpokládat, že se s ní bude setkávat po celý svůj profesní život, a jestli jsou dneska mikroporcesory skoro všude, tak za nějakých 10let budou úplně všude… takže úvahy, že by to potřeboval jenom kvuli jednomu projektu nebo škole mouhou jít stranou… dělat školu jenom kvůli škole nedává přece smysl…

Takže bych si koupil Pickit3, PIC24F16KA102, stáhnul si potřebné datasheety a nějaké ukázkové projekty z mikročipích stránek a pustil se do práce… a názory typu začni s PIC16F nebo ATmegu (které jsou ve všech směrech horší) s tím, že pak někdy můžeš přejít dál, jsou trochu tragikomické… dál přejít může, ale třeba na Cortex M3 nebo PIC32 … je prostě nutné držet krok s dobou a nevěnovat se procesorům, které jsou už několik let v propadlišti dějin, jinak ty číňany nikdy nedoženeme :slight_smile:

Po pravdě řeknu, že to věčný vnucovaní někomu něco mě začíná srát. Nic proti “Martin” a všem ostatním. Neberte to ve zlém.

Já jsem začal s 16F877A, skončil jsem, aspoň teď u 18F4620, a pěkně jsem taky dokončil svůj projekt . Udělal jsem si to takové, jaké jsem chtěl. Zkoušel jsem C, a víc jsem toho zkurvil, než udělal, Můžu říct, že C mě dnes nezajimá, 16F je parádní řada, na které jsem se naučil a udělal jsem s ní hodně věcí, řada 18F je,můj názor, nadstávba 16F, co výrobce “nevychytal”. Ono těch 33 instrukcí pro PIC se dá nauřit. A těch 37 navíc u řady 18F, měl jsem s tím problém, ale pak ve finale jsem zjistil, že je to jen “nádstavba” oproti řadě 16F, a myslím si, že je to jen zase k vůli něčemu. Asi C a jiné překladače.

Kdo začal s AT, bude upředosťovat AT, kdo začals PIC, bude upředostňovat PIC.
Zkoušel jsem oboje s odstupem času a PIC vyhral. A u nich zůstanu.

Spousta lidí začala na 8088 a také s ním udělala dost věcí. Ve své době to též určitě byl výborný procesor, nicméně stejně tak bych ho dnes nikomu začínajícímu nedoporučil.
Ovšem jak psal marzou: “takhle ty číňany nedoženeme” :smiley:.
Mimochodem tomas - AVR je procesorové jádro vyráběné Atmelem, kdežto Microchip je název firmy :slight_smile:.
Co se týká C - za nefunkční program z 99.9% nemůže jazyk nebo překladač :wink:. Vpodstatě je stejně C jen přehlednější assembler pro lenochy. Tu úsporu času/práce a přehlednost je ovšem třeba kompenzovat určitými znalostmi.

Spíš by mě zajímal tomas - jesli jsme ho od procesorů dokonale odradili, nebo jesli se už na něco chystá :question: :slight_smile: