Electronica : Cum am reinceput :D , programator AVR – hardware

Tocmai mi-am “dezgropat” un vechi hobby … electronica (sunt bun la creat lucruri noi nu la reparat chestii :) ) cand, din greseala, am dat peste un banner cu AVRFreaks, asta s-a intamplat in prima zi de Paste. Cred ca am stat vreo 3h cautand resurse si proiecte interesante de facut.
Inainte de toate am intrat pe http://www.conexelectronic.ro sa vad ce preturi au microcontrolerele din seria AVR ca sa stiu cu se sa incep. Cea mai buna solutie mi s-a parut ATTiny2313 (succesorul lui AT90S2313) care e undeva pe la 8 RON.
Pasul urmator … gasirea unui programator simplu de construit si ieftin. Mi-a luat ceva timp sa-l gasesc pe cel de pe aceasta pagina dar a meritat efortul.
Apropo … AVR-urile suporta una sau doua metode de programare :

  • High Voltage Serial Programming : aceasta metoda presupune aplicarea unei tensiuni duble (apx. 12V) ca ceade alimentare normala pinului RESET; are ca avantaje/dezavantaje :
    • timp mai mic de scriere
    • posibilitatea scrierii pe device-uri blocate
    • necesita 2 tensiuni, de 12V(activare programator) si de 5V(alimentare device)
    • nu se poate programa direct pe placa de test, circuitul trebuind scos si inserat in programator
  • Low Voltage Serial Programming : aceasta metoda se foloseste de facilitatea de a face programarea folosind In-System Programming (ISP)

Eu am ales .. varianta mai simpla, de aceea programatorul consta doar in 3 rezistori de 220 Ohmi, un soclu de 20 pini (10 x 2), conectorul pentru portul paralel si cablajul.

progavr1_d.jpg

Azi am facut montajul in aproximativ 50 de minute. Mai jos sunt niste poze din toiul actiunii :P .

 

 

progavr1_a.jpg
progavr1_b.jpg
progavr1_c.jpg

Daca vreti sa-l faceti … bravo :) , dar va rog scrieti aici ce experienta ati avut cu el….

Daca vreti sa-l faceti … bravo :) , dar va rog scrieti aici ce experienta ati avut cu el….Partea legata de soft … acum o scriu (9 mai, 10:45 PM )

Link de trackback      Social bookmark this page

15 comentarii »

  1. Dragos Ionita a scris:

    Aprilie 28, 2006 @ 12:49 am

    Interesant, deci cu chestia asta la care ai facut poze se pot programa chip-urile acelea? Si poti pune pe ele programe facute in c++ de exemplu, cu algoritmi oricat de complecsi?

    Ai putea sa dai cateva exemple de aplicatii ale microcontrolerelor? :)

  2. Trimbitas Sorin a scris:

    Mai 1, 2006 @ 11:08 pm

    Da, se pot programa cu montajul pe care l-am facut toate chipurile AVR pe 20 de pini care suporta ISP (In-System Programming).
    Sunt foarte multe limbaje de programare suportate, printre care si C++ :)
    Singura limita este … memoria chipului, in cazul AT90S2313/ATTiny2313 ea este 2kb (oricum este suficienta avand in vedere ca se pot adauga memorii externe de pana la 512kb, ex: AT 24C256 ).
    Aplicatii …. pai cam orice iti trece prin minte :D

  3. Trimbitas Sorin a scris:

    Mai 7, 2006 @ 8:02 pm

    M-am speriat, am crezut ca am facut montajul degeaba … mergea pentru toate dar nu si pentru microcontrolerul de care aveam eu nevoie … ATTiny2313 . Se pare ca era o problema de soft :D
    In maxim 2-3 zile voi scrie ce experienta am avut si detalii despre cum se programeaza cu el ;)
    ,toate cele bune

  4. Robert a scris:

    Septembrie 26, 2006 @ 3:01 pm

    Salut!
    E valabila schema de mai sus si pt Attiny2313?
    Ce soft trebuie folosit?
    Multumesc!

  5. Trimbitas Sorin a scris:

    Septembrie 26, 2006 @ 3:18 pm

    Da, e valabila.
    Ca soft trebuie sa folosesti AVRReal, ai instructiunile aici …http://www.nekhbet.ro/2006/05/09/electronica-programator-avr-software.html
    Citeste in special partea de bibliografie, sunt niste posturi pe un forum despre cum sa folosesti AVRReal.
    Have fun ;)

  6. sergiu a scris:

    Aprilie 26, 2007 @ 10:19 pm

    Interesant acuma am dat si eu peste niste site-uri si chiar ti-am pus bookmark la pagina, tinema legatura ca vreau sa vad cum mere, apropo am reusit sa imi fac lirc-ul merci pentru ajutor.

  7. gicu a scris:

    Septembrie 13, 2007 @ 8:21 pm

    Salut,
    Merge sa programezi Attiny2313 cu montaju ala cu 3 rezistente, cu AvR Studio 4 ??????????????????

  8. Andrei a scris:

    Octombrie 27, 2007 @ 4:38 pm

    Salut,

    Mai esti interesat de AVR? Esti dornic sa comunicam in acest domeniu?

  9. Claudiu P a scris:

    Mai 22, 2008 @ 2:28 pm

    incerc sa programez un 90S2313 si primesc eroarea asta: No Acknowledge Received!

  10. jackal a scris:

    Octombrie 16, 2009 @ 3:40 pm

    merge sa programez un at90s2313? cu programatorul pe care l-ai realizat tu?

  11. Trimbitas Sorin a scris:

    Octombrie 16, 2009 @ 6:40 pm

    Da, e ok pentru AT90s2313

  12. Mihai a scris:

    August 27, 2010 @ 12:45 pm

    Salut,
    vreau sa programez un AT90S2313,pot folosi programul pe care l-ai pus mai sus (si compileaza sau doar inscrie hex-ul in controller),adica merge cu programatorul prezentat de tine?Ce as putea folosi ca si compilator?GNU n-am gasit free,de asemenea Codevision AVR e valabil doar ceva demo si e limitat ca dimensiune a fisierului inscris.

  13. Vos Stefan a scris:

    Octombrie 26, 2010 @ 9:03 pm

    Am si eu o problema legata de DS18B20. De la 38 de grade in sus imi arata 127.125. am functii facute pt citire/scriere bit/byte in scratchpad. Codul pt citire de temp. este:

    #define THERM_CMD_CONVERTTEMP 0×44
    #define THERM_CMD_RSCRATCHPAD 0xbe
    #define THERM_CMD_WSCRATCHPAD 0x4e
    #define THERM_CMD_CPYSCRATCHPAD 0×48
    #define THERM_CMD_RECEEPROM 0xb8
    #define THERM_CMD_RPWRSUPPLY 0xb4
    #define THERM_CMD_SEARCHROM 0xf0
    #define THERM_CMD_READROM 0×33
    #define THERM_CMD_MATCHROM 0×55
    #define THERM_CMD_SKIPROM 0xcc
    #define THERM_CMD_ALARMSEARCH 0xec
    void therm_read_temperature(){

    uint16_t temperatura[2];
    int8_t intreg;
    uint16_t zecimal;
    therm_reset();
    therm_write_byte(THERM_CMD_SKIPROM);
    therm_write_byte(THERM_CMD_WSCRATCHPAD);
    therm_write_byte(0x2f);//sa fie doar o zecimala dupa virgula nu stiu daca merge asa

    therm_reset();
    therm_write_byte(THERM_CMD_SKIPROM);
    therm_write_byte(THERM_CMD_CONVERTTEMP);

    while(!therm_read_bit());

    therm_reset();
    therm_write_byte(THERM_CMD_SKIPROM);
    therm_write_byte(THERM_CMD_RSCRATCHPAD);

    temperatura[0]=therm_read_byte();
    temperatura[1]=therm_read_byte();
    therm_reset();

    intreg=(temperatura[1]&0×07)<>4;

    zecimal=temperatura[0]&0x0f;

    lcd_string2(” %d.%u C “,intreg,zecimal);

    }

    Sugestii ?

  14. Alexandru a scris:

    Decembrie 27, 2010 @ 9:09 pm

    Salut. As vrea si eu sa incerc aceasta schema. Este sigura? Sau poate afecta pc-ul?

  15. George a scris:

    Iunie 27, 2011 @ 8:50 pm

    Salut, nu stiu daca mai da cineva un semn de viata pe aici, ma intereseaza un programator de genul, dar pentru microcontrollere de 8 pini, ca ATtiny45V, ca am observat ca unele programatoare sunt cam scumpe pt buzunarul nostru.
    Ma gandeam ca poate imi poti spune daca schema facuta de tine se potriveste si la cea de 8 pini, sau daca nu… poate ma poti ajuta.
    Nu sunt chiar atat de specialist in electronica …

RSS feed for comments on this post · TrackBack URI

Lasa un comentariu

Get Adobe Flash playerPlugin by wpburn.com wordpress themes