Skocz do zawartości
rafal2808

Własne arduino oraz programowanie bez bootladera

Pomocna odpowiedź

Pochwale się jeszcze jednym tym razem nieco mniejszym projektem. Jakiś czas temu wykonałem własne arduino uno oraz pokaże, w jaki sposób programuje się taką płytkę. A wydaje mi się to dość ciekawy temat, ponieważ wgrywam tak kod bez wcześniej wypalonego bootloadera. Moje własne arduino powstało z następujących elementów:

Do samego programowania potrzebny jest jeszcze odpowiedni programator USBasp osobiście korzystam z takiej konstrukcji. Na zdjęciach można także zobaczyć, że na płytce znajduje się złącze DC 2,5mm oraz stabilizator 7805 nie są one jednak używane.

Sama konstrukcja mojego arduino jest dość prosta. Mamy tutaj miktokontroler ATmega 328 do którego wyjść zostały podpięte i opisane złącza goldpin(wszystko opisane zostało zgodnie z pinami oryginalnego arduino). Dodatkowo na płytce znajduje się przycisk RESET oraz zielona dioda LED sygnalizująca zasilanie. Niezbędnym elementem jest rezonator kwarcowy 16MHz bez niego nasza płytka nie będzie działać. Jeżeli ktoś postanowi zbudować podobną płytkę polecam umieścić mikrokontroler na odpowiedniej podstawce.

ARDUINO_V2.thumb.png.9c18952f863d94f961ee9d00f7eaa0cc.png

Programowanie takiego układu jak już wcześniej wspomniałem odbywa się  za pomocą programatora USBasp. Jednak sam proces programowania wygląda nieco inaczej. Po pierwsze w zakładce narzędzia wybieramy tylko płytkę jako arduino uno inne opcje nas nie interesują. Gdy napiszemy już nasz kod klikamy przycisk 'zweryfikuj'. Następnie musimy połączyć naszą płytkę z programatorem oraz uruchomić program, który umożliwi nam przesłanie kodu w formacie pliku hex na nasz mikrokontroler osobiście korzystam z MkAvrCalculator (niestety darmowa wersja nie obsługuje układu ATmega 328). Należy upewnić się, że układ pracuje przy zegarze 16MHz.

erwafaf.thumb.JPG.cb0c6d7ec07aad3bf699975dcb6b15c6.JPG

Teraz możemy już wybrać plik z kodem, który chcemy przesłać. Środowisko arduino IDE zapisuje swoje pliki dla akurat skompilowanego programu w folderze tymczasowym systemu windows i to właśnie tam szukamy plików hex. Folder ten w systemie windows 7 znajduje się pod adresem %UserProfile%\AppData\Local\Temp %WinDir%\Temp. Możemy tam znaleźć folder arduino_build, który to zawiera dwa pliki w formacie hex. Jeden z nich jest z dopiskiem bootloader drugi bez. Jako plik, który chcemy przesłać wybieramy ten bez dopisku bootloader.

Przechwytywanie23.thumb.JPG.f00603adc65969e27640c25b2f997714.JPG

Na samym końcu możemy już zaprogramować nasz układ. Ciekawostką jest to, że program przesłany w taki sposób uruchamia się znacznie szybciej niż w przypadku oryginalnego arduino. 

Dodatkowo umieszczam kilka zdjęć wykonanej płytki oraz miejsce, w którym to znajduje się na co dzień.

IMG_20190114_151143.thumb.jpg.4b56565594ac0c1429f7ea798ebf98d2.jpgIMG_20190114_164507.thumb.jpg.72336d5a224fef85e70c7356fbda24cc.jpgIMG_20190114_150749.thumb.jpg.13626e352fe01fa0a563a7f6a2a63d17.jpgIMG_20190114_150806.thumb.jpg.74d9afbc4bb47aeb783cd673818bda6a.jpgIMG_20190114_164958.thumb.jpg.912d1d2d5a3d061b14bd4aa0f83faa83.jpg

Edytowano przez rafal2808
  • Lubię! 1

Udostępnij ten post


Link to post
Share on other sites

Podoba Ci się ten projekt? Zostaw pozytywny komentarz i daj znać autorowi, że zbudował coś fajnego!

Masz uwagi? Napisz kulturalnie co warto zmienić. Doceń pracę autora nad konstrukcją oraz opisem.

Właśnie zaakceptowałem opis. Dziękuję za przedstawienie projektu, zachęcam do prezentowania kolejnych DIY oraz aktywności na naszym forum 😉

Projekt akceptuję do naszej akcji rabatowej warunkowo, ponieważ moim zdaniem jest na granicy projektów, które powinny być uznawane za DIY (jest to raczej poradnik programowania, a nie opis konkretnego projektu). Osoby, które chcą opisać podobne projekty w celu zgłoszenia ich do akcji rabatowej powinny wystąpić o indywidualną ocenę projektu (przed jego opisaniem) zgodnie z instrukcjami zawartymi w artykule zapowiadającym akcję rabatową.

Udostępnij ten post


Link to post
Share on other sites

Proste ale skuteczne.

Co prawda wiem że tak można, ale dla nowych adeptów może to być pomocne.

  • Lubię! 1

Udostępnij ten post


Link to post
Share on other sites

Trzeba dodać że programator oraz konwerter UART nie są wbudowane więc to tak trochę bliżej Arduino Mini (tylko nie mini). Dużo taniej to wyszło?

  • Lubię! 1

Udostępnij ten post


Link to post
Share on other sites

Można powiedzieć, że koszt jest minimalnie niższy niż gotowej płytki, ale zyskane doświadczenie jest bezcenne.

Udostępnij ten post


Link to post
Share on other sites
(edytowany)

Zależnie od źródeł raczej nie taniej, chyba że nie liczymy części z tzw. szuflady ;>

Arduino micro na ali z wysyłką 7,40zł ;>

Ale jakość i pewność działania w porównaniu z własnym układem pozostawia wiele do życzenia.

W klonach bardzo słabej jakości są AMS1117 i już przy 150mA pojawiają się niekiedy problemy. Kilka diodek i układ potrafi się wyłączyć, traciś stabilność...

Edytowano przez lukaszd82
  • Lubię! 1

Udostępnij ten post


Link to post
Share on other sites

Dokładnie układy za te 7,40zł mogą często nie działać jak należy. 

Udostępnij ten post


Link to post
Share on other sites
(edytowany)

Mam przynajmniej 6sztuk i działają. Jedyny problem to stabilizator do wymiany w 5/6 przypadków. (działa do 150-200mA ok, później zawiechy, resety).

Ale pocieszę kolegę, u nas za 20-30zł jest to samo, wiem bo testowałem z kilku sklepów.

Dlatego teraz kupuję głównie w Chinach...

Tylko unikać WAVGAT, bo nie są zgodne z arduino do końca i wymagają dodatkowych bibliotek hardware do poprawnej obsługi... W przeciwnym razie wszystko co związane z czasem rozjeżdża się 😉

Edytowano przez lukaszd82

Udostępnij ten post


Link to post
Share on other sites
42 minuty temu, lukaszd82 napisał:

Tylko unikać WAVGAT, bo nie są zgodne z arduino do końca i wymagają dodatkowych bibliotek hardware do poprawnej obsługi... W przeciwnym razie wszystko co związane z czasem rozjeżdża się 😉

To ciekawe, chciałem tam niedawno kupić kilka sztuk ESP i "bluepill", ale odłożyło się w czasie. Masz doświadczenie z innymi elementami z tego sklepu?

Udostępnij ten post


Link to post
Share on other sites
(edytowany)

poszukam w historii na ali ale Arduino od nich było trefne i programy rozjeżdżały się w czasie.

Zwrócili kasę za zakup jak przedstawiłem filmik z najprostrzym przykładem z migającą diodą i zamiast 1sek to dioda migała co 4sekundy 😆

A po roku przez przypadek znalazłem info, iż wystarczy dograć do Arduino IDE odpowiednie biblioteki, wybrać płytkę WAVGAT i wszystko działa.

Oczywiście to Arduino Nano 3.0 WAVGAT ma ta samą wadę z LM1117 jak wcześniej pisałem...

Arduino Nano 3.0 WAVGAT

Teraz na stronie dali opis jak dograć pliki, o których mówiłem 😛

Edytowano przez lukaszd82

Udostępnij ten post


Link to post
Share on other sites

Programowanie przez ISP nie jest niczym nowym, a raczej "standardową" metodą. 

Trzeba tylko ostrzec posiadaczy  gotowego modułu Arduino - młodych i niedoświadczonych"  - że taki manewr wykasuje bootloader'a z układu. I będzie płacz o uszkodzonym procku 🙂 .

  • Lubię! 1

Udostępnij ten post


Link to post
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Gość
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.


×
×
  • Utwórz nowe...