• 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
Problem! Atmega 2560 Homemade Arduino
#1
Witam! Jak w tytule - mam problem z atmegą. Posiadam arduino UNO i głowę na karku, co skłoniło mnie do zbudowania własnego Arduino MEGA 2560. Wszystko ładnie fajnie polutowałem, potestowałem z programami pana Gammona (link), program Board Detector widzi atmegę 2560, a Board Programmer bez problemów i błędów wgrywa bootloader. do tego miejsca jest super. 
Do nóżki procesora nr 26, która oznaczona jest jako wyjście cyfrowe 13, przylutowałem diodę świecącą wraz z opornikiem 1K Ohm, aby tak jak we wszystkich modelach mieć diodę "testową". Chciałem wgrać klasycznego blinka, nic specjalnego:
Kod:
void setup() {pinMode(13,OUTPUT);}

void loop() 
{
  digitalWrite(13,HIGH);
  delay(1000);
  digitalWrite(13,LOW);
  delay(1000);
}

każdy rozumie. Problem z wgraniem, użyłem słynnego i wszystkim znanego programatora USBASP. Zainstalowałem sterowniki, w ArduinoIDE wszystko ustawione, wgrywam za pomocą programatora i... dupa. dioda nie miga a "wgrano pomyślnie" . Próbowałem też z Arduino as ISP i nic. wszystko podłączone poprawnie, sprawdzałem kilkanaście razy. Potem pogrzebałem trochę od końca, bo użyłem AVR DUDE i za pomocą jego zgrałem program z atmegi z wgranym programatorem, oczywiście w .hex w formacie intela. co to format intela? (link). Wyniki były zatrwarzające:
Kod:
:20 E9C0 00 58F4903319F1903308F4E3C59F33A1F1903409F0DEC5BDC0953409F470C19634 B5
:20 E9E0 00 09F0D7C598C1923509F42BC2933538F49C3409F4F5C1913509F0CBC518C29635 0D
:20 EA00 00 09F445C2993509F0C4C567C483E792EE62E00F94F5F110920602109207021092 CB
:20 EA20 00 08021092090210920A0210920B0210920C0210920D0213C18FE792EE62E00F94 B2
:20 EA40 00 F5F18FEE90EE60E00F94F5F181E291EE60E00F94C2F187EB91EE60E00F94F5F1 DA
przykładowy kod samego programatora wgrany programem Gammon'a zgrany z atmegi
potem zapisałem mój program za pomocą ArduinoIDE jako "już skompilowany" wraz z programatorem w pliku .hex przeznaczony dla atmegi 2560 i wtedy odkryłem błąd:
Cytat:
Kod:
:10 00B0 00C0C00000BEC00000BCC00000BAC00000 4C
:10 00C0 00B8C00000B6C00000B4C00000B2C00000 5C
:10 00D0 00B0C00000AEC00000ACC00000AAC00000 6C
:10 00E0 00A8C000004B024E023D02410247028502 B9
:10 00F0 00520256025C02600264026A026E027202 DE
przykładowy kod zapisany przez ArduinoIDE

Jak widać dane z ArdunoIDE są 2 razy krótszym słowem niż jest to wymagane. Da się taki kod wgrać, ale on nie działa. Zamiast tego cała pamięć się zeruje. 

I tu moje pytanie - robił ktoś sam Arduino MEGA 2560? miał ktoś styczność z tym mikrokontrolerem? Wiem, że mogę "blinka" napisać w assemblerze, ale zależy mi na c++, ponieważ mam napisany wcześniej kod na ten mikrokontroler. Jak wgrywać program? może inny programator. Myślałem nad programatorem TTL - FTDI. 
Z góry dzięki za pomoc Big Grin
Yeah, science! ~Jessy Pinkman, Breaking Bad
 
Odpowiedź
#2
1K Ohm rezystor co ty to zasilasz 24v tu masz mieć 220ohma jak nie jesteś pewien to prawo oma się kłania i się wylicza prąd diody 700mA napięcie 5 v u=j*r czyli u/j=r i masz.
Pomijając to wszystko powiedz mi czemu ty wywarzasz otwarte drzwi bo tego nie rozumie.
[Obrazek: banerelektronika.jpg]



Jeśli pomogłem podziękuj punktem reputacji Wink
 
Odpowiedź
#3
Zrobił bo mu wolno , nie nam oceniać ( sam mam chyba z samoróbki tyle że uno ) .

Sprawdź kwarc i fusebity bo z tych stron które podałeś wychodzi że atmega jest ustawiona na 8MHz

http://www.engbedded.com/fusecalc
Ważne aby robić co się lubi albo lubić co się robi .
Arduino UNO, TINY, PRO MINI
Pomoc nagradzamy punktami reputacji Wink
 
Odpowiedź
#4
(27-06-2016, 18:58)adix napisał(a): 1K Ohm rezystor co ty to zasilasz 24v  tu masz mieć 220ohma jak nie jesteś pewien to prawo oma się kłania i się wylicza prąd diody 700mA napięcie 5 v u=j*r czyli u/j=r i masz.
Pomijając to wszystko powiedz mi czemu ty wywarzasz otwarte drzwi bo tego nie rozumie.

Korzystałeś kiedyś z arduino? Smile zasilanie 5V/1000Ohm = 5mA. klasyczne diody LED mają próg 10mA. totalnie nie rozumiem, co tutaj napisałeś. Atmega 2560 ma zasilanie domyślne 5V, nie zamierzam podłączać 24V.
Rozumiesz w ogóle prawo ohma? Smile

Tak btw, 700mA jest strasznie dużym natężeniem prądu. Dla porównania podręcznikowe śmiertelne natężenie wynosi 300mA. Jakaś dioda działa ci przy 700mA? 
Właściwie to nie robię własnego arduino, generalnie tworzę system mikroprocesorowy oparty na bootladerze od Arduino, chociaż widzę, że to zdanie może być trochę zbyt złożone dla ciebie Wink
Yeah, science! ~Jessy Pinkman, Breaking Bad
 
Odpowiedź
#5
(28-06-2016, 20:45)JasQ napisał(a): Zrobił bo mu wolno , nie nam oceniać ( sam mam chyba z samoróbki tyle że uno ) .

Sprawdź kwarc i fusebity bo z tych stron które podałeś wychodzi że atmega jest ustawiona na 8MHz

http://www.engbedded.com/fusecalc

Kwarc mam na 16Mhz, działa. Jak pisałem wyżej, korzystałem z programów pana Gammona, Atmega wg nich jest sprawna w 100%
Yeah, science! ~Jessy Pinkman, Breaking Bad
 
Odpowiedź
#6
Kolego bez takich gdzie ty widzales 1k do 5v podpinales 7 segmetowke kiedys i czy kiedykolwik miales z tym stycznosc bo jak ja to to robilem to ty jeszcze nie slyszales o czyms taim jak arduino i programowanie

Wysłane z mojego ME371MG przy użyciu Tapatalka
[Obrazek: banerelektronika.jpg]



Jeśli pomogłem podziękuj punktem reputacji Wink
 
Odpowiedź
#7
Kolego bez takich gdzie ty widzales 1k do 5v podpinales 7 segmetowke kiedys i czy kiedykolwik miales z tym stycznosc bo jak ja to to robilem to ty jeszcze nie slyszales o czyms taim jak arduino i programowanie

Wysłane z mojego ME371MG przy użyciu Tapatalka



Wysłane z mojego ME371MG przy użyciu Tapatalka
[Obrazek: banerelektronika.jpg]



Jeśli pomogłem podziękuj punktem reputacji Wink
 
Odpowiedź
#8
(29-06-2016, 00:32)adix napisał(a): Kolego bez takich gdzie ty widzales 1k do 5v podpinales 7 segmetowke kiedys i czy kiedykolwik miales z tym stycznosc bo jak ja to to robilem to ty jeszcze nie slyszales o czyms taim jak arduino i programowanie

Wysłane z mojego ME371MG przy użyciu Tapatalka



Wysłane z mojego ME371MG przy użyciu Tapatalka

Kolego, napisz wprost:
ile masz lat? wypowiedź trochę na niskim poziomie :/
szukałem pomocy na temat programowania mikrokontrolerów avr, a nie wykłady o elektronice. powiem ci tylko, że dioda działa, nie nie spaliła się i siedzi na swoim miejscu, jeżeli nie miałeś styczności z programowaniem AVR'ów, to proszę grzecznie o zaprzestanie wykładów i filozofii sensu życia diody. Nie chce się tutaj chwalić, ale mam duże zaplecze intelektualne w postaci innych osób, zwłaszcza jeżeli chodzi o elektronikę. Co prawda masz rację, może być tam opornik 220Ohm, ale 1K był pod ręką, a też daje radę.

Tyle, mam nadzieję, że odpowiesz na moje 1-sze pytanie :p
Yeah, science! ~Jessy Pinkman, Breaking Bad
 
Odpowiedź
#9
kolego na pewno mam więcej niż ty a nie 2200 ohma tylko 220ohma ale dla ciebie wszystko jedno :pomijając wszystko fusbit po zmieniałeś kolego
[Obrazek: banerelektronika.jpg]



Jeśli pomogłem podziękuj punktem reputacji Wink
 
Odpowiedź
#10
kolego na pewno mam więcej niż ty a nie 2200 ohma tylko 220ohma ale dla ciebie wszystko jedno :pomijając wszystko fusbit po zmieniałeś kolego

1. Jest napisane 220Ohm , nie 2200Ohm, zauważ, ze pierwsza litera jest duża, może od tego twój błąd w interpretacji. proszę, nie pieprz mi o tym oporniku więcej.

2.Fusebity są ustawione w 100% poprawnie, też sprawdzałem Sad
(02-07-2016, 00:01)adix napisał(a): kolego na pewno mam więcej niż ty a nie 2200 ohma tylko 220ohma ale dla ciebie wszystko jedno :pomijając wszystko fusbit po zmieniałeś kolego
Yeah, science! ~Jessy Pinkman, Breaking Bad
 
Odpowiedź
  


Skocz do:


Przeglądający: 1 gości