USB programatorius USBasp AVR mikrokontroleriams

Programuojant mikrokontrolerius būtinai reikalingas programatorius.

Programuojant mikrokontrolerius būtinai reikalingas programatorius. Esu pasidaręs įvairių programatorių: tiek veikiančių per COM, tiek per LPT jungtį. Visi šie programatoriai gerai veikia, tačiau dabartiniuose kompiuteriuose vis rečiau užtinkamos šios senos (COM, LPT) jungtys. Teko ieškoti alternatyvų.

Radau gana paprasta USB AVR ISP programatorių, kurį sudaro vienas mikrokontroleris Atmega8 (tinka ir Atmega48, bet reikės įrašyti kita hex), bei keletą kitų pasyvių elementų. Nereikalingas joks specialus USB kontroleris. Šis programatorius vadinasi USBasp, autorius – vokietis Thomas Fischl Programatoriaus savybės:

  • veikia įvairiose platformose Windows, Linux, Mac OS X
  • programavimo greitis iki 5kB/s
  • galima programuoti lėtai veikiančius mikrokontrolerius (<1,5MHz)

Programatorius veikia su programa AVRDude. Norint programuoti tiesiai iš WinAVR reikia pakoreguoti Makefile.

 

AVRDUDE_PROGRAMMER = usbasp

AVRDUDE_PORT = usb

 

Programatoriaus blokinė schema

 

 

Schemoje matomi keletas trumpiklių (jumper). Kam jie reikalingi?

  • JP1-1 naudojamas užprogramuoti progrmatoriaus mikrovaldiklį
  • JP1-2 naudojamas, jei programuojama schema nėra užmaitinta. Jei schema užmaitinta, trumpiklis nereikalingas. Jei schema bus užmaitinta ir trumpiklis bus uždėtas sudegs USB prievadas!

J3 naudojamas nustatyti programavimo greitį. Jei jūsų programuojamas mikrovaldiklis dirba nedideliu dažnius, tai jis turi būti uždėtas – kitaip nesiprogramuos.

 

 

Montažinė plokštė žiūrint iš takelių pusės. Paspaudus atsidarys 600DPI

Sulitavus, mikrokontrolerį reikia užprogramuoti (sukompliuotas hex pateiktas). Užprogramavus taip pat reikia teisingai nustatyti Fuses, kad mikrokontroleris veiktų nuo išorinio kvarco.

Jei viskas gerai, pirmą kartą prijungus įrenginį, kompiuteris jį turi atrasti. Tada reikės įdiegti tvarkykles.

O štai ir vienas iš pagamintų programatorių:

Šiuo įrenginiu esu patenkintas: detalių savikaina nedidelė; programavimo greitis didelis; galima naudotis kompiuteriuose, kur nėra nei LPT, nei COM prievado. Skaičiau, kad kai kuriem šis programatorius neveikia per USB Hubus (šakotuvus), tačiau kiek bandžiau, man visur veikė.

Tvarkyklės, hex ir kiti reikalingi failai usbasp.2007-10-23.zip

Spread the love

33 thoughts on “USB programatorius USBasp AVR mikrokontroleriams

  1. Va norejau taves paklaust ar galima det ATMEGA8L-8PU ISP-MC 8k Flash 2.7 DIP28 cia kazkokia 8PU o ten matau 16PU ka ce jie reiskia? ir dar noreciau paklausinet apie pati ta programeri nes tai butu pirmas mano programeris beto email tikrinies? 🙂

    • Va norejau taves paklaust ar galima det ATMEGA8L-8PU ISP-MC 8k Flash 2.7 DIP28 cia kazkokia 8PU o ten matau 16PU ka ce jie reiskia? ir dar noreciau paklausinet apie pati ta programeri nes tai butu pirmas mano programeris beto email tikrinies?

      ~~~~~~~~~~~~~~~~~

      Teoriškai ATMEGA8L-8PU netinka, nes per mažas maksimalus darbo dažnis (8MHz). Čia dirbama su 12MHz generatorium.

      • A 🙂 db aisku.. ir dar o ka ten prie to galo reik pasidaryt kur iseina tie 10 laidu? 🙂

        • A db aisku.. ir dar o ka ten prie to galo reik pasidaryt kur iseina tie 10 laidu?

          ~~~~~~~~~~~~~~~~~

          Per juos jungiasi prie programuojamo įrenginio. MISO, MOSI, SCK, RST, +5V, GND.

  2. ir dar vienas klasimas? sitam programatoriui reikalingas dar vienas programatorius uzprogramuot pati ta atmega8?

    • sitam programatoriui reikalingas dar vienas programatorius uzprogramuot pati ta atmega8?

      ~~~~~~~~~~~~~~~~~

      Aha, visų pirma reikia užprogramuoti Atmega8, o tam reikia papildomo programatoriaus.

  3. Gal geriau isimk tas PCB.. nes cia tik zmoniu klaidinimas.. arba parodyk kur maitinimas toj PCB

    • Gal geriau isimk tas PCB.. nes cia tik zmoniu klaidinimas.. arba parodyk kur maitinimas toj PCB

      ~~~~~~~~~~~~~~~~~

      Kokių žmonių klaidinimas? ~:(

      Visų pirma, esu parašęs, kuris JP jungia maitinimą.

      Antra, kur maitinimas, galima atsekti pagal schemą ir plokštę.

      Trečia, maitinimą galima atsekti pagal ISP jungtį.

      Tad problemų, bent kiek susigaudančiam elektronikui, neturėtų kilti. Jei kyla papildomų klausymų – stengsiuos padėti.

    • O ka siaip reiskia zodis ISP?

      ~~~~~~~~~~~~~~~~~

      In-System Programming

      Kitaip tariant, galima programuoti mikrokontrolerį veikiančioje sistemoje.

  4. sveikas, gal gali imesti su eagle daryta pcb? nes ish paveiksliuku spausdinant reikia ziureti ar tinkamo dydzio

    • PCB su Eagle neturiu, nes dariau su nelegalia versija, tad man neatsidaro… Išspausdinti tinkamo dydžio – ne problema. Parašiau, kad 600DPI, tai prieš spausdinant su normalia grafikos programa tiek reikia nustatyi.

      Su USB 2.0 viskas gerai. Beveik vien su USB 2.0 naudoju.

  5. ziurek o kam ten isejime tiek daug tu pinu?, nu taprasme kad uzprogramint kita mikruske su tuo programatorium reikia 6 pinu, o ant to programatoriaus 8 isejime??? cia kam tie kiti

    • ziurek o kam ten isejime tiek daug tu pinu?, nu taprasme kad uzprogramint kita mikruske su tuo programatorium reikia 6 pinu, o ant to programatoriaus 8 isejime??? cia kam tie kiti

      ~~~~~~~~~~~~~~~~~

      Taip padaryta, nes yra 2 skirtingi ISP kištukų standartai:

      10 kontaktų

      6 kontaktų

  6. kasko man rasa “USB Device Not Recognized”, gal cia fuse bitai ne taip uzstatyti? gal gali parodyt kaip juos nustatei

    • zodziu radau, pcb yra klaida, nuo 7,20 ir 21 kojos(to takelio) turi buti dar sujungta su +5V

      • zodziu radau, pcb yra klaida, nuo 7,20 ir 21 kojos(to takelio) turi buti dar sujungta su +5V

        ~~~~~~~~~~~~~~~~~

        Aha, klaida tikrai yra. Reikės išaisyti.

  7. Koki softa naudoji su siuo programatorium irasyt programas i mikrokontrolerius? Isbandziau keleta programu, niekaip neranda programerio, nors windows rado ir driveriai tvarkingai isirase.

    • Koki softa naudoji su siuo programatorium irasyt programas i mikrokontrolerius? Isbandziau keleta programu, niekaip neranda programerio, nors windows rado ir driveriai tvarkingai isirase.

      ~~~~~~~~~~~~~~~~~

      Naudoju AVR Dude kartu su WinAVR.

  8. sveikas, o kam tie stabilitronai reikalingi? ir gal žinai kodėl kai bandau prijungti man raso “USB device malfunctioning”(ar kašką panašaus). sulitavau, užprogramavau lyg ir teisingai.

    • Pagal USB standartą, aukštas lygis turi būti 3.3V.

      Schemoje mikrovaldiklis maitinasi nuo 5V, tai reiškia ir jo aukštas lygis yra 5V.

      Naudojant rezistorių ir stabilitroną, gaunamas įtampos sumažinimas.

      Gali neveikti dėl neteisingai sudėtų fuse bitų. Reikia padaryti, kad veiktų nuo išorinio kvarco.

      Ar tikrai veikia nuo išorinio kvarco gali patikrinti jį išlitavęs. Prijungus maitinimą, žalias LED neturi užsidegti.

  9. Sveiki, susilitavau pagal sita schema viska (tik nenaudojau montazines plokstes tavo breziniu, dariau ant tos su skylem), viskas kaip ir gerai 2 kartus viska tikrinau (dariau biski pagal kita ten nebuvo s1 ir s2 ), dabar pajungiu i pc niekas neuzsidega nei vienas ledas, pc paraso kad neatpazinas irenginys, o kai bandai draiverius rasyti toj papkei nieko neranda, o kai ant draiverio paspaudi tipo jis nera saugus ir tik ok gali spaust… Windows 7 jeigu ka, o kai jus pajungiate ji i pc jum kuri nors lempa bentjau uzsidega ar irgi ne?

    • Žalias LED turi užsidegti prijungus programatorių prie USB sąsajos.

      Tvarkyklių instaliavimui, programatorius turi pilnai funkcionuoti ir būti atpažintas kompiuterio.

      Greičiausiai neteisingai užprogramuota programatoriaus mikrokontroleris (Atmega8).

  10. Sveikas, siaip dekui uz schema, tik as vis ieskau galutinej plokstej C5 ir C3 kur schemoj yra, bet tik C3 randu. Ten tiesiog lygiagreciai ta C5 dajungt salia ir viskas?

    • Teisingai pastebėjote, PCB šiek tiek nesutampa su schema. Maitinimo kondensatoriai (C3 ir C5) nėra kritiniai lementai, tad C5 nėra būtinas.

Leave a Reply to Valdas Cancel reply

Your email address will not be published. Required fields are marked *