Artykuły

Na schemacie pokazano układ nieskomplikowanego miliomomierza zbudowanego z użyciem LM317 pracującego w konfiguracji źródła prądowego. Źródło dostarcza prąd o natężeniu 10 lub 100mA, zależnie od położenia przełącznika. Układ IC1 tak steruje prądem bazy T1, aby zapewnić stałość prądu wyjściowego. Kalibrację wykonuje się po włączaniu na zaciski Rx rezystora o znanej wartości rezystancji. czytaj więcej
Na rysunku pokazano schemat zmodyfikowanego zasilacza z układem LM317. Modyfikacja powoduje, że napięcie wyjściowe wolno narasta, zgodnie ze stałą czasową ładowania określoną przez R2+R3 i C2. Do momentu aż tranzystor T1 nie zostanie zatkany (a stanie się to, gdy potencjał bazy będzie większy lub równy potencjałowi emitera), napięcie na wyjściu LM317 ustalane jest przez dynamiczną, rosnącą rezystancję tranzystora. Po zatkaniu tranzystora napięcie ustalane jest w tradycyjny sposób, to jest z zależności pomiędzy R2 a R1. czytaj więcej
Wielu producentów układów scalonych służących do pomiaru napięcia sugeruje, aby na wejściu umieścić filtr dolnoprzepustowy zbudowany z rezystora 100kΩ i kondensatora 100nF. Jest to prosty układ i często nie ma wystarczającego tłumienia. Wówczas to należy zwiększyć wartość rezystancji i/lub pojemności tworzących filtr. W takim przypadku może się jednak okazać, że stała ładowania i rozładowania wręcz uniemożliwiają stabilny odczyt. czytaj więcej
Wiele interfejsów używających pętli prądowej akceptuje prąd o natężeniu w zakresie 0…20mA. W ten sposób projektowane są też układy driverów. Co jednak zrobić, jeśli nadajnik pętli nie ma ograniczenia prądowego? Ratunkiem może być prosty układ ogranicznika pokazany na rysunku niżej. Jeśli prąd wzrasta, to rośnie też spadek napięcia i negatywny potencjał UGS. Jeśli UGS ma wartość około -1V, to prąd płynący przez kanał tranzystora DN2540 jest ograniczany. Natężenie prądu ograniczenia jest zależne od tolerancji wykonania tranzystora oraz temperatury złącza. czytaj więcej
Na listingu zamieszczono programowy bufor FIFO dla mikrokontrolerów AVR. Napisano go w języku asembler, co pozwala na łatwe włączenie go do własnych programów. Bufor może mieć długość 16, 32, 64, 128 lub 256 bajtów. Ustala się ją przed kompilacją, zmieniając liczbę przy etykiecie L_FIFO. Rolę wskaźnika danych pełni rejestr Y. czytaj więcej
Zgodnie z zaleceniami EIA-232 napięcie logicznej jedynki interfejsu RS232 to przedział od -24...-3V, natomiast logiczne zero to +3...+24V. Napięcia leżące pomiędzy -3...+3V to przedział zabroniony. Większość współczesnych urządzeń embedded lub komputerów PC nie używa aż tak wysokich poziomów napięć. Zwykle używane jest +5 lub +12V jako logiczne 0 oraz -5 lub -12V jako logiczna 1. Często konstruktorzy odbiegają też od standardu w taki sposób, że dopuszczają napięcia leżące w przedziale zabronionym i traktują je tak, jak logiczną 1. czytaj więcej
Czasami budując system z mikrokontrolerem napotykamy problem: pojawia się konieczność dodania kilku klawiszy, ale brakuje dostępnych portów. W Tips&Tricks mozna znaleźć rozwiązanie polegające na zastosowaniu przetwornika A/C i rezystorów. Teraz prezentujemy inny pomysł, polegający na zastosowaniu sumy logicznej. Proponowane rozwiązanie pokazano na schemacie. W wypadku naciśnięcia dodatkowych klawiszy (zaopatrzonych w diody) poziom niski pojawi się jednocześnie na więcej niż jednej linii danych. czytaj więcej
Karty pamięci, niegdyś bardzo drogie, są teraz tanie i dostępne niemalże w każdym sklepie z akcesoriami do aparatów fotograficznych czy sprzętem AGD. Jednymi z nich są SmartMedia tj. karty pamięci wyposażone w interfejs równoległy. Jeśli sięgnąć do źródeł informacji, to okazuje się, że karty SmartMedia nie mają wbudowanego mikrokontrolera realizującego jakieś skomplikowane funkcje interfejsu. Tego rodzaju karty to nic innego, jak pamięci Flash wykonane w technologii NAND, dostępne w plastykowej obudowie przystosowanej do odpowiednich gniazd. czytaj więcej
Optymalizacja kodu jest procesem, którego celem jest zmiana kodu przy zachowaniu obliczanej funkcji, tak aby przyspieszyć działanie docelowego programu i/lub zmniejszyć jego wielkość. Zwróćmy uwagę, że optymalizacja jest raczej poprawianiem gotowego programu, ponieważ otrzymany kod rzadko jest optymalny. Należy pamiętać, że w optymalizacji powinno uwzględniać się wiele ogólnych warunków. Najważniejszy jest czas działania docelowego programu. Złożony program może pewne fragmenty wykonywać częściej - te powinny być lepiej zoptymalizowane. czytaj więcej
Z obliczaniem wypadkowej rezystancji dwóch oporników połączonych szeregowo nie ma kłopotów nikt, kto w miarę biegle potrafi dodawać liczby. Gorzej jest z obliczeniem wypadkowej rezystancji dwóch rezystorów połączonych równolegle, bo tu oprócz dodawania trzeba też wykonać operację dzielenia, a nawet mnożenia. Praktyka inżynierska pokazuje, że w większości przypadków nie jest potrzebna wielka precyzja obliczeń, bo najczęściej używane elementy mają tolerancję 10%. czytaj więcej