Closed dzarda closed 4 years ago
Fwd:
Problémy současného RBControlu:
- dá se k němu připojit skoro cokoli, ale je to tak složité, že to nedá téměř nikdo - moc pinů různých typů
- navržen na ruční osazování, které na táboře stále zabere strašně moc času Řeší se nová deska, která v zásadě nebude umět nic navíc (spíš naopak, zredukovali bychom počet motorů jen na čtyři), ale bude mít piny jednoúčelové a podle toho seskupené. To zásadně zjednoduší připojování čehokoli normálního a umožní podstatně jednodušší tvorbu návodů. Navíc bude deska nachystaná z větší části na steojové osazování v číně. Na rozmnožení pinů ESP se použije druhý mikroprocesor (STM32), čímž odpadne I2C expandér a shift registry (druhý procesor je myslím pro většinu lidí podstatně pochopitelnější, než černá magie se shift registry). Na táboře si měly děti postavit roboty na jednosuché soutěže, většinou dálkově řízené, ale s možností automatizace dílčích částí. Což znamená připojit sem tam nějaký senzor, či servo a tím se dostáváme k nepřehlednosti stávajícího RBC.
No z hlediska použití v programu je snad úplně jedno, jestli mluvim s posuvným registrem nebo s dalším MCU. Posuvnej registr a I2C slave má ale nespornou výhodu, že nemá v sobě kód. Abstrakce pro přístup k pinům by přece měla tohle odstínit.
Mysleme prosím na stránku vývoje FW a važme ji spolu s nutností flashovat další IC v porovnání s cenou součástek na pár kusech desky.
Pokud tam nastávají zásadní realtime požadavky, značně se to pak mění...
Nicméně nejvíc nás asi pálí mechanická podstata desky a vyznatelnost v I/O. To si troufám tvrdit je největší bolest pinheadů, že člověku při zapojování/debugování vůbec nepomůžou s pinoutem. Naskýtá se vybrat pro některé periferie (motory?, senzory?) normální konektory (viz Lego a RJ-11) a normálně nalajnovat pinouty a basta.
Z hlediska softwaru jsou děti od shiftregistrů odstíněné, to problém není. Shiftregistry zabírají tři piny, I2C expandér další dva, to už je 5 versus 2 piny UARTu k procesoru. Hlavní problém jsou ale enkodéry, kde na každý potřebuješ dva piny (× 8 motorů = 16 pinů), které musíš číst rychle, tudíž je k žádnému jednoduchému expandéru nepřipojíš. Procesor si přitom enkodéry zvládne zpracovat a řídit podle nich motory. Vyřeší nám kalibraci měření napětí na baterce, protože kalibrační hodnoty budou uloženy přímo v něm a tudíž pevně vázané na desku (devkit s ESP vyměníš a už měříš špatně). Navíc bude baterka hlídaná, i když budu držet ESP z počítače v resetu. Expandér pro tlačítka a ledky - bez debaty. Expandér pro modelářská serva - další věc, snadno ovladatelná po sběrnici, kterou uvolním piny na ESP. Expandér pro ultrazvukové dálkoměry: tady je finta s 5V, které ultrazvuky pro napájení potřebují a STM má piny 5V tolerant, takže mi odpadávají napěťové děliče.
Ad konektory: K RBC(X) se dají připojit (elektricky) LEGO motory. Jarek nakreslil desku adaptéru s RJ11. Ale došli jsme k závěru, že jako hlavní konektor to nechceme, protože to znamená krimpovat dětem kabely a značně to tvůj systém uzavírá - RJ11 bez těch správných kleští nenakrimpuješ a kromě RBC ty kleště na nic jiného nevyužiješ. Naopak pinheady jsou na všech čínských deskách, koupíš hotové kabely (kvalitu neřešmě) a obyčejnými malými kleštěmi si můžeš nakrimpovat vlastní (kvalitní). Když bude na desce konektor (pinheady) pro I2C (například) jednoznačně popsaný 3V3, GND, SDA, SCL, troufám si tvrdit, že je to dostatečně vyznatelné a pomáhající s pinoutem.
@yaqwsx zmiňoval, že by mohly být 2 desky spojené B2B konektorem, což by mělo pomoct s evolucí. Core deska by dávala k dispozici hromadu IO a dceřiná může použít jen subset.
@dzarda B2B konektorem se myslí něco ve stylu PCI konektoru nebo konektory, které se používají na RAMky v noteboocích?
Dost dobře si nedovedu představit, co by na jednotlivých deskách mělo být. Mohli byste ten nápad prosím trochu rozvést a uvést příklady, @yaqwsx, @dzarda? Dík
Mám základní desku, kde je vše a místo ultimátního pinheadiště je na desce "ultimátní B2B konektor". K ní mám potom druhou desku, která obsahuje pouze konektory/LEDky/Tlačítka. Na základní desku potom můžu nacvaknout buď:
Takže by to znamenalo, že na základní desce bude:
A přídavných deskách by pak například byli:
Chápu to správně?
Tak tenhle koncept se mi fakt nelíbí. Znamená to další konektory, další desku, mechanické komplikace a vsaďte se, že na každé "konektorové" desce bude vždycky něco chybět.
Uzavírám, jelikož vše již bylo podle mě vyřešeno. Pokud ne, otevřete znovu.
IMHO by bylo fajn si napsat, co od toho teda chceme, jaké nedostatky by to mělo zlepšit a do kdy by to mělo nějak fungovat.