Sari la conținut
ELFORUM - Forumul electronistilor

Programarea uC-urilor Atmel


ole

Postări Recomandate

Hfuse este ok, dar lfuse (0xe1) programeaza uc pentru oscilator extern...

Presupun ca utilizezi programatorul descris in postul #299 direct in circuit, in cazul asta schema ta ar trebui sa ofere un oscilator RC pentru uc si ar trebui sa functioneze. Daca il programezi separat intr-un soclu, atunci programatorul nu-l mai"vede" pentru ca nu mai are oscilator! Initial il "vede" pentru ca toate uc vin setate pe oscilator intern.

Pentru recuperare nu-ti trebuie avr doctor ci doar o rezistenta si un condesator care se pune la pinul XTAL1 (vezi Extrenal RC oscillator din datasheet-ul atmega8).

Succes!

Link spre comentariu

Hfuse este ok, dar lfuse (0xe1) programeaza uc pentru oscilator extern...

Presupun ca utilizezi programatorul descris in postul #299 direct in circuit, in cazul asta schema ta ar trebui sa ofere un oscilator RC pentru uc si ar trebui sa functioneze. Daca il programezi separat intr-un soclu, atunci programatorul nu-l mai"vede" pentru ca nu mai are oscilator! Initial il "vede" pentru ca toate uc vin setate pe oscilator intern.

Pentru recuperare nu-ti trebuie avr doctor ci doar o rezistenta si un condesator care se pune la pinul XTAL1 (vezi Extrenal RC oscillator din datasheet-ul atmega8).

Succes!

Fusebits-i low:0xe1 si high 0xD9 sunt pentru oscilator RC intern, frecventa de 1MHz, deci ar trebui sa poate fi reprogramat uC.

Link spre comentariu

Ai dreptate nico, 0xe5 era pentru rc extern, (mi s-a intamplat recent, si am presupus ca este aceiasi situatie:). Nu m-am uitat cu atentie la primii 4 biti a lfuse!

Link spre comentariu

multumesc tuturor, dar @nico2010 a identificat problema: lipitura rece. Acum programatorul functioneaza si imi vede toate uc. am comandat degeaba inca 5  :) nu-i bai, le gasesc eu utilizare.

Link spre comentariu
  • 1 lună mai târziu...

@eugenval

Eu te ajut cu cea mai mare placere - nu te cost nimic - dureaza max 5 min - ideea este ca ar trebui sa vii cu montajul la Baia Mare.

Cu siguranta vei gasi pe cineva la tine in oras sa te ajute.

O alta idee ar fi sa-ti cumperi un programator. Ex: un USBasp cred ca-l  gasesti pe la 20 lei - si procedura de programare nu-i complicata.

 

Succes

Link spre comentariu
Vizitator eugenval

Multumesc mult pentru raspuns!

Dar eu cred ca imi mai trebuie si alte lucruri in afara de USBasp, nu? De exemplu ceva adaptor ca cel din poza:

http://i01.i.aliimg.com/img/pb/012/091/467/467091012_542.jpg

sau ceva de genul TQFP32 -> DIP32

http://320volt.com/wp-content/uploads/2012/07/tqfp32-adaptor-pcb-dip32.jpg

Nu am putea sa facem in felul urmator? Cumperi tu acest uC, il programezi si apoi prin posta in sistem ramburs mi-l trimiti mie... platesc inclusiv transportul desigur. Chiar nu vreau sa para ca sunt un om comod din fire dar nu cred ca voi mai avea vreodata nevoie de toata partea de programare... Daca se poate asa atunci ramane sa stabilim urmatorele detalii...

Multumesc inca o data.

Link spre comentariu

@eugenval

 

Nu ai nevoie de nimic altceva.

 

I-l programezi direct in circuit - am aruncat o privire peste proiect si am remarcat ca ai acolo pad-uri pt. conectarea programatorului.

 

Este simplu crede-ma - ai sa te descurci 100%.

 

Pasul 1 : realizezi montajul - complet

Pasul 2 : Programare uC

    2.1 Cumperi USBasp

de aici in jos te ajut direct daca nu te descurci (remote pe calc. tau)

    2.2 Instalezi (probabil ca folosesti Windows) : WinAvr - este free (pt. avrdude)

    2.3 Instalezi un driver pt. acel USBasp 

    2.4 copiezi programul (hex-ul: smatrig21.hex si .eep-ul) de pe site la tine in calculator

    2.5 conectezi programatorul (ISP = InSystemProgrammer) cu 6 fire la  montaj: MISO, MOSI, RST, SCK si alimentarea

    2.5 scrii o comanda in DOS (am luat-o din link-ul tau):

      avrdude -p m88 1 -U flash:w:smatrig21.hex -U eeprom:w:smatrig21.eep -U lfuse:w:0x52:m

    2.6 Enjoy

 

Asa ramai si cu un programator  (+ un bagaj de cunostinte) - si te costa toata afacerea ~ 20 lei.

 

Cu varianta propusa de tine (achizitie + programare + trimitere ) - nu-i ok - nici eu nu am acele adaptoare.

 

Realizeaza montajul si cand esti gata da-mi un semn.

 

Succes

Link spre comentariu
Vizitator eugenval

:)

M-ai convins. Merci prietene!

Luni merg la magazin sa-mi comand piesele... pana atunci imi realizez circuitul...

USBasp-ul din link-ul de mai jos este ok, da?

http://olx.ro/oferta/programator-usbasp-usbisp-3-3v-5v-avr-ID1Zwkd.html#b398fb2095

 

Am gasit si dispunerea pinilor:

http://www.bugged.be/wp-content/uploads/2014/02/USBasp_ISP_KANDA.jpg

Editat de eugenval
Link spre comentariu

@eugenval,vezi ca la #296 am pus eu o schema f simpla de programator. cu vreo 10 lei iti faci programatorul. problema e ca trebuie sa ai un port serial nativ pe calculator/laptop, ca nu merge cu adaptoare USB-RS232 (cel putin nu cu din alea chinezesti sau cu chip prolific sau mai stiu eu ce; am tot ”auzit” ca ar merge cu un adaptor dar cu chip ftdi). eu zic ca merita sa te gandesti la varianta asta; eu l-am facut si merge fara probleme (daca il realizezi cu grija, desigur; eu l-am folosit cu uc separat, nu in montaj, dar sunt sigur ca merge si ICSP). daca te hotarasti sa faci programatorul propus de mine, iti stau la dispozitie cu sfaturi..etc.

Link spre comentariu
  • 2 săptămâni mai târziu...
Vizitator eugenval

Sal,

Au fost mai multe probleme care mi-au intarziat munca la acest proiect problema insa este ca in momentul acesta m-am cam blocat... nu reusesc sa fac circuitul prin metoda "traditionala" adica cu printarea lui pe hartie foto apoi transfer prin caldura pe placa de cupru si corodare cu acid... Desii am ingrosat traseele nu le-am lasat asa cum sunt in original totusi sunt prea subtiri si acidul ataca prea mult...

Imi recomandati o alta tehnica ce-o pot folosii acasa sau sa realizez circuitul altundeva? (adica sa apelez la vreun site care face as ceva, numai ca din cate am vazut nu prea se face o singura bucata...)

Multumesc pentru orice idei!

 

P.S. imi cer scuze daca este off-topic...

Editat de eugenval
Link spre comentariu

@eugenval, poti incerca in loc de acid (probabil azotic) clorura ferica. e mai lenta si mai putin coroziva decat acidul azotic. eu personal prefer sa lucrez cu acid azotic. daca il supraveghezi in timp ce corodeaza imposibil sa nu faci treaba buna.

daca vrei sa cumperi un programator, cauta pe forum la sectiunea vanzari, sigur sunt colegi care vand acel usbasp (sau cam asa ceva). crede-ma, mai mult costa transportul decat programatorul (sau cam tot pe acolo). sfatul meu e sa faci tu unul pe rs232 (gasesti pe la vreun prieten un calculator mai vechi, cu port serial, macar ca-l imprumuti pentru o perioada de timp). succes!

Link spre comentariu
  • 2 săptămâni mai târziu...
Vizitator eugenval

Salutare baieti,

Na in sfarsit am ajuns la cale.. greu merg treburile in tara asta... cand e una nu e cealalta si vice-versa... n-am crezut ca se va lungi atata...

Ideea este ca am ajuns la punctul in care pot incepe programarea uC-ului folosind USBasp pe care l-am cumparat de pe olx dar is cam obosit deja si ceva nu merge sau mai mult ca sigur nu fac eu bine. Tot ce obtin in fereastra de DOS este raspunsul urmator: "avrdude is not recognized as an internal or external command" Precizez ca am navigat in dos la folderul unde am instalat WinAvr. Ulterior am descarcat si avrdude si nici o schimbare de situatie. Ce nu fac bine, va rog ajutati-ma! Multumesc anticipat!

Link spre comentariu

Salut.

 

E ok - faptul ca ai terminat montajul  e grozav nu te lasa cuprins de: greu merg treburile in tara asta.

 

Mesajul primit : "avrdude is not recognized as an internal or external command"  se traduce astfel: Nu gasesc programul  avrdude.exe.

 

La executia unei comenzi, din prompter, windows cauta programul in:

   1. directorul curent

   2. toate directoarele definite intr-o proprietate a sistemului de operare numita PATH (comanda: echo %PATH% - i-ti arata caile sumplimentare de cautare a programelor). 

 

Acum ramane intrebarea de ce dupa instalarea lui WinAvr - aceata (in procesul de instalare) nu a actualizat acest PATH.  Evident putem remedia manual aceasta problema dar prefer urmatoarea abordare: 

 

Pasi:

  1. Ai instalat driverul pt USBAsp ? 

    1.1 NU - instaleaza-l  - i-l gasesti pe net  - este dependent de versiunea sistemului tau de operare:

           pt. Win7 si Visata: http://www.protostack.com/blog/2011/05/usbasp-driver-for-windows-7-and-windows-vista-x64/

           pt. Win8 :https://openchrysalis.wordpress.com/2014/09/26/installing-usbasp-driver-software-in-windows-8-1/

 2. Verica daca USBasp este corect instalat in sistem - Device Manager:

    My Computer (click dreapta) -> Manage -> Device Manager
                              Posted Image
 3. Dezinstaleaza WinAvr si avrdude pe care l-ai instalat (ControlPanel -> Add/Remove programs).
 4. Instaleaza WinAvr  de pe sourceforge (WinAVR-20100110-install.exe (28.8 MB)) : http://sourceforge.net/projects/winavr/files/WinAVR/20100110/WinAVR-20100110-install.exe/download
   lasa setarile implicite:
                       Posted Image
 5. Verifica functionarea lui avrdude (deschide un prompter DOS si scrie avrdude ).
     5.1 Nu functioneaza:  avrdude is not recognized as an internal or external command  instaleaza-ti o solutie de remote (ex: TeamViewer) si da-mi un semn. stop
     5.2 E ok porneste  hai sa ne conectam la mc.
        5.2.1 Interogare mc (rulam comanda): avrdude -c USBasp  -p m88  (cred ca parametru -c USBasp este optional si m88 este tipul mc-ului tau).
          5.2.1.1 - Eroare - verifica te rog conectarea programatorului la interfata ISP
                            Posted Image cred a ar trebui sa alimentezi montajul si nu folosi VCC (pin 2) . Nu merge nici acum (verifica inca o data montajul si lipiturile): postezi aici eroarea completa generata.
          5.2.1.2 - Totul  e ok - putem scrie programul in mc: 
             - copiezi programul (hex-ul: smatrig21.hex si .eep-ul) de pe site la tine in calculator intr-un director.
             - ruleaza comanda avrdude de pe site pt. a scrie hex-ul si a seta fuse biti - aici te rog mare atentie foloseste copy& paste in terminal:
                             Posted Image
   
Mesajele generate de avrdude sunt, in general, destul de descriptive. Oricum daca nu te descurci da-mi un semn (in principiu diseara dupa 20 sunt prin zona).
 
Succes
Radu
Link spre comentariu

Creează un cont sau autentifică-te pentru a adăuga comentariu

Trebuie să fi un membru pentru a putea lăsa un comentariu.

Creează un cont

Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!

Înregistrează un nou cont

Autentificare

Ai deja un cont? Autentifică-te aici.

Autentifică-te acum
×
×
  • Creează nouă...

Informații Importante

Am plasat cookie-uri pe dispozitivul tău pentru a îmbunătății navigarea pe acest site. Poți modifica setările cookie, altfel considerăm că ești de acord să continui.Termeni de Utilizare si Ghidări