Atmega48 i arduino.

Rasprava o AVR mikrokontrolerima, AVR projekti i drugo vezano za AVR...

Moderators: pedja089, stojke369, trax, InTheStillOfTheNight

Post Reply
User avatar
StereoBucket
Napredujem
Napredujem
Posts: 129
Joined: 21-04-2012, 21:42
Location: Republika Srpska - Banja Luka

Atmega48 i arduino.

Post by StereoBucket »

Zanima me jel se moze preko arduino-a isprogramirati atmega48.
I dali se uopste mogu PIC i AVR programirati preko Arduinoa.
I sta tacno znaci self programmable i boot loader?
I dali je Arduino UNO dobar?
Plus nikad nisam koristio programabilne cipove tako da nista zivo neznam.
"Da li je priroda velika mačka?
Ako jeste,ko je vuče za rep?"-Nikola Tesla
User avatar
pedja089
Administrator sajta
Administrator sajta
Posts: 7873
Joined: 20-02-2007, 14:50
Location: Beočin -Srbija

Re: Atmega48 i arduino.

Post by pedja089 »

Ne mozes ga isprogramirati ukoliko je on prazan. U njemu vec mora biti upisan program koji se zove bootloader. Njegova funkcija je da kupi podatke sa seriskog porta(usb uart konverter je na plocici), i pise ih po flash memoriji kontrolera.
Koji je arduino dobar, pojma nemam...
User avatar
mbruck
Pravo uznapredovao :)
Pravo uznapredovao :)
Posts: 333
Joined: 27-02-2005, 11:36

Re: Atmega48 i arduino.

Post by mbruck »

I dali je Arduino UNO dobar?
Probaj...
User avatar
StereoBucket
Napredujem
Napredujem
Posts: 129
Joined: 21-04-2012, 21:42
Location: Republika Srpska - Banja Luka

Re: Atmega48 i arduino.

Post by StereoBucket »

pedja089 wrote:Ne mozes ga isprogramirati ukoliko je on prazan. U njemu vec mora biti upisan program koji se zove bootloader. Njegova funkcija je da kupi podatke sa seriskog porta(usb uart konverter je na plocici), i pise ih po flash memoriji kontrolera.
Koji je arduino dobar, pojma nemam...
Znaci na Arduino ili na neki drugi cip ucitam bootloader i onda preko njego isporgramiram atmegu.
"Da li je priroda velika mačka?
Ako jeste,ko je vuče za rep?"-Nikola Tesla
User avatar
InTheStillOfTheNight
Odlično uznapredovao
Odlično uznapredovao
Posts: 938
Joined: 01-06-2006, 17:54
Location: Zagreb

Re: Atmega48 i arduino.

Post by InTheStillOfTheNight »

Evo jedno seljačko objašljenje ovih pojmova.

Arduino nema nikakve veze sa mikrokontrolerom. Barem to tako izgleda iz moje perspektive. Mikrokontroler je hardware, skup logičkih vrata, memorije i svašta nešta. Kada suštinski govorimo o mikrokontroleru možemo razgovarati samo o 2 stvari. Hardware mikrokontrolera i set assemblerskih instrukcija za mikrokontroler.

Hardware mikrokontrolera je onaj vrag što kupiš, moraš platiti i izgleda kao neki čip, a set assemblerskih instrukcija je ono što taj hardware zna izvršavati i može se pronaći besplatno na netu.

Ono što tebe muči, koliko vidim, je pitanje što je zaboga onda arduino?
Sigurno ne spada pod mikrokontroler jer on zna izvršavati jedino assemblerske instrukcije i to samo svoje assemblerske instrukcije. Nemojmo tu mješati assembler PIC-a i assembler AVR-a. Radi se o različitim jezgrama kontrolera, o različitim instukcijama kontrolera i naprosto ova dva računala su u svim pogledima različita, što u brzini izvršavanja instrukcija tako i u čitavoj internoj arhitekturi.

No kako je assembler bilo kojeg kontrolera ljudskom umu najteži način programiranja jer je onaj strojni, najniži, ona razina programiranja da moraš znati pun ku*** o kontroleru da bi bilo što napravio, nastali su viši programski jezici. Danas najzastupljeniji je C, a arduino je nešto slično tome.

Arduino je obična programska platforma koje ti pojednostavljuje mikrokontroler i postoji samo za AVR računala. Tu PIC ne možemo niti spomenuti jer je to posve drugo računalo i nema nikakve veze sa AVR-om. Ako ti je baš ovako jednostavnije, Arduino je isto što i BASIC, PASCAL, C, samo uz brdo biblioteka vezanih jedino za AVR mikrokontroler.

Po tome arduino spada pod viši programski jezik za AVR, no ima jedan trik:
Bilo koja arduino ploča nije arduino mikrokontroler. To je samo naziv firme koja je proizvela ploču. Radi se samo o još jednoj ploči na kojoj postoji AVR mikrokontroler, i program opet možeš pisati u čemu god hoćeš, nevažno bio to assember, basic, c ili neki arduino razvoji alat.

No kako je i pedja rekao, u AVR kontroleru, onom suštinskom hardwareu, postoji nešto imena bootloader. Radi se memorijskom prostoru na koji "netko" može upisati nekakav program. Da bi uopće shvatio što je bootloader moraš znati i njegovu svrhu.

Pa evo recimo jednostavan primjer:
Imaš mobitel koji u sebi ima neki ludi procesor, recimo ARM11 i programator za njega košta cca 500 USA, i trebaš ga zaštekati na 10 pinova da bi promjenio program u svom mobitelu... Po tome bi svaki jači mobitel trebao imati još jedan specijalan konektor samo za programiranje mikrokontrolera ili njegovog flash-a sa programatorom od 500 USA.

Ali i ti vjetojatno znaš da mobitel spojiš na USB i čudom upucaš novi program. Eh napravio bi to moj ku*** da nema bootloader u kontroleru.

Bootloader je mali program(često na kraju FLASH memorije) koji ti služi samo da preko bilo koje komunikacije, bio to USB, UART ili ne znam što možeš upisati novi program u sam FLASH kontrolera. U pravilu bootlader program u stanju je prepisati čitavu FLASH memoriju, osim samog sebe jer sebe ne želi srušiti. Kada govoriš o self programming, to ti je upravo to. Sam kontroler izvršava program bootloader-a i piše sam svoj novi aplikativni program. Bootloader ostaje isti, a novi program se upiše u kontroler.

Kakve sad to ima veze sa arduinom?
AVR i arduino nemaju veze, ne baš tako bliske, osim što arduino i postoji samo zbog AVR-a (AVR sigurno ne postoji zbog arduina). No Arduino kao "firma Arduino" namjerno će u mikrokontrolere ploča koje prodaju upisati tvornički arduino bootloader. To znači da preko njihovih alata možeš pokrenuti arduino bootloader i upisati neki novi program u mikrokontroler. Ista stvar kao i kad preko software-a jedne NOKIE digneš novi software u mobitelu.

Suštinski gledano, ako je preko ISP ili JTAG programatora upisan arduino bootloader, onda možeš preko njihovih alata isprogramirati taj MCU pozivom bootlader programa, a ako nije, jebiga stari, kupi si ko i svi mi JTAG ili ISP programator i ako ti je baš volja sam si isprogramiraj arduino bootloader.
InTheStillOfTheNight
User avatar
StereoBucket
Napredujem
Napredujem
Posts: 129
Joined: 21-04-2012, 21:42
Location: Republika Srpska - Banja Luka

Re: Atmega48 i arduino.

Post by StereoBucket »

Hvala
"Da li je priroda velika mačka?
Ako jeste,ko je vuče za rep?"-Nikola Tesla
User avatar
StereoBucket
Napredujem
Napredujem
Posts: 129
Joined: 21-04-2012, 21:42
Location: Republika Srpska - Banja Luka

Re: Atmega48 i arduino.

Post by StereoBucket »

"Da li je priroda velika mačka?
Ako jeste,ko je vuče za rep?"-Nikola Tesla
User avatar
Kukinjos
Pravi forumaš
Pravi forumaš
Posts: 1724
Joined: 28-03-2012, 18:01
Location: Split

Re: Atmega48 i arduino.

Post by Kukinjos »

Najbolji, bar si miran za podršku od Atmel-a. Jedino što nema je HV programming mod, pa ako zezneš konfiguracijski bit za ISP ili RESET ne možeš ga vratit s ovim programatorom, već ti treba STK500 ili AVR Doctor, ali to će ti objasnit Feko i Gromit :twisted:
http://www.elektronika.ba/forum/viewtop ... avr+doktor
Cezare, star sam i nemoćan, ali poslušaj moj savjet ....
User avatar
InTheStillOfTheNight
Odlično uznapredovao
Odlično uznapredovao
Posts: 938
Joined: 01-06-2006, 17:54
Location: Zagreb

Re: Atmega48 i arduino.

Post by InTheStillOfTheNight »

Da, najbolje što možeš kupiti je to... Nije tako skup, ali podržava update svega atmelovog, tako da će raditi na svim verzijama alata koje izda Atmel. Ja koristim AVR ISP MKII, ovaj je noviji, to je nedavno izašlo, i JTAG ICE MKII, a izašao je i novi JTAG ICE, no njega još nisam probao.

Jedina prava prednost JTAG programatora je In System Debug, i to je spas u kompleksnim projektima jer možeš direkno na mikrokontroleru debugirati program, a ne koristiti simulator. Jedino što je JTAG Atmela bezobrazno skup, ali se može kupiti kineska verzija za nekih 100 USA i radi kao sat, također isprobano...

Svi AVR kontroleri, barem oni koje sam ja koristio, ako imaju JTAG onda imaju i ISP, tako da ako baš nemaš JTAG programator, nije problem jer ih programiraš preko ISP-a. Jedino sranje koje sam uočio davno je da AVR JTAG ICE MKII ne podržava ISP programiranje za ATMEGA8. Totalno ludo i čudno, ali MEGA8 nije na listi JTAG ICE programatora, barem one verzije koju imam. Njega programiram tim malim programatorm preko ISP-a.
InTheStillOfTheNight
User avatar
StereoBucket
Napredujem
Napredujem
Posts: 129
Joined: 21-04-2012, 21:42
Location: Republika Srpska - Banja Luka

Re: Atmega48 i arduino.

Post by StereoBucket »

Evo i posljednje pitanje.
Dali da kupim od ovog ovdje
http://www.ebay.com/itm/Compatible-Atme ... 3a743c6519

Posto na atmel sajtu su stavili pretjerano visoku cijelu sa dostavom koja iznosi sve ukupno 75 dolara.
Ovaj daje 36 dolar sto mi izadje dva puta jeftinije.
plus onih 5 za dostavu
"Da li je priroda velika mačka?
Ako jeste,ko je vuče za rep?"-Nikola Tesla
User avatar
StereoBucket
Napredujem
Napredujem
Posts: 129
Joined: 21-04-2012, 21:42
Location: Republika Srpska - Banja Luka

Re: Atmega48 i arduino.

Post by StereoBucket »

Ispostavlja se da nije original.
Znal neko gdje mogu jednostavno i lako za pravu cijenu bez ovih glupih troskova dostave od 20 dolara il tako nesto.
Gledam kroz sad par ovih ovlastenih prodavaca.
"Da li je priroda velika mačka?
Ako jeste,ko je vuče za rep?"-Nikola Tesla
User avatar
zigzag9
Napredujem
Napredujem
Posts: 193
Joined: 06-06-2011, 23:35
Location: HR

Re: Atmega48 i arduino.

Post by zigzag9 »

Čemu bacaš novac u startu, kad za par dolara možeš pronaći ISP programatore koji rade sasvim OK.
http://www.ebay.com/sch/i.html?_nkw=usb ... &_from=R40
http://www.ebay.com/sch/i.html?_sacat=0 ... isp&_frs=1
Post Reply