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



Teraz jest 16 sty 2025, o 12:55


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 9 ] 
Autor Wiadomość
PostNapisane: 4 kwi 2013, o 09:23 
Offline
Użytkownik

Dołączył(a): 26 mar 2013
Posty: 44
Pomógł: 0

Witam.
Na wstępie zaznaczam, że to są moje początki w programowaniu mikrokontrolerów, więc prosiłbym o wyrozumiałość.
Jak z programowaniem nie mam problemów, tak z samą elektroniką już jest gorzej (prosiłbym to wziąć pod uwagę czytając mój opis).

Dużo już przeczytałem o mikrokontrolerach ale nie do końca wszystko jeszcze jest dla mnie jasne.


Poniżej postaram się opisać problem jaki napotkałem wraz z pytaniami jakie mi się nasunęły.
----------------
Zawsze staram się zrozumieć jak coś działa, więc postanowiłem oprogramować avr bez arduino

Postanowiłem na płytce prototypowej, a w zasadzie na specjalnej podstawce (http://allegro.pl/podstawka-do-programo ... 99892.html) oprogramować sobie mikrokontroler atmega328P.

Zamontowałem na podstawce mikrokontroler, podłączyłem przez programator usbasp i sprawdziłem programem MKAVRKalkulator.
Mikrokontroler został odnaleziony, więc mam pierwszy sukces.

Teraz idąc dalej chciałem wgrać tam za pomocą arduino IDE pierwszy program.

Z tego co wiem, to arduino ide działa tak, że na avr musi być program (bootloader), który oczekuje po rs 232 aby wgrać na mokrokontroler kod.

Zakupiłem więc przejściówkę usb rs 232 (http://arduinosolutions.com/pl/p/FT232- ... d-mini/460).

Połączenie zrobiłem następujące:

z komputera usb do programatora (zasilanie)

z komputera usb do z ft232 (zasilanie)
z ft232 txd do rxd (pin2 avr)
z ft232 rxd do txd (pin3 avr)
z ft232 dtr# do reset (pin1 avr)

Powyższe wydaje mi się ok.

Tu prośba o potwierdzenie , czy jest ok.

W ide wybrałem łądnie port, programator usbasp.
Teraz chce wypalić bootloader.
Pytanie 1:

Co wybrać z sekcji board.

Wczoraj wieczorem wybierałem różne opcje.

Jak wybierałem arduino uno, to przy wypalaniu dostawałem błąd, że fusebity się nie zgadzają i nie chciał wypalić.

Jak wybrałem ten z poniższej strony (lub inny, ale ważne ,że to był zewnętrzny board dogrywany przeze mnie) to wypalał.
http://majsterkowo.pl/forum/programowan ... -t280.html

Uznałem więc, że bootloader mi się ładnie wypalił.

Dalej chciałem wgrać przykładowy kod, który na serial wysyłał w pętli jakiś znak aby zweryfikować całą konfigurację.

Problem tu się pojawił taki, że program się nie wgrywał.
Pasek w IDE dochodził szybko prawie do końca i stawał. Komunikat był cały czas "uploading".

Generalnie prosiłbym o pomoc i informacje co robię nie tak i co powinienem zrobić aby za pomocą arduino IDE oprogramować czysty mikrokontroler.

Z góry dziękuję za pomoc .

pozdrawiam
Marcin

_________________
sig off ;(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 kwi 2013, o 16:00 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 12 paź 2011
Posty: 780
Pomógł: 20

Cześć :)

Trochę źle do tego podchodzisz bo może trzeba zacząć od początku bootloader to program już w mikrokontroleże który umożliwia programowanie poprzez port UART i trzeba go do AVR-ka wgrać poprzez programator ISP w arduino ten proces wraz z ustawieniem fuse bitów nazywa się wypaleniem bootloadera

Polecam Ci Arduino IDE przerobione przez naszego Suna ja na nim działam i jest bardzo zadowolony do pobrania np tutaj

https://drive.google.com/uc?export=down ... jFUT3BqNkE

A wybierzesz sobie sunduino z atmegą 328 mi działa z atmega328P więc polecam

Obrazek

Jeżeli masz programator który obsługuje ARDUINO ide wybierasz z menu arduino IDE płytkę z mega328 a potem burn bootloader i wygrywa się bootloader wybranym programatorem ISP od razu zostają ustawione fusebits bez wgranego bodloadera poprzez programator ISP nie jest możliwe programowanie bezpośrednio z ARDUINO ide za pomocą przejściówki FTDI (chociaż z tego forum dowiesz się że jeśli masz wyprowadzone wszystkie piny z FTDI możesz go używać jak zwykłego programator ISP nawet z [poziomu AVRkalkulatora)

Polecam na Lini którą resetujesz kontroler od przejściówki FTDI dodać szeregowo kondensator 100n jeśli by były jakieś problemy

Musisz dać znać jak sprawuje się ta przejściówka bo mam zamiar ją kupić bo jest na 5V jak i na 3.3V a cena atrakcyjna :)

Jeśli chodzi o sprzęt to możesz złożyć wszystko na stykówce, ja prezentowałem coś takiego na dniach otwartych :)

Obrazek

tylko że programowałem programatorem ISP, jest możliwość programowania z Arduino IDE poprzez zwykły programator również bez wgrywania bootloadera

Na znanym portalu aukcyjnym są już kontrolery z wgranym bootloaderem.

Jeśli umiesz robić PCB to tutaj masz wszyto ko zrobienia sobie Sunduino :)

http://www.blue17.elektroda.eu/mikrokontrolery-avr/1424

Życzę miłej zabawy

Pozdrawiam

_________________
sig off ;(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 maja 2013, o 09:01 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 30 gru 2012
Posty: 188
Lokalizacja: Świnice Warckie woj. łódzkie
Pomógł: 12

Witam, aby nie zakładać nowego tematu podpinam się tutaj...

mam następujący problem... jestem szczęśliwym posiadaczem ATB 1.04 a ostatnio polubiłem system Arduino wiec zakupiłem konwerter dla procesora 328p oraz procesor zapakowałem to w zestaw wgrałem oryginalny bootloader z Arduino IDE przeznaczony dla tego procesora no i d*** układ można zaprogramować tylko po włączeniu zasilania a próba ponownego zaprogramowania kończy się komunikatem o przekroczeniu czasu (stosowany protokół stk500v1). Posiadam również Arduino NANO 3 z tym procesorem i tam ten problem nie występuje, porównałem schematy obu zestawów i zasadniczych różnic nie widzę poza tym iż linia RTS układa FT poprzez rezystor podpięta jest pod reset. Podpinałem też inny moduł rs i efekt ten sam... podpinamy wtyk usb programujemy dziala po chwili chcemy ponownie zaprogramować i tu już nie działa odpinamy.... podpinamy... znów działa... kombinowałem też bez linii reset z FT232 i przytrzymaniem na różne sposoby przycisku reset ale też nic to nie dało... będę wdzięczy za każdą sugestie . Pozdrawiam

_________________
ATMEL-ICE+ATXmega256A3BU oraz dużo samozaparcia



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 maja 2013, o 09:58 
Offline
Użytkownik

Dołączył(a): 04 paź 2011
Posty: 8597
Pomógł: 337

masz na atb możliwość używania trybu arduino/sunduino z resetem zgodnym z arduino wiec musi działać bo sam z tego korzystam
tyle że z M644 i 1284 bo na mniejszych szkoda czasu

ale działa z każdym tworem ... moze problemem jest bootloader -- najwygodniej wgrać z arduino idee poprzez burn bootloader np USB-aspem

_________________
Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 maja 2013, o 10:18 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 30 gru 2012
Posty: 188
Lokalizacja: Świnice Warckie woj. łódzkie
Pomógł: 12

Właśnie problem w tym że objaw dziwny bo reset poprzez zworkę podpięty kabelki podpięte fusy ustawione przetestowałem począwszy od mega8...32, 328, 644, 1284 z różnymi bootloaderami ... nawet twoje arduino-ide testowałem i w końcu koncepcje się skończyły , testowałem arduino ide począwszy od 1.0.1...1.0.4 a także 1.5.2 i 1.5.3, nawet kompy zmieniłem :) i na płytkach arduino nano... uno...mega2560 wszystko działa jak trzeba ale na atb niestety poległem. dopiero gdy odkryłem że istnieje plugin do eclipse który działa w ide 1.5.3 i AVR Toolchain 3.4.2 to programuje po usbasp. Dziś jak czas pozwoli postawie zestaw na płytce stykowej i zobaczę czy działa.

_________________
ATMEL-ICE+ATXmega256A3BU oraz dużo samozaparcia



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 maja 2013, o 14:02 
Offline
Użytkownik

Dołączył(a): 04 paź 2011
Posty: 8597
Pomógł: 337

podejrzewam że cały czas chcesz za szybko i juz i przez to popełniasz błedy ,
nigdy nie miałem problemów takich zawsze rusza od strzała wszystko .. ale trzeba robic na spokojnie i z dala od stykówek

_________________
Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 maja 2013, o 14:51 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 30 gru 2012
Posty: 188
Lokalizacja: Świnice Warckie woj. łódzkie
Pomógł: 12

ok... powiadasz że za szybko... tyle razy już to sprawdzałem i koncepcje się skończyły :( co do zasady biorę atmaga328p wsadzam w konwerter potem podstawkę, wsadzam kwarc 16MHz,zapinam zworki od kwarcu które znajdują się w konwerterze, zapinam zworkę resetu, zworki RX i TX zapięte (połączenie sprawne i przetestowane w innych projektach) podpinam usbasp odpalam arduino ide wybieram SunDuino v.1.0/1.5 w/ ATmega328 potem wgrywam bootloader i do tego momentu ok. odpinam programator usbasp podpinam kabel usb wybieram przykładowy projekt np. Blink no i wgrywam to 328p proces przebiega ok (dioda miga) otwieram inny projekt( może być nawet ten sam) naciskam zaprogramuj no i dochodzi do momentu programowania czeka...czeka i wyświetla komunikat o przekroczeniu czasu... wyciągam wtyczkę usb ... podpinam naciskam zaprogramuj i jest ok i tak za każdym razem. Mam po ręką arduino nano z tym prockiem i tutaj nie ma problemu działa zawsze. Znając życie i to co piszesz prawdopodobnie jest to jakaś pierdoła której nie widzę.

No nic mam jeszcze parę typów odnośnie testu tego problemu może znajdę rozwiązanie. na chwilę obecną działa usbasp jako programator poza tym działa programowanie po atb-ft232r wiec programowanie bezpośrednie z ide nie jest ąz tak bardzo potrzebne i jedynie nurtuje dlaczego nie działa...

_________________
ATMEL-ICE+ATXmega256A3BU oraz dużo samozaparcia



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 maja 2013, o 16:03 
Online
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27346
Lokalizacja: Szczecin
Pomógł: 1041

a czy masz zapiętą zworkę od RESETU - tą opisaną jako ARST ???

poza tym sprawdź czy na dole pod porckiem jest wlutowany rezystorek 100R czy tam 180R obok tego kondka do resetu dla Arduino bo kurczę okazuje się że w niektórych PCB go nie wlutowali - nie wiem dlaczego ? - jeśli go nie ma to postaraj się tam jakiś taki dołożyć coś pomiędzy 100R a 200R

on jest pod prockiem pomiędzy pinami PB0 i PA0 - na środku ;)

bo być może przez to resetowanie nie działa - chociaż w sumie sam kondek też powinien wystarczyć ;)

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 10 maja 2013, o 09:11 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 30 gru 2012
Posty: 188
Lokalizacja: Świnice Warckie woj. łódzkie
Pomógł: 12

mirekk36 napisał(a):
a czy masz zapiętą zworkę od RESETU - tą opisaną jako ARST ???


Tak zworka zapięta - sprawna ;)

mirekk36 napisał(a):
poza tym sprawdź czy na dole pod porckiem jest wlutowany rezystorek 100R czy tam 180R obok tego kondka do resetu dla Arduino bo kurczę okazuje się że w niektórych PCB go nie wlutowali - nie wiem dlaczego ? - jeśli go nie ma to postaraj się tam jakiś taki dołożyć coś pomiędzy 100R a 200R
on jest pod prockiem pomiędzy pinami PB0 i PA0 - na środku ;)
bo być może przez to resetowanie nie działa - chociaż w sumie sam kondek też powinien wystarczyć ;)


Rezystor jest 100R - działa :)
Okazało się ze problemem jest kondensator który jest ale nie działa (wykazywał permanentny brak pojemności - lub czasami potrafił się "obudzić" na poziomie 150-300 nF...sprawdzone na płycie oraz po wydłubaniu) i po wymianie na sprawny 100nF problem znikł i działa programowanie w trybie arduino z bootloaderem. Skacząca pojemności powodowała że raz się dało zaprogramować a raz nie a sugestia Mirka okazała się trafna co do problemu z resetem.

Pozdrawiam i dziękuje za pomoc.

_________________
ATMEL-ICE+ATXmega256A3BU oraz dużo samozaparcia



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: 9 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 4 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