19. listopadu 2015 v 5:01 | Petr
|
Jeden ctíhodný, leč tajný čtenář tohoto blogu mi psal : "
Jak to vypadá se zatraceně kvalitním radiopřijímačem ?" který měl vyjít z mé dílny. Tak jsem mu smutně odpověděl - manželka je těhotná a je třeba zařídit spoustu věcí "
než se to narodí". A pokud vedete divný život, je třeba zařídit i "
divné věci", jako třeba
učinit psa chovným, když už jste to slíbili chovatelce. Takže jsem "
významnému čtenáři" odpověděl : "
V prvním přiblížení je lépe předpokládat, že jsem s elektrem i roboty sekl - pro naprostý nedostatek času !" Týden poté co jsem si toto přiznal a písemně jsem to do mailu formuloval, se prudce zhošilo počasí a tím nastala obvyklá listopadová otázka : "
Co budu dělat o vánocích" ? A to si pište že něco dělat budu, neb letos se mi podařilo - poprvé v kariéře - "
mít vánoce jako školáci" - tedy na štědrý den ráno se vracím po noční směně, ale pak jdu do práce až v roce 2016.
Takže jsem se podíval po troskách toho co byla kdysi "
dílna na roboty" a zjistil jsem, i přes tu bídu mám určitý přetlak "
analogových bastlů" kterým "
chybí hlava" - tedy mikrokontrolér. A jelikož "
už jsem jako inženýři" co se "
na škole" za Jakeše a Bilaka naučili
8051 a nyní ji cpou všudše, přestože je fatálně zastaralá. V mém případě jsem se naučil "
holé AVR" ještě před érou "
arduííína" a teď jej z lenosti cpu kam se dá. Takže potřeba která vyvstala je "
NE-ARDUINO". Tedy mé srdce touží po desce s AVR, která by se dala zastrčit do kontaktního pole a dalo se s ni experimentovat.
NE že bych takové desky už neměl - ještě v dobách ručního kreslení plošných spojů jsem si vyrobil "
bastldesku" dle
Davida Matouška, která nejde zastrčit do kontaktního pole, pak jsem měl jeden "
monstrózní projekt" Ne-Arduina, který nedpopadl, protože jsem měl tu šílenou ideu přeměnít 28 pinovou AtMegu8 na 56 pinový DPS, kde každý pin bude zdvojený aby bylo na kontaktním poli "
více dírek se stejným signálem"
OK takže zanechme šílenství - reálné minimalistické technické specifikace budou AVR v DIL v patici aby se dal "spálený kus" vyměnit, dále stabilizátor 5V, krystal 16MHz ( nebo 8 ?? ), nutné filtrační kondy, ISP port, UART v TTL a jedna LEDka vysocesvítívá, nenápadně připojená přes velký odpor velikosti asi tak 10K, aby bylo alespoň čím blikat při ladění softwaru.
Tím je tak přibližně dán formát "
NE-Arduina" - plošný spoj by neměl být výrazně větší než DIL 28, tím vzniká problém - jelikož se jedná o
NE-Arduino - žádný bootloader ani
UART to USB konvertor tam nechci a musí tam být poctivé
AVR ISP. Klasický "
10 pinový konektor se zahrádkou" typu
MLW10G se tam patrně nevejde, přechod na 6 pinový ISP "
se zahrádkou" moc místa neušetří takže tam bude muset být "
holých 10 pinů v matici 2x5" a tím vyvstává možnost zapojit ISP opačně, a tím vyvstává i problém elektronické "
blbuvzdornosti" -
který jsme už jenou probírali.
Je tedy nutno předem promyslet, co shoří, pokud zapojím ISP port do programátoru obráceně. Ergo sledujme obrázek nahoře a můžeme si rovnou napsat tabulku "přepólovaného konektoru"
Pin Č: | Funkce AVR | Typ | Funkce Programátor | Typ |
1 | MOSI | Vstup | Groud | Zem |
2 | VCC | 5V | MISO | Vstup |
3 | NC | - | GND | Zem |
4 | GND | Zem | SCK | Výstup |
5 | RESET | Vstup | GND | Zem |
6 | GND | Zem | RESET | Výstup |
7 | SCK | Vstup | GND | Zem |
8 | GND | Zem | NC | - |
9 | MISO | Výstup | VCC | 5V |
10 | GND | Zem | MOSI | Výstup |
Takže na první pohled je jasné, že "
Norští študáci", kteří v pradávné době AVR zkonstruovali nečetli
Kubáčovy zásady nepřepóloivatelného konektoru, protože pokud se podíváme na "
přepólovanou" tabulku je jasné, že nastanou velké problémy - na straně programátoru vám pravděpodobně shoří všechny 3 výstupní piny, tj RESET, SCK i MOSI, které budou bez výjimky napojeny na zem, Naopak na straně AVR vám shoří pin MISO, který bude připojen na 5V z programátoru.
Čistě pro úplnost si rozebereme ještě 6 pinový AVR port, který vznikl později a třeba se konstruktéři "poučili" :
Pin Č: | Funkce AVR | Typ | Funkce Programátor | Typ |
1 | MISO | Výstup | GND | Zem |
2 | VCC | 5V | RESET | Výstup |
3 | SCK | Vstup | MOSI | Výstup |
4 | MOSI | Vstup | SCK | Výstup |
5 | RESET | Vstup | VCC | 5V |
6 | GND | Zem | MISO | Vstup |
Řekl bych že u 6 pinového konektoru jsou při obráceném zapojení škody výrazně menší - na programátoru shoří RESET a na straně AVR shoří MISO.
Poznámky pro šťouraly
- Než mi začněte nasazovat psí hlavu, že to mám celé blbě uvažte, že vstupy na straně AVR jsou výstupy na straně programátoru a naopak tedy MISO alias Master Input Slave Output je už podle názvu Output na straně Slave ( AVR ) a Input na straně master ( programátoru)
- Blbuvzdornost výstupních pinů digitální logiky výrazně závisí konstrukci driverů daných pinů - pokud bychom uvazovali že výstupy jsou typu "open collector" s pull up rezsitorem - jejich násilné připojení na zem by jim nic neudělalo a tím pádem by přepólování 10 pinového ISP ustálo "ne-arduino" beze ztráty hvězdičky. AVR a většina moderní elektroniky má výstupy typu "Push pull", takže tam hrozí, že shoří "horní tranzistor".
Sepisováním tabulek jsem zcela vyčerpán, takže kdo si vezme papír a tužku a navrhne "blbuvzdorný pinout" bude mnou veřejně pochválen. Hodnotí se i kreativní řešní - teď mě napadá, třeba využití toho jednoho nezapojeného pinu ( na kterém v dávné době byla signalizační LEDka) k odpojení ohrožených pinů - třeba. Za takové řešení bude pochvala ještě větší - možná i od ostatních čtenářů.
Další poznámka pro šťouraly - jasně, že vím, že pinout 10 pinového konektoru není náhodný a řádka GND a VCC na "sudých pinech" je tam kvůli "signálové integrity" alias kvůli odstínění interferencí mezi datovými vodičích v plochém kabelu - prosím nebuďte "inženýři" a berte návrh "blbuvzdorného pinoutu" jenom jako mentální cvičení.
Tolik tedy blbuvzdornost AVR ISP portu a pokud se stane zázrak, těhotenské nevolnosti, pes, přeměna "13 komnaty" ( jak se u nás označuje skladiště bordelu) - na regulérní dětský pokoj dovolí - očekávejte schémátko a plošňák alespoň na "ne-arduino", pokud ne na nedodělaná robotická čidla, která asi nedokončím nikdy !!!
Chlapče posuň se o level jinde, když už kontaktní pole, kup si: http://www.ebay.com/itm/MINI-USB-Nano-V3-0-ATmega328P-CH340G-5V-16M-Micro-controller-board-Arduino-/161403910939?hash=item25946c3b1b:g:kEYAAOSwq7JT-wVU
Pochop, že arduino také = velmi levný univerzální HW který můžeš mít plné šuplíky, odpálíš MCU, vyhodíš celou desku