Różności
Przetwornica UCC3941
Opis układu
Proponowany schemat
Routing
Schemat montażowy
Prosty program obliczający wartości rezystorów i efektywność
Prosty przedwzmacniacz mikrofonowy
Prosty przedwzmacniacz wykorzystywany do podłączenia mikrofonu do komputera osobistego. Ze względu na
to, że masa sygnałowa karty dźwiękowej PC i masa zasilacza mogą znajdować się na różnych potencjałach
zasilanie przedwzmacniacza z zasilacza PC jest niewskazane - odpowiedni jest dodatkowy, niewielki zasilacz stabilizowany
lub zasilanie bateryjne.
Schemat elektryczny
Schemat montażowy
Routing
Prosty wzmacniacz słuchawkowy
Wzmacniacz słuchawkowy używany dawniej jako bufor pomiędzy słabym wzmacniaczem wyjściowym karty dźwiękowej (b. osłabione tony niskie przy obciążeniu) a słuchawkami 16-omowymi. Zasilanie: 7..12V (uwaga na napięcia pracy kondensatorów elektrolitycznych). Użyty został wzmacniacz operacyjny typu TL082, można wstawić jeden z wielu odpowiedników. Uzyskiwane parametry nie zostały zdefiniowane, układ spełniał swoją rolę w sposób zadowalający, nie należy jednak spodziewać się lepszych parametrów niż z wzmacniaczy nowszych kart dźwiękowych, dostosowanych do obciążenia niskoimpedancyjnego.
Konwerter RS232 <-> TTL
Konwerter między interfejsem RS232 a urządzeniem (mikrokontrolerem) pracującym z poziomami TTL z czasów gdy MAX232 kosztował tyle co dwa dobre piwa. Układ nie spełnia wymagań odnośnie poziomów napięć dla RS232, jednak zdecydowana większość (wszystkie?) tego typu porty w PC działają poprawnie przy napięciach wejściowych 0/5V. Kilka elementów bez problemu zmieścić można w obudowie wtyku DB9F, ich typy i wartości nie są krytyczne. Nie jest wskazane używanie z dużymi prędkościami transmisji - mogą pojawiać się przekłamania, jednak przy prędkości 9600bps i kilkumetrowym przewodzie (dodatkowy interfejs do debugowania) nie zauważyłem żadnych problemów.
Detektor wysokiego napięcia
Prosty bezkontaktowy detektor wysokiego napięcia użyteczny do szukania przewodów pod tynkiem lub szukania
uszkodzonego fragmentu przewodu zasilającego. "Antenę" stanowi zaizolowany rurką termokurczliwą wkręt M3.
Zobacz także: uproszczony układ detektora
STK200/STK300 i długie przewody
W przypadku korzystania z programatora STK200/300 z długim przewodem pomiędzy buforem 74HC244 a układem docelowym natrafić można na problem objawiający się sporadycznym lub ciągłym niepoprawnym rozpoznawaniem układu programowanego, błędnym zaprogramowaniem (błędy weryfikacji) lub nagłym przerywaniem cyklu programowania (urządzenie "startuje" pomimo tego, że nie cała zawartość pliku binarnego została jeszcze wysłana. Przyczyną błędów jest dzwonienie na linii SCK. Dzwonienie na liniach MISO i MOSI nie jest tak istotne z tego względu, że stan tych linii jest ustalany przed zboczem sygnału SCK i oscylacje są już częściowo wygaszone. Rozwiązaniem jest filtracja napięcia na linii SCK, najlepiej tuż przy wtyczce ISP lub na samym układzie programowanym. W moim przypadku, przy przewodzie o długości ok. 2,5m wystarczające okazało się dołączenie przy wtyczce IDC10 kondensatora 470p. Inne wskazane modyfikacje programatora znaleźć można na forum avrfreaks.net.
Prosty programator PIC
Programator mikrokontrolerów PIC znany jako COM84. Znaleźć można również podobny schemat ze stabilizatorem 78L05 dostarczającym napięcie zasilające do programowanego mikrokontrolera, jednak z moich doświadczeń wydajność prądowa portu szeregowego bywa zbyt niska (przynajmniej przy programowaniu PIC18F2550/4550). Programator obsługiwany jest m.in. przez WinPic800 oraz PICPgm (jest wykrywany jako JDM). Programator może nie działać z "nowoczesnymi"/laptopowymi portami szeregowymi ze względu na to, że nie dostarczają one napięcia wystarczającego do wprowadzenia mikrokontrolera w stan programowania wysokonapięciowego (np. dla PIC18F2550 nominalnie 9.0 - 13.25 V).
STLink GDB server
stlink_20210829.zip - built 2021.08.29 from current sources from https://github.com/stlink-org/stlink with VS 2017 as current release version does not support STM32G4 and I also couldn't find working OpenOCD for Windows working with STM32G491. Tested with EmBitz.
STM32F0DISCOVERY I2S -> analog/DAC
STM32 Nucleo QSPI Flash mini PCB
STM32 SSD1306 test
Serwisowy ogranicznik prądowy używający żarówki
USBasp PCB
Schemat jednostronnej płytki drukowanej dla programatora
USBasp.
Uwaga: Przy problemach z połączeniem USB warto sprawdzić, czy układ nie zadziała na porcie
znajdującym się na płycie głównej (miałem taki problem - działał niestabilnie przy podłączeniu
do złącza USB na przednim panelu obudowy komputera stacjonarnego). Wskazane jest też
(jak wskazują doświadczenia zwłaszcza przy laptopach) korzystanie z nowszej wersji
schematu, z diodami Zenera przy złączu USB.
Krótka instrukcja obsługi
Schemat elektryczny
Routing (lustrzane odbicie)
Schemat montażowy (w większości elementy
przewlekane, po stronie druku 4 kondensatory 0805)
Routing w formacie postscript/.eps
Nowsza wersja z dodatkowymi diodami Zenera
2006.03.17: avrdude-gui (754kB zip) z dodaną opcją usbasp (źródło v0.2.0
+ binaria, dev-c++ 4.9.9.2-wx-beta-6.8).
2006.04.06 WinAVR "Szablon" projektu WinAVR.
2006.12.21 Drobne zmiany avrdude-gui, avrdude-gui_v0.2.1.zip (652kB):
- poprawiony format polecenia dla ustawiania fusebits (0xAB:m),
- "-F Verify the device signature" zmienione na "Override signature check"
- zmiana komponentu wyświetlającego strumień wyjściowy konsoli z wxlistctrl na memo: automatyczny scroll, bez przycinania długich linii, możliwośc selekcji tekstu myszą,
- usunięty checkbox "terminal mode",
- zagęszczone ułożenie komponentów w oknie,
- listy rozwijalne formatów plików - zablokowana możliwość ręcznej edycji
- zmiana częsci czcionek na courier (użyteczne np. z opcją verbose avrdude),
- zmiana "wyjścia" dla odczytywanych fusebits z "con" na "[fusename].dat"; wyprowadzanie wartości na konsolę nie dawało żadnego efektu.
2006.01.03 Po problemach z usbasp.2006-09-16.tar.gz + avrdude 5.2 ostatnia wersja usbasp.2006-12-29.tar.gz
with avrdude 5.3.1 wydaje się działać bez zastrzeżeń. Załączyłem avrdude 5.3.1
skompilowany dla win32 (Cygwin).
Uwaga: Makro HAVE_LIBHID jest wyłączone, może to oznaczać problem z obsługą programatora AVR-Doper.
Uwaga 2: Wymagana biblioteka cygusb0.dll = libusb0.dll lub libusb.dll,
wystarcza zmiana nazwy pliku i umieszczenie go w katalogu avrdude lub (lepiej ze względu na
zmniejszenie ryzyka różnicy wersji między biblioteką dll a sterownikiem) katalogu systemowym.
2007.06.22 Dodany Avrdude 5.4 win32/cygwin (zip 86kB), skompilowany z domyślnymi opcjami. Jeżeli zamierzasz skompilować tę wersję samodzielnie, uaktualnij pakiet libusb cygwina do wersji 0.1.12.1 (avrdude bug #19889).
2007.12.15 Dodany Avrdude 5.5 win32/cygwin (zip 558kB) i (na wszelki wypadek) cygusb0.dll.
2009.03.18 Dodany Avrdude 5.6 win32/cygwin (zip 528kB). Uwaga: jeżeli avrdude wyświetla komunikat, że nie znaleziono urządzenia VID = 0x16C0, PID = 0x05DC ale usbasp jest widoczny w menedżerze urządzeń i posiada zgodne VID/PID zaktualizuj sterownik do wersji 0.1.12.1. Wewnątrz archiwum usbasp.2009-02-28.tar.gz znajduje się ten sterownik oraz wersja starsza.
2009.05.10 Dodany plik avrdude_5_6_r815.7z (7-zip 316kB) - avrdude 5.6 z
nałożoną łatą z Revision 815.
W połączeniu z firmware usbasp 2009-02-28 wersja ta umożliwia sterowanie prędkością SPI przy programowaniu przez
opcję -B spi_delay. Wartości prędkości programowania są skwantowane,
avrdude ustala okres SPI na wartość bliską spi_delay
wyrażonemu w us.
Wprowadzając drobną zmianę w standardowym makefile avr-gcc pozwala to programować "świeże" mikrokontrolery
z fabrycznym taktowaniem RC 1MHz z dużą szybkością bez manipulowania zworką SCK:
AVRDUDE_FLAGS = -p $(MCU) -P $(AVRDUDE_PORT) -c $(AVRDUDE_PROGRAMMER) AVRDUDE_FLAGS += $(AVRDUDE_VERBOSE) AVRDUDE_FLAGS += $(AVRDUDE_ERASE_COUNTER) # added: AVRDUDE_SCK_FLAGS = -B 5 ... # Program the device. program: $(TARGET).hex $(TARGET).eep # Set LFUSE, HFUSE to switch to fast MCU clock, # i.e. crystal (low SPI frequency is used) $(AVRDUDE) $(AVRDUDE_FLAGS) $(AVRDUDE_SCK_FLAGS) \ $(AVRDUDE_WRITE_HFUSE) $(AVRDUDE_WRITE_LFUSE) # Program MCU using fast SPI clock $(AVRDUDE) $(AVRDUDE_FLAGS) $(AVRDUDE_WRITE_FLASH) $(AVRDUDE_WRITE_LOCK)
2009.08.17 Dodany Avrdude 5.8 win32/cygwin (zip 250kB, usunięte symbole debuggera - mniejszy plik wykonywalny, pliki giveio i .conf zawarte w archiwum, wymagana biblioteka cygusb0.dll w wersji 0.1.12.1).
2010.04.11 Dodany Avrdude 5.10 win32/cygwin (zip 263kB, usunięte symbole debuggera - mniejszy plik wykonywalny, pliki giveio i .conf zawarte w archiwum, wymagana biblioteka cygusb0.dll w wersji 0.1.12.1).
* New devices supported: - AVR32A0512 (JTAGMKII only) - ATmega32U4 - ATtiny4 - ATtiny5 - ATtiny9 - ATtiny10 * New programmers supported: - BusPirate - Arduino - JTAGICEmkII and AVR Dragon in PDI mode (ATxmega devices) - STK600 and AVRISP mkII in TPI mode (ATtiny4/5/9/10) * Bugfixes - see ChangeLog and ChangeLog-2009 for details
2011.03.23 Dodany opis kompilacji avrdude / MinGW+MSYS. Na tej stronie znajdują się również linki do nowszych wersji avrdude.