Моя паяльная станция

pter
Offline
Зарегистрирован: 15.02.2016

Здравствуйте,saloed111 можете выложить скетч и схему все равно автор давно не заходит в тему.

Maverik
Offline
Зарегистрирован: 12.09.2012

друзья, кто добавлял в эту схему снабберную сборку, подскажите номиналы резисторов и кондера ?

OlegK
OlegK аватар
Offline
Зарегистрирован: 26.11.2014

30-100 Ом, 0.01-0.1 мкф. В даташитах чаще фигурирует 39 ом и 0.01 мкф...

saloed111
Offline
Зарегистрирован: 07.04.2016

Вот, кому может надо,  доделанный под геркон и защиту на реле скетч и моя схема https://yadi.sk/d/VykLiU5Frjqcd

Maverik
Offline
Зарегистрирован: 12.09.2012

Переделал плату, сделал по версии  https://www.drive2.ru/b/2635779/   Valdr, только под smd элементы 1206 , расстояние между дорожками чуть побольше и пятачки под программатор.  На плату 5x7 не помещается, зато паять одно удовольствие. 

Увы, не завелась, зараза.  Куда копать не пойму.

Напряжения +12 в, +5 в в порядке.    Подключал только фен (паяльник пока еще ползет почтой России).  Все потенциометры работают и отображаются корректно. Кулер фена работает правильно. Термопара фена НЕ работает - на экране изменяется только установленная температура и обороты,  фактическая температура - всё время 0.  Светодиоды не горят.  Напряжения на LM358

1 = 3.67 В,  2 = 0.13 В,  3 = 0.2 ... 0.44 В (плавает),  4 = 0 В (земля),  5, 6 = 0 В,  7 = - 0.2 В, 8 = 4.98 В.

Подскажите ,в какую сторону копать )  Возможно навернулась термопара фена.  Звонится правильно, но напряжение на ней не вижу, какие-то доли милливольта.  Как её можно проверить ? Но светодиоды то должны гореть.  И еще почему-то 7805 сильно греется, на версии платы от Oleg он был чуть теплый.

 

saloed111
Offline
Зарегистрирован: 07.04.2016

Выводы с термопары менял местами? Она имеет полярность, при неправильном подключении не работает...

И еще не пойму, судя по твоему описанию напряжений у тебя нормальное напряжение на выходе усилителя ( вывод 1 LM358), которое должен захватывать контроллер, при этом контроллер не выводит ни какую текущую температуру на дисплей???

Еще нашел,  на печатке, с первого вывода LM 358 у тебя сигнал идет не на микросхему, а какому то выводу, для чего??? Я так понял, печатка разведена универсально, для термопар и терморезисторов.

Maverik
Offline
Зарегистрирован: 12.09.2012

Выводы с термопары менял местами? Она имеет полярность, при неправильном подключении не работает...

Естественно менял.  Даже разобрал еще раз фен, прозвонил выводы от подключения к плате до самого термофена - всё звонится ок.  

между выводами сопротивление около 2 Ом.   но диоды на плате не горят, причем ни один ни второй,  так что может быть термопара фена и не при чем.  

И еще не пойму, судя по твоему описанию напряжений у тебя нормальное напряжение на выходе усилителя ( вывод 1 LM358), которое должен захватывать контроллер, при этом контроллер не выводит ни какую текущую температуру на дисплей???

Всё правильно, на 1 ноге ОУ есть 3.67 вольт, но этот сигнал идёт на А3 атмеги, а это, судя по скетчу - термопара паяльника а не фена. 

Соответственно,  фактическая температура фена, (которая должна приходить с сигналом от 7й ноги ОУ на А1 атмеги) на экранчике отображается постоянно как 0, а установочная отображается правильно и изменяется если крутить потенциометр. 

Еще нашел,  на печатке, с первого вывода LM 358 у тебя сигнал идет не на микросхему, а какому то выводу, для чего??? Я так понял, печатка разведена универсально, для термопар и терморезисторов.

Да, всё правильно, там сигнал идет на микросхему, но через джампер.  джампер позволяет выбирать между подключением термопары и термосопротивления.  Сейчас джампер установлен в крайнее правое положение, поэтому сигнал идет напрямую на ногу А3. 

В общем-то потому и решил запилить универсальный вариант, что еще не знаю, какой придет паяльник - с термопарой или термосопротивлением.

Друзья, реально не знаю куда еще думать, кто поможет, тому организую пиво, причем совсем не виртуальное )

Miamin
Offline
Зарегистрирован: 29.02.2016

Провель с 13 ноги идет сигнал на открытие семистора! Если нет, то покажи скетч! Если у тебя показывает термопара ноль при влкюченном тумблере, то семистр должен быть постоянно открыт! и может сгорьть фен!

 

Maverik
Offline
Зарегистрирован: 12.09.2012

Провель с 13 ноги идет сигнал на открытие семистора! Если нет, то покажи скетч!

что за 13я нога ? 13я нога атмеги не разведена, с нее никуда сигнал не идет.   если речь про 11ю ногу, вечером гляну обязательно.

скетч стандартный

/*
 ПАЯЛЬНАЯ СТАНЦИЯ ver. 0.5

 Дата создания 2015
 Автор Олег Андреев
 d-serviss@inbox.lv
 http://www.d-serviss.lv

 */

#include <LiquidCrystal.h>
LiquidCrystal lcd(13, 12, 11, 10, 9, 8);  // Выходы для дисплея 1602

int pinSolderOut = 5;  // Выход для паяльника
int pinSolderIn = A4;  // Потенциометр паяльника
int pinSolderTCouple = A3;  // Термопара паяльника
int pinSolderButton = 2;  // Кнопка вкл. и выкл. паяльника

int pinHotAirOut = 6;  // Выход для фена
int pinHotAirIn = A2;  // Потенциометр фена
int pinHotAirTCouple = A1;  // Термопара фена
int pinHotAirCoolerOut = 3;  // Выход для вентилятора фена ( PWM )
int pinHotAirCoolerIn = A0;  // Потенциометр вентилятора фена
int pinHotAirButton = 4;  // Кнопка вкл.и выкл. фена

uint8_t char_cel[8] = {
  B00111, B00101, B00111, B00000, B00000, B00000, B00000
};

void setup()
{
  TCCR2B = TCCR2B & 0b11111000 | 0x01; // Частота ШИМ 11 и 3
  pinMode(pinSolderOut, OUTPUT);
  pinMode(pinSolderButton, INPUT);
  pinMode(pinHotAirOut, OUTPUT);
  pinMode(pinHotAirButton, INPUT);
  lcd.begin(16, 2);
  lcd.createChar(1, char_cel);

  // Вывод приветствия
  lcd.setCursor(0, 0);
  lcd.print("SOLDER STATION");
  lcd.setCursor(0, 1);
  lcd.print("ver. 0.5");
  // задержка
  delay (3000);
  lcd.clear();
}

void loop()
{
  // Преобразовываем значения
  int setSolderTemp = map(analogRead(pinSolderIn), 0, 1023, 0, 480);
  int solderTCouple = map(analogRead(pinSolderTCouple), 0, 750, 0, 480);
  int setHotAirTemp = map(analogRead(pinHotAirIn), 0, 1023, 0, 480);
  int hotAirTCouple = map(analogRead(pinHotAirTCouple), 0, 750, 0, 480);
  int setHotAirCooler = map(analogRead(pinHotAirCoolerIn), 0, 1023, 130, 255);
  int displayHotAirCooler = map(analogRead(pinHotAirCoolerIn), 0, 1023, 0, 99);

  // Защита, если не работает термопара
  if (solderTCouple > 480) {
    setSolderTemp = 0;
  }
  if (hotAirTCouple > 480) {
    setHotAirTemp = 0;
  }

  // Поддержка установленной температуры паяльника
  if (setSolderTemp >= solderTCouple && digitalRead(pinSolderButton) == HIGH)
  {
    digitalWrite(pinSolderOut, LOW);
    // delay(100);
    digitalWrite(pinSolderOut, HIGH);
  }
  else {
    digitalWrite(pinSolderOut, LOW);
  }

  // Поддержка установленной температуры фена
  if (setHotAirTemp >= hotAirTCouple && digitalRead(pinHotAirButton) == HIGH)
  {
    digitalWrite(pinHotAirOut, HIGH);
    delay(100);
    digitalWrite(pinHotAirOut, LOW);
  }
  else {
    digitalWrite(pinHotAirOut, LOW);
  }

  // Установка оборотов вентилятора фена
  if (hotAirTCouple < 85 && digitalRead(pinHotAirButton) == LOW) {
    analogWrite(pinHotAirCoolerOut, 0);
  }
  else {
    analogWrite(pinHotAirCoolerOut, setHotAirCooler);
  }

  // Убираем прыганье цифр
  if ((setSolderTemp + 10) > solderTCouple && (setSolderTemp - 10) < solderTCouple) {
    solderTCouple = setSolderTemp;
  }
  if ((setHotAirTemp + 10) > hotAirTCouple && (setHotAirTemp - 10) < hotAirTCouple) {
    hotAirTCouple = setHotAirTemp;
  }

  // Данные паяльника на дисплей
  lcd.clear();
  lcd.print("Solder:");
  lcd.setCursor(7, 0);
  if (digitalRead(pinSolderButton) == HIGH) {
    if (solderTCouple < 480) {
      lcd.print(setSolderTemp);
      lcd.print("\1");
      lcd.setCursor(12, 0);
      lcd.print(solderTCouple);
      lcd.print("\1");
    }
    else {
      lcd.print(" Error");
    }
  }
  else {
    lcd.print(" Off");
  }
  // Данные фена на дисплей
  lcd.setCursor(0, 1);
  lcd.print("Smd:");
  lcd.setCursor(4, 1);
  if (digitalRead(pinHotAirButton) == HIGH) {
    if (hotAirTCouple < 480) {
      lcd.print(setHotAirTemp);
      lcd.print("\1");
      lcd.setCursor(9, 1);
      lcd.print(hotAirTCouple);
      lcd.print("\1");
      // Вентилятор фена на дисплей
      lcd.setCursor(14, 1);
      lcd.print(displayHotAirCooler);
    }
    else {
      lcd.print(" Error");
    }
  }
  else {
    lcd.print(" Off");
  }
  delay(100);
}

 

 

Miamin
Offline
Зарегистрирован: 29.02.2016

saloed111 пишет:

Вот, кому может надо,  доделанный под геркон и защиту на реле скетч и моя схема https://yadi.sk/d/VykLiU5Frjqcd

 

/Защита от пробоя симистора/замыкания термопары (замыкаем реле)
  if (digitalRead(pinHotAirButton) == HIGH && setHotAirTemp+100> pinHotAirTCouple && pinHotAirTCouple<480){
    
    digitalWrite(pinRele, HIGH);
    }
    else {
      digitalWrite(pinRele, LOW);
      }

Не понятно условия! Причем тут переменная обозначающая ногу подключения термопары?
Может вы имели ввиду hotAirTCouple.

int hotAirTCouple = map(analogRead(pinHotAirTCouple), 0, 750, 0, 480);

 

 

 

Miamin
Offline
Зарегистрирован: 29.02.2016

Точно, сорри, 11 нога упровляет нагревом фена.

Т.е ни чего не миняли? Стандартный скетч будет работать.

Сведодиот сигнализирует что сигнал идет от МК. Нужно проверить дорожку до  светодиода (прозвонить), проверить напряжение на самой ноге МК. Может сведодиот не так припояли.(ошиблись). Мысль поняли?

Miamin
Offline
Зарегистрирован: 29.02.2016

Есть еще один момент. Светодиоды бывают разные, и ток нужен разный, если светодиот будет много брать тока, может получится так что не сможет работать МОС3063 и не откроется симистр.Нужно ставить мало потребляющие светодиод или проста перемычку.

Maverik
Offline
Зарегистрирован: 12.09.2012

Точно, сорри, 11 нога упровляет нагревом фена.

точнее даже 12я )

Т.е ни чего не миняли? Стандартный скетч будет работать.

нет, ничего не менял, стандартный скетч должен работать, но не хочет.  попробовал в скетче поменять местами А3 и А1, вместо нуля стал отображать вместо фактической температуры 480 градусов.  

Сведодиот сигнализирует что сигнал идет от МК. Нужно проверить дорожку до  светодиода (прозвонить), проверить напряжение на самой ноге МК. Может сведодиот не так припояли.(ошиблись). Мою мысль поняли?

Вроде светодиод должен работать даже при отключенном фене ? Светодиод не припаян, он в посадочном месте, я его потом хотел вынести на панель, там я уже всё проверил.

Maverik
Offline
Зарегистрирован: 12.09.2012

Есть еще один момент. Светодиоды бывают разные, и ток нужен разный, если светодиот будет много брать тока, может получится так что не сможет работать МОС3063 

да, это тоже учитывал, поставил уже маломощные кетайские, которые на очень малые токи расчитаны, всё равно не кукует.  попробую еще перемычку.

Miamin
Offline
Зарегистрирован: 29.02.2016

нет, ничего не менял, стандартный скетч должен работать, но не хочет.  попробовал в скетче поменять местами А0 и А1, вместо нуля стал отображать вместо фактической температуры 480 градусов

Все правельтно, так и должно быть!

Вроде светодиод должен работать даже при отключенном фене ? Светодиод не припаян, он в посадочном месте, я его потом хотел вынести на панель, там я уже всё проверил.

Что значит при отключенном фене, от разьема или тумблер на панели!

Если от разьема фен будет отключен или перепутана полярнрость термопары, значит МК должен показать Err, то есть температура как бы более 480. По условию в скетче:

/ Защита, если не работает термопара
  if (solderTCouple > 480) {
    setSolderTemp = 0;
  }
  if (hotAirTCouple > 480) {
    setHotAirTemp = 0;

значит сигнал на  открытие семистора не будет и гореть светодиод не будет.

Но у вас показывает ноль.  значит термопара работает, и показывает темепратуру.  МК  подаст сигнал  5в на открытие сесистора, и будет этот сигнал пока не наберет фен температуру!

Miamin
Offline
Зарегистрирован: 29.02.2016

Все правельтно, так и должно быть!

Хотя нет, должна выводится ошибка. Нужно подстроечник регулировать.

Maverik
Offline
Зарегистрирован: 12.09.2012

Если от разьема фен будет отключен или перепутана полярнрость термопары, значит МК должен показать Err, то есть температура как бы более 480.

Вот я и говорю, что при отключенном фене цепь через оптрон вроде должна работать всё равно - должен мигать светодиод, если не ошибаюсь, а на экране Error.

Miamin
Offline
Зарегистрирован: 29.02.2016

Нет, светодиот мигать не должен. Переменной установленной температуры присваевается значенеи 0.

далее по коду проверяется условие:

// Поддержка установленной температуры паяльника

069   if (setSolderTemp >= solderTCouple && digitalRead(pinSolderButton) == HIGH)
070   {
071     digitalWrite(pinSolderOut, LOW);
072     // delay(100);
073     digitalWrite(pinSolderOut, HIGH);
074   }
075   else {
076     digitalWrite(pinSolderOut, LOW);
077   }

 

Maverik
Offline
Зарегистрирован: 12.09.2012

Т.е. нет никакой возможности понять,  проблема в термопаре или в самой плате ? ((

Miamin
Offline
Зарегистрирован: 29.02.2016

закоментировать в коде строки

if (hotAirTCouple > 481) {
    setHotAirTemp = 0;
  }

Вставить :

// Поддержка установленной температуры фена
  if (digitalRead(pinHotAirButton) == HIGH)
  {
    digitalWrite(pinHotAirOut, HIGH);
    delay(90);
    digitalWrite(pinHotAirOut, LOW);
  }
  else {
    digitalWrite(pinHotAirOut, LOW);
  }

// Данные фена на дисплей

 lcd.setCursor(0, 1);
 lcd.print("Smd:");
 lcd.setCursor(4, 1);
 if (digitalRead(pinHotAirButton) == HIGH) {
     lcd.print(setHotAirTemp);
     lcd.print("\1");
     lcd.setCursor(9, 1);
     lcd.print(hotAirTCouple);
     lcd.print("\1");
     
     // Вентилятор фена на дисплей
     lcd.setCursor(14, 1);
     lcd.print(displayHotAirCooler);
   }
 }
 else {
   lcd.print(" Off");
 }
 delay(100);

Miamin
Offline
Зарегистрирован: 29.02.2016

Включать фен нужно кратковреммено, так как нет ни какой защиты и регулировки.

Т.е включил тумблер и фен начинает греть не зависемо какая установленна температура! и какие показания термопары.

Может быть так что показывать будет ноль, а фен у же красный!

 

 

keefa
Offline
Зарегистрирован: 19.06.2015

Miamin пишет:

Включать фен нужно кратковреммено, так как нет ни какой защиты и регулировки.

Т.е включил тумблер и фен начинает греть не зависемо какая установленна температура! и какие показания термопары.

Может быть так что показывать будет ноль, а фен у же красный!

 

 

Я бы вместо фена подключил просто лампочку ватт на 40, что бы ничего не сжечь. Удалить весь скетчь и написать пару строчек, подавая на выходы управления сигнал включения. поочереди, запустить вентилятор - работает, запустить фен (лампочку) - работает, запустить паяльник - работает. если не работает, искать неисправность в схеме. так можно убедиться что схема собрана правильно. а вы пытаетесь сразу снаскока запустить, так бывает редко что все сразу начинает работать даже у опытных рукожопов. 

Maverik
Offline
Зарегистрирован: 12.09.2012

Включать фен нужно кратковреммено, так как нет ни какой защиты и регулировки.

Т.е включил тумблер и фен начинает греть не зависемо какая установленна температура! и какие показания термопары.

Может быть так что показывать будет ноль, а фен у же красный!

Это понятно.  Я немного про другое - как должна вести себя схема, если термопару подключить а  сам нагреватель - нет ?

так бывает редко что все сразу начинает работать даже у опытных рукожопов. 

Спасибо,  добавил "опытных рукожопов" в словарь хитовых фраз )))

 

Miamin
Offline
Зарегистрирован: 29.02.2016

Это понятно.  Я немного про другое - как должна вести себя схема, если термопару подключить а  сам нагреватель - нет ?

Тогда светодиот гореть должен, фен нагриватся естественно не будет.

Как я понял суть:

1)При включенном фене, МК считывает показания с LM358, максемальные показания которые выдаст LM с обвязкой по схеме автора дадут 760 АЦП - 480г, где то 3,7в. Больше лм показать не сможет.

Далее переводится функ-й мап в показания градусов.

2) считываем установленную температуру.

3) сравнивается с показаниями термопары. Если больше установленная темпертатура, то МК подает сигнал на moc3063 для открытия семистора. Начинает моргать светодиод.

4) Опять считывается показания термопары. если температура ТП больше утановленной, МК перстает подовать сигнал на moc3063. Т.е светодиод не будет гореть пока температура ТП больше установленной.

5) По коду, защита  начинает срабатывать когда температура по показаниям ТП более 480. Выводится  ошибка и присваевается температура 0. Выполняется пункт 4.  

6) Показания 480 градусов определяются МК сразу если не подключин фен или перепутана полярностьь ТП. От калибровки может тоже зависить. поробуюте подкрутить резистор.

 

P.S.  Как то не особо получилсь понятно описать, не судите строга)

saloed111
Offline
Зарегистрирован: 07.04.2016

Все верно, только при превышении 480 гр. ноль не присваивается, у меня при отключенной совсем термопаре фена, выводилась ошибка, я попробовал закоментировать строку которая выводит ошибку и на дисплее у меня загорелось почему то 489 градусов и это совсем без термопары. Ну да ладно, вопрос в другом, я не пойму почему на выходе LM есть 3 вольта, а контроллер выводит 0, в этом и есть вся проблема, еще не понятно почему он не включает нагрев, он просто не преобразует сигнал в температуру, может что то с контроллером?

Miamin
Offline
Зарегистрирован: 29.02.2016

1 = 3.67 В,  2 = 0.13 В,  3 = 0.2 ... 0.44 В (плавает),  4 = 0 В (земля),  5, 6 = 0 В,  7 = - 0.2 В, 8 = 4.98 В.

Вывод с 1 ноги Lm358 - это показания паяльника! А на фен показания снимаются с 7 ноги.

Miamin
Offline
Зарегистрирован: 29.02.2016

saloed111 пишет:
Все верно, только при превышении 480 гр. ноль не присваивается, у меня при отключенной совсем термопаре фена, выводилась ошибка, я попробовал закоментировать строку которая выводит ошибку и на дисплее у меня загорелось почему то 489 градусов и это совсем без термопары. Ну да ладно, вопрос в другом, я не пойму почему на выходе LM есть 3 вольта, а контроллер выводит 0, в этом и есть вся проблема, еще не понятно почему он не включает нагрев, он просто не преобразует сигнал в температуру, может что то с контроллером?

Выводитися температура ТП,  а ноль присвавывается к переменной setHotAirTemp, которая определяет установленною температуру! В скетче все есть!

А показания АЦП вы пробывали выводить?

я когда делал программную калибровку по ним и орентировался!

VitaliyDF
Offline
Зарегистрирован: 02.02.2016

  

saloed111
Offline
Зарегистрирован: 07.04.2016

Вывод с 1 ноги Lm358 - это показания паяльника! А на фен показания снимаются с 7 ноги.

Да, точно, просто вчера писал с работы с телефона, схемы не было, ну тогда все понятно, на выходе LM на 7 ноге то практически 0, даже с минусом, термопара по всей видимости жива, значит проблема в усилителе или в обвязке, а вот почему не включает нагрев фена, не понятно, на дисплее же фактическую температуру пишет 0, а не Error. У меня с первой LM тоже была проблема, я ее заменил (благо у меня их штук 5 валяется) и все стало нормально, но у меня все время выводил ошибку и поэтому нагрев не шел, еще я поставил многооборотные переменники и пришлось долго крутить, пока показания начали приходить в норму.

А эта строка

 if (hotAirTCouple > 481) {
    setHotAirTemp = 0;
я так понял при превышении температуры на термопаре 481 градус (или при превышении входного сигнала на контроллере), принудительно устанавливает выбираемую температуру на ноль, чтобы отключить нагрев и температуру уже будет невозможно регулировать как ее не крути, она всегда будет 0, но ведь у Maverik температура нормально регулируется, значит эта защита не работает в данный момент времени...
Miamin
Offline
Зарегистрирован: 29.02.2016

Правильно,защита не работаете, та как температура ТП меньше 480. Следовательно регулятор установки работает!

ellpigy
ellpigy аватар
Offline
Зарегистрирован: 08.05.2016

Скажите, пожалуйста, сколько вольт с 12 ноги атмеги (pinHotAirOut = 6;  // Выход для фена) подается вольт?

Miamin
Offline
Зарегистрирован: 29.02.2016

5 вольт подает мк. Далее падение напряжения на резисторе и светодиоде.

saloed111
Offline
Зарегистрирован: 07.04.2016

Может вы имели ввиду hotAirTCouple.

Да вроде все правильно
if (digitalRead(pinHotAirButton) == HIGH && setHotAirTemp+100> pinHotAirTCouple && pinHotAirTCouple<480){

Если кнопка фена включена и температура термопары больше установленной+ 100 градусов, и меньше 480 , включать реле которое размыкает напряжение на спираль фена и защищает его от перегрева, сделано для того, чтобы избежать не контролированного разогрева фена при пробое симистора.
Это условие работает только во время работы фена, во всех остальных реле включается и отключает фен всегда.

Miamin
Offline
Зарегистрирован: 29.02.2016

saloed111 пишет:
Может вы имели ввиду hotAirTCouple. Да вроде все правильно if (digitalRead(pinHotAirButton) == HIGH && setHotAirTemp+100> pinHotAirTCouple && pinHotAirTCouple<480){ Если кнопка фена включена и температура термопары больше установленной+ 100 градусов, и меньше 480 , включать реле которое размыкает напряжение на спираль фена и защищает его от перегрева, сделано для того, чтобы избежать не контролированного разогрева фена при пробое симистора. Это условие работает только во время работы фена, во всех остальных реле включается и отключает фен всегда.

pinHotAirTCouple - это не температура термопары, это переменна которая  обозначаект pin A1, на котором считывается показания АЦП термопары.

А вот значение температуры узнаем в переменной hotAirTCouple.

int hotAirTCouple = map(analogRead(pinHotAirTCouple), 0, 750, 0, 480);

И еще,по мойму,нужно  делать порог отключения защиты.

На пример, задали температуру 200г, а термопара выдает 301, срабатывает защита. Но как тока ТП покажет 300 защита отключится. Т.е температрута будет прыгать постоянно в районе 300г. Другой случий если задано 400, то температура будет прыгать в районе 480.

И проверять включена кнопка фена, тоже думаю не надо, т.к пробой и обрыв ТП может быть и при выключенном фене.

Да и вообще защиту можно вообще не отключать пока не презапустить ПС.

 

saloed111
Offline
Зарегистрирован: 07.04.2016

При выключенном фене, реле всегда выключает фен. В остальном полностью согласен, в будущем хочу сделать чтобы защита не отключалась до перезагрузки вообще. Станцию запустил, работает во всю, пока занимаюсь другими делами, задумки оставил на потом, работать ею очень удобно, наконец то сбылась моя мечта. Ещё хотел сделать, чтобы фен, когда лежит на магните какое то время, то выключался совсем, ещё думал прикрутить бипер, в общем совершенству нет предела )))

Miamin
Offline
Зарегистрирован: 29.02.2016

Реализации станции очень хорошая. Это мой первый проек который я сам собрал. Но в процесе реализации понял, что мне не нравится как работает фен. Позаимствовал идею из соседней ветви форума, управлени феном ,фаза-модульным принцеп, попростому диммер. Качество стабелизации температуры на много лучше, +-1 градус точности без программной реализации убирания прыганье цифр.

saloed111
Offline
Зарегистрирован: 07.04.2016

Да, я видел это решение, но уже поздно увидел и не стал ничего менять, меня и так все полностью устраивает...

ellpigy
ellpigy аватар
Offline
Зарегистрирован: 08.05.2016

Кто скажет, куда подсоединять землю от паяльника и от фена, а то что-то пару форумов почитал, так определенного ответа и не нашел, кто-то к корпусу крепит, кто к паяемой плате, к браслету, к батарее ))). У меня в розетке нет третьего провода, только фаза и ноль.

Okmor
Okmor аватар
Offline
Зарегистрирован: 16.10.2015

В моем сервисном центре рекомендовали в таких случаях заземлять через резистор 1мОм к фазе.

:-)

ellpigy
ellpigy аватар
Offline
Зарегистрирован: 08.05.2016

Okmor, если Вы не пошутили, то какой от этого прок?

saloed111, увеличение частоты до 4 гц шим вентилятора фена как-то сказывается на его работе? И каким образом Вы подбирали номиналы резистора и кондера до rc-цепи?

saloed111
Offline
Зарегистрирован: 07.04.2016

ellpigy Дело в том, что на другой частоте вентилятор фена на 24 вольта не регулируется, а так фен пока крутит нормально, уже два месяца полет нормальный, только свистит, потому что на звуковой частоте работает, но меня это не напрягает, хотя натыкался в ютубе на то, как поменять частоту чтобы и не свистел, и регулировался нормально.

Не совсем понял про какой резистор и кондер идет речь, который в снаббере или где?

abadon
Offline
Зарегистрирован: 20.05.2016

Miamin пишет:

Реализации станции очень хорошая. Это мой первый проек который я сам собрал. Но в процесе реализации понял, что мне не нравится как работает фен. Позаимствовал идею из соседней ветви форума, управлени феном ,фаза-модульным принцеп, попростому диммер. Качество стабелизации температуры на много лучше, +-1 градус точности без программной реализации убирания прыганье цифр.

Что то не могу найти статью про управление феном ,фаза-модульным принцеп,не поделитесь ссылкой? 

Miamin
Offline
Зарегистрирован: 29.02.2016
Miamin
Offline
Зарегистрирован: 29.02.2016

А код только вечером показать смогу, плату травил отдельно на ннее подключал фен .

abadon
Offline
Зарегистрирован: 20.05.2016

Miamin пишет:
А код только вечером показать смогу, плату травил отдельно на ннее подключал фен .

Покажите если не сложно, интересно посмотреть.

ellpigy
ellpigy аватар
Offline
Зарегистрирован: 08.05.2016

saloed111 пишет:

который в снаббере или где?

Да, они самые, Вы их расчитывали? Кстати у меня фен на 24В и работает нормально с TCCR2B = TCCR2B & 0b11111000 | 0x01, только при выключении останавливается сразу и не продувает спираль, может тыкните пальцем где этот код на продувку.

Miamin
Offline
Зарегистрирован: 29.02.2016

В оригинале

 // Установка оборотов вентилятора фена
  if (hotAirTCouple <= 75 && digitalRead(pinHotAirButton) == LOW) {
    analogWrite(pinHotAirCoolerOut, 0);
  }
  else {
    analogWrite(pinHotAirCoolerOut, setHotAirCooler);
  }

Есть один минус данного условия, вентилятор фена будет постоянно включаться и выключаться на продувку в районе 75 градусав. Меня это стало раздрожать. Сделал так:

	boulen FAN = true;
if (HotAirTCouple > 70 && digitalRead(pinHotAirButton) == LOW && FAN)
			{
        analogWrite(pinHotAirCoolerOut, 255);
			}
      else if (HotAirTCouple <= 70 && digitalRead(pinHotAirButton) == LOW && FAN)
            {
              analogWrite(pinHotAirCoolerOut, 0);
              FAN = false;
            }
      else if (HotAirTCouple < 90 && digitalRead(pinHotAirButton) == LOW && FAN == false)
			{
            analogWrite(pinHotAirCoolerOut, 0);
			}
      else if (HotAirTCouple > 90 && digitalRead(pinHotAirButton) == LOW && FAN == false)
            {
               FAN  = true;
             analogWrite(pinHotAirCoolerOut, 255);        
            }
      else   
			{
            analogWrite(pinHotAirCoolerOut, setHotAirCooler);
            FAN = true;
			}

 

saloed111
Offline
Зарегистрирован: 07.04.2016

Да, они самые, Вы их расчитывали?

Нет, я их взял отсюда https://yadi.sk/i/DkFDLGlOrsFM8 или тут http://vip-cxema.org/index.php/home/mikrokontrollery/298-payalnaya-stantsiya-na-baze-atmega8a?fontstyle=f-smaller

 Кстати у меня фен на 24В и работает нормально с TCCR2B = TCCR2B & 0b11111000 | 0x01

Странно, я пробовал, у меня не регулируются обороты, да и у многих так, тут где то уже обсуждали этот вопрос, если фен 12 вольт, то проблем нет...

Посидел немного, подумал о писке фена и решил еще понизить частоту ШИМ, писк перешел в более низкий и еле различимый, практически не слышно, правда пришлось немного подкорректировать переменную map оборотов фена...

Miamin Спасибо за скетч по продувке фена, давно хотел реализовать, тут в теме вроде было, но никак руки не доходили, сегодня сделал, класс!!!

ellpigy
ellpigy аватар
Offline
Зарегистрирован: 08.05.2016

Miamin пишет:

Есть один минус данного условия, вентилятор фена будет постоянно включаться и выключаться

Да, но он так прикольно перегазовывает ))).

Кто-нибудь задумывался о создании меню с настройками (например, установка макс. температуры, оборотов и т.д., еще чего-нибудь), также меня посетила мысль о создании библиотеки ошибок (что-бы не просто была надпись Error, а еще какой-нибудь код ошибки, например, "error 1", означает нет данных с термопары фена, ну и так далее)

saloed111
Offline
Зарегистрирован: 07.04.2016

Вот моя реализация проекта https://www.youtube.com/watch?v=mMlH2gb4dxk, снимал еще до переделки скетча по продувке фена, поэтому фен еще дергается при остывании, сейчас такого нет, фен остывает до 70 гр. и больше не дергается если не нагреется снова до 90