Spisu treści:

Programator AVR z wysokim napięciem: 17 kroków
Programator AVR z wysokim napięciem: 17 kroków

Wideo: Programator AVR z wysokim napięciem: 17 kroków

Wideo: Programator AVR z wysokim napięciem: 17 kroków
Wideo: Programowanie mikrokontrolerów AVR w MPLAB IDE 2024, Lipiec
Anonim
Programator AVR z wysokim napięciem
Programator AVR z wysokim napięciem
Programator AVR z wysokim napięciem
Programator AVR z wysokim napięciem

To jest mój pierwszy Instruktaż. Zaprojektowana przeze mnie płytka to programator AVR. Płytka łączy w sobie funkcje 4 oddzielnych płyt prototypowych, które zbudowałem w ciągu ostatnich kilku lat:

- Programator wysokiego napięcia AVR, używany głównie w urządzeniach ATtiny do ustawiania bezpieczników, gdy linia resetowania jest używana do we/wy.

- Arduino jako ISP, 5V i 3v3 (liczy się jako dwie funkcje)

- programator NOR Flash EEPROM (szybko kopiuje z karty SD do NOR Flash)

Płyta wykorzystuje popularne regulatory napięcia AMS1117 LDO, aby uzyskać 5V i 3v3. Funkcja wysokiego napięcia wymaga 12V. Do tego użyłem konwertera step-up MT3608 DC-DC. MCU działa na 16MHz, 5V. Przesunięcie poziomu dla wszystkiego, co wymaga 3v3, odbywa się za pomocą LVC125A. LVC125A jest tym, co można znaleźć w wielu modułach kart SD. MCU to ATmega328pb. ATMega328pb jest prawie taki sam jak bardziej popularny ATMega328p, z wyjątkiem tego, że ma 4 dodatkowe piny I/O w tej samej obudowie.

Ta płyta jest w wersji 1.5. Nowe funkcje w najnowszej wersji:- interfejs szeregowy USB.- resetowalne bezpieczniki wielowarstwowe.- Wskaźniki funkcji LED pod przyciskami wyboru funkcji.- przełącznik do sterowania resetowaniem szeregowym poprzez odłączenie DTR od szeregowego układu USB. - MOSFET całkowicie usuwający zasilanie z DC-DC 12V, gdy nie jest używany.

Płytka posiada opcję dodania szeregowej pamięci EEPROM AT24Cxxx I2C oraz 5-pinowe złącze I2C JST-XH-05 (GND/5V/SCL/SDA/INT1) do podłączenia urządzeń I2C.

Jednym z bardziej skomplikowanych aspektów tego projektu było załadowanie wszystkich funkcji/szkiców na tablicę. Najłatwiejszą metodą byłoby po prostu pobranie szkicu za każdym razem, gdy musiałbym zmienić funkcje. Inną metodą byłoby połączenie wszystkich szkiców. Zrezygnowałem z obu tych metod. Metoda łączenia utrudniłaby zintegrowanie jakichkolwiek zmian dokonanych w oryginalnych szkicach źródłowych. Metoda łączenia ma również problem polegający na tym, że ilość dostępnej pamięci SRAM nie była wystarczająca bez przepisywania i kopania w używanych bibliotekach i szkicach, ponownie problem z konserwacją.

Metodą, którą wybrałem, było napisanie aplikacji o nazwie AVRMultiSketch, która współpracuje z Arduino IDE w celu załadowania szkiców do pamięci flash poprzez przesunięcie ich lokalizacji w pamięci. Źródła szkiców nie są w żaden sposób modyfikowane. Biegają po tablicy, jakby byli jedynym szkicem. Jak to działa, opisano szczegółowo w pliku readme GitHub o otwartym kodzie źródłowym dla AVRMultiSketch. Zobacz https://github.com/JonMackey/AVRMultiSketch, aby uzyskać więcej informacji. To repozytorium zawiera również szkice, których użyłem/napisałem/zmodyfikowałem, które mogą być używane indywidualnie.

Aby przełączać się między szkicami, tablica posiada cztery przyciski: Reset oraz przyciski oznaczone 0, 1, 2. Po włączeniu zasilania lub zresetowaniu, jeśli nic nie zrobisz, zostanie uruchomiona ostatnia wybrana funkcja. Jeśli przytrzymasz jeden z ponumerowanych przycisków, wybierasz szkic/funkcję. Szkic stanie się wybranym szkicem. Białe diody LED pod każdym z przycisków funkcyjnych są podświetlone, aby odzwierciedlić bieżący wybór.

Obecnie na tablicy znajdują się tylko 3 szkice, ale może pomieścić jeszcze kilka. W takim przypadku, zakładając tylko 3 bity/ponumerowane przyciski, może obsłużyć do 7, przytrzymując więcej niż jeden przycisk.

Schemat znajduje się w następnym kroku

Minimalny wspornik podtrzymujący jest dostępny na thingiverse. Zobacz

Płytka dla wersji 1.5 jest udostępniona na PCBWay. Zobacz

Skontaktuj się ze mną, jeśli chcesz zmontowaną i przetestowaną deskę.

Krok 1: Instrukcje montażu deski

Instrukcje dotyczące montażu tablicy
Instrukcje dotyczące montażu tablicy

Poniżej znajdują się instrukcje dotyczące montażu deski (lub prawie każdej małej deski).

Jeśli już wiesz, jak zbudować płytę SMD, przejdź do kroku 13.

Krok 2: Zbierz części

Zbierz części
Zbierz części
Zbierz części
Zbierz części

Zaczynam od przyklejenia kawałka papieru do stołu roboczego etykietami na wszystkie bardzo małe części (rezystory, kondensatory, diody LED). Unikaj umieszczania kondensatorów i diod LED obok siebie. Jeśli się mieszają, może być trudno je odróżnić.

Następnie wypełniam papier tymi częściami. Wokół krawędzi dodaję inne, łatwe do zidentyfikowania części.

(Zauważ, że używam tego samego kawałka papieru do innych zaprojektowanych przeze mnie plansz, więc tylko kilka miejsc na zdjęciu ma części obok/na etykietach)

Krok 3: Zamontuj tablicę

Zamontuj tablicę
Zamontuj tablicę
Zamontuj tablicę
Zamontuj tablicę

Używając małego kawałka drewna jako bloku montażowego, klinuję płytkę PCB między dwoma kawałkami płytki prototypowej złomu. Płytki prototypowe są mocowane do bloku montażowego za pomocą podwójnej taśmy klejącej (brak taśmy na samej płytce drukowanej). Lubię używać drewna na klocek montażowy, ponieważ jest naturalnie nieprzewodzący/antystatyczny. Ponadto można go łatwo przesuwać w razie potrzeby podczas umieszczania części.

Krok 4: Zastosuj pastę lutowniczą

Zastosuj pastę lutowniczą
Zastosuj pastę lutowniczą
Zastosuj pastę lutowniczą
Zastosuj pastę lutowniczą

Nałóż pastę lutowniczą na podkładki SMD, pozostawiając puste podkładki przelotowe. Będąc praworęcznym, zazwyczaj pracuję od lewego górnego rogu do prawego dolnego rogu, aby zminimalizować ryzyko rozmazania pasty lutowniczej, którą już nałożyłem. Jeśli rozmazujesz pastę, użyj niestrzępiącej się chusteczki, takiej jak te do demakijażu. Unikaj używania Kleenex/tkanki. Kontrolowanie ilości pasty nakładanej na każdy pad to coś, co można opanować metodą prób i błędów. Chcesz tylko malutkiego odrobiny na każdym padu. Wielkość plamki zależy od wielkości i kształtu podkładki (pokrycie około 50-80%). W razie wątpliwości używaj mniej. W przypadku pinów, które są blisko siebie, jak wspomniany wcześniej pakiet LVC125A TSSOP, nakładasz bardzo cienki pasek na wszystkie pady, zamiast próbować nakładać oddzielne dotknięcie na każdy z tych bardzo wąskich padów. Kiedy lut się stopi, maska lutownicza spowoduje migrację lutowia do podkładki, podobnie jak woda nie przykleja się do tłustej powierzchni. Lut zostanie zgrubiony lub przesunie się do obszaru z odsłoniętą podkładką.

Używam pasty lutowniczej o niskiej temperaturze topnienia (temperatura topnienia 137C) Drugie zdjęcie to płytka v1.3 i rodzaj pasty lutowniczej jakiej używam.

Krok 5: Umieść części SMD

Umieść części SMD
Umieść części SMD

Umieść części SMD. Robię to od lewego górnego rogu do prawego dolnego rogu, chociaż nie ma to większego znaczenia, poza tym, że jest mniej prawdopodobne, że przegapisz część. Części są umieszczane za pomocą pęsety do elektroniki. Wolę pęsety z zakrzywionym końcem. Podnieś część, w razie potrzeby obróć blok montażowy, a następnie umieść część. Lekko stuknij każdą część, aby upewnić się, że leży płasko na desce. Podczas umieszczania części używam dwóch rąk, aby pomóc w precyzyjnym umieszczeniu. Umieszczając kwadratowy mcu, podnieś go po przekątnej z przeciwległych rogów.

Sprawdź płytkę, aby upewnić się, że wszystkie spolaryzowane kondensatory są we właściwej pozycji, a wszystkie układy są prawidłowo zorientowane.

Krok 6: Czas na pistolet na gorące powietrze

Czas na pistolet na gorące powietrze
Czas na pistolet na gorące powietrze

Używam pasty lutowniczej niskotemperaturowej. W moim modelu pistoletu mam ustawioną temperaturę na 275C, przepływ powietrza na 7. Trzymaj pistolet prostopadle do deski około 4cm nad deską. Lut wokół pierwszych części zaczyna się topić dopiero po chwili. Nie daj się skusić na przyspieszenie, przesuwając broń blisko planszy. Zwykle powoduje to rozdmuchiwanie części. Po stopieniu się lutowia przejdź do następnej zachodzącej na siebie części płyty. Pracuj na swój sposób na całej planszy.

Używam pistoletu na gorące powietrze YAOGONG 858D SMD. (W Amazon za mniej niż 40 USD.) Opakowanie zawiera 3 dysze. Używam największej (8mm) dyszy. Ten model/styl jest produkowany lub sprzedawany przez kilku dostawców. Widziałem oceny w całym miejscu. Ten pistolet działał dla mnie bezbłędnie.

Krok 7: Wzmocnij w razie potrzeby

Wzmocnij w razie potrzeby
Wzmocnij w razie potrzeby
Wzmocnij w razie potrzeby
Wzmocnij w razie potrzeby

Jeśli płytka ma montowane powierzchniowo złącze karty SD lub montowane powierzchniowo gniazdo audio itp., przylutuj dodatkowe przewody do podkładek służących do mocowania obudowy do płyty. Odkryłem, że sama pasta lutownicza nie jest na ogół wystarczająco mocna, aby niezawodnie zabezpieczyć te części.

Krok 8: Czyszczenie/usuwanie strumienia SMD

Czyszczenie/usuwanie topnika SMD
Czyszczenie/usuwanie topnika SMD
Czyszczenie/usuwanie topnika SMD
Czyszczenie/usuwanie topnika SMD

Pasta lutownicza, której używam, jest reklamowana jako „nie czysta”. Musisz wyczyścić płytkę, wygląda znacznie lepiej i usunie wszelkie małe kulki lutowia z płytki. Używając rękawic lateksowych, nitrylowych lub gumowych w dobrze wentylowanym miejscu, wlej niewielką ilość środka do usuwania topnika do małego naczynia ceramicznego lub ze stali nierdzewnej. Zamknąć ponownie butelkę do usuwania topnika. Używając sztywnej szczotki, zanurz pędzel w zmywaczu do topnika i wyszoruj obszar deski. Powtarzaj, aż całkowicie wyszorujesz powierzchnię deski. Do tego celu używam szczotki do czyszczenia pistoletu. Włosie jest sztywniejsze niż większość szczoteczek do zębów.

Krok 9: Umieść i przylutuj wszystkie części otworu koryta

Umieść i przylutuj wszystkie części otworów koryta
Umieść i przylutuj wszystkie części otworów koryta
Umieść i przylutuj wszystkie części otworów koryta
Umieść i przylutuj wszystkie części otworów koryta

Gdy środek do usuwania topnika wyparuje z płyty, umieść i przylutuj wszystkie części otworu koryta, od najniższej do najwyższej, pojedynczo.

Krok 10: Równo wycięte szpilki do otworów

Szpilki do przecinania otworów
Szpilki do przecinania otworów

Za pomocą szczypiec do cięcia płaskiego przytnij kołki przelotowe na spodniej stronie deski. Ułatwia to usuwanie pozostałości topnika.

Krok 11: Podgrzej przez kołki otworów po przycięciu

Podgrzewaj przez kołki otworów po przycięciu
Podgrzewaj przez kołki otworów po przycięciu

Aby uzyskać ładny wygląd, po przycięciu ponownie podgrzej lut na kołkach przelotowych. Usuwa to ślady po ścinaniu pozostawione przez frez do przepłukiwania.

Krok 12: Usuń strumień do otworów przelotowych

Usuń strumień do otworów przelotowych
Usuń strumień do otworów przelotowych

Używając tej samej metody czyszczenia, co poprzednio, wyczyść tył deski.

Krok 13: Zastosuj moc do tablicy

Zastosuj moc do tablicy
Zastosuj moc do tablicy

Podłącz zasilanie do płyty (6 do 12 V). Jeśli nic nie smaży, zmierz napięcie 5V, 3v3 i 12V. 5V i 3v3 można zmierzyć z dużej zakładki na dwóch chipach regulatora. 12V można zmierzyć od R3, koniec rezystora najbliżej płytki na dole po lewej stronie (gniazdo zasilania jest na górze po lewej).

Krok 14: Załaduj bootloader

Załaduj bootloader
Załaduj bootloader

Z menu Arduino IDE Tools wybierz tablicę i inne opcje dla docelowego mcu.

Na moich projektach płyt prawie zawsze mam złącze ICSP. Jeśli nie masz Arduino jako ISP lub innego programatora ICSP, możesz zbudować go na płytce prototypowej w celu pobrania bootloadera na płytkę programatora. Wybierz Arduino jako ISP z pozycji menu programisty, a następnie wybierz nagraj bootloader. Poza pobraniem bootloadera to też poprawnie ustawi bezpieczniki. Na zdjęciu tarcza po lewej to cel. Tablica po prawej to ISP.

Krok 15: Załaduj Multi Szkic

Załaduj Multi Szkic
Załaduj Multi Szkic
Załaduj Multi Szkic
Załaduj Multi Szkic
Załaduj Multi Szkic
Załaduj Multi Szkic

Postępuj zgodnie z instrukcjami w moim repozytorium GitHub dla AVRMultiSketch, aby załadować szkic multi do pamięci flash przez port szeregowy na płycie. Repozytorium GitHub AVRMultiSketch zawiera wszystkie szkice pokazane na zdjęciu. Nawet jeśli nie planujesz budować płytki, przydatne mogą być NOR Flash Hex Copier i szkice AVR High Voltage.

Krok 16: Gotowe

Gotowe
Gotowe
Gotowe
Gotowe
Gotowe
Gotowe
Gotowe
Gotowe

Zaprojektowałem również kilka płytek adapterów, gdy używam niezamontowanych chipów, na przykład podczas płytki stykowej.

- Adapter ATtiny85 ICSP. Służy do programowania autonomicznego ATtiny85.

- ATtiny84 do ATtiny85. Jest on używany zarówno do programowania wysokiego napięcia, jak i podłączony do adaptera ATtiny85 ICSP.

- Adapter NOR Flash.

Aby zobaczyć niektóre z moich innych projektów, odwiedź

Krok 17: Poprzednia wersja 1.3

Poprzednia wersja 1.3
Poprzednia wersja 1.3
Poprzednia wersja 1.3
Poprzednia wersja 1.3

Powyżej zdjęcia wersji 1.3. Wersja 1.3 nie posiada portu szeregowego USB, resetowalnych bezpieczników i wskaźników funkcji LED. Jeden wariant wersji 1.3 wykorzystuje ATmega644pa (lub 1284P)

Jeśli jesteś zainteresowany budowaniem wersji 1.3, wyślij mi wiadomość (zamiast dodawać komentarz).

Zalecana: