Programowanie ATmega8A oraz ATmega328P za pomocą Arduino

Zbiór tutoriali związanych z Arduino.
ODPOWIEDZ
Awatar użytkownika
krzxsiek
Majsterkowicz
Posty: 145
Rejestracja: 24 wrz 2012, 22:50
Lokalizacja: Lublin
Kontakt:

Re: Programowanie ATmega8A oraz ATmega328P za pomocą Arduino

Post autor: krzxsiek » 19 lis 2012, 08:14

Mateusz88 pisze:Tak, schemat który podałeś jest dobry. Wpis do pliku boards.txt dla zewnętrznego kwarcu 16Mhz powinien wyglądać tak:

Kod: Zaznacz cały

atmega8a.name=ATmega8a @ 16 MHz
atmega8a.upload.maximum_size=7168
atmega8a.upload.using=arduino:arduinoisp
atmega8a.bootloader.low_fuses=0xff
atmega8a.bootloader.high_fuses=0xc4
atmega8a.bootloader.path=atmega
atmega8a.bootloader.file=ATmegaBOOT_8.hex
atmega8a.bootloader.unlock_bits=0x3F
atmega8a.build.mcu=atmega8
atmega8a.build.f_cpu=16000000L
atmega8a.build.core=arduino
atmega8a.build.variant=standard
Dzięki za pomoc. Na dniach sprawdzę czy działa bo zamówiłem atmegi :)
Przydało by się dopisać ten kod do głównego postu w tym temacie.

Co miesiąc do wygrania nagrody o wartości ponad 1600 zł!


Awatar użytkownika
Maxik
Starszy majsterkowicz
Posty: 405
Rejestracja: 6 lip 2012, 18:27
Lokalizacja: Gdańsk
Kontakt:

Re: Programowanie ATmega8A oraz ATmega328P za pomocą Arduino

Post autor: Maxik » 19 lis 2012, 11:35

Na to samo wychodzi po wybraniu Arduino NG w/ATmega8 z menu Boards :-)
Awatar użytkownika
krzxsiek
Majsterkowicz
Posty: 145
Rejestracja: 24 wrz 2012, 22:50
Lokalizacja: Lublin
Kontakt:

Re: Programowanie ATmega8A oraz ATmega328P za pomocą Arduino

Post autor: krzxsiek » 25 lis 2012, 19:05

krzxsiek pisze:
Mateusz88 pisze:Tak, schemat który podałeś jest dobry. Wpis do pliku boards.txt dla zewnętrznego kwarcu 16Mhz powinien wyglądać tak:

Kod: Zaznacz cały

atmega8a.name=ATmega8a @ 16 MHz
atmega8a.upload.maximum_size=7168
atmega8a.upload.using=arduino:arduinoisp
atmega8a.bootloader.low_fuses=0xff
atmega8a.bootloader.high_fuses=0xc4
atmega8a.bootloader.path=atmega
atmega8a.bootloader.file=ATmegaBOOT_8.hex
atmega8a.bootloader.unlock_bits=0x3F
atmega8a.build.mcu=atmega8
atmega8a.build.f_cpu=16000000L
atmega8a.build.core=arduino
atmega8a.build.variant=standard
Dzięki za pomoc. Na dniach sprawdzę czy działa bo zamówiłem atmegi :)
Przydało by się dopisać ten kod do głównego postu w tym temacie.
"
Bootloader wszedł ale teraz przy wgrywaniu kodu wyskakuje mi "avrdude: stk500_getsync(): not in sync: resp=0x00"
Maxik pisze:Na to samo wychodzi po wybraniu Arduino NG w/ATmega8 z menu Boards :-)
Wreszcie działa :) Tylko nie wiem czy tak jak powinno bo start od włączenia do działania wgranego kodu "mrugająca dioda" trwa jakieś 8 sek. Czy to normalne przy Atmega8A PU? Bo jak dla mnie to trochę długo.
Mateusz88
Młodszy majsterkowicz
Posty: 43
Rejestracja: 16 wrz 2012, 14:41

Re: Programowanie ATmega8A oraz ATmega328P za pomocą Arduino

Post autor: Mateusz88 » 25 lis 2012, 20:37

Spróbuj ten, właśnie wgrałem na czystą ATmege8A i działa. Kliknij jeszcze raz Burn Bootloader.

Kod: Zaznacz cały

atmega8a.name=ATmega8A (external 16 MHz)
atmega8a.bootloader.low_fuses=0xff
atmega8a.bootloader.high_fuses=0xd9
atmega8a.upload.maximum_size=8192
atmega8a.build.mcu=atmega8
atmega8a.build.f_cpu=16000000L
atmega8a.build.core=arduino
atmega8a.build.variant=standard
Awatar użytkownika
krzxsiek
Majsterkowicz
Posty: 145
Rejestracja: 24 wrz 2012, 22:50
Lokalizacja: Lublin
Kontakt:

Re: Programowanie ATmega8A oraz ATmega328P za pomocą Arduino

Post autor: krzxsiek » 25 lis 2012, 21:13

Mateusz88 pisze:Spróbuj ten, właśnie wgrałem na czystą ATmege8A i działa. Kliknij jeszcze raz Burn Bootloader.

Kod: Zaznacz cały

atmega8a.name=ATmega8A (external 16 MHz)
atmega8a.bootloader.low_fuses=0xff
atmega8a.bootloader.high_fuses=0xd9
atmega8a.upload.maximum_size=8192
atmega8a.build.mcu=atmega8
atmega8a.build.f_cpu=16000000L
atmega8a.build.core=arduino
atmega8a.build.variant=standard
Wgrałem ale nie na czystą bo została mi tylko jedna a szkoda mi ostatnią uwalić. Znowu błąd: avrdude: stk500_getsync(): not in sync: resp=0x00
Mateusz88
Młodszy majsterkowicz
Posty: 43
Rejestracja: 16 wrz 2012, 14:41

Re: Programowanie ATmega8A oraz ATmega328P za pomocą Arduino

Post autor: Mateusz88 » 25 lis 2012, 21:40

Nie rozumiem dlaczego wyskakują Ci błędy. ATmega nie musi być czysta, zrobiłem teraz nawet test i wgrałem Arduino NG w/ATmega8 i znów ten co podałem i działa bez żadnych błędów. Uwalenie uC z tymi wpisami Ci nie grozi, żaden z nich nie wyłącza pinu reset albo SPI.
Awatar użytkownika
krzxsiek
Majsterkowicz
Posty: 145
Rejestracja: 24 wrz 2012, 22:50
Lokalizacja: Lublin
Kontakt:

Re: Programowanie ATmega8A oraz ATmega328P za pomocą Arduino

Post autor: krzxsiek » 25 lis 2012, 21:41

Mateusz88 pisze:Nie rozumiem dlaczego wyskakują Ci błędy. ATmega nie musi być czysta, zrobiłem teraz nawet test i wgrałem Arduino NG w/ATmega8 i znów ten co podałem i działa bez żadnych błędów. Uwalenie uC z tymi wpisami Ci nie grozi, żaden z nich nie wyłącza pinu reset albo SPI.
A jaką masz wersje arduino? Duemilanowe, Uno, ... ?
Mateusz88
Młodszy majsterkowicz
Posty: 43
Rejestracja: 16 wrz 2012, 14:41

Re: Programowanie ATmega8A oraz ATmega328P za pomocą Arduino

Post autor: Mateusz88 » 25 lis 2012, 21:49

Arduino UNO R3
Awatar użytkownika
krzxsiek
Majsterkowicz
Posty: 145
Rejestracja: 24 wrz 2012, 22:50
Lokalizacja: Lublin
Kontakt:

Re: Programowanie ATmega8A oraz ATmega328P za pomocą Arduino

Post autor: krzxsiek » 25 lis 2012, 21:54

Mateusz88 pisze:Arduino UNO R3
To może tu jest pies pogrzebany bo ja mam Duemilanove. Może to coś z resetem bo szukając na necie coś gdzieś tam pisali.
Mateusz88
Młodszy majsterkowicz
Posty: 43
Rejestracja: 16 wrz 2012, 14:41

Re: Programowanie ATmega8A oraz ATmega328P za pomocą Arduino

Post autor: Mateusz88 » 25 lis 2012, 22:03

Próbowałeś może takie połączenie http://arduino.cc/en/uploads/Tutorial/BreadboardAVR.png (dodatkowy rezystor 10k)
Awatar użytkownika
Maxik
Starszy majsterkowicz
Posty: 405
Rejestracja: 6 lip 2012, 18:27
Lokalizacja: Gdańsk
Kontakt:

Re: Programowanie ATmega8A oraz ATmega328P za pomocą Arduino

Post autor: Maxik » 25 lis 2012, 22:05

To opóźnienie jest normalne, przy tym profilu i bootloaderze tak jest, nawet do 10s. Mi kilka razy działało na Arduino NG, potem przestało, wgrałem "ATmega8a @ 16MHz" od Mateusza88 i działa dobrze.

Zerknij jeszcze tu, na metodę z wyciągnięciem mikrokontrolera z płytki: http://arduino.cc/en/Tutorial/ArduinoToBreadboard
Awatar użytkownika
krzxsiek
Majsterkowicz
Posty: 145
Rejestracja: 24 wrz 2012, 22:50
Lokalizacja: Lublin
Kontakt:

Re: Programowanie ATmega8A oraz ATmega328P za pomocą Arduino

Post autor: krzxsiek » 25 lis 2012, 22:26

Maxik pisze:To opóźnienie jest normalne, przy tym profilu i bootloaderze tak jest, nawet do 10s. Mi kilka razy działało na Arduino NG, potem przestało, wgrałem "ATmega8a @ 16MHz" od Mateusza88 i działa dobrze.

Zerknij jeszcze tu, na metodę z wyciągnięciem mikrokontrolera z płytki: http://arduino.cc/en/Tutorial/ArduinoToBreadboard
Ale wyciągnięcie mikrokontrolera z płytki to jest normalne przy wgrywaniu kodu a nie bootloadera.

A Ty jakie masz arduino że działa Ci kod od Mateusza88
Mateusz88 pisze:Próbowałeś może takie połączenie http://arduino.cc/en/uploads/Tutorial/BreadboardAVR.png (dodatkowy rezystor 10k)
Właśnie cały czas z tego połączenia korzystam.
Mateusz88
Młodszy majsterkowicz
Posty: 43
Rejestracja: 16 wrz 2012, 14:41

Re: Programowanie ATmega8A oraz ATmega328P za pomocą Arduino

Post autor: Mateusz88 » 25 lis 2012, 22:36

Ja programuje bez rezystora. Mój ostatni wpis do boards.txt jest bez bootloandera, wiec jest bez opóźnień i mamy dostępną całą pamięć 8192B zamiast 7168B.
Awatar użytkownika
krzxsiek
Majsterkowicz
Posty: 145
Rejestracja: 24 wrz 2012, 22:50
Lokalizacja: Lublin
Kontakt:

Re: Programowanie ATmega8A oraz ATmega328P za pomocą Arduino

Post autor: krzxsiek » 25 lis 2012, 23:10

Mateusz88 pisze:Ja programuje bez rezystora. Mój ostatni wpis do boards.txt jest bez bootloandera, wiec jest bez opóźnień i mamy dostępną całą pamięć 8192B zamiast 7168B.
No niestety bez rezystora to samo. Próbowałem nawet najpierw wgrywać Arduino NG or older w/ ATmega8 potem jeden z twoich i nic. Może rzeczywiście na Arduino Duemilanove są jakieś problemy z atmega8.
Mateusz88
Młodszy majsterkowicz
Posty: 43
Rejestracja: 16 wrz 2012, 14:41

Re: Programowanie ATmega8A oraz ATmega328P za pomocą Arduino

Post autor: Mateusz88 » 26 lis 2012, 00:26

Porównałem jeszcze moje fusebity z tymi w Arduino NG w/ATmega8 i przy częstotliwości 16Mhz zaleca się jednak zaprogramować bit CKOPT, wiec spróbuj jeszcze z wpisem:

Kod: Zaznacz cały

atmega8a.name=ATmega8A (external 16 MHz)
atmega8a.bootloader.low_fuses=0xff
atmega8a.bootloader.high_fuses=0xc9
atmega8a.upload.maximum_size=8192
atmega8a.build.mcu=atmega8
atmega8a.build.f_cpu=16000000L
atmega8a.build.core=arduino
atmega8a.build.variant=standard
Awatar użytkownika
krzxsiek
Majsterkowicz
Posty: 145
Rejestracja: 24 wrz 2012, 22:50
Lokalizacja: Lublin
Kontakt:

Re: Programowanie ATmega8A oraz ATmega328P za pomocą Arduino

Post autor: krzxsiek » 26 lis 2012, 18:48

Mateusz88 pisze:Porównałem jeszcze moje fusebity z tymi w Arduino NG w/ATmega8 i przy częstotliwości 16Mhz zaleca się jednak zaprogramować bit CKOPT, wiec spróbuj jeszcze z wpisem:

Kod: Zaznacz cały

atmega8a.name=ATmega8A (external 16 MHz)
atmega8a.bootloader.low_fuses=0xff
atmega8a.bootloader.high_fuses=0xc9
atmega8a.upload.maximum_size=8192
atmega8a.build.mcu=atmega8
atmega8a.build.f_cpu=16000000L
atmega8a.build.core=arduino
atmega8a.build.variant=standard
niestety nic z tego :| Chyba na Duemilanove jest jakiś problem z Atmega8

Jakoś przeboleje te 6-8 sekund opóźnienia po starcie.
P.S. Albo jednak nie bo po jakimś czasie się sypie i przestaje działać :/
Mateusz88
Młodszy majsterkowicz
Posty: 43
Rejestracja: 16 wrz 2012, 14:41

Re: Programowanie ATmega8A oraz ATmega328P za pomocą Arduino

Post autor: Mateusz88 » 27 lis 2012, 11:05

krzxsiek, chyba faktycznie z Duemilanove są jakieś problemy, jak masz możliwość to spróbuj może jeszcze programować na innym komputerze, może z portu usb masz za duże zakłócenia, jeśli nadal są problemy to nie pozostaje Ci nic innego jak zainwestować w osobny programator np. USBasp http://nettigo.pl/products/307 możesz też spróbować go zbudować http://www.fischl.de/usbasp/ ale do tego potrzebny jest sprawny programator.
Awatar użytkownika
krzxsiek
Majsterkowicz
Posty: 145
Rejestracja: 24 wrz 2012, 22:50
Lokalizacja: Lublin
Kontakt:

Re: Programowanie ATmega8A oraz ATmega328P za pomocą Arduino

Post autor: krzxsiek » 27 lis 2012, 13:14

Mateusz88 pisze:krzxsiek, chyba faktycznie z Duemilanove są jakieś problemy, jak masz możliwość to spróbuj może jeszcze programować na innym komputerze, może z portu usb masz za duże zakłócenia, jeśli nadal są problemy to nie pozostaje Ci nic innego jak zainwestować w osobny programator np. USBasp http://nettigo.pl/products/307 możesz też spróbować go zbudować http://www.fischl.de/usbasp/ ale do tego potrzebny jest sprawny programator.
Próbowałem też na netbooku i to samo.

Jak widać na już trochę starym Arduino Duemilanove jest problem z zaprogramowaniem Atmega8 także zaprzestaje dalszych prób.

Kupiłem programator USBasp i bootloader wszedł bez problemu. Polecam wszystkim tym którzy mają starsze modele Arduino lub nie mają go wcale zakup USBasp bo koszt to ok. 25zł. i wgranie bootloadera jak i programowanie to pikuś :)
pentos
Majsterkowicz
Posty: 119
Rejestracja: 2 sty 2013, 21:35

Re: Programowanie ATmega8A oraz ATmega328P za pomocą Arduino

Post autor: pentos » 2 sty 2013, 22:29

Witam
Dopiero zaczynam przygodę z arduino więc proszę o wyrozumiałość. Podczas normalnej pracy arduino korzysta z zewnętrznego zegara 16mhz, czyli gdybym kiedyś chciał wyjąć atmegę z płytki to musiałbym podłączyć kwarc? Z kolei programując inną atmegę z użyciem bootloaderów z 1 posta scalak korzystałby z wewnętrznego zegara, tak? Dobrze rozumuję?
shymon
Majsterkowicz
Posty: 139
Rejestracja: 6 paź 2012, 20:27

Re: Programowanie ATmega8A oraz ATmega328P za pomocą Arduino

Post autor: shymon » 2 sty 2013, 23:22

To z jakiego zegara będzie korzystał zależy od ustawień fuse bitów, konkretniej tych oznaczonych jako Low.
mati2007
Młodszy majsterkowicz
Posty: 2
Rejestracja: 5 sty 2013, 17:30

Re: Programowanie ATmega8A oraz ATmega328P za pomocą Arduino

Post autor: mati2007 » 5 sty 2013, 17:44

Cześć wszystkim!
Od kilku tygodni mam arduino mega 2560, po zabawie pojedynczymi elementami starter kitu przyszedł czas na zaprogramowanie atmegi. Mam ATmega8L-8PU i podobnie jak krzxsiek mam problemy (nie da się wgrać bootloadera).
Próbowałem zwykłego podłączenia bez zewnętrznego kwarcu:

Kod: Zaznacz cały

10(Arduino) do 1 [PC6 (PCINT14/RESET)] 
11(Arduino) do 17 [PB3 (MOSI/OC2A/PCINT3)]
12(Arduino) do 18 [PB4 (MISO/PCINT4)]
13(Arduino) do 19 [PB5 (SCK/PCINT5)]
do tego oczywiście zasilanie i masy jak na schemacie.

do pliku boards.txt dodałem:

Kod: Zaznacz cały

atmega8L.name=ATmega8L-8PU (internal 1 MHz)
atmega8L.bootloader.low_fuses=0xe1
atmega8L.bootloader.high_fuses=0xd9
atmega8L.upload.maximum_size=8192
atmega8L.build.mcu=atmega8
atmega8L.build.f_cpu=1000000L
atmega8L.build.core=arduino
atmega8L.build.variant=standard
wywala błędy typu: stk500_getsync(): not in sync: resp=0x00

Czego mogę jeszcze spróbować? Mam kwarc zewnętrzny 8Mhz, spróbować podłączyć układ jak na tym schemacie?: http://arduino.cc/en/uploads/Tutorial/BreadboardAVR.png

Co wtedy wrzucić do pliku boards.txt ? (ATmega8L-8PU i kwarc 8Mhz)
halu
Młodszy majsterkowicz
Posty: 1
Rejestracja: 13 sty 2013, 23:27

Re: Programowanie ATmega8A oraz ATmega328P za pomocą Arduino

Post autor: halu » 13 sty 2013, 23:40

Panowie i Panie,

mam ten sam problem. Cały czas wywala błąd stk500_getsync(): not in sync: resp=0x00. Tzn bootloader udało się wgrać ale jest problem z wgraniem jakiegokolwiek programu. Postepowałem zgodnie z instrukcjami zawartymi w tutorialu tj. zmiana pliku boards.txt, podłączenie jak na schemacie -> arduino.cc/en/uploads/Tutorial/SimpleBreadboardAVR.png.

Da sie jakoś sprawdzić czy wgrany jest bootloader? A może należy wyjąć procesor z Arduino przy programowaniu zewnętrznego procesora? Na arudino.cc jest taka informacja

Dodam że korzystam z Arduino UNO R3 i próbuje zaprogramować Atmege 328.

Z góry dziękuję za pomoc :)
mniej123
Młodszy majsterkowicz
Posty: 3
Rejestracja: 16 sty 2013, 15:57

Re: Programowanie ATmega8A oraz ATmega328P za pomocą Arduino

Post autor: mniej123 » 16 sty 2013, 16:02

A ja mam taki problem ,że moja ATmega8 wariuje .Botlader się wgrywa elegancko...ale gdy coś programuje to w cały świat działa.. NIe pomagają kondensatory na zasilaniu uC ,z resztą USB jest dość stabilnym portem więc nie wiem co może być przyczyną. POsiadam UNO r3 :P
aogorek
Młodszy majsterkowicz
Posty: 4
Rejestracja: 31 sty 2013, 11:43

Re: Programowanie ATmega8A oraz ATmega328P za pomocą Arduino

Post autor: aogorek » 9 lut 2013, 17:56

A mnie po bólach i mękach udało się zaprogramować Atmega328p przy użyciu USBasp.
Ale pomimo że teoretycznie powinno się dać bez kwarcu to nic z tego. Konieczny był kwarc 16Mhz. Próbowałem też z arduino ale bez kwarcu ani rusz.
shymon
Majsterkowicz
Posty: 139
Rejestracja: 6 paź 2012, 20:27

Re: Programowanie ATmega8A oraz ATmega328P za pomocą Arduino

Post autor: shymon » 9 lut 2013, 20:20

A zworki slowsck przypadkiem nie założyłeś?
ODPOWIEDZ

Strony partnerskie: