Žaidžiant su atmega32, pradėjo erzinti ilgas atrodytų ir ne ilgos programos talpinimas į mikrovaldiklį. Taigi nutariau pasidaryti pakankamai greitą ir patogų prietaisą. LPT, COM programatoriai- jau praeitis, taigi interneto platybėse ieškojau idėjų su USB jungtimi. Tuo labiau, kad su vienu iš USB->serial keitikliu, FT232BM, šiek tiek patirties jau turėjau. Veikia be priekaištų, nedaug išorinių komponentų, ir su visais jais viskas aišku. Nusižiūrėjau projektėlį štai čia: http://tuxgraphics.org/electronics/200510/article05101.shtml Ten pat galite programatorių ir nusipirkti, jei nepasitikite savo jėgomis .
Aš šį projektą truputėlį pakeičiau:
1. atmega8 vietoj naudojamo DIP varianto pakeičiau su TQFP korpusu,- labai dera su šalia esančiu FT232BM. Atkreipkite dėmesį, kad skiriasi mikrovaldiklio skirtingų korpusų kojų išsidėstymas.
2. Išmečiau jungtis, reikalingas tik pradiniam mikrovaldiklio užprogramavimui. Tam aš naudojau kitą, lėtą programatorių. Ir jungiau per tą patį, išėjimo lizdą. Jei kas neturi galimybių tokį daikčiuką pasiskolinti/išsinuomoti/nusipirkti, siūlau atkartoti viršuje nurodytą projektą. Mano naudota programavimo procedūra aprašyta toliau.
3. Schemutė maitinama iš USB lizdo. Filtro rezistorių pakeičiau droseliuku.
4. Pakeičiau kai kurių rezistorių nominalus. Veikia, nesvyla.
5. Pridėjau numatytiems FT232BM išėjimams indikacinius šviesos diodus. SMD korpuse. Gražu, spalvotai mirga...
6. Visi rezistoriai ir kondensatoriai- paviršinio montažo (SMD), 1206 dydžio. Taupom vietą, ir skylių gręžioti, kojelių lankstyti nereikia. Kad tik rankos nedrebėtų lituojant.
Prietaisiuko schema: | ![]() |
Viršutinio sluoksnio trasuotė (600 DPI): | ![]() |
Mikrokontrolerio programa (išpakuokite)
Pagamintas atrodo štai taip:
![]() |
![]() |
Nenustebkite, 470 Ω rezistorių turėjau tik 1, taigi kitus pakeičiau 330 Ω. Vistiek sėkmingai veikia.
Visas detales galima rasti Kauno, Vilniaus ir kitų miestų elektronikos parduotuvėse.
Gamyba
1. Gaminame spausdintinę plokštę ant dvipusio fotorezistu padengto stiklotekstolito. Plokštelės dydis 68x21 mm. Trasuotės piešinys (aukščiau) pateiktas jau veidrodinis, tinkantis kontaktiniam eksponavimui. Technologija aprašyta kituose šaltiniuose, pavyzdžiui čia.
2. Taip gauname viršutinį sluoksnį. Apatinį vario sluoksnį paliekame neliestą. Fotorezistas tarnauja kaip apsauginis lakas. Arba galime pašalinti fotorezistą ir varį užlūdijame galingesniu lituokliu.
3. Išgręžiame skyles. Trasuotėje gręžimo vietose specialiai palikau 0,2 - 0,3 mm skylutes-duobutes. Jos sėkmingai pozicionuoja grąžtelį. Gręžiame iš trasuotės pusės 0,8 mm grąžteliu. O USB jungties šonuose naudojam 2 mm grąžtelį. Po to kitoje pusėje 3-5 mm grąžteliu įgręžiame milimetro dalimi visas 0,8 mm skylutes, kad truputį nusiskustų aplink kiaurymę varis ir detalių kojelės nesiliestų prie apatinio ištisinio vario sluoksnio (GND).
4. Sulituojame detales, kaip matome nuotraukoje. Išėjime paruoštos vietos dviem ISP jungtims, 6 ir 10 kontaktų. Galima lituoti pačias jungtis (iš apatinės, priešingos detalėms pusės), ir mikrovaldiklio programavimui naudoti laidus su abiejuose galuose esančiomis jungtimis. Arba galima daryti kaip mano gaminyje,- tiesiog "makaroną" su viena gale esančia jungtimi prilituoti prie gaminio laidelis po laidelio. O kad nenulūžtų nuo lankstymo- sutvirtinti užliejant karštais klijais.
5. Lituojama USB jungtis turi už užlenktų kojelių plastmasėje du pozicionavimo kauburėlius. Jiems galime įgręžti plokštėje dvi duobutes. Arba, kaip aš dariau, tiesiog tuos kauburėlius nupjoviau, kad paviršiai gražiai prisispaustų vienas prie kito. USB jungties šonuose esančias storas kojeles sąžiningai prilituojame negailėdami lydmetalio ir kanifolijos abiejose pusėse. Tai darome ir dėl "žemės" perdavimo apatiniam sluoksniui, tarnaujančiam ekranu, ir dėl konstrukcijos tvirtumo. Juk USB jungtis bus negailestingai grūdama ir laužoma į lizdus ir prailgintuvus.
6. Prietaiso užprogramavimas.
Tam naudojam kitą programatorių. Laikinais laidais sujungiame jo ir mūsų prietaiso linijas: GND, MISO, MOSI, SCK. O RESET signalui prilituojame laikiną laidą paveikslėlyje dešinėje parodytoje vietoje ir jį pajungiame prie kito programatoriaus RESET signalo. Vėliau šio laido nereikės, jei prietaisas veikia, jį pašalinam |
|
Nepamirškite ir prietaiso maitinimo. Paprasčiausias būdas,- programuojant laikyti įjungtą į PK laisvą USB lizdą. Kitas būdas- nejungiant į USB lizdą naudoti ISP-10 arba ISP-6 jungčių 2-uosius kontaktus, paduoti į juos +5V. šiuo atveju dar reiktų užtrumpinti R14 saleles (pav.) laido gabaliuku arba įlituojant 0 Ω SMD 1206 rezistorių. 2-ieji kontaktai gali būti naudojami tiek maitinti programatorių iš išorės (kito programatoriaus ar atskiro +5V šaltinio), tiek tiekti maitinimo įtampą jūsų kuriamai sistemai. Tik reikia atminti, kad iš USB lizdo imama srovė paprastai neturi viršyti 500 mA, o droseliukas L1 ją dar apriboja,- iki maždaug 150 mA. Jei norite srovę padidinti, lituokite mažesnio induktyvumo droseliuką, keiskite jo tipą arba išvis atsisakykite. | ![]() |
Jungiame prie PK
FT232BM,- USB->UART konverteris,- gerai žinomas naujesnėms Windows versijoms, taip pat Linux distribucijoms. Jei vis dėlto iškils problemų, draiverius ir aprašymus galite parsisiųsti iš gamintojo tinklalapio.
Teisingai surinktas ir užprogramuotas prietaisas stabiliai veikia 115200 bit/s greičiu. Mikrovaldiklių programavimo programoms jį pristatyti reikia kaip STK500/AVRISP, su atitinkamu COMx.
šaltinio puslapyje galima rasti ir parsisiųsti programatoriaus išeities kodą, jį pakeisti ir perkompiliuoti. Pavyzdžiui, naudinga būtų pridėti 1 MHz generatorių. Jo dažnai prireikia programuojant AVR, kai netyčia neteisingai užkoduojami "fuse bits".
Papildymai ir taisymai dar bus...