• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
ATmega328p-au
#1
Witam wszystkich!
Mam taki problem, skonstruowałem płytkę PCB pewnego urządzenia, w którym jest mikrokontroler ATmega328p-au (SMD). Taki sam układ skonstruowałem na płytce prototypowej tyle, że z uC ATmega328p-pu (DIP). Kod napisałem w Arduino IDE 1.0.5, podłączyłem wszystko poprawnie z układem na płytce prototypowej i wgrałem program. W ten sposób jak odłączam Arduino, a to płytki podpinam osobne zasilanie, urządzenie działa samodzielnie. 
Chciałbym ten sam program wgrać teraz na płytkę PCB, gdzie mam ten sam mikrokontroler, tyle że w obudowie SMD. Wykonując te same czynności co w przypadku prototypu program nie chce się wgrać wyświetlając błąd "Yikes!....". Podłączenia sprawdzane setki razy miernikiem i na pewno są dobrze wykonane i wszystko jest dobrze podłączone. Od dłuższego czasu szukam informacji na internecie i wykonuję wszystkie możliwe sposoby, m.in. zmieniałem w avrdude.conf "0F" na "14", jak ukazano na pewnym znanym filmiku całą procedurę programowania w taki sposób (wyciągając uC z Arduino i wkładając bezpośrednio podłączenia) itd itp i wciąż wyskakiwały mi na zmianę błędy typu "Yikes!.." i "not responding STK500". 
Czy ktoś jest w stanie wyjaśnić jak to zrobić? Albo gdzie może być błąd?

Z góry dziękuję za jakąkolwiek radę
 
 
Odpowiedź
#2
Nie próbowałem z kryształem 16MHz podłączać, ale przy obudowie DIP bez takiego kryształu ładowałem program, czy jest jakaś znacząca różnica w tej kwestii w porównaniu do SMD? Korzystam z bootloaderów na 8MHz (wbudowany zegar) i to działało w przypadku THT
 
Odpowiedź
#3
Tak atmega 328 w obudowie DIP to arduino uno a SMD to mini pro i nie będą działały jak tego nie zmienisz
Ważne aby robić co się lubi albo lubić co się robi .
Arduino UNO, TINY, PRO MINI
Pomoc nagradzamy punktami reputacji Wink
 
Odpowiedź
#4
Zanim zacznie się przygodę z arduino wypada przeczytać po co taki projekt powstał . Potem jak jest zbudowane arduino , a budowa jego to atmega kwarc opornik dławik i dwa kondensatory plus układ zasilania. Kolega popełnił błąd ale na tym nauka polega i tak się uczymy. Masz parę wyjść
1 zrobić nową płytkę
2 poszukać botloandera na twoją atmegę be kwarcu
3 nauczyć się innego języka programowania.
Następnym razem jak projektujesz można użyć tańszych elementów jak attiny czy atmega 8
 
Odpowiedź
#5
Wewnętrznie te procki są takie same, prawie, zewnętrznie wersja SMD i DIP różnią się dodatkowymi pinami analogowymi w wersji SMD. Dopóki się ich nie używa (ADC6 i ADC7, a w arduino oznaczonych i w niektórych UNO wyprowadzonych na płytkę jako A6 i A7) programy będą działać tak samo na obu. Tym bardziej, że obecnie są UNO z chipami SMD, arduino IDE rozróżnia UNO/NANO/PRO MINI tylko po bootloaderze. Można wgrać bootloader PRO MINI do UNO z chipem DIP32 (UNO do NANO, co właśnie sprawdziłem) i będzie potem wchodził kod tylko dla PRO MINI (czy UNO do NANO) - tzn przy programowaniu przez UART ze środowiska Arduino IDE standardowo strzałką -->. Nawet program dla uno z analogRead(A7) się skompiluje, bo ten pin po prostu z braku nóżki tylko nie jest wyprowadzony poza krzem w wersji DIP32, a w UNO z chipem SMD będzie oczywiście działał. Natomiast wgrywanie bootloadera odbywa się albo przez programator USBASP lub używając arduino jako programatora USBASP (arduino as ISP).
Jeśli kupiłeś ten chip, jako przeznaczony do Arduino z wgranym bootloaderem standardowym, to on nie ruszy bez zewnętrznego rezonatora, najlepiej 16MHz (do wgrania bootloadera może być dowolny 1-16MHz). Można mu zmienić źródło taktowania na wewnętrzne np. darmowym SinaProg (ostrożnie i z rozwagą ustawiając fuzy by go nie dobić) lub nawet arduino wgrywając odpowiedni wsad, arduino robi to przy okazji (tak mogłeś go uziemić bdw, wgrywając standardowy bootloader UNO/NANO/PRO z kwarcem standardowo zewnętrznym), ale na tę chwilę musi mieć oscylator przyklejony choć na ślinę do odpowiednich nóżek (PB6 i PB7), nawet lepiej jakimiś kabelkami - będę za kondensatory. Po wgraniu wsadu dla wewnętrznego oscylatora/zmianie fuzów na wewnętrzny można dalej bawić się nim bez rezonatora zewnętrznego.
 
Odpowiedź
#6
(25-12-2017, 12:54)bob35 napisał(a): można użyć tańszych elementów jak attiny czy atmega 8

Mega88 jest lepszy i tańszy niż Mega8.
- uC: ARM Angel , AVR, Z8, PIC, 8051 / CPU: MC680x0  , Z-80, 6502
- CPLD, FPGA, GAL
- GSM, ISDN, ETH, USB, RS232C/485/422
- C, ASM, CUPL, PHP, BASIC C-64

http://er-mik.prv.pl/projekty_avt.php * http://er-mik.prv.pl/ * http://kolejki.prv.pl/

KA-NUCLEO-F411CE Idea , ESP32, Mega2560, UNO PLUS
 
Odpowiedź
  


Skocz do:


Przeglądający: 1 gości