Witam.
Buduję urządzenie, które ustala moc na wyjściu ze względu na temperaturę.
Termometr to DS18B20, a regulator mocy to układ na triaku BT136 + wyświetlacz temperatury.
Wszystko działa na uC Atmega32 z kwarcem 16Mhz.
Oba układy(regulator i termometr) osobno działają bez zastrzeżeń. Problem zaczyna się, gdy chcę uruchomić je równolegle. W momencie wywołania funkcji:
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
oraz
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
na wyjściu moc krótkotrwale, ale zauważalnie spada(żarówka przygasa i zaraz się rozjaśnia). Sposób podłączenia i kod w całości zaczerpnięty z książki tego wydawnictwa(tej niebieskiej). Oczywiście nie czekam na pomiar delay_ms(750) tylko zastosowałem timer.
Chcę wyeliminować migotanie podczas równoległej pracy. Przeglądałem bibliotekę 1wire i nie sądzę, żeby delay_us(400) miało aż taki wpływ na regulator o parametrach: liczba kroków: 200, czas trwania szpilki 1.5.
Bardzo proszę o pomoc.