Spisu treści:
- Krok 1: Zestaw
- Krok 2: Programator USB
- Krok 3: podstawka programowania
- Krok 4: Migające światła
- Krok 5: Koniec
Wideo: Środowisko rozwoju getta: 5 kroków
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:33
Jakiś czas temu zamieściłem szybką i brudną metodę "el cheapo" rozpoczęcia programowania układów z serii Atmel AVR: Ghetto Programmer (wersja 1.0). Pomyślałem, że fajnie byłoby to udokumentować. Celem było uzyskanie elastycznego, kompaktowego, przenośnego środowiska prototypowania mikrokontrolerów opartego na AVR, którego można używać w dowolnym miejscu. Tanio (ish). Więc bez zbędnych ceregieli, oto środowisko rozwoju getta (GDE) (wersja 1.2).
Krok 1: Zestaw
Podstawowy zestaw zawiera następujące rzeczy: programator USB. Ponieważ chcesz mieć możliwość programowania mikrokontrolerów z laptopa w dowolnym miejscu. A ponieważ USB jest bardzo przydatnym źródłem +5v. Programowanie podstawek. Po jednym na każdy rodzaj żetonu, którym grasz. Dla mnie oznacza to jedną z 8 pinami (ATtiny13, 15), jedną z 20 pinami (ATtiny 2313) i jedną z 28 pinami (ATmega8). Migające światła. Kiedy coś jest nie tak z twoim kodem, nic tak nie rozwiązuje problemu, jak wstawianie świateł w celu zdiagnozowania. Dodatkowo program migaczy LED to "Hello World" mikrokontrolerów. Płytka do krojenia chleba. W końcu to zestaw rozwojowy.
Krok 2: Programator USB
W Ghetto Programmer (v.1.0) użyłem programatora portu równoległego. Jest świetny, ponieważ jest prosty, tani i szybki. Ale mój laptop nie ma portu równoległego. Bawiłem się trochę z tworzeniem programatorów portów szeregowych, ale szczerze mówiąc, są one tak skomplikowane, jak wersja USB, a nawet porty szeregowe stają się coraz rzadsze. Rzeczywiście, mój laptop ma tylko USB. Więc to jest USB. Rozglądając się dookoła, programator USBTiny jest dość prosty i współpracuje z darmowymi narzędziami GNU/AVR-GCC. Zrób to sam lub kup zestaw? Sposób DIY jest dobry, jeśli możesz już zaprogramować ATTiny2313 (z programatorem równoległym) i mieć wokół siebie kryształ 12 MHz. Strona USBTiny przedstawia podstawy. Zakańcza kabel do programowania portem równoległym, ale gdybym zaczynał od nowa, wykończyłbym go w standardowym 6-pinowym gnieździe. (Dlaczego? Ponieważ to standardowe.) Oto jego wyprowadzenia i sprawdź na poniższym obrazku układ kabli. PD3 - MISOPD5 - ResetPD6 - SCKPD7 - MOSIJeżeli robisz swój własny, skorzystaj z mojego doświadczenia i włóż go do ładnego plastikowego pudełka. Jeśli tego nie zrobisz, w końcu zawiedzie, gdy kryształ 12 MHz się zepsuje. Dlatego teraz używam… Szybkim i eleganckim sposobem jest zestaw USBtinyISP Ladyady. Kosztuje 22 $, ale dostajesz ładną płytkę PCB, zaprogramowany ATTiny2313 i czystą skrzynkę z ładnymi kablami. Surowe części i tak kosztują 15-16 USD i nie musisz dzwonić do Digikey, a potem martwić się programowaniem własnego 2313. Polutowanie wszystkiego zajmuje 30 minut - 1 godzinę. Popisywać się. Zaufaj mi. (Brak przynależności, zadowolony klient) I właśnie zobaczyłem ten link: Samouczek Ladyady AVR, który wydaje mi się całkiem niezły. (I zauważ, że projekt Ladyady i oryginalne USBTiny używają różnych kodów identyfikacyjnych produktów USB – będziesz musiał znaleźć ciągi identyfikacyjne i ponownie skompilować avrGCC, jeśli przełączasz się między nimi. Myślę, że są instrukcje na odpowiednich stronach internetowych.)
Jeśli korzystasz z systemu Ubuntu Linux i używasz programatora USBTiny, oto polecenia, które uruchomią cały łańcuch narzędzi: sudo apt-get install build-essential avr-libc binutils-avr gcc-avr avrdude(tested na Hardy Heron)Jeśli masz archa AMD64, możesz również potrzebować: byacc libusb-dev flex bison libc6-devand, a następnie ręcznie skompilować AVRdude:(wget https://download.savannah.gnu.org/releases/avrdude/ avrdude-5.5.tar.gz tar xvzf avrdude-5.5.tar.gz cd avrdude-5.5 ## Patch potrzebny do AMD64: wget https://savannah.nonngu.org/patch/download.php?file_id=14754 patch -p1 < avrdude-5.5.usbtiny.64bit.patch./configure make && make install sudo avrdude -p attiny2313 -c usbtiny ## to test)Jeśli zobaczysz coś w stylu „avrdude: urządzenie AVR zainicjowane i gotowe do przyjęcia instrukcji”, to ponownie zrobione. O tak, i chwała Wendelowi Oskayowi za schemat standardowych wyprowadzeń programatora.
Krok 3: podstawka programowania
W Ghetto Programmer v.1.0 użyłem podstawki programistycznej z niestandardowym wejściem pinów i żeńskimi nagłówkami pinów, do których można wbijać różne rzeczy. Niestandardowe piny to zły pomysł, ponieważ nie będziesz mógł używać swojej kołyski z cudzym programistą i vice versa. Kobiece nagłówki pinów były zabawne, ponieważ można było bezpośrednio podłączyć do nich diody LED, ale kiedy zaczynałem robić coś bardziej złożonego, i tak podłączałem je do płytki stykowej. Z nową kołyską odciąłem pośrednika. Mniej ręcznego okablowania = lepiej. Jednak największą zaletą tej konstrukcji dokującej jest to, że można ją podłączyć niemal wszędzie, gdzie można podłączyć układ AVR. To okazuje się ogromne. Zamiast projektować obwody ISP w swoim robocie lub czymkolwiek, po prostu wstawiasz tę podstawkę do gniazda IC. Następnie możesz zaprogramować/przeprogramować mózg robota w obwodzie. Po zakończeniu programowania podłącz odbiornik AVR bezpośrednio i przejdź do następnego. Tworzenie podstawek jest dość łatwe - wystarczy podłączyć styki z 6-stykowego złącza w odpowiednie miejsca na frytki. Tym razem użyłem wytrawionych płytek drukowanych. Równie dobrze można okablować całość ręcznie na płycie perforowanej. Kołyska ATTiny13/15 jest wyposażona w 8-pinowe gniazdo wire-wrap. Uwielbiam to. Chip można łatwo włożyć w ładne okrągłe otwory, a długie nóżki zapewniają dodatkowy prześwit na płytce stykowej. Ślady PCB wykonałem odręcznie za pomocą Sharpie. Kołyska ATTiny2313 została wykonana metodą Eagle i metodą laserowego transferu tonera do papieru. Nie mogłem znaleźć żadnych 20-pinowych gniazd do owijania, więc musiałem uciec się do zwykłego 20-pinowego gniazda przylutowanego do 2 10-pinowych listew. To kończy się kołyską z krótszymi nogami, ale to działa. Schemat i plik PDF, którego użyłem do obwodu, znajdują się poniżej. W obu musiałem ręcznie podłączyć dodatkową linię. Takie jest życie.
Krok 4: Migające światła
Sama prostota. W ogóle bym o nich nie wspominał, gdyby nie były tak cholernie przydatne.
Przylutuj rezystor (150-220 omów to dobra wartość.) bezpośrednio do ujemnego wyprowadzenia niektórych diod LED. Zaświeci się od około 2v-6v bez wypalania. A rezystor pomaga zapamiętać, która strona jest ujemna. Przyklej je tam, gdzie chcesz wiedzieć, że jest prąd. Dowiedz się, czy ten tranzystor jest przepalony. Zmień akumulator nikad w długowieczną lampkę nocną. Użyj interfejsu z kodem blinky, aby odczytać wartości z mikroprocesora (powoli). Albo zrób 8 z nich i masz jednobajtowy wyświetlacz (plus aktywny składnik w oczach Cylonów). Zrób je. Zrób wielu. Zrób je teraz.
Krok 5: Koniec
Tak więc ten „system” spełnia prawie wszystkie moje potrzeby rozwojowe. Jest modułowy, skalowalny, kompaktowy i przenośny.
Na przykład opracowałem procedury wyświetlania przewijanych wiadomości na 4-cyfrowym wyświetlaczu (strona wstępu) w samolocie w drodze na ślub przyjaciela. Jest dobrym lodołamaczem ze stewardesą. Ten potencjometr -> ADC -> amperomierz sterowany PWM został wprowadzony do tablicy, zakodowany i debugowany całkowicie między moją kanapą a stołem jadalnym i czyści się w około 2 minuty, gdy przyjdą przyjaciele. (To ustawianie czasu budzenia część tego, co ma być zegarem licznika.) Czasami uruchamiam konfigurację, gdy mam ochotę się pobawić. Dodaj małą torbę gadżetów (niektóre kondensatory i rezystory, przewód przyłączeniowy, tranzystory, głośnik piezoelektryczny, fotodiody, mikrofony, małe silniki itp.), a będziesz tak daleko przed MacGuyverem, że to nawet nie jest śmieszne.
Zalecana:
Jak skonfigurować środowisko programistyczne AVR w systemie Linux: 5 kroków
Jak skonfigurować środowisko programowania AVR w systemie Linux: Jeśli chcesz zaprogramować mikrokontrolery AVR w systemie Windows, masz Studio, ale w systemie Linux mamy tylko Kolesia. AVRDUDE to interfejs wiersza poleceń do programowania układów AVR, może to być trochę trudne najpierw skonfigurować. W tej instrukcji będę s
Środowisko adaptacyjne (automatyzacja akademika): 5 kroków
Adaptive Environment (Automatyzacja akademika): Ten projekt jest początkiem mojego zagłębienia się w automatyzację. Jako „mózg” wybrałem Raspberry Pi. tej operacji, ponieważ GPIO ma tak wiele różnych zastosowań i pokładową sieć WIFI/Bluetooth. Moje wprowadzenie do klasy prototypowania kwestionowane
Wrogie środowisko Mp3 Case: 9 kroków
Wrogie środowisko Mp3 Case: Zrobiłem etui ochronne, aby mój nowy Creative Zen V Plus był bezpieczny przed wrogimi elementami w środowisku spawalniczym. Trzy elementy, którymi najbardziej się interesowałem, to: iskry spawalnicze, odłamki szlifierskie i metaliczny pył. Iskry spawalnicze mogą być dość gorące
Jak zainstalować środowisko programistyczne na lokalnym hoście: 6 kroków
Jak zainstalować środowisko programistyczne na lokalnym hoście: Ta instrukcja pokazuje, jak zainstalować Apache, PHP, MySQL na hoście lokalnym. Również jak to skonfigurować, aby mieć kilka fajnych funkcji sieciowych, takich jak możliwość załadowania katalogu głównego przy użyciu nazwy komputera (http://desktop/index.php), b
System rozwoju logiki programowalnej getta (CPLD): 13 kroków
Getto Programmable Logic (CPLD) Development System: Od kilku miesięcy korzystam z Getto Development System dla procesorów AVR. W rzeczywistości to prawie zero-dolarowe narzędzie okazało się tak fascynujące i przydatne, że zacząłem się zastanawiać, czy możliwe jest rozszerzenie tej koncepcji na F