По хорошему надо дать ПИКу определять переход через 0, и тогда уже можно как-то более-менее удовлетворительно реализовывать управление нагревом фена, допустим 2 перехода греем 2 вырубаемся... Но, с учетом того что места в контроллере нет, поскольку под ШИМ паяльника я выгрызал память из инициализации регистров
Идея с диодом, на сколько помню, заключалась в питания фена половиной сетевого напряжения, нагревается медленнее, но вроде как работает нормально... точнее сказать не могу, не помню где видел... Короче над феном подумаю...
При остывании тоже думал сделать обороты фена на максимум, просто забывал все время)))
Задержку для АЦП можно увеличить чуток, на по моим расчетам достаточно того что есть... Но попробовать можно )
Код: Выделить всё
unsigned int ADC_Get(unsigned char cfg) {
unsigned int res;
ADCON0 = cfg;
delay_s(1);
ADON=1;
delay_s(1);
GO_DONE=1;
while(GO_DONE);
ADON=0;
res=ADRESH;
res<<=8;
res+=ADRESL;
return res;
}Нагрев паяльника поправлю.
rus95, кажется я про Вас забыл