Witam,
Piszę do was bo mam całkiem poważny problem, a mianowicie- jestem świeżo po wykonaniu swojej pierwszej płytki PCB, teraz przyszła pora na napisanie pod nią oprogramowania. I tak jak z poprzednim zadaniem jakoś sobie poradziłam, tak teraz zaczynają się "schody", ponieważ dopiero zapoznaje się z językiem C

Mój projekt zakłada sterowanie grzałką polimeryzatora, a mianowicie coś podobnego do tego [1]. Ponieważ jest to projekt, w którego założeniu było korzystanie z prądu stałego do 12V, więc sterowanie grzałką (12W) ma odbywać się za pomocą tranzystora (schemat zamieszczam poniżej).
Temperatura sczytywana jest przez przetwornik MCP9700 podłączony pod pin z ADC (korzysta on z wzoru VOUT= TC* TA +V0°C, gdzie V0C = 0,51V). Pojawiła mi się pewna wątpliwość czy warto stosować PWM do sterowania tranzystorem, czy może obejdzie się bez tego (temperatura grzałki zależy od napięcia, czy napięcie wpływa tylko na czas nagrzewania się grzałki do ustalonej temperatury)?
Algorytmicznie program przedstawia się tak:
jeśli odczyt z ADC <= 1,13 V bramka jest otwarta (przez grzałke płynie prąd). Gdy ADC (1130;1150> grzałka utrzymuje stałą temperature (zamykanie i otwieranie tranzystora- kwestia jak uzależnić częstotliwość cyklu w zależności od ADC) przez 1min (delay?)-> po upływie tranzystor zamknięty (prąd płynie przez grzałke) aż do ADC = 1430-> jeśli ADC=(1430;1450) tranzystor otwiera się i zamyka przez 1min utrzymując stałą temperature.
Z ustawieniem rejestrów sobie poradze, czytałam, że na grzałce nie może zmieniać się stan ze zbyt dużą częstotliwością, (dlatego preskaler winien być jak największy w przypadku PWM?). Największym problemem jest uzależnienie działania tranzystora od odczytu ADC, nie wiem czy to jest zadanie dla przerwań, czy wystarczą pętle warunkowe?)
Tutaj wklejam o co mi mniej więcej chodzi, i to co wydaje mi sie ze wiem to wpisałam
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Pozdrawiam i licze na porady

(1)
https://lh5.googleusercontent.com/-u236TEbp3rs/UfeBTBn1p7I/AAAAAAAAHf4/MxHRtPMQEbc/s483/Przebieg%2520temp..jpg?gl=PL(2)
Kody umieszczamy przy pomocy syntax=c - Różowy J.
Dziwny sposób pisania postu 