Sari la conținut
ELFORUM - Forumul electronistilor

telecomanda RF cu atmel pentru rulouri


gabitzu2006

Postări Recomandate

Semnatura invalida este semnalata atunci cand uC nu are oscilatorul in functiune (fusebits setati pe oscilator extern).

Cealalta eroare poate denorta, asa cum am mai spus, un posibil scurt intre unul din pinii de programare si GND.

Nu cunosc programatorul pe care il folosesti, nu stiu cum functioneaza si nici nu stiu care este calitatea executiei acestui programator (cablaj bine proiectat, cablaj executat in fabrica sau pe genunchi).

In general nu folosesc struto-camile pentru programarea uC ci doar programatoare dedicate, sau recomandate de producatorul uC, asta ca sa imi pastrez nervii in cutiuta lor.

Verifica inca odata conexiunile dintre programamtor si target, prezenta tensiunii de alimentare a targetului supus programarii si inexistenta vreunui scurt intre oricare dintre pinii de programare si masa. Si fa verificarea cu aparatul de masura nu cu ochiul, ca asta din urma mai inseala!

 

Link spre comentariu

deci..programatorul folosit e folosit si cu succes. este imposibil sa pot programa cu el un atmega8, dar sa nu pot programa un attiny13, pe aceeasi placa. daca ar fi fost scurt, ar fi fost si pentru atmega8. deci asta e exclusa din start. dar ce nu am facut si sper sa nu ai dreptate, e ca nu am verificat tensiunile, ci doar am avut incredere in ce mi-a raportat programatorul. e posibil sa nu am vreo tensiune la valoarea necesara. asta despre programatorul open programmer.

am incercat sa-l programez si cu Arduino, rezultatul fiind acelasi.

de aceea tind sa cred ca e posibil sa fie ultima varianta despre care ai spus, si anume probleme cu oscilatorul. chestia ciudata e ca din 6 bucati, nu am reusit sa programez 4, pe celelalte 2 nu le-am incercat. dar stiam ca din fabrica vin setate sa functioneze pe oscilator intern. ma insel cumva? daca da, imi poti recomanda o schema de programator cu cuart? am inteles ca folosesti chestii profi, dar poate totusi ai folosit candva si ceva facut pe genunchi. ca veni vorba, programatorul de care spuneam e lipit de mine, cablajul e facut de un coleg de pe forum, destul de profi, probabil prin metoda foto. repet, am programat multe atmega8 cu el si cateva pic-uri, folosind adaptoare separate. deci cablajul placii de baza nu are nimic in neregula. si nici adaptorul pentru atmel. mersi de sfaturi! revin dupa ce masor tensiunile, desi cred ca nu-I de aici (chiar daca ar fi asa, ar fi trebuit sa mearga cu Arduino).

Link spre comentariu

Daca adaptorul pentru ATMEL a fost realizat dupa schema de aici: https://xtronic.org/download/microcontroller/open-programmer-usb-programmer-for-pic-i2c-spi-microwire-onewire-unio-eeproms-atmel/ atunci cu siguranta nu va putea programa ATtiny13A sau vreun alt uC de la ATMEL cu 8 pini, deoarece pinul 4 (GND al ATtiny13A) nu este conectat la masa, vezi foto de mai jos.

Ti-am spus sa verifici cu atentie conexiunile, dar tu ... batman! Si da, poti programa  ATMega8 pentru simplul fapt ca are conexiunile realizate pentru alimentare.

 

Si inca odata spun ca nu-mi plac struto-camilele! Nu folosesc "chestii profi" pentru programare, cu exceptia uC de la Atmel, dar folosesc programatoare pentru cele trei tipuri de uC pe care le utilizez: PicKit2 (clona) pentru PIC-uri, ST_Link pentru STM32 si ATMEL ICE pentru Atmel, cu softurile aferente lor.

adaptor_OpenProg_mod.png

Editat de nico_2010
Link spre comentariu

Eu am folosit doar soclul DIP8 pentru a programa Attiny13A, pentru invertoarele mele.Daca poate programa Atmega8  , nu si Attiny13 inseamna ca are traseu intrerupt spre soclul DIP8.Daca era scurt ,n-ar fi mers nici DIP28!Cu ohmetrul poate verifica traseele ca in imaginea  de mai jos.La adaptorul meu am si pinul 4 de la DIP 28 conectat la masa ,insa pentru Attiny13 am folosit doar DIP8

 

OpenProg.png

Editat de nel65
Link spre comentariu
1 oră în urmă, fratello a spus:

Pai de ce nu se introduce in soclul DIP8 ?

adapter2.jpg

Dan, asa ar fi logic ... insa exista o neconcordanta intre schema adaptorului (pentru ATtiny) si cablajul adaptorului, pe de o parte, si pe de alta parte, intre schema aceluiasi adaptor pentru ATtiny si foaia de catalog a ATtiny.

Ca sa explic afirmatia de mai sus soclul de 8 pini pentru "programare ATtiny" nu are pinul de RESET la pinul 1, ci la pinul 2, iar la pinul 1 este Vpp (din cate stiu asta este valabil doar la ATtiny11, unde se aplica 12V, altfel are functia de RESET, iar la ATtiny12, pinul 1 se pune la GND cand se programeaza!) vezi foto adaptor_ATtiny_8_pini (aici apare eroarea fata de foaia de catalog). Pe de alta parte, la soclul de 28 pini (foto adaptor_28_pini) se observa ca pentru uC cu 28 de pini asignarea semnalelor pentru programare este corecta. Totodata, pinii de la 1 la 4, respectiv de la 28 la 25 au semnale asignate programarii uC cu 8 pini (altele decat ATtiny11), insa pinul 4 nu este la GND (cum ar trebui sa fie) ci este "in aer". Deci, nema alimentare, nema programare!

Adaptorul postat de nel65 este corect si asa ar trebui sa fie!

 

 

adaptor_ATtiny_8_pini.png

adaptor_28_pini.png

Editat de nico_2010
Link spre comentariu

Cu placere! In general, la ATMEL pentru uC cu 8, 20 si 28 pini, pinul RESET este pe pinul cu nr.1, iar la cele de 40 de pini RESET-ul este pe pinul 9.

Nu am avut placerea sa lucrez cu ATMEL cu 14 pini, unde pinul RESET este pe pinul cu nr.4, iar alimentarea se face pe pinii 1 si 14.

Link spre comentariu

eu am adaptorul dupa schema lui nel65...in cazul asta, sa verific daca nu cumva e un traseu intrerupt, din moment ce el spune ca a folosit adaptorul si a programat cu succes attiny13a. chestia ciudata e ca..de ce nu merge cu arduino isp? ca astia zic pe diferite site-uri ca se poate programa cu arduino isp...

in fine, verific cablajul la adaptorul open prog...poate il fac asa sa mearga. inca o data, multumiri!

P.S. recunosc, sunt incapatanat  :)

Link spre comentariu

Verifica si lipiturile la pinii soclului. Lipiturile reci (de obicei invizibile cu ochiul liber) te pot aduce in pragul paranoiei!

Editat de nico_2010
Link spre comentariu

Emitatorul si receptorul sunt construite cu acelasi procesor: ATtiny13 / 1,2MHz. Codul este foarte simplu, emitatorul transmite o secventa ca in imaginea de mai jos:

paket.jpg.f0c5b192b37491dcde45f76dc27a793b.jpg

Practic nu conteaza durata impulsurilor, atata timp cat emitatorul si receptorul functioneaza cu aceiasi frecventa: conteaza ca raportul lor este acelasi.

De exemplu in fisierul "transmitter" avem la un moment dat secventa de transmitere a impulsului scurt (cel de 128us din imagine):

;Impuls scurt
;Krátký impulz
KRATKA_1:
SBI PORT,4
LDI REG,40		;2,5us = 100us
CEKEJ_K1:
DEC REG
BRNE CEKEJ_K1

In realitate nu este exact de 128 us, conteaza insa ca procesorul face  40 de iteratii intr-o bucla care are 2 instrunctiuni (DEC REG care are 1 ciclu si BRNE CEKEJ_K1 care are 2 cicli, in total 3 cicli) in concluzie 40 x 3 = 120 cicluri. Daca procesorul este tactat la 1,2 MHz atunci un ciclu este 1/1200000=0.833us, adica o durata de aproximativ 100us. Daca procesorul ar fi tactat la 1MHz, atunci durata ar fi fost de 120us, raportul duratelor 120/100=1,2 este identic cu cel al frecventelor de tact 1200000/100000=1,2.

 

Concluzia este sa nu-ti faci nici un fel de problema: vor functiona sigur si la 1MHz cat poate fi setat ATtiny25.

 

Succes!

Link spre comentariu

Completare pentru textul anterior: daca frecventa de lucru a microprocesorului poate fi 1MHz sau 1,2MHz pentru o functionare corecta, exista totusi o diferenta intre cele doua procesoare.

Softul emitatorului nu pune probleme, poate fi folosit la ambele procesoare fara nici o modificare (semnalul emis va fi mai lat cu 20% la ATTiny25).

Softul receptorului insa trebuie modificat pentru ATTiny25, deoarece exista un registru cu functionare identica in ambele procesoare, dar cu denumiri si continut diferit: Timer/Counter Interrupt Mask Register.

La ATTiny13 se numeste TIMSK0 si are urmatorul continut:

timsk0_attiny13_1.jpg.b13d97c032e5a9b1e220d540dcda7c12.jpg

In softul receptorului se seteaza valoarea bitului 2 (OCIE0A).

 

iar la ATTiny25 se numeste TIMSK si are urmatorul continut:

timsk_attiny25_1.jpg.cb2b4da04232fbc10f491a47e359294a.jpg

Modificarea softului consta in scrierea aceluiasi bit (OCIE0A), aici insa pe pozitia 4.

 

Odata facuta aceasta modificare pentru receptorul cu ATTiny25, va functiona fara probleme cu emitatorul cu ATTiny25 (si chiar cu ATTiny13, abatarea de 20% fiind in parametrii acceptati de soft).

@gabitzu2006 succes la mesterit!

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