niedziela, 6 listopada 2016

How to measure capacity using oscilloscope ?

What we need:

- square wave generator (for example 100 Hz),
- resistor - 10kohm 1%, you must know precisely resistance
- oscilloscope



Measure schematic

voltage on the capacitor is equal to:


voltage on the resistor is equal to








Time charging or discharging the capacitor through the resistor is equal to:




 
T = RC

T - time when capacitor is charged to 63,2% of square wave amplitude [second]
R - resistance [ohm]
C - capacity  [farad]

When we know time (T) we can easy equal the capacity:

C = T / R


Before I start testing capacitor  I precisely measure resistance of resistor
Measure of resistor
 R = 9,9595 kohm

My testing board





 1 Measure voltage peak to peak of wave, in my case Vp-p = 5.16V
You must equal 63.2% of Vp-p,
Vm = Vp-p * 63.2%/100%
Vm = 3.26V

2 Now use cursors functionality in your oscilloscope and measure time between start rising curve and voltage measurement point (Vm = 3.26V in my case). 
T = 100 microsec (see delta X in the picture)
3 Equal the capacity:

C = T / R

C = 0.0000100 / 9959.5 = 0.000000001004 [F] = 10.04 [nF]

My measured capacitor have value 10 nF 1%

wtorek, 13 września 2016

AVR Components tester

Hi everyone, today I show you my next project " AVR Components tester". This project is based on original project from this site - http://www.mikrocontroller.net/articles/AVR_Transistortester.
Components tester have two possibility power source: either from battery 6f22 or from external power supply. I used zif socket for quick part measurement.
Components tester schematic

Tester in action
 
If you want pcb project please send me mail

Flash and EPROM for Atmega328p:
TransistorTester.hex
TransistorTester.eep
TransistorTester.elf

poniedziałek, 11 kwietnia 2016

Kalendarz Zmianowy

W ostatnim czasie dokonałem aktualizacji w moim programie, dodałem kilka nowych fiuczerów.


Cały projekt w Visualu jest do ściągnięcia z GitHub , ponieważ ostatnio mam jakieś problemy z SourceForge, nie mogę kasować starych plików z serwera.

Pliki i cały projekt można sobie wykorzystać w dowolny sposób udostępniam go jako OpenSource


Cały projekt w Visual Studio 2015:
Projekt Kalendarz Zmianowy
Skompilowany plik programu pod Windows:
Kalendarz Zmianowy

wtorek, 5 kwietnia 2016

Świat w podczerwieni

Z uwagi na fakt iż w ostatnim czasie miałem możliwość pobawić się kamerą termowizyjną przedstawiam kilka przykładowych fotek jakie udało mi się wykonać w domu.

Typ kamery:       Sonel KT-160
Rozdzielczość:   160 x 120 px
Temperatura:      -20 - 250 `C
Cena:                  ok. 15000 zł !!!



 Ciało kobiety ( żona :)) w podczerwieni


 Samsung Galaxy Note 3 - po kilku minutach wytężonej pracy



 Lenovo X201 - widoczne znaczne rozgrzanie lewej części laptopa (procesor i karta graficzna)
Pod warstwą fliz widoczne uzwojenia elektrycznego ogrzewania podłogowego

piątek, 19 lutego 2016

Mini wzmacniacz PC (USB_DAC)

Witam dzisiaj przedstawiam wam mój ostatni projekt z którym walczę już kilka miesięcy, jest to zintegrowany odbiorniki USB_SPDIF wzmacniacz słuchawkowy oraz wzmacniacz głośnikowy.

Projekt powstawał w całości od zera, począwszy od obudowy, która powstała z aluminiowej blachy docinanej na wymiar.

Wzmacniacz z założenia miał posiadać:
- odbiornik usb_spdif (zastosowano gotowy moduł)
-  odbiornik spdif (min. 4 wejścia w tym usb) - WM8805
- bardzo dobrej jakości przetwornik DAC - WM8742
- wzmacniacz słuchawkowy ( zastosowano układ na elementach dyskretnych o topologii diamentu) - na dzień dzisiejszy nie w pełni uruchomiony, problemy z dużą ilością harmonicznych !!!
- wzmacniacz głośnikowy (wstępnie zastosowano moduł wzmacniacza cyfrowego klasy-D, na układach Tripath, z uwagi na powstałą pętle masy która powstała zrezygnowano z tego modułu, zastosowano wzmacniacz na układach TDA2050)
- układ zabezpieczający kolumny przed stukami i napięciem stałym (układ UPC1237)
- zasilanie niesymetryczne (z uwagi na dostępny transformator z pojedynczym odczepem ok 20V)
- sterowanie całością za pomocą mikroprocesora ATmega328
- wyświetlanie informacji na standardowym wyświetlaczu alfanumerycznym 16x2 ze sterownikiem HD44780
- wprowadzanie komend za pomocą obrotowego enkodera z przyciskiem
- zabezpieczenie termiczne wzmacniacza z sygnalizacją na wyświetlaczu
- komunikacja z PC po UART
aktualizacja software po UART  (w przyszłości)


I Etap - Powstawanie obudowy i pasowanie gotowych modułów.





Transformator izolowany blachą aluminiową







 Pionowo zamocowana płytka to moduł USB_SPDIF, niebieska płytka to moduł wzmacniacza klasy D (wymieniony na wzmacniacz na układach TDA2050 w późniejszym etapie projektu)
Zamontowanie wyświetlacza
Przedni i tylni panel zaprojektowany w fantastycznym darmowym programie LibreCAD, który w zupełności zastępuje AutoCADa w takich pracach, polecam ten program.
Panel przedni wykonany będzie z anodowanego na czarno aluminium.

 II Etap - Projektowanie głównej płyty wzmacniacza
Cały projekt urządzenia powstał w Altiumie
  
Projekt podzielony jest na kilka modułów funkcjonalnych

  
Za sterowanie całością odpowiada Atmega328, sterowanie odbywa się głównie po szynie I2C. 
Wyświetlacz typu HD44780 również sterowany jest poprzez I2C, został zastosowany ekspander PCF... 
Z uwagi na różne poziomy napięć sterujący (procesor i lcd - 5v, odbiornik spdif i dac - 3.3v), zastosowano konwerter poziomów napięć na tranzystorach .... w postać gotowego modułu.

Pomiar temperatur z czujników D18S20 (2 szt.) odbywa się poprzez interfejs OneWire 
  
Układ zasilacza generuje cztery rodzaje napięć stałych: 
- 20v niestabilizowane do zasilania wzmacniacza głośnikowego, wzmacniacza słuchawkowego i układu zabezpieczenia głośników
- 5v stabilizowane do zasilania cyfrowej logiki: procesor, wyświetlacz
- 3.3v stabilizowane zasilanie cyfrowej logik: odbiornika spdif i części cyfrowej daca
- 5v  stabilizowane do zasilania analogowej części DACa oraz bufora

  
Układ odbiornika spdif, to klasyczny układ pochodzący z noty katalogowej WM8805. Jest to specjalizowany odbiornik spdif z własnym generatorem MCLK, rozwiązanie takie charakteryzuje się bardzo dobrym parametrem jitter. Układ posiada 8 wejść, w projekcie wykorzystuje 4. Maksymalna częstotliwość próbkowania to 192kHz oraz 24 bity.
 
Przetwornika DAC WM8742, układ pochodzący z noty katalogowej, sterowanie software`owe. Układ skonfigurowany jest tak by odbierał sygnał cyfrowy w formacie I2S,  o maksymalnych parametrach 192kHz oraz 24 bity. Bufor wykonany na elementach dyskretnych (para tranzystorów BC550). Na poniższym wykresie charakterystyka przenoszenia bufora.

Wzmacniacz słuchawkowy 
Ze wzmacniaczem mam na razie spore problemy, generuje zbyt dużo harmonicznych, prace nad jego usprawnieniem trwają.

  
Układ zabezpieczenia głośników przed podaniem napięcia stałego. Układ ten jest także odpowiedzialny za opóźnione załączanie głośników a także za szybkie odcięcie podczas wyłączania urządzenie.


Wzmacniacz głośnikowy klasyczny układ na TDA2050, wybrałem te układy ponieważ mogą pracować z zasilaniem niesymetrycznym oraz posiadają przystępne parametry.

Moduł wzmacniacza głośnikowego z przykręconym radiatorem



Wygląd zaprojektowanej płyty PCB
 
III Etap -Wykonanie obwodów drukowanych domową metodą (tzw. na żelazko) oraz montaż elementów




 Gotowa płytka przygotowana do trawienia z naniesionymi ewentualnymi poprawkami (toner nie dokładnie się przykleił do miedzi)
 Czas na trawienie (temperatura ok 50`C, kąpiel z bąbelkami w celu równomiernego trawienia)



Lutowanie układów SMD w obudowach SSOP wymaga znacznej precyzji - odstęp między nóżkami to 0,35 mm


Wstępne zamontowanie całości w obudowie 

Etap IV - Przygotowanie software`u

Oprogramowanie powstało w środowisku Atmel Studio 7.0, w całości zostało napisane w C, z minimalnymi wstawkami assemblera.
Wykorzystałem gotowe biblioteki interfejsów I2C oraz OneWire, oraz do obsługi wyświetlacza LCD po I2C, które nieznacznie  zmodyfikowałem dla swoich celów.
Sterowanie odbiornikiem Spdif, DAC`iem oraz enkoderem zostało napisane przezemnie.

 Cały projekt dostępny jest do pobrania na dole postu.

Z uwagi na brak zastosowanego w projekcie zewnętrznego rezonatora, układ pracuje na wewnętrznym generatorze RC z częstotliwością 8MHz. Wewnętrzny oscylator nie jest zbyt precyzyjnym rozwiązaniem, zastosowano software`wą kalibracje oscylatora, poprzez wpisanie odpowiednie wartości do rejestru OSCCAL (w moim przypadku jest to wartość 110), dzięki temu zabiegowi, niema problemów przy komunikacji poprzez asynchroniczny interfejs jakim jest UART, czy OneWire.

Zastosowany enkoder o wartości 4zł, stał się bardzo problematyczny w jego software`owej obsłudze. Z  przeprowadzonych doświadczeń ustaliłem iż dla takiego typu enkodera odczyt jego wartości odbywać się będzie co 2 ms. Funkcja związana z odczytem zawarta jest w przerwaniu z uwagi czas, który to ma istotne znaczenie.

Procesor zapamiętuje ustawienia konfiguracyjne w pamięci eeprom, w tej chwili w sposób manualny, poprzez odpowiednie menu, w przyszłości będzie się to odbywać automatycznie przed wyłączeniem urządzenia.


Sterowanie odbiornikiem Spdif  ...


Sterowanie DAC`iem ...

Pliki projektu : Klik


sobota, 6 lutego 2016

Generator DDS na AD9850

Witam dziś przedstawię shield do modułu generatora DDS opartego na układzie AD9850, moduł taki można bezproblemowo kupić na aukcjach internetowych.
Moduł ten ma możliwość generowania  sinusoidy i prostokąta od 1 Hz do 40 MHz.
Jeśli chodzi od generowanie prostokąta jego amplituda utrzymuje się w pełnym paśmie na poziomie ok 4.8V, niestety z generowaniem sinusoidy jest już znacznie gorzej, amplituda powyżej 1 MHz spada do około 1 V i ze wzrostem częstoliwości maleje do ok 0.5v powyżej 30 MHz.
Niemniej polecam wszystkim zbudowanie takiego generatora dla amatorskich zastosowań w zupełności wystarczy.

Inspiracją do powstania tego shielda był artykuł pochodzący ze strony poniżej (niestety po rosyjsku):
http://sxem.org/2-vse-stati/24-izmereniya/11-tsifrovoj-generator-ot-1hz-do-40-mnz

W przyszłości jak znajdę odrobinę czasu może uda mi się napisać własne oprogramowanie do sterowanie generatorem.

Projekt powstał na bazie Atmega8 oraz wyświetlacza 16x2 typu HD4480




Schemat shielda do modułu AD8850

PCB
Płytka została tak zaprojektowana by idealnie pasowała do plastikowej obudowy typu KM-35.
Projekt powstał  w Eaglu, pliki do pobrania poniżej.
Generator posiada dwa gniazda BNC, jeden do generacji sinusa drugie prostokąta.

Shield z zamontowanym modułem w obudowie


Zakłócenie widoczne na oscylogramach powstały na skutek zastosowania zasilacza impulsowego bardzo złej jakości. 
Tak więc należy zwrócić uwagę na jakość zastosowanego zasilacza.
Jak widać na powyższej fotografii jakość generowanej sinusoidy jest bardzo dobra (40 MHz), niestety amplituda to już tylko ok 400mv-pp (charakterystyczne szpilkowate zakłócenia spowodowane są ww. słabym zasilaczem).


Pliki do pobrania - pliki Eagle
Wsad do procka proszę pobrać ze strony autora : 
http://sxem.org/2-vse-stati/24-izmereniya/11-tsifrovoj-generator-ot-1hz-do-40-mnz