 |
www.elektronik.si Forum o elektrotehniki in računalništvu
|
Poglej prejšnjo temo :: Poglej naslednjo temo |
Avtor |
Sporočilo |
arksi Član

Pridružen-a: Sre 03 Sep 2008 10:19 Prispevkov: 748 Aktiv.: 3.66 Kraj: Dolenjska
|
Objavljeno: Pet Okt 16, 2015 10:24 am Naslov sporočila: Programiranje Arduino Pro Mini |
|
|
Arduino-te sem in ga še programiram preko ISP z AtmelStudiom. Tukaj lahko nastavljam še fuse bite itd.....
Sedaj bi pa želel, da bi Arduino pro mini sprogramiral preko pinov Tx Rx v Arduino okolju (Arduino software). Malo sem gledal po netu in ugotovil, da se priključi preko USB vmesnika, ki ima potem COM port in komunikacijo preko Tx Rx.
Najprej me zanima, če sem prav povezal Pro Mini ploščo in USB vmesnik?
Opis: |
|
Velikost datoteke: |
112.86 KB |
Pogledana: |
13 krat |

|
|
|
Nazaj na vrh |
|
 |
Jaka57 Moderator



Pridružen-a: Ned 12 Dec 2004 21:47 Prispevkov: 5820 Aktiv.: 24.56 Kraj: Grosuplje
|
Objavljeno: Pet Okt 16, 2015 10:38 am Naslov sporočila: |
|
|
Če je to na sliki navaden USB->RS232 (TTL) pretvornik, potem načeloma ja, čeprav za barve žic, ki gredo iz USB PL2303, veš samo ti.
Če po priključitvi blinka LED potem imaš napajanje pravilno, za ostali dve boš pa vedel, ko boš nalagal na njega program.
_________________ Lp, Jaka |
|
Nazaj na vrh |
|
 |
arksi Član

Pridružen-a: Sre 03 Sep 2008 10:19 Prispevkov: 748 Aktiv.: 3.66 Kraj: Dolenjska
|
Objavljeno: Pet Okt 16, 2015 11:00 am Naslov sporočila: |
|
|
Uff, sem pozabil napisati. Na sliki je navaden USB->RS232 (TTL) pretvornik, ki ima tak razpored priključkov:
Rdeča = +
Črna = -
Zelena = Tx
Bela = Rx
Ko priključim USB vmesnik na USB začne utripati ledica na pinu 13.
Sedaj me še zanima kateri programator naj izberem iz nabora programatorjev (slika spodaj)?
Opis: |
|
Velikost datoteke: |
92.62 KB |
Pogledana: |
11 krat |

|
|
|
Nazaj na vrh |
|
 |
Jaka57 Moderator



Pridružen-a: Ned 12 Dec 2004 21:47 Prispevkov: 5820 Aktiv.: 24.56 Kraj: Grosuplje
|
Objavljeno: Pet Okt 16, 2015 11:16 am Naslov sporočila: |
|
|
Če boš programiral preko USB->RS232(TTL) je podatek o programatorju nepomemben, torej je vseeno, kateri.
Pomembno je, da izbereš pravi Com port in pravo ploščo (Arduino mini - mega328). Seveda pa mora imeti tvoj mini Opti bootloader, kar pa pri Kitajcih ni vedno tako.
V primeri odpri enostaven primer LED Blink, ga prevedi in pošlji v platko.
Boš takoj videl ali je vse tako kot mora biti.
_________________ Lp, Jaka |
|
Nazaj na vrh |
|
 |
arksi Član

Pridružen-a: Sre 03 Sep 2008 10:19 Prispevkov: 748 Aktiv.: 3.66 Kraj: Dolenjska
|
Objavljeno: Pet Okt 16, 2015 12:14 pm Naslov sporočila: |
|
|
Hvala Jaka. Bom poizkusil, ko pridem do svojega računalnika.
Zakaj je potem toliko možnih programatorjev na razpolago?
Seveda, pomemben je izbran pravi COM port in ploščico. Kako je z "Kitajskim" Opti bootloader bom pa videl. Vem, da je pri Kitajcih vse možno .
Kolikor vem, je možno Opti bootloader ponovno vpisati preko ISP (pini za programiranje) z programatorjem.
Kje se pa dobi tale tapravi Opti bootloader (če ga bom mogoče potreboval)?
|
|
Nazaj na vrh |
|
 |
Jaka57 Moderator



Pridružen-a: Ned 12 Dec 2004 21:47 Prispevkov: 5820 Aktiv.: 24.56 Kraj: Grosuplje
|
Objavljeno: Pet Okt 16, 2015 1:12 pm Naslov sporočila: |
|
|
arksi je napisal/a: |
Zakaj je potem toliko možnih programatorjev na razpolago?........
Kje se pa dobi tale tapravi Opti bootloader (če ga bom mogoče potreboval)? |
- toliko programatorjev imaš na razpolago, če ne bi uporabil serijskega porta, to se pravi bootloaderja in če bi želel zapeči nov bootloader,
- vsi klasični bootloaderji so v mapi ....\arduino\hardware\arduino\avr\bootloaders
Kje točno se nahaja ta mapa, pa takole, iz glave, ne vem, ker imam na tem čarunalniku, s katerega pišem tole, verzijo 1.6.1. Pri 1.6.2 in naprej, če me spomin ne vara, so mape nekako drugače razmetane, nekaj je v programskem direktoriju, nekaj je pa v uporabniškem profilu. Kakorkoli, če ga ne boš našel, ti ga pa jaz pošljem, saj ga je samo za 0.5kB.
_________________ Lp, Jaka |
|
Nazaj na vrh |
|
 |
arksi Član

Pridružen-a: Sre 03 Sep 2008 10:19 Prispevkov: 748 Aktiv.: 3.66 Kraj: Dolenjska
|
Objavljeno: Tor Okt 20, 2015 6:51 am Naslov sporočila: |
|
|
Hmm, sem poizkusil programiranje. Ne deluje programiranje preko serijskega porta.
Pretvornik USB zagotovo deluje, namreč, ko sklenem Tx Rx dobim na termial oknu vrnjeno vsebino, ki je bila poslana. Torej so COM vrata pravilno izbrna, hitrost prenosa je 9600 b/s.
Našel sem tudi mapo z Opti bootloader-jem in ga na novo z programatorjem "zapekel" v Mego328, vendar tudi to ni pomagalo.
Ploščica Pro Mini se preko ISP programira normalno. Trmoglavi samo pri programiranju preko serijskega porta. Mogoče pa jez delam kaj narobe.
@Jaka57, a bi mi mogoče hotel poslati tvoj Opti bootloader, da poizkusim še s tvojim. Mogoče sem jaz kaj "zamutil", pa nisem izbral pravega.
LP
|
|
Nazaj na vrh |
|
 |
Jaka57 Moderator



Pridružen-a: Ned 12 Dec 2004 21:47 Prispevkov: 5820 Aktiv.: 24.56 Kraj: Grosuplje
|
Objavljeno: Tor Okt 20, 2015 10:38 am Naslov sporočila: |
|
|
arksi, ja s temi optibootloaderji v mapi arduina je neka štala, tudi v datoteki boards.txt nekaj ne štima tako kot bi moralo. Jaz jo vedno, pri inštalaciji novega Arduino okolja, na roke popravim.
Gre namreč zato, da je na platkah Arduino mini AtMega328P, kar pomeni. da je praktično enaka kar se tiče spomina in IO pinov kot Arduino UNO, s tem, da imajo originalne platke mini celo dva analogna IO pina več, medtem, ko pri kitajskih ni vedno tako.
V mapi, kjer si našel bootloader imaš dva, eden je optiboot_atmega328.hex drugi pa optiboot_atmega328_Mini.hex. Jaz uporabim, če je potrebno, prvo datoteko t.j. optiboot_atmega328.hex. Velikost tega bootloaderja je 512bytov.
Fuse biti:
low: 0xFF
high: 0xDE
ext: 0xFF oz. če želiš, da gre kontroler v reset pri trenutnem padcu napetosti na 2.7V (kot ima to UNO) nastaviš extended fuse bits na 0x05.
Sedaj pa datoteka boards.txt, ki se nahaja v mapi ........hardware\arduino\avr (vsaj do verzije 1.6.1 je bilo tako, pri novih pa mislim, da se nahaja profilu uporabnika (nisem čisto prepričan). V njej imamo sledeče:
Citiram: |
##############################################################
mini.name=Arduino Mini
mini.upload.tool=avrdude
mini.upload.protocol=arduino
mini.bootloader.tool=avrdude
mini.bootloader.low_fuses=0xff
mini.bootloader.unlock_bits=0x3F
mini.bootloader.lock_bits=0x0F
mini.build.f_cpu=16000000L
mini.build.board=AVR_MINI
mini.build.core=arduino
mini.build.variant=eightanaloginputs
## Arduino Mini w/ ATmega328
## -------------------------
mini.menu.cpu.atmega328=ATmega328
mini.menu.cpu.atmega328.upload.maximum_size=28672
mini.menu.cpu.atmega328.upload.maximum_data_size=2048
mini.menu.cpu.atmega328.upload.speed=115200
mini.menu.cpu.atmega328.bootloader.high_fuses=0xd8
mini.menu.cpu.atmega328.bootloader.extended_fuses=0x05
mini.menu.cpu.atmega328.bootloader.file=optiboot/optiboot_atmega328-Mini.hex
mini.menu.cpu.atmega328.build.mcu=atmega328p
## Arduino Mini w/ ATmega168
.
.
.
mini.menu.cpu.atmega168.build.mcu=atmega168
############################################################## |
In tukaj nekaj ne štima oz. ne nekaj, ne štima, kar je označeno z rdečim, kajti potemtakem zaseda bootloader 4096 bytov, kar je edino mogoče, če je v bootloaderju implementiran softverki UART (nisem preverjal).
Kot sem že napisal jaz zapečem optiboot_atmega328.hex z zgoraj napisanimi fuse biti in popravim vrednost v vrstici ...upload.maximum_size na 32256, lahko popraviš tudi fuse bite in vrstico
.....bootloader.file=optiboot/optiboot_atmega328.hex,
če uporabljaš Arduino IDE za programiranje boot loaderja.
Optibootloader imam zapečen na vseh svojih platkah, na katerih je standardni bootloader (nano, duemilanove,...) ravno zaradi njegove majhnosti in dvakrat hitrejšega prenosa (115200) in to še preden so ga začeli uradno uporabljati na Arduino.cc.
In to je v glavnem to.
Ali je tvoj adapter USB->RS232 (TTL), če je in če si zapekel omenjeni bootloader potem probaj še z zamenjavo RX TX pinov.
Za hitro testiranje, brez spreminjanja board.txt pa lahko izbereš v IDE okolju UNO platko in mora prav tako delovati.
Še to, s katerim programatorjem si zapekel in kateri software si za to uporabil?
Še nekaj, ker tvoj adapter nima DTRa, moraš pred uploadom pritisniti reset tipko, da skoči mega328 na bootloader.
_________________ Lp, Jaka |
|
Nazaj na vrh |
|
 |
arksi Član

Pridružen-a: Sre 03 Sep 2008 10:19 Prispevkov: 748 Aktiv.: 3.66 Kraj: Dolenjska
|
Objavljeno: Tor Okt 20, 2015 11:18 am Naslov sporočila: |
|
|
Hvala Jaka za izčrpen odgovor.
Ufff, kar malce preveč informacij na kupu. Bom moral malo naštudirati vse skupaj.
Bom pa v bodočnosti raje nabavil malenkost dražje Arduino NANO, ki ima isp pine, pa se mi ne bo potrebno hecat z botloaderji .
Grem po vrsti....
-V Mego sem zapekel se mi zdi --> optiboot_atmega328_Mini.hex. Drugega nisem poizkušal.
-Preveriti bom moral še enkrat fuse bite. Tukaj nisem siguren kaj sem imel nastavljeno.
Jaka57 je napisal/a: |
.....Sedaj pa datoteka boards.txt, ki se nahaja v mapi ........hardware\arduino\avr (vsaj do verzije 1.6.1 je bilo tako, pri novih pa mislim, da se nahaja profilu uporabnika (nisem čisto prepričan). V njej imamo sledeče: ......... |
Tega ne razumem. Za kam potrebuješ datoteko "boards.txt"?
-Adapter, ki ga uporabljam je USB->RS232 (TTL)
-Rx in Tx nisem poizkusil zamenjavati - bom poizkusil.
-Botloader sem srogramiral s tem programataorjem.
Uporabil sem AvrStudio.....
Kodo "Blink" sem ppotem poizkusil pretočiti s Arduino aplikacijo.
Reset tipko sem tudi pritisnil na začetku programiranja, vendar, kot je videti programiranje ne steče. Najprej preveri Arduino skico, potem pa napiše v programskem oknu "upload" in čaka cca. minuto, potem sporoči, da programiranje ni mogoče.
Zaenkrat iskrena hvala za pomoč. Bom jaz tole malo še preveril, pa da vidimo kako in kaj.
LP
|
|
Nazaj na vrh |
|
 |
Jaka57 Moderator



Pridružen-a: Ned 12 Dec 2004 21:47 Prispevkov: 5820 Aktiv.: 24.56 Kraj: Grosuplje
|
Objavljeno: Tor Okt 20, 2015 2:40 pm Naslov sporočila: |
|
|
Datoteko board.txt uporablja Arduino IDE, da ve koliko je lahko velik program in s kakšno hitrostjo ga uploada preko serijskega porta.
Reset tipko je potrebno pritisnit (ne držat) tik pred uploadom kode. Optiboot bootloadeer čaka po resetu 500ms (pol sekunde) na ustrezen string na vhodu RX, če ga ni skoči na 0x0000.
Da se ni potrebno ukvarjat z resetom, nabavi nekaj podobnega. Kot lahko iz slike vidiš, ima poleg napajalnih in Rx TX pinov tudi DTR pin, ki služi za reset mege328.
Probaj še sledeče, prevedi Blink, ko ga uploadaš moraš dobiti napako avrdude: stk500_getsync(): not in sync: resp=0x00 in ko se ti prikaže, takrat na kratko pritisni reset.
V profilu imaš napisano, da si iz dolenjske, si mogoče blizu Grosuplja?
_________________ Lp, Jaka |
|
Nazaj na vrh |
|
 |
arksi Član

Pridružen-a: Sre 03 Sep 2008 10:19 Prispevkov: 748 Aktiv.: 3.66 Kraj: Dolenjska
|
|
Nazaj na vrh |
|
 |
Jaka57 Moderator



Pridružen-a: Ned 12 Dec 2004 21:47 Prispevkov: 5820 Aktiv.: 24.56 Kraj: Grosuplje
|
Objavljeno: Sre Okt 21, 2015 1:44 pm Naslov sporočila: |
|
|
arksi je napisal/a: |
Ta ploščica o kateri se tukaj pogovarjava pa bolj trmoglavi. Sem jo še enkrat poizkusil programirati z "blink" -om. Ne gre pod nobenim pogojem....... |
To je ta, kateri si na novo zapekel bootloader in nisi bil pozoren na fusebite, zato, verjetno, po resetu ne skoči na bootloader ampak takoj na 0x0000.
_________________ Lp, Jaka |
|
Nazaj na vrh |
|
 |
arksi Član

Pridružen-a: Sre 03 Sep 2008 10:19 Prispevkov: 748 Aktiv.: 3.66 Kraj: Dolenjska
|
Objavljeno: Čet Okt 22, 2015 12:54 pm Naslov sporočila: |
|
|
Ja, ja, to je ta na kateri sem jaz izvajal "operacijo" programiranja.
Je pa res, da je fuse bitih tudi nastavitev za botloader, ki jo pri tem programiranju nisem upošteval.
Ko sestavim računalnik v delovanje bom poizkusil tudi to.
LP
|
|
Nazaj na vrh |
|
 |
mornar Član

Pridružen-a: Tor 16 Sep 2014 13:34 Prispevkov: 17 Aktiv.: 0.13 Kraj: Šmarje Sap
|
Objavljeno: Pon Nov 02, 2015 4:40 pm Naslov sporočila: |
|
|
Če se lahko vključim, bi vprašal kaj storiti v primeru, če dobim sporočilo da bootloaderja ni mogoče vprogramirati. Res pa je da nisem delal nikakršnih nastavitev, kot jih omenjate, ker sem malo zelen v tem poslu.
Uporabljam UNO plato za programiranje A mini pro 328P. Nabavil sem jo na Ebayu od firme AVANZADO skupaj s programatorčkom CP2102, v upanju da bo vse skupaj delovalo, pa je bil en sam nateg. Programator nima DTR-ja, pri lotanju žičke na čip se mi je odtrgal pin čipa....
Na ploščici utripa LEDica, to je pa tudi vse. Je možno da je kontroler predprogramiran, nato pa prispajkan?
Pri kateri firmi kupiti da kaj deluje je tudi vprašanje.
_________________ Biti pripravljen je vse, je relel že Sheakespeare. |
|
Nazaj na vrh |
|
 |
|
|
Ne, ne moreš dodajati novih tem v tem forumu Ne, ne moreš odgovarjati na teme v tem forumu Ne, ne moreš urejati svojih prispevkov v tem forumu Ne, ne moreš brisati svojih prispevkov v tem forumu Ne ne moreš glasovati v anketi v tem forumu Ne, ne moreš pripeti datotek v tem forumu Ne, ne moreš povleči datotek v tem forumu
|
Uptime: 495 dni
Powered by phpBB © 2001, 2005 phpBB Group
|