Elektroda.pl
Elektroda.pl
X
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Programowanie atmega8 i atmega328 przy użyciu arduino IDE 1.6.9

krystian2004 04 Jun 2016 10:03 5250 9
  • #1
    krystian2004
    Level 10  
    Witam!

    Chcę pokazać jak zaprogramować mikrokontrolery artmega8 i atmega328 przy użyciu Arduino IDE 1.6.9 (czyli najnowszy).
    Będzie trzeba zmienić kilka plików programu.

    krok 1.
    pobierz moją paczę do arduino AVR_arduin..ack.zip Download (4.82 kB)'

    krok 2.
    podmień plik board.txt ścieżka:Arduino/hardware/arduino/avr/board.txt

    krok 3.
    przenieś ATmegaBOOT_8.hex do Arduino/hardware/arduino/avr/bootloders

    krok 4.
    uruchom arduino wybierz płytkę atmega8a (albo inną z nazwą atmega8)

    krok 5.
    podłącz atmega8 zgodnie ze schematem
    Programowanie atmega8 i atmega328 przy użyciu arduino IDE 1.6.9atmego8 &a...328_bb.png Download (257 kB)

    krok 6.
    wgraj bootloder

    krok 7.
    napisz program i podłącz programator usbasp

    krok 8.
    wybierz funkcję programator USBasp
    i wciśnij Ctrl + Shift + U

    Kiedy będą jakieś problemy to pomogę. :D
    Do you have a problem with Arduino? Ask question. Visit our forum Arduino.
  • #2
    krystian2004
    Level 10  
    sterowniki do usbasp są w programni mkavrcalcluator
  • #3
    DJ_Zientek
    Conditionally unlocked
    zrobiłem wszystko jak trzeba i wywala takie coś:

    avrdude: Warning: cannot query manufacturer for device: No such file or directory
    avrdude: Warning: cannot query product for device: No such file or directory
    avrdude: error: could not find USB device with vid=0x16c0 pid=0x5dc vendor='www.fischl.de' product='USBasp'
    avrdude: error: could not find USB device with vid=0x16c0 pid=0x5dc vendor='www.fischl.de' product='USBasp'
  • #5
    User removed account
    User removed account  
  • #6
    Szmajdzik
    Level 9  
    Witam,
    Czy uzyty rezonator kwarcowy moze byc 14.7456MHz ?
  • #7
    kaczakat
    Level 34  
    Arduino komunikuje się głównie przez UART, UART jest ściśle powiązany z zegarem/kwarcem. Możesz sobie użyć innego kwarcu (np. wymienionego 14.7456) pod warunkiem, że masz do niego odpowiedni bootloader i tak zdefiniowaną płytkę, że właśnie takiego zegara będziesz używać. Jak nie używasz bootloadera i wgrywasz programatorem to wystarczy otworzyć plik board.txt i tam zrobić CTR+C CTR+V dla UNO i zrobić sobie np. UNO1474, zmienić zdefiniowany tam zegar z 16Mln na 14745600 i masz taką nowo zdefiniowaną płytkę. Jest też pakiet do doinstalowania MINICORE, gdzie jest wiele dodatkowych bootloaderów i wyborów zegara, ale akurat nie widziałem tego 14.7456. Jeśli zmieniasz kwarc, bo nasłuchałeś się, że 8 i 16MHz jest be do UART, to nie jest tak źle. Można też ustawić UART na 250 czy 500k i wtedy błędy są 0, tak samo gdy "gadają" ze sobą dwie Atmegi 16MHz to błędy się wzajemnie znoszą.
  • #8
    khoam
    Level 41  
    Szmajdzik wrote:
    Czy uzyty rezonator kwarcowy moze byc 14.7456MHz ?

    Może być. Jest on zalecany, kiedy chcesz osiągnąć dobrą dokładność prędkości dla UART. MiniCore wspiera tę częstotliwość kwarcu:
    https://github.com/MCUdude/MiniCore#supported-clock-frequencies
    Trzeba w w trakcie wgrywania bootloadera ustawić częstotliwość kwarcu na 14.7456 MHz.
  • #9
    Szmajdzik
    Level 9  
    #kaczakat po prostu nie mam 16 pod ręką. #khoam dzięki :)
  • #10
    khoam
    Level 41  
    Oczywiście same programy, które będziesz kompilował i wgrywał też muszą być w opcji z częstotliwością kwarcu 14.7456 MHz.

    Programowanie atmega8 i atmega328 przy użyciu arduino IDE 1.6.9

    MiniCore lepiej zainstalować w trybie "Manual". Jak użyjesz Menedżera Płytek w Arduino IDE, to uparcie instaluje się starsza wersja MiniCore, bez wsparcia dla tej częstotliwości kwarcu.
    https://github.com/MCUdude/MiniCore#manual-installation