• 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 atmega328P-PU z arduino na płytce stykowej
#1
Część,
pracuję nad nowym projektem i po raz pierwszy staję przed problemem miniaturyzacji, chodzi generalnie o wyciągnięcie z arduino uno atmeg328 z zapisanym scratchem i zlutowanie wszystkiego na płytce uniwersalnej. Na początek jednak chciałbym zobaczyć czy wszystko śmiga poza arduino i w tym celu wypróbować na początku wszystko na płytce stykowej. 
Wykonałem wszystko jak w poradniku Elektro Marasa https://www.youtube.com/watch?v=HSBUnXQN120 I tu pojawia się problem. Gdy przenoszę atmege328 z arduino na płytkę stykową nie działa wgrany testowo kod blink na porcie 13. 
Siedzę nad tym problemem od 2 dni, przeczytałem masę innych forów, poradników również zagranicznych i nic. Nie mam pojęcia co jest nie tak. 

W międzyczasie zbootowałem sobie zakupioną dodatkowo atmege328P-PU czyli taką samą jak w adruino uno i jest dokładnie to samo. Jak wepnę do arduino atmege wszystko bezproblemowo się programuje, jak przeniosę na płytkę - doopa. Nieważne gdzie i w jaką płytkę stykową wpinam mikrokontroler. Na początku sądziłem, że może jest problem z zasilaniem więc dodałem kilka kondensatorów. Posiadam oryginalną płytkę uno. Nie jest to jakaś lipa chińska.

W schemacie użyłem 
ATMEGA328P-PU
kwarc 16Mhz
2 kondensatory 22 piko farady do kwarca połączone z masą
2 kondensatory 22 piko farady do zasilania atmegi po obu stronach
rezystor 10kohm podciągnięty do resetu
dioda czerwona dla sprawdzenia czy jest zasilanie na płytce + rezystor 100ohm
dioda żółta podpięta do portu D13 na atmega + rezystor 100ohm

Na zdjęciach zasilanie na płytce stykowej jest z arduino, próbowałem również z zasilacza 5volt również bez sukcesu.

Gdy próbuję wgrać/edytować scretch przez RX/TX wywala mi błąd jak w załączonym print screenie

Pomóżcie jakoś bo już brak mi pomysłów co jeszcze mogę zrobić. A może robię jakiś banalny błąd i sam tego nie widzę.

Tylko proszę... darujcie sobie teksty o regulaminie i przeglądaniu postów na forum...  Rolleyes takie cenne rady na prawdę nic nie wnoszą i spotkać można tylko na polskich forach (to chyba jakaś forma rozrywki dla forumowych szeryfów).


Załączone pliki Miniatury
               
 
Odpowiedź
#2
Wgraj do arduino sketch ArduinoISP z przykładów i spróbuj podłączyć to tak :
RESET pin 10
MOSI pin 11
MISO pin 12
SCK pin 13

Oczywiście w atmedze na płytce odpowiednio to podłącz do:
RESET pin 1
MOSI pin 17
MISO pin 18
SCK pin 19

PAMIĘTAJ ZAWSZE MUSI BYĆ WSPÓLNA MASA.

W arduino wybierz programator jako : Arduino as ISP, podczas wgrywania wybierz opcji "wgraj używając programatora ".
Napisz czy poszło Smile
CodingBlog.pl - ELEKTRONIKA / PROGRAMOWANIE / DIY
 
Odpowiedź
#3
Trzeba korzystać ze schematów a nie filmów co robią co innego a mówią co innego . Masz źle kable Rx i tx.
 
Odpowiedź
#4
Tak jak kolega pisze źle są kable. Zasada działania Uart jest banalna i można ja wytłumaczyć w taki oto sposób :
Gdy ja mówię ty słuchasz ,jak ty mówisz ja słucham(nie mylić tego z magistrala can to inna bajka ).
Przekradając na język techniczny
nadajnik TX >RTX odbiornik
Odbiornik TX > RTX nadajnik.
[Obrazek: banerelektronika.jpg]



Jeśli pomogłem podziękuj punktem reputacji Wink
 
Odpowiedź
#5
Jeśli jest to nowy układ, musisz najpierw wgrać bootloader. Potem możesz normalnie programować układ za pomocą metody podanej wyżej przez kolegów. Druga rzecz, że jeśli zależy Ci na miniaturyzacji, może zainteresuj się układami TQFP. Są o wiele mniejsze niż THT (przewlekane). Atmega328P zajmuje powierzchnię ok. 1cm2.
 
Odpowiedź
#6
AtMega fajnie śmiga bez żadnych kwarców a konfigurację parametrów pracy ustawia się fuse Bitami - na początku warto zapoznać się ( odczytać przynajmniej Fuse Bity) aby mieć świadomość co robi scalak nawet gdy niby nic nie robi - programator SPI + AVDudess + http://eleccelerator.com/fusecalc/fuseca...atmega328p.
 
Odpowiedź
#7
Dzięki za porady na razie trochę jestem zarobiony i dodatkowo przeziębiony. Nie mam głowy do arduino, pewnie jutro siądę. Dam znać co i jak
 
Odpowiedź
#8
Niestety poleglem, nie mam pojęcia gdzie robię błąd, a może to coś innego, chociażby powyginale blaszki na plytce stylowej. Generalnie pójdę w inną stronę. Zamawiam arduino pro mini. Wymiary podobne do mikrokontrolera. Trudno się mówi...?
 
Odpowiedź
#9
Ogólnie to opcja najlepsza ,a podejrzewam ze problem z pro mini będziesz miał identyczny.
Ja zapytam jeszcze czy ty używasz serial tego co programuje do komunikacji czy soft serial bo to różnica jak używasz tego co programujesz to możne ci nie działać.
[Obrazek: banerelektronika.jpg]



Jeśli pomogłem podziękuj punktem reputacji Wink
 
Odpowiedź
#10
1- masz odwrotnie rx i tx, muszą być podłączone rx atmegi do tx arduino i tx atmegi do rx arduino
2-wywal połączenie aref do vcc, w schemacie arduino tego nie ma i nie jest potrzebne dlatego że jest to realizowane programowo wewnątrz atmegi. Możesz sprawdzić w datasheet atmegi (dostępna za darmo w necie m.in na stronie atmela)
3-to co napisał PlusMinus czyli programowanie za pomocą isp to świetny pomysł ja korzystam tylko z tego i zawsze działa, tylko że ja używam programatora isp, nie arduino.
4-atmega w czasie programowania musi być zasilana. Albo z innego źródła zasilania-wtedy łączysz masy dla wyrównania potencjałów (tu jest fajnie wyjaśnione dlaczego  https://www.youtube.com/watch?v=r8IpW-sH9zI )  albo jeśli nie ma własnego zasilania to zasilasz z programatora lub arduino jeśli ono robi za programator- łaczysz plus z plusem a minus z minusem.
5- na zdjęciach widać że masz starą płytke stykową(pościerane napisy więc swoje już zapewne przeżyła), może w środku coś nie kontaktować ale tego na zdjęciach już nie widać.
 
Odpowiedź
  


Skocz do:


Przeglądający: 1 gości