Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 16 kwi 2024, o 11:01


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 15 ] 
Autor Wiadomość
PostNapisane: 7 lis 2017, o 23:41 
Offline
Nowy

Dołączył(a): 07 lis 2017
Posty: 9
Pomógł: 0

Witam serdecznie,

Drodzy, stawiam projekt na atmega328p, wgrywam programatorem usbasp bootloader w środowisko Arduino Ide wybierając płytkę Nano wszystko wgrywa się super.
Następnie wgrywam przykładowy program BLINK, również działa, ale...
Ale mogę zrobić to tylko 1 raz... każda kolejna próba wgrania programu kończy się błędem:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Proszę o jakieś wskazówki, dodam iż program wgrywam przez oryginalne Leonardo przez opcje Arduino ISP



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 8 lis 2017, o 00:39 
Offline
Nowy
Avatar użytkownika

Dołączył(a): 02 paź 2017
Posty: 17
Pomógł: 4

Miałem identyczny problem, co chwilę trzeba było od nowa bootloader wgrywać. Problemu nie rozwiązałem, nie drążyłem tematu bo wygodniej go ominąć. Ale jestem ciekaw dlaczego wiecznie ten bootloader jest nadpisywany.
Tutaj masz sposób na ominięcie problemu opisany: https://www.elektroda.pl/rtvforum/topic2500486.html

W skrócie to wystarczy tylko skorzystać z avrdude-GUI i kliknąć erase przed każdym wgraniem programu przez ArduinoISP.

_________________
CodingBlog.pl-Programowanie / elektronika / diy



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 8 lis 2017, o 08:56 
Offline
Użytkownik

Dołączył(a): 18 lut 2015
Posty: 164
Lokalizacja: Koszalin
Pomógł: 16

Wygrywasz bootloader do a328p po co? Chyba po to by po jego wgraniu móc programować ją za pomocą TX, RX już bez użycia programatora. Wiec wgraj bootloader i podłącz się przejściówka usb-rs232 do swojej atmegami i wgrywaj wsady tak jak przewiduje to bootloader który czeka na prawidłowe wykorzystanie rs232.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 8 lis 2017, o 09:46 
Offline
Nowy

Dołączył(a): 07 lis 2017
Posty: 9
Pomógł: 0

raczyk napisał(a):
Wygrywasz bootloader do a328p po co?


Jestem laikiem. Wgrywam bootloader żeby działało przez Arduino IDE. Dopiero po wgraniu bootloadera udaje sie wgrać program, ale tylko 1 raz. Sprawdze sposob uzytkownika "PlusMinus" aczkolwiek czy ten sposób da się ominąć programowo, żeby dalo się Atmege programowac jak każde Arduino?

Dlaczego przez Arduino ISP nie da sie wgrać bootloadera tylko przez usbasp? Co mogę mieć nie tak?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 8 lis 2017, o 14:18 
Offline
Nowy

Dołączył(a): 07 lis 2017
Posty: 9
Pomógł: 0

Tak mam jedno, Leonardo podlaczone, ale programuje nim atmege328 do zewnetrznego projektu. Okej, a co w przypadku kiedy wybieram usbasp i Arduino IDE mowi ze błąd weryfikacji? Mimo ze plytka wybrana?
Na usbasp działa wszystko tylko nie wrzucanie programu z Arduino IDE. Oczywiacie rodzaj programatora tez wybrany odpowiedni. W sterownikach brakow nie ma...

Teraz ciagle przepinam kable miedzy Arduino IDE -> atmega3288 <- usbasp



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 8 lis 2017, o 16:54 
Offline
Użytkownik

Dołączył(a): 18 lut 2015
Posty: 164
Lokalizacja: Koszalin
Pomógł: 16

Powoli proszę o wyjaśnienie, bo nie wiem czy dobrze rozumiem:
Posiadasz:
1. Leonardo
2. Programator USBasp
3. Płytkę z m328p-pu - Arduino Nano

Mając te trzy rzeczy chesz wgrać szkic z programu IDE na swoje Arduino Nano?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 8 lis 2017, o 18:33 
Offline
Nowy

Dołączył(a): 07 lis 2017
Posty: 9
Pomógł: 0

Panowie poukładam teraz wszystko:

Posiadam:
1. Arduino Leonardo
2. Atmega328p
3. programator USBasp

Wgrywam na płytkę Leonardo program ArduinoISP, potem ustawiam Programator->ArduinoISP i za pomocą tego próbuję wgrać przykładowego Blinka na Atmege328p która jest podłączona jak w internecie przykazano.
Za pierwszym razem program przyjmuje i Blink działa, a za każdym kolejnym razem jest błąd taki
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Potem muszę Atmegę podłączyć pod programator USBasp wgrać bootloader przez ArduinoIDE i dopiero wtedy mogę znowu za pomocą ArduinoISP wgrać kolejny raz program, ale znowu tylko 1 raz



Problemy:
1. Na Atmegę328 mogę wgrać tylko 1raz program, potem wywala błędy i wgranie bootloadera od nowa załatwia sprawę, ale strasznie męczące i wkurzające
2 Podobno można wgrywać Programy z Arduino IDE za pomocą USBasp -> pomijając Arduino Leonardo w trybie "Arduino ISP". Tylko u mnie wyskakuje wtedy taki błąd:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 8 lis 2017, o 18:57 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 23 paź 2014
Posty: 1020
Lokalizacja: Trójmiasto
Pomógł: 188

Nanowsze wersje arduino mają skopaną obsługę USBASP. Jak chcesz wgrywać przez ten programator to pobierz sobie arduino w wersji 1.6.9 - ta wersja działa bez problemu z USBASP



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 8 lis 2017, o 19:23 
Offline
Nowy

Dołączył(a): 07 lis 2017
Posty: 9
Pomógł: 0

xentis napisał(a):
Nanowsze wersje arduino mają skopaną obsługę USBASP. Jak chcesz wgrywać przez ten programator to pobierz sobie arduino w wersji 1.6.9 - ta wersja działa bez problemu z USBASP



Niestety Bootloader przez USBasp idzie od razu, a jak wysyłam program "Blink" to znowu ten sam błąd:

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 8 lis 2017, o 19:27 
Offline
Użytkownik

Dołączył(a): 18 lut 2015
Posty: 164
Lokalizacja: Koszalin
Pomógł: 16

Zrobiłem doświadczenie:
1. Atmega 328p z kwarcem 16MHz i za pomocą USBasp z Atnel oraz mkAVRCalulator ustawiłem zewnętrzny kwarc i zapisuje Fuse bity.
2. Uruchamiam IDE 1.6.9 wybieram płytkę Arduino Uno ( Twój m328p z 16Mhz) oraz programator USBasp.
3. Wybieram szkic BLINK i podłączam LED na pinie 19 (PB5) przez rezystor do GND.
4. Wybieram szkic - wgraj używając programatora.

Szkic się wgrał i dioda działa.

Następie:
5. Wybieram kolejny szkic Fade.
6. Musze led przełożyć do PWM 9 czyli pin 15 (PB1) przez rezystor do GND.
7. Wybieram szkic - wgraj używając programatora. I znów działa.

Działa zawsze, próbowałem mnóstwo razy.

USBasp te Atnelowskie pięknie działa i programuje m328p z 16Mhz (arduino UNO) w IDE za każdym razem.

Natomiast czymś całkiem innym jest bootloader, który tutaj jest nie potrzebny, ponieważ ma on umożliwiać programowanie przez UART tak jak pisałem wcześniej RX,TX a Ty raczej nie masz przejściówki UART-USB. Również czym innym jest programator Arduino ISP, który jest programatorem Atmel STK500 i jeśli chcesz go stosować to także nie potrzeba w nim bootloadera.



Ostatnio edytowano 8 lis 2017, o 19:44 przez raczyk, łącznie edytowano 2 razy

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 8 lis 2017, o 19:28 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 23 paź 2014
Posty: 1020
Lokalizacja: Trójmiasto
Pomógł: 188

A jak wgrywasz? Klikając ikonę strzałki czy wybierając menu szkic > wgraj używając programatora?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 8 lis 2017, o 19:29 
Offline
Użytkownik

Dołączył(a): 25 lip 2013
Posty: 2561
Pomógł: 126

A port COM dobry wybrałeś? U Ciebie krzyczy, że nie widzi COM5.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 8 lis 2017, o 19:50 
Offline
Nowy

Dołączył(a): 07 lis 2017
Posty: 9
Pomógł: 0

Dziękuje wszystkim, zmiana IDE oraz
xentis napisał(a):
A jak wgrywasz? Klikając ikonę strzałki czy wybierając menu szkic > wgraj używając programatora?

Pomogło! mogę przez USBasp wgrywać ile chce o to chodziło! Dziękuję :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 lis 2017, o 12:29 
Offline
Nowy

Dołączył(a): 07 lis 2017
Posty: 9
Pomógł: 0

Panowie, jak mogę odebrać sygnał Uart z Atmega328?
Czy da sie podpiąć pod Leonardo i "odsłuchać" w Arduino Ide co wyświetla?

RX i TX podlaczylem pod takie same wyjścia z Leonardo, podłączyłem mase, aby byla wspólna, prędkość na 9600 bo taa mam w programie na atmedze i mimo to cisza. Ten sam proprogram na Leonardo dziala dobrze i przesyła. Z góry dziękuję za nakierowanie mnie :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 lis 2017, o 12:45 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 26 sty 2016
Posty: 1148
Lokalizacja: Kraków
Pomógł: 93

Podłączyłeś Rx i Tx ze swojego procka równolegle z pinami procka na leonardo? Przecież to nie zadziała. Nie wiem, jak jest w leonardo, ale tam chyba jest tylko jeden procek, który ma obsługę USB.
W innych arduino (np. w UNO) masz procek główny, na który piszesz program i drugi układ (procek lub CH340), który działa tylko jako przejściówka USB<=>UART. I wtedy tam się możesz podpiąć, chociaż nie bezpośrednio.
Możesz wykorzystać też przejściówkę USB<=>UART. Polecam http://atnel.pl/atb-usb-rs232.html
Możesz też napisać program na arduino leonardo, który będzie działał jak przejściówka USB<=>UART



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 15 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 0 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO