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. scheme of headphone amplifier

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. rs to ttl scheme

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.
Non-contact high voltage detector scheme
Homemade non-contact high voltage detector
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. STK200/300 poprawka

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). PIC programmer scheme

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

projects/I2S_test/

STM32 Nucleo QSPI Flash mini PCB

projects/stm32_qspi_flash/

STM32 SSD1306 test

projects/stm32_ssd1306/

Serwisowy ogranicznik prądowy używający żarówki

projects/current limiter/

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):

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.

USBasp1.jpg USBasp2.jpg