Jednoduchý programátor PIC.
Zkuste se nejprve podívat, zda se nevyplatí slušný programátor koupit hotový.

Tento programátor není ničím novým a jde jen o jedno ze zapojení sériového programátoru MCU PIC pro připojení k paralelnímu portu PC. S tímto programátorem lze programovat MCU PIC s ICSP a paměti 24(L)Cxxx, více od něj neočekávejte. Dále jde o programátor prototypový, tedy vhodný především pro bastlíře s malým rozpočtem pro svého koníčka. Na této stránce mi šlo spíše než o něco nového o publikování funkčního programátoru (tedy opravdu fungujícího) s návrhem rozumné desky, která se nemusí dávat do krabice a přitom z ní stále neco "neplandá", tedy aby byla použitelná rychle a pohodlně.

Moc prosím, nepokládejte mi dotazy, proč programátor není pro sériový port a není z něho napájen. Nešťastníků, kterým řešení napájené ze sériového portu nechodilo bylo už totiž mnoho a pokud chcete rozšířit jejich řady, pak jedině bez mé účasti na tomto "harakiri".

Jak to pracuje ?

Jde o programátor ve stylu "TAIT SERIAL". Tyto programátory dělají pouze to, že dokáží sepnout napětí pro napájení programovaného obvodu, sepnout programovací napětí a ovládat linku CLOCK a linku DATA, která se také čte, tedy je obousměrná. Již z tohoto malého množství ovládaných vývodů je jasné, že se nejedná o programátor nijak univerzální, ale zájemcům o MCU PIC může i tak být velice dobrým pomocníkem. Zapojení je zřejmé z následujícího schématu. Mnou použité invertory MH7405 s otevřeným kolektorem na výstupu pocházejí z produkce TESLA a tento IC jsem našel ve staré krabici ještě z mých studentských let. Asi by nebyl problém v různých obchodech se součástkami ještě z bývalé RVHP jej zakoupit v ceně snad do max. 5Kč (a i to by bylo drahé), ale jistě neuděláte chybu, pokud použijete 7405 od jakéhokoli výrobce, stejně jako bude programátor pracovat se 74LS05 a 74HCT05. Poukud použijete obvod 74HC05, nemusí programátor pracovat na hodně starých PC, kde se mohou ještě na paralelním portu vyskytovat TTL úrovně, které jsou pro vstupy 74HC05 nedostatečné, ale takových PC už opravdu dnes není používaných mnoho a tedy i se 74HC05 předpokládám problémy jen zcela vyjímečně.



Deska plošných spojů.

Klikněte ZDE pro obrázek ze strany spojů.

Deska je v rozlišení 300dpi a tedy stačí vytisknout na tiskárně pixel na pixel v rozlišení 300dpi a získáte předlohu 1:1. Pokud Vaše tiskárna umí nejméně 600dpi, není nic jednoduššího než si desku zvětšit na dvojnásobek. Vhodným programem pro tisk může být např. program "Imaging" z "Příslušenství" Win98, kde lze v okně pro tisk zadat v možnostech tisk pixel na pixel a také si ve vlastnostech tiskárny nezapomeňte zvolit rozlišení 300dpi nebo jak jsem psal výše.

Pokud desku plánujete dát do nějaké konkrétní krabičky, pak si desku upravte na správný rozměr, aby se daly např. v rozích desky udělat díry pro uchycení atp. Tak jak je deska nakreslena je myšlena pro používání bez krabičky a tedy její rozměr je "sestřihnut" na minimum. Protože jsem chtěl, aby deska byla osaditelná i začátečníkem s pájkou v ruce, není nijak hustá, ale i tak jsou její rozměry myslím rozumné.

Osazení.

Klikněte ZDE pro obrázek ze strany součástek.

S osazením desky by neměl mít problémy snad nikdo a myslím, že je zcela zřejmé z nákresu. Tranzistory mohou být prakticky libovolné univerzální. Tranzistory PNP musí být schopny spínat proud do 100mA a měly by mít betu alespoň 200, tedy např. u nás velice běžné BC558B nebo BC558C vyhoví. Stejně tak lze na místě PNP tranzistorů použít snadno dostupné BC327-40. Na místě NPN tranzistorů lze použít např. BC548B. Já v prototypu použil NPN tranzistory KC238C a na PNP tranzistory BC560C. Pokud se ptáte proč právě tyto, pak kdybyste viděli můj šuplík s tranzistory v době stavby této desky, pochopili byste, že kde nic není, tam ani čert nebere a já mám nejvyšší čas až půjdu nakupovat něco nabrat :).

Seznam součástek.
1 ks MH7405 nebo ekvivalent nebo 74LS05, 74HCT05, 74HC05 viz text
2 ks NPN tranzistory dle textu (např. BC548x)
2 ks PNP tranzistory dle textu (např. BC558x)
1 ks stabilizátor 78L05
1 ks stabilizátor 78L08
1 ks dioda 1N4001 až 1N4007 nebo jiná vhodná
2 ks LED - 2mA červená a zelená, nebo dle vkusu či šuplíku
1 ks C elektrolytický 100u/25V nebo i větší hodnota
3 ks C keramický 100n
13 ks odpor 4k7 (stačí hodnoty řádově okolo)
1 ks odpor 5k6
1 ks odpor 1k6 (vyhoví i 1k5)
2 ks odpor 680R (nebo jakékoli 560R až 1k)
1 ks 5pin pinová lišta pro připojení ICSP kablíku (odlomit z S1Gxx)
1 ks napájecí konektor (např. SCD-16)
1 ks konektor CANON25 MALE (samec) do plošných spojů
1 ks deska plošných spojů

Dále ještě nestabilizovaný 12V adaptér do zdi, který bez zatížení dává alespoň okolo 17V, což je u nestabilizovaných adaptérů do zdi velice běžné, protože nejde o nijak příliš tvrdé zdroje napětí.

Potřebovat budete samozřejmě i prodlužovací kabel na paralelní port, pokud možno raději co nejkratší a 5-ti žilový kabel s konektory pro propojení ICSP pinů na programátoru s deskou ve které programujete PIC, nebo kablík s konektory do pinové lišty programátoru zakončený paticí pro programovaný PIC.

Na tomto místě bych rád především začátečníky upozornil, že je velice vhodné kupovat odpory, tranzistory, kondenzátory a další laciné záležitosti v o něco větším množství než je nezbytně nutné pro konkrétní konstrukci, protože se za prvé nakupováním více zlepšuje Vaše součástková základna ohledně počtu hodnot a za druhé není nikdo neomylný a pokud se někde "seknu" v počtech o odpor, nepoletíte přece kvůli tomu znovu do krámu se součástkami, nebo neodložíte dodělání na dobu, než Vám někdo došle jeden odpor v ceně pod korunu :).

Provedení.

Hotovou desku programátoru můžete vidět zde.

Rozhodně lze jen doporučit před připojením k paralelnímu portu PC proměřit napětí +5V a +13V proti GND na místech označených v osazovacím plánu. Dále můžete pro jistotu ještě vzít ohmmetr a změřit odpor od jednotlivých špiček konektoru k zemi a mezi jednotlivými špičkami konektoru, zda je odpor nenulový (zda není někde zkrat na konektoru). Samozřejmě všechny piny konektoru připojené schválně na GND ve zkratu být vzájemně musí :).

Software.

K programátoru použijte software: IC-PROG. Je to moc hezký program podporující velké množství typů PIC firmy Microchip a také I2C EEPROM jako např. 24Cxxx atp. Pokud si jej stáhnete a vyrobíte si zde uvedený programátor, stačí po spuštění IC-PROG stisknout F3 a nastavit "TAIT Serial Programmer" a nastavit v "Communication" inverze dle obrázku.



Samozřejmě také nezapomeňte nastavit Vámi použitý LPT port. Před programováním vždy nejprve spusťte program IC-PROG a teprve až poté zasouvejte programovací kablík do desky nebo PIC do patice. Spuštěním programu se totiž vypnou všechna napětí na konektoru ICSP. Pro programování pamětí 24Cxxx se zapojí ICSP vývody takto: Vdd = +napájení, Vss = GND, Clock = SCL, Data = SDA, Vpp = nezapojen.

ICSP a patice.

Rozložení pinů ICSP na desce odpovídá pouze tomu, jak to na desku nejlépe vyšlo, tedy pokud potřebujete kablíkem propojit programátor s deskou s programovaným PIC, ověřte si, který pin na desce je který a kablík tomu přizpůsobte, aby se propojily správně odpovídající piny (myslím tím křížení žil při použití plochého kabelu). Já mám na straně programátoru na kablíku každý pin na každé žíle kablíku zvlášť, tedy jsem schopen si přeházet kablík dle potřeby.

Ne vždy se PIC programují jen v desce a tak jistě není od věci popsat i jak si připojit kablík k paticím pro programování PIC nezapájených v desce (v pouzdrech DIP). Nejsou zde ani zdaleka vyjmenovány všechny PIC, ale jen ty u nás nejobvyklejší a pokud si nebudete u nějakého typu jisti, stačí nahlédnout do programovacích specifikací pro konkrétní PIC na stránkách Microchipu.

PIC12Cxxx, PIC12F629, PIC12F675



PIC16C505



PIC16C84, PIC16F84(A), PIC16F62x, PIC16C62x(A)



PIC16F873, PIC16F876

PIC18F242, PIC18F252, PIC18F248, PIC18F258 (bez odporu mezi PGM a Vss, navíc PGM mají jinde - zde nedůležité, není u nich potřeba zapojovat)



PIC16F874, PIC16F877

PIC18F442, PIC18F452, PIC18F448, PIC18F458 (bez odporu mezi PGM a Vss, navíc PGM mají jinde - zde nedůležité, není u nich potřeba zapojovat)



24Cxxx



Podklady pro Eagle.

Po zveřejnění tohoto článku mi poslal Radek Vicek podklady pro Eagle pro tuto konstrukci. Velice rád je tedy přidávám k článku ke stažení .

Další info.

Na těchto stránkách můžete najít další podobné články:

Licence a záruky.

Materiály jsou Vám pro nekomerční použití k dispozici volně, další publikování a komerční využití jen se souhlasem autora. Autor neručí za jakékoli škody způsobené využitím těchto materiálů.

Autor: Jiří Bezstarosti