Spisu treści:

Programator ATTiny HV: 4 kroki
Programator ATTiny HV: 4 kroki

Wideo: Programator ATTiny HV: 4 kroki

Wideo: Programator ATTiny HV: 4 kroki
Wideo: Микроконтроллер ATtiny13 и язык Arduino. Подключение и прошивка. 2024, Lipiec
Anonim
Programator ATTiny HV
Programator ATTiny HV
Programator ATTiny HV
Programator ATTiny HV

Ta instrukcja jest przeznaczona dla narzędzia programistycznego ATTiny korzystającego z ESP8266 i interfejsu użytkownika opartego na przeglądarce. Jest to kontynuacja poprzedniego instruktażowego edytora Fuse do odczytu i ustawiania bezpieczników, ale teraz obsługuje kasowanie, odczytywanie i zapisywanie pamięci flash i EEPROM.

Obsługa bezpiecznika pozwala na dokonanie zmian w ustawieniach kontrolowanych przez 2 bajty fuse bajtów bardzo prostą czynnością.

Obsługa pamięci umożliwia tworzenie kopii zapasowych i przywracanie zawartości pamięci flash i EEPROM. Można również zapisać nową zawartość z plików szesnastkowych. Dzięki temu przywracanie lub pisanie nowych programów ładujących mikrojądrowe programy jest bardzo proste.

Urządzenie posiada następujące cechy.

  • Serwer WWW wspierający odczyt i zapis danych fuse oraz strona edytora dająca łatwy dostęp do opcji fuse
  • Wymazywanie chipa (potrzebne przed napisaniem nowego materiału)
  • Odczytywanie i zapisywanie danych programu Flash z plików hex
  • Odczytywanie i zapisywanie danych EEPROM z plików hex
  • Obsługa wariantów ATTiny 25, 45 i 85
  • Zasilany przez USB z wewnętrznym generatorem 12V do programowania wysokiego napięcia
  • Konfiguracja sieci Wi-Fi za pomocą punktu dostępu wifiManager Dostęp przeglądarki do systemu plików ESP8266 SPIFFS w celu przesyłania i pobierania plików
  • Aktualizacja OTA oprogramowania układowego ESP8266

Krok 1: Komponenty i narzędzia

składniki

  • Moduł ESP-12F
  • Moduł doładowania 5V do 12V
  • gniazdo micro USB ze złączem do lutowania
  • Kondensator tantalowy 220uF
  • xc6203 3.3V regulator LDO
  • Tranzystory MOSFET 3x n kanał AO3400 1 x p-kanałowy AO3401
  • Rezystory 2 x 4k7 1x 100k 1x 1K 1x470R 1x 1R27
  • blok nagłówka pinów
  • Mały kawałek płytki stykowej do obwodów pomocniczych
  • podłączyć wireEnclosure (użyłem pudełka wydrukowanego w 3D na

Narzędzia

  • Lutownica punktowa
  • Pinceta
  • Nożyce do drutu

Krok 2: Elektronika

Elektronika
Elektronika

Schemat pokazuje, że cała moc pochodzi z połączenia USB 5V. Regulator dostarcza 3,3V do modułu ESP-12F. Mały moduł doładowania wytwarza napięcie 12V potrzebne do programowania wysokiego napięcia.

ESP GPIO daje 4 sygnały logiczne używane w programowaniu wysokonapięciowym (zegar, wejście danych, wyjście danych i wejście polecenia).

Jedno GPIO służy do włączania i wyłączania tranzystora MOSFET zasilanego z szyny 12V przez rezystor 1K. Gdy GPIO jest w stanie wysokim, tMOSFET jest włączony, a jego odpływ jest na poziomie 0V. Gdy GPIO jest ustawione na niskie, dren wzrasta do 12V potrzebnego do ustawienia trybu programowania wysokiego napięcia. Drugie GPIO może być użyte do obniżenia wysokiego napięcia 12V do 4V, aby mogło być używane jako konwencjonalny sygnał resetowania. Ta funkcja jest obecnie nieużywana, ale może być używana do obsługi programowania SPI zamiast programowania wysokiego napięcia.

Jedno GPIO służy do włączania i wyłączania 2-stopniowego sterownika MOSFET do zasilania 5V ATTiny. Ten układ służy do spełnienia specyfikacji, że po włączeniu 5 V ma szybki czas narastania. Nie jest to spełnione, napędzając zasilanie bezpośrednio z GPIO, szczególnie w przypadku kondensatora odsprzęgającego 4u7 obecnego w większości modułów ATTiny. Rezystor o niskiej wartości służy do tłumienia skoku prądu spowodowanego szybkim włączeniem tranzystorów MOSFET. Może nie być potrzebny, ale jest używany tutaj, aby uniknąć usterek, które mogą być spowodowane przez ten skok włączania.

Zauważ, że schemat różni się trochę od poprzedniej wersji edytora fuse. Piny GPIO są ponownie przypisane, aby umożliwić programowanie SPI, chociaż oprogramowanie w tej chwili tego nie używa. Piny odczytujące sygnały z ATTiny mają dodatkowe zabezpieczenie dla używanych sygnałów 5V.

Krok 3: Montaż

montaż
montaż
montaż
montaż

Zdjęcie przedstawia elementy zmontowane w małej obudowie. Mała płytka stykowa znajduje się na górze modułu ESP-12F i zawiera regulator 3,3 V oraz 2 obwody napędu napięcia.

Moduł doładowania 12 V znajduje się po lewej stronie, pobierając moc wejściową z USB. Obudowa posiada gniazdo na 7-pinową listwę, aby umożliwić podłączenie do ATTiny. Po okablowaniu i przetestowaniu USB i blok nagłówkowy są mocowane do obudowy za pomocą kleju żywicznego.

Etykieta może być wydrukowana z obrazu, aby przykleić się do pudełka, aby pomóc w podłączeniu sygnałów.

Krok 4: Oprogramowanie i instalacja

Oprogramowanie dla programatora znajduje się w szkicu Arduino ATTinyHVProgrammer.ino dostępnym pod adresem

Wykorzystuje bibliotekę zawierającą podstawowe funkcje internetowe, obsługę konfiguracji Wi-Fi, aktualizacje OTA i dostęp do systemu plików w przeglądarce. Jest to dostępne na

Konfiguracja oprogramowania znajduje się w pliku nagłówkowym BaseConfig.h. 2 elementy, które należy tutaj zmienić, to hasła do punktu dostępu do konfiguracji Wi-Fi i hasło do aktualizacji OTA.

Skompiluj i prześlij do ESP8266 z Arduino IDE. Konfiguracja IDE powinna umożliwiać partycję SPIFFS, np. użycie 2M/2M pozwoli na OTA i duży system plików. Dalsze aktualizacje można następnie wykonać za pomocą OTA

Przy pierwszym uruchomieniu moduł nie będzie wiedział, jak połączyć się z lokalnym Wi-Fi, więc skonfiguruje konfigurację sieci AP. Użyj telefonu lub tabletu, aby połączyć się z tą siecią, a następnie przejdź do 192.168.4.1. Pojawi się ekran konfiguracji Wi-Fi i należy wybrać odpowiednią sieć i wprowadzić jej hasło. Od teraz moduł uruchomi się ponownie i połączy się za pomocą tego hasła. Jeśli przenosisz się do innej sieci lub zmieniasz hasło sieciowe, AP zostanie ponownie aktywowany, więc postępuj zgodnie z tą samą procedurą. Przy wejściu do głównego oprogramowania po podłączeniu do wifi wgraj pliki w folderze danych przeglądając moduły ip/upload. Pozwala to na przesłanie pliku. Po przesłaniu wszystkich plików można uzyskać dalszy dostęp do systemu plików za pomocą ip/edit. Jeśli uzyskano dostęp do ip/, używany jest index.htm i wyświetla główny ekran programatora. Pozwala to na przeglądanie, edycję i zapisywanie danych bezpieczników, skasowanie układu scalonego oraz odczytywanie i zapisywanie pamięci flash i EEPROM.

W tym celu wykorzystuje się wiele połączeń internetowych

  • ip/readFuses pobiera aktualne dane bezpieczników
  • ip/writeFuses zapisuje nowe dane bezpiecznika
  • ip/erasechip.wymazuje chip
  • ip/dataOp obsługuje funkcje pamięci odczytu i zapisu, dostarcza następujące parametry

    • dataOp (0=odczyt, 1=zapis)
    • dataFile (nazwa pliku szesnastkowego)
    • eeprom (0= Flash, 1 = eeprom)
    • wersja (0=25, 1=45, 2=85)

dodatkowo przed kompilacją można zdefiniować w szkicu parametr AP_AUTHID. Jeśli jest zdefiniowany, należy go wprowadzić na stronie internetowej, aby umożliwić operacje.

ip/edit daje dostęp do plików; ip/firmware daje dostęp do aktualizacji OTA.

Format pliku szesnastkowego to rekordy w stylu intel kompatybilne z tymi produkowanymi przez Arduino IDE. Jeśli rekord adresu początkowego jest obecny, spowoduje to wstawienie instrukcji RJMP w lokalizacji 0. Umożliwia to zaprogramowanie plików programu ładującego mikrojądrowego w wymazanym układzie i działanie. Dla wygody można również czytać i używać zwykłe pliki Hex składające się z 4-znakowego adresu szesnastkowego, po którym następuje 16 bajtów danych szesnastkowych.

Zalecana: