Generator krótkich impulsów zadanej częstotliwości

Niniejszy generator pozwala na wytwarzanie impulsów o szerokości od 0,1 do 0,8 ms i od 1 do 8 ms przy częstotliwościach od 1 do 256 Hz. Amplituda i prąd impulsu określane są przez parametry tranzystora kluczującego. W opisanej niżej realizacji zastosowano tranzystor IRFD123; maksymalne natężenie prądu ograniczono za pomocą rezystora 220 Ω, które przy napięciu zasilającym 9 V w momencie zwarcia nie przekroczy 40 mA. Szerokość impulsu i częstotliwość kodowane są w postaci liczb dwójkowych przy pomocy mikroprzełączników, ustawienia załadowywane są podczas restartu i jakiekolwiek późniejsze zmiany stanu mikroprzełączników nie mają żadnego wpływu na parametry sygnału.

Niedoskonałością opisywanego układu jest to, że w przypadku awarii mikrokontrolera albo w momencie restartu tranzystor pozostaje cały czas otwarty, dlatego nie zaleca się przeprowadzania zmian parametrów impulsu drogą restartu, a jedynie poprzez wyłączenie i ponowne włączenie zasilania kontrolera.

W układzie wykorzystano mikrokontroler AT89C2051, ale równie dobrze można zastosować dowolny inny mikrokontroler typu x51. Opóźnienia i częstotliwości impulsów zmierzono dla rezonatora kwarcowego 24 MHz. Możliwe jest zastosowanie rezonatora o częstotliwości 12 MHz, ale wówczas długość impulsu i jego okres zwiększają się dwukrotnie (natomiast częstotliwość impulsu jest odpowiednio dwukrotnie niższa).

Częstotliwość powtarzania się impulsów określa się za pomocą mikroprzełączników w porcie P1. Wyłączony mikroprzełącznik odpowiada wartości 1, natomiast włączony - 0. Wartość 0 wysłana do portu P1 odpowiada częstotliwości 1 Hz, a wartość 255 - częstotliwości 256 Hz. Odpowiednią liczbę dwójkową można wyznaczyć albo przekształacając liczbę dziesiętną na zapis binarny przy użyciu kalkulatora posiadającego takie możliwości, albo sumując wartości odpowiadające włączanym bitom:

Bit Wartość
7 128
6 64
5 32
4 16
3 8
2 4
1 2
0 1

Na przykład dla częstotliwości 70 Hz należy ustawić wartość 69: 69 = 64 + 4 + 1, tzn. należy nadać wartość 1 bitom o numerach 6 (26 = 64), 2 (22 = 4) oraz 0 (20 = 1).

Szerokość impulsów ustala się w podobny sposób przy pomocy bitów 2-4 portu P3 (wartości od 0 do 7), co odpowiada szerokości od 1 do 8 ms lub od 0,1 do 0,8 ms w zależności od wartości bitu 0 portu P3 (1 lub 0 odpowiednio - ustawienie bitu skutkuje dziesięciokrotnym zwiększeniem szerokości impulsu).

Schemat urządzenia

Widok z zewnątrz

Widok od spodu

Oscylogramy odpowiadające 256 Hz/8 ms, 256 Hz/0.8 ms i 256 Hz/0.8 ms na wyjściu tranzystora


Ściągnąć firmware


Podobne projekty: http://www.ullasmann.eu/

Ostatnia aktualizacja: 2013-04-28 14:18:56 EEST