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

kabazyaka
kabazyaka аватар
Offline
Зарегистрирован: 22.11.2016

Starihok пишет:

Я дисплей закрепил на старой плате. С обратной стороне "термосоплями" примантулил ардунио про мини. Проводки короткие, дорожки по мере возможности кинул на массу. "фигня" - не выскакивает. Может из-за длинных проводков?

Вполне возможно...

Theodoro
Offline
Зарегистрирован: 30.05.2017

Граждане, помогите новичку прошить Мегу 328 - опасаюсь залочить. М/с подключил к программатору USBasp, к 9, 10 выводам - кварц 16 МГц. На компе установлены Averdude 3.3, Arduino 1.7.7. Sinaprog 2.1. Авердуда и Синапрог просят 2 файла прошивки .hex и .eep. Как их получить из имеющегося здесь скетча и надо ли? Если можно пошагово: в какой проге, куда жать? И что делать с фьюзами?

 

Спасибо.

 

kabazyaka
kabazyaka аватар
Offline
Зарегистрирован: 22.11.2016

Theodoro пишет:

Граждане, помогите новичку прошить Мегу 328 - опасаюсь залочить. М/с подключил к программатору USBasp, к 9, 10 выводам - кварц 16 МГц. На компе установлены Averdude 3.3, Arduino 1.7.7. Авердуда просит 2 файла прошивки .hex и .eep. Как их получить из имеющегося здесь скетча и надо ли? Если можно пошагово: в какой проге, куда жать? И что делать с фьюзами?

Спасибо.

 

ВНИМАТЕЛЬНО ! Читаем ЭТУ тему ! хотя бы с 30 страницы! Всё описывается.HEX и EEP , в принципе, не нужны, если есть ARDUINO IDE и USB ASP. В ARDUINO IDE есть функция- загрузить через программатор( Ctrl+ иконка ( вгрузить)).Открываешь ARDUINO IDE , выбираешь скетч , который нужен. Выбираешь программатор USBasp и устройство ARDUINO PRO( PROmini) 5v 16 MHz во вкладке "Инструменты", жмёшь иконку с "галкой"( скомпилировать),и если всё пучком(компиляция завершена успешно, без ошибок),зажимаешь CTRL и жмёшь волшебную "стрелочку вправо"(загрузить через программатор). Если загрузка прошла успешно, открываешь AVRDude Prog 3.3( или BURN O Mat) , выбираешь Atmega 328 и программатор USBasp, заходишь в Фьюзы и ВНИМАТЕЛЬНО!!! выбираешь фьюзы:   LOW=DE ,HIGH=D9 ( под внешний кварц > 8МГц) галочками(калькулятор Фьюз Бит в помощь), ещё раз всё Внимательно! проверяешь , и жмёшь кнопочку записать фьюзы. И да будет тебе Счастье! НО это только в том случае, если в процессоре стоит загрузчик (Bootloader). Если нет, то смотрим мой пост 1565 и1567 (стр 32 этой темы) , там есть  Кексы и ЕЕпешки, берём нужные, впендюриваем в Дудку( или Бурный Мат), выставляем (Внимательно!!!) Фьюзы и прошиваем. Усё, Абзац. Забыл добавить- меньше всего головняков, если есть плата ARDUINO UNO и 328я Мега с прошитым загрузчиком.

Theodoro
Offline
Зарегистрирован: 30.05.2017

Спасибо.Воспользовался вашим архивом. Залил для начала  0.5 - ю. 

А что делать с Е -фьюзами? По дефолту Е=07.

kabazyaka
kabazyaka аватар
Offline
Зарегистрирован: 22.11.2016

Theodoro пишет:

Спасибо.Воспользовался вашим архивом. Залил для начала  0.5 - ю. 

А что делать с Е -фьюзами? По дефолту Е=07.

Заливаешь только те, что я указал, остальное НЕ ТРОГАЙ! Е фьюзы предназначены для управления напряжением. Оставь так как есть.

kabazyaka
kabazyaka аватар
Offline
Зарегистрирован: 22.11.2016

Вот так должно выглядеть в Дудке. Фьюзы Lock Byte и Fuse Extended Byte - НЕ ТРОГАЕМ!!!

Theodoro
Offline
Зарегистрирован: 30.05.2017

Начал наладку, и сразу засада. При включении фена (паяльник отключен) и нулевом задании т-ры сразу начинает мигать светодиод, и  идет неуправляемый нагрев с хаотичной индикацией. НО, если не подключать улитку фена, нагрев и охлаждение идут штатно. Т.е. мотор фена как то влияет на работу остальной схемы. Пробовал ставить параллельно мотору пленочный конденсатор 0,15 мкФ - нет эффекта. Правда, честно сознаюсь, что не получалось облудить контакты разъемов. Плюнул и облудил с кислотой. Потом промывал, прозванивал, но мало ли что.

ПО v.07. Питание на двух 78ХХ. Вроде чистое.

link
Offline
Зарегистрирован: 20.04.2017

Ну вообще-то питать моторчик постоянного тока импульсами это не совсем корректно, и это явно косяк данной схемы. Кстати мотор у фена свистит именно из-за такого питания. Если вы хотели отфильтровать помехи и выделить постоянную составляющую, пленочный кондер вам не поможет, тут по идее нужен LC фильтр, причем после дросселя нужен и электролит и керамика.

Theodoro
Offline
Зарегистрирован: 30.05.2017

link пишет:

Ну вообще-то питать моторчик постоянного тока импульсами это не совсем корректно, и это явно косяк данной схемы. Кстати мотор у фена свистит именно из-за такого питания. Если вы хотели отфильтровать помехи и выделить постоянную составляющую, пленочный кондер вам не поможет, тут по идее нужен LC фильтр, причем после дросселя нужен и электролит и керамика.

Да, но ПС ведет себя неадекватно и при 100% заполнении, когда на мотор идет чистая постоянка.

Видимо дело все таки не в помехах. С 12 ноги Меги идут импульсы на оптрон, хотя на выходе ОУ ноль (даже небольшой минус?).

Стоп. А ведь чтобы нагрева не было,должен быть плюс. Щас запаяю многооборотный на 4.7к и проверю ещё.

kabazyaka
kabazyaka аватар
Offline
Зарегистрирован: 22.11.2016

Theodoro пишет:

Начал наладку, и сразу засада. При включении фена (паяльник отключен) и нулевом задании т-ры сразу начинает мигать светодиод, и  идет неуправляемый нагрев с хаотичной индикацией. НО, если не подключать улитку фена, нагрев и охлаждение идут штатно. Т.е. мотор фена как то влияет на работу остальной схемы. Пробовал ставить параллельно мотору пленочный конденсатор 0,15 мкФ - нет эффекта. Правда, честно сознаюсь, что не получалось облудить контакты разъемов. Плюнул и облудил с кислотой. Потом промывал, прозванивал, но мало ли что.

ПО v.07. Питание на двух 78ХХ. Вроде чистое.

По ходу, где то идёт возбуд на LM 368 по каналу фена, или выкручен на полную подстроечник температуры фена. Плату промывали? Остатки флюса- это не Айс. Смотрите внимательно, может где сопля. А вообще то, где то это уже проскальзывало в теме... На какой плате собирали? + и - термопары не попутаны?

Theodoro
Offline
Зарегистрирован: 30.05.2017

Плата универсальная из шапки. Промывал. Полярность ТП не перепутана. Суть в том, что если отпаять провод от мотора, т.е. нет тока через мосфет, то все нормально и светодиод не мигает при нулевом задании.

Блин!Только что крякнул осциллограф. Придется временно переключиться на него.

Starihok
Starihok аватар
Offline
Зарегистрирован: 20.02.2017

link как отдых? Уже вернулись?

Theodoro Если у Вас без мотора нагрев работает без особых проблем. Попробуйте собрать (навесиком для пробы) управление кулером по схеме от GEN, в посте кажись 1387.

GEN
Offline
Зарегистрирован: 17.02.2017

он зачем-то прошивку взял 0.7 (не рабочую) лучше бы уж 0.6 тогда

dimich
Offline
Зарегистрирован: 12.10.2016

GEN пишет:

он зачем-то прошивку взял 0.7 (не рабочую) лучше бы уж 0.6 тогда

и в чем ее неработоспособность? уже пол года на ней работаю, и феном пользуюсь часто.

GEN
Offline
Зарегистрирован: 17.02.2017

я тоже ей пользуюсь, токо ПР туда воткнул и подправил под оптрон (0.77), там защита срабатывает сразу при включении фена (нажимаешь ктопку фена - 1 на 13ноге, выкл - 0) пока мне это и надо, будет время исправлю

link
Offline
Зарегистрирован: 20.04.2017

Starihok пишет:

link как отдых? Уже вернулись

Прекрасно отдыхаю, запрет на ноут обошел мобильной версией ардуинки)


/*
  ПАЯЛЬНАЯ СТАНЦИЯ  в качестве базовой использовалась прошивка ver 0.771
  Дата создания 2015
  Автор Олег Андреев
  d-serviss@inbox.lv
  http://www.d-serviss.lv
  На 3 ногу добавлен спящий режим паяльника (180 С)
  Изменен алгоритм нагрева фена, применен принцип аналогичный использованному для паяльника
  Добавлена защита от КЗ и обрыва термопары фена, а также изменена защита по максимальной температуре для фена.
  Добавлен тригерный эффект для защиты фена
  Реализовано управление реле при включении фена и срабатывании защиты.
  Добавлено выключение от геркона на 28 ноге (переработано)
  Фен на 24 вольта.
  Изменена индикация, по умочанию все надписи на русском.
  Ну кое-где переписал кд под свое понимание)
  Прошивка требует контроллер не ниже ATmega168, В ATmega8 не влезет
*/

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

int pinSolderOut = 5;  // Выход для паяльника
int pinSolderIn = A4;  // Потенциометр паяльника
int pinSolderTCouple = A3;  // Термопара паяльника
int pinSolderButton = 2;  // Кнопка вкл. и выкл. паяльника
int pinSleepState = 1;  // Спящий режим паяльника 3 нога меги
int pinHotAirOut = 6;  // Выход для фена
int pinHotAirIn = A2;  // Потенциометр фена
int pinHotAirTCouple = A1;  // Термопара фена
int pinHotAirCoolerOut = 3;  // Выход для вентилятора фена ( PWM )
int pinHotAirCoolerIn = A0;  // Потенциометр вентилятора фена
int pinHotAirButton = 4;  // Кнопка вкл.и выкл. фена
int pinGerkon = A5; // Геркон фена 28ая нога
int pinRele = 7; //На управление реле(13я нога меги)
uint8_t char_cel[8] = {
  B00111, B00101, B00111, B00000, B00000, B00000, B00000
};
boolean ErrorHighTCouple = LOW;
boolean ErrorSetTCouple = LOW;
int N = 0;
int StartTCouple = 0;
int SAir = 0;
int err = 0;
void setup()
{
  TCCR2B = TCCR2B & 0b11111000 | 0x02; //кулер фена 24v. Частота ШИМ 11 и 3
  pinMode(pinSolderOut, OUTPUT);
  pinMode(pinSolderButton, INPUT);
  pinMode(pinSleepState, INPUT);
  pinMode(pinHotAirOut, OUTPUT);
  pinMode(pinHotAirButton, INPUT);
  pinMode(pinGerkon, INPUT);
  pinMode(pinRele, OUTPUT);
  digitalWrite(pinRele, HIGH); //установка реле в отключенное состояние
  lcd.begin(16, 2);
  lcd.createChar(1, char_cel);
  // Вывод приветствия
  lcd.setCursor(0, 0);
  lcd.print(L"Паяльная станция");
  lcd.setCursor(0, 1);
  lcd.print(L" Привет  Сергей ");
  delay (7000);  // задержка
  lcd.clear();
}

void loop()
{
  /************************************ ПАЯЛЬНИК ************************************/
  /*-------------------------- Преобразовываем значения-----------------------------*/
  int setSolderTemp = map(analogRead(pinSolderIn), 0, 1023, 0, 400);
  int solderTCouple = map(analogRead(pinSolderTCouple), 0, 750, 0, 480);
  /*--------------------------------------------------------------------------------*/
  /*----------------------------- Защита от перегрева ------------------------------*/
  if (solderTCouple > 410) { //если температура выше 410 градусов, сброс установленной температуры до 0
    setSolderTemp = 0;
  }
  /*--------------------------------------------------------------------------------*/
  /*------------------Поддержка установленной температуры паяльника-----------------*/
  if ( digitalRead(pinSolderButton) ) { // если включено - работаем
    if ( digitalRead(pinSleepState) == HIGH ) {
      err = 180 - solderTCouple; // Спящий режим 180 градусов
    } else {
      err = setSolderTemp - solderTCouple; // Определяем ошибку
    }
    int TempPower = sKp * err; // Рассчитываем нужную мощность, с учётом коэфф. пропорциональности
    uint16_t SPower = constrain(TempPower, 0, 255); // ограничиваем макс. и мин.
    analogWrite(pinSolderOut, SPower); // ШИМ-им нагрузку
  } else {
    analogWrite(pinSolderOut, 0);
  }
  /*--------------------------------------------------------------------------------*/
  /*-------------------------Убираем прыганье цифр----------------------------------*
  if ((setSolderTemp + 1) > solderTCouple && (setSolderTemp - 4) < solderTCouple) {
    solderTCouple = setSolderTemp;
  }
  *--------------------------------------------------------------------------------*/
  /*-----------------------Данные паяльника на дисплей------------------------------*/
  lcd.clear();
  lcd.print(L"Паяльник:");
  lcd.setCursor(10, 0);
  if (digitalRead(pinSolderButton) == HIGH) {
    if (solderTCouple < 410) {
      lcd.print(setSolderTemp);
      lcd.print("\1");
      lcd.setCursor(14, 0);
      lcd.print(solderTCouple);
      lcd.print("\1");
    }
    else {
      lcd.print(L"Перегрев");
    }
  }
  /*--------------------------------------------------------------------------------*/
  /*----------Температура выключенного паяльника на дисплей до 60 градусов----------*/
  else if (solderTCouple > 60 && digitalRead(pinSolderButton) == LOW && solderTCouple < 480) {
    lcd.print(L"Отключено");
    lcd.setCursor(14, 0);
    lcd.print(solderTCouple);
    lcd.print("\1");
  }

  else {
    lcd.print(L"Отключено");

  }
  /*--------------------------------------------------------------------------------*/
  /**********************************************************************************/
  /**************************************** ФЕН *************************************/
  /*-------------------------- Преобразовываем значения-----------------------------*/
  int setHotAirTemp = map(analogRead(pinHotAirIn), 0, 1023, 0, 450);
  int hotAirTCouple = map(analogRead(pinHotAirTCouple), 0, 750, 0, 480);
  int setHotAirCooler = map(analogRead(pinHotAirCoolerIn), 0, 1023, 100, 255);
  int displayHotAirCooler = map(analogRead(pinHotAirCoolerIn), 0, 1023, 0, 99);
  /*--------------------------------------------------------------------------------*/
  /*-------------------------управление реле защиты фена----------------------------*/
  if (digitalRead(pinHotAirButton) == HIGH && digitalRead(pinGerkon) == HIGH && ErrorHighTCouple == LOW && ErrorSetTCouple == LOW ) {
    if (digitalRead(pinRele) != LOW) {
      digitalWrite(pinRele, LOW); // При включенной кнопке фена и не сработанной защите замыкаем реле и подаем 220в на фен
    }
  } else {
    digitalWrite(pinRele, HIGH); // Иначе реле размыкаем и отключаем фен
  }
  /*--------------------------------------------------------------------------------*/
  /*---------------Защита от пробоя симистора/замыкания термопары ФЕНА--------------*/
  if (digitalRead(pinHotAirButton) == HIGH && digitalRead(pinGerkon) == HIGH ) {
    if (hotAirTCouple > 460)
    {
      ErrorHighTCouple = HIGH; //флаг по превышении температуры
      setHotAirTemp = 0;
    }
    if (N == 0) {
      StartTCouple = analogRead(pinHotAirTCouple);  //первый проход защиты, стартовое значение температуры
    }
    if (N < 5) {
      ++N;
    }
    if (N == 5 && analogRead(pinHotAirTCouple) <= StartTCouple + 5) {
      ErrorSetTCouple = HIGH;  //флаг по обрыву или кз термопары
    }
  } else {
    N = 0;
  }
  /*---------------------------------------------------------------------------------*/
  /*-------------------Поддержка установленной температуры фена----------------------*/
  if ( setHotAirTemp >= hotAirTCouple && digitalRead(pinHotAirButton) == HIGH && digitalRead(pinGerkon) == HIGH && ErrorHighTCouple == LOW && ErrorSetTCouple == LOW ) { // если включено - работаем
    int er = setHotAirTemp - hotAirTCouple; // Определяем ошибку
    int TempAir = sKp * er; // Рассчитываем нужную мощность, с учётом коэфф. пропорциональности
    int SAir = constrain(TempAir, 0, 255) * 100 / 255; // расчитываем длительность импульса питания фена, скважность 0-50%
    digitalWrite(pinHotAirOut, HIGH);
    delay(SAir); // формируем импульс питания фена заданной длительности
    digitalWrite(pinHotAirOut, LOW);
  } else {
    digitalWrite(pinHotAirOut, LOW);
  }
  /*----------------------------------------------------------------------------------*/
  /*------------------- Установка оборотов вентилятора фена---------------------------*/
  if (hotAirTCouple > 40 && (digitalRead(pinHotAirButton) == LOW || digitalRead(pinGerkon) == LOW )) //Продувка фена после выключения
  {
    analogWrite(pinHotAirCoolerOut, 150);
  } else if (hotAirTCouple <= 40 && (digitalRead(pinHotAirButton) == LOW || digitalRead(pinGerkon) == LOW )) {
    analogWrite(pinHotAirCoolerOut, 0);
  }
  if (digitalRead(pinHotAirButton) == HIGH && digitalRead(pinGerkon) == HIGH )
  {
    analogWrite(pinHotAirCoolerOut, setHotAirCooler);
  }
  /*----------------------------------------------------------------------------------*/
  /*----------------------------Убираем прыганье цифр---------------------------------*
    if ((setHotAirTemp + 15) > hotAirTCouple && (setHotAirTemp - 5) < hotAirTCouple) {
      hotAirTCouple = setHotAirTemp;
    }
    ----------------------------------------------------------------------------------*/
  /*--------------------------Данные фена на дисплей----------------------------------*/
  lcd.setCursor(0, 1);
  lcd.print(L"Фен:");
  lcd.setCursor(4, 1);
  if (digitalRead(pinHotAirButton) == HIGH && ErrorHighTCouple == LOW && ErrorSetTCouple == LOW ) {
    if (hotAirTCouple < 480 && 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);
    }
    if (digitalRead(pinGerkon) == LOW ) //геркон замкнут, мигаем уст. температурой (ловим по земле)
    {
      lcd.print(setHotAirTemp);
      lcd.print("\1");
      lcd.setCursor(9, 1);
      lcd.print(hotAirTCouple);
      lcd.print("\1");
      lcd.setCursor(14, 1);
      lcd.print(displayHotAirCooler);
      delay(150);
      lcd.setCursor(4, 1);
      lcd.print(L"Отключение");
      SAir = 150;
    }
  }
  /*----------------------------------------------------------------------------------*/
  /*---------------------Температура выключенного фена на дисплей---------------------*/
  if (hotAirTCouple > 50 && digitalRead(pinHotAirButton) == LOW && hotAirTCouple < 480) {
    lcd.print(L"Отключен");
    lcd.setCursor(13, 1);
    lcd.print(hotAirTCouple);
    lcd.print("\1");
  } else if (digitalRead(pinHotAirButton) == LOW) {
    lcd.print(L"Отключен");
  }
  if ( ErrorHighTCouple == HIGH ) {
    lcd.print(L"Перегрев");
  }
  if ( ErrorSetTCouple == HIGH ) {
    lcd.print(L"К-пара");
  }
  /*----------------------------------------------------------------------------------*/
  delay(200 - SAir); //межимпульсный интервал питания фена
  /************************************************************************************/
}

Ну в общем полуфабрикат.  Не проверено. Если кто найдет логические ошибки буду благодарен.

Реле у меня с инверсным управлением 0В-реле срабатывает.

Реле при включении фена срабатывает и подает напряжение на фен.

Не написал задержку по отключеню фена от геркона.

В планах

1 заменить dellay на millis 

2 Уйти от digitalRead на аналоги из CyberLib

3 подправить макс защиту на паяльник

Theodoro
Offline
Зарегистрирован: 30.05.2017

Starihok пишет:

link как отдых? Уже вернулись?

Theodoro Если у Вас без мотора нагрев работает без особых проблем. Попробуйте собрать (навесиком для пробы) управление кулером по схеме от GEN, в посте кажись 1387.

Собрал на макетке управление вентилятором на двух транзисторах по схеиме от GEN. Есть мелкие непринципиальные баги, но в целом терпимо. При нагреве идет перебег температуры градусов на 50 и затем медленный возврат к заданному значению, и ещё я не понял - на 0.7 прошивке устранено дерганье вентилятора при охлаждении в районе 90 гр. или нет? У меня дергается.

Терерь главное - как бы это дело окультурить? Есть ли печатка с цепью для реле защиты, DC-DC преобразователем, с RC элементами для геркона на 28 ноге?

Забыл спросить: выход RESET меги у меня в воздухе. Как это влияет на стабильность работы?

link
Offline
Зарегистрирован: 20.04.2017

Theodoro пишет:

Терерь главное - как бы это дело окультурить? Есть ли печатка с цепью для реле защиты, DC-DC преобразователем, с RC элементами для геркона на 28 ноге?

Забыл спросить: выход RESET меги у меня в воздухе. Как это влияет на стабильность работы?

Сообщение #1622 в архиве есть универсальная печатка)

Reset и должен быть свободным если вы его под свои нужды не задействовали)

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

Theodoro пишет:
Забыл спросить: выход RESET меги у меня в воздухе. Как это влияет на стабильность работы

Reset обязательно нужно подтянуть к + питания резистором килоом 10, нельзя, что бы он "висел в воздухе".
Почитайте.

link пишет:
Если кто найдет логические ошибки буду благодарен.

Возможно, правильно было бы, у логических переменных, использовать значения, как TRUE / FALSE, вместо HIGH / LOW, хоть оно и равнозначно. Как по мне, HIGH / LOW лучше описывают состояние пинов, а TRUE / FALSE - булевы переменные или истинность условий.
Не настаиваю, конечно ))

Многочисленное считывание состояние пинов (кнопок, геркона) было бы лучше заменить на однократное
лог. переменная = чтение пина
а дальше просто читать состояние переменной в нужных местах. А то, к примеру, только проверка пина выключателя фена выполняется 9 раз, а геркона - 7 раз...

GEN
Offline
Зарегистрирован: 17.02.2017

Я чет непонял... а на фене тоже ПР? Там-же 50Гц и симистор. Или частота шим меньше 50Гц?

Ну конечно непрохо бы придумать фазоимпульсную регулировку на фен давно над этим бъюсь как сделать попроще на МК нигде не встречал пока достойной (чтоб регулировала от 0 до 100% и не моргала в начале и конце)

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

GEN пишет:
Или частота шим меньше 50Гц?

Там не ШИМ, в общем-то. Регулирование как и было, пропусками периодов/полупериодов, только время паузы-импульса не фиксированное, а изменяемое, в зависимости от текущей разницы температур и коэффициента.
Общее время задержки для цикла всегда одно - 200мсек, поэтому воздействие импульса включения может быть от одного периода (~12 мсек) до максимального значения в 5 периодов (100 мсек -> 50% от общей задержки).

ЗЫ. sKp лучше чуть уменьшить до 10-20, тогда минимум будет от половинки периода.

GEN
Offline
Зарегистрирован: 17.02.2017

ясненько. ну фен не много потребляет, соседи не заметят 

у себя я в последствии вообще прерывание убрал (не хватало мощи фена)

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

GEN, а почему мощи не хватало. Моим так можно костер распаливать ))). Но вот лампочка на потолке при работоющем фене раздражает. И диммер гте-то же валяется, надо поискать как-нибудь.

GEN
Offline
Зарегистрирован: 17.02.2017

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

 

Starihok
Starihok аватар
Offline
Зарегистрирован: 20.02.2017

GEN вот такой вариант попробуй сифу.

GEN
Offline
Зарегистрирован: 17.02.2017

Непонял???  Спасибо конечно за заботу, но я не понял это куда?

link
Offline
Зарегистрирован: 20.04.2017

OlegK пишет:

Возможно, правильно было бы, у логических переменных, использовать значения, как TRUE / FALSE, вместо HIGH / LOW, хоть оно и равнозначно. Как по мне, HIGH / LOW лучше описывают состояние пинов, а TRUE / FALSE - булевы переменные или истинность условий.

Не настаиваю, конечно ))

Мне тоже кажется правильней TRUE / FALSE, но HIGH / LOW действительно нагляднее, да и писалось не с нуля, так, что просто продолжил в авторском стиле. Тут как говорится кому, что нравится.

OlegK пишет:

Многочисленное считывание состояние пинов (кнопок, геркона) было бы лучше заменить на однократное
лог. переменная = чтение пина
а дальше просто читать состояние переменной в нужных местах. А то, к примеру, только проверка пина выключателя фена выполняется 9 раз, а геркона - 7 раз...

Здесь беспорно можно и нужно оптимизировать, благо память переменных занята всего на 18%.

Вообще инициализацию, считывание и запись в пины буду делать на прямую через регистры. Да и delay заменю на millis. 

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

Ребят, не сочтите за рекламу или флуд, делаю эксперементальный форум http://forum.ellpigy.com . Может кому-то будет интересно. Пока что там особо ничего нет. Но идея такая возникла потому-что на arduino.ru пока томик "Войны и мира" не прочитаешь, нужную информацию не найдешь. А ведь сохранить всю важную и последнюю информацию можно в первом посте, ведь это так просто, чтобы новичок не рыскал по просторам форума. Если есть желание у людей, которые допиливали станцию добавить важную информацию (прошивка, печатка, добавление геркона и т.д.) на мой сайт, милости прошу. Сильно не пинайте ,т.к. форум пока в разработке, но тем не менее полностью рабочий, кажется ).

Theodoro
Offline
Зарегистрирован: 30.05.2017

Посоветуйте паяльник. Дома 5 старых советских паяльников, а с современными дела не имел. В свое время был заказан на али типа Hakko T12, но в пути где то застрял. Да и не подходит он для этой ПС.

Вот этот подозрительно дешевый

https://www.aliexpress.com/item/Soldering-station-iron-handle-24V-For-HA...

Судя по отзывам, керамика и термосопротивление. Врут наверное. Разъём поменять не проблема.

Или вот такой

https://www.aliexpress.com/item/High-Quality-Soldering-Iron-Handle-For-H....

Какие здесь внутренности не понятно. 

И вообще какой тип термодатчика предпочтительнее?

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

Theodoro паяльники обычные с термопарой, на вид. В первоночальной версии станции такой и применяется, только желательно жало нормальное.

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

Theodoro пишет:
Судя по отзывам, керамика и термосопротивление. Врут наверное.

В отзывах не увидел никакой информации, но по фото нагревателя - керамический нагреватель и ТС.

Цитата:
Или вот такой

По второй ссылке фото нагревателя нет, но по отзыву купившего, сопротивление нагревателя ~14Ом - т.е. нихромовая спираль и ТП.

Theodoro
Offline
Зарегистрирован: 30.05.2017

Так куда ставить то? (с) В смысле какой брать то: с ТП или с ТС?

dimich
Offline
Зарегистрирован: 12.10.2016

OlegK пишет:

 но по фото нагревателя - керамический нагреватель и ТС.

 

как вы определили по фото? вот мой паяльник, такой же, сопротивление 13,5, термопара 2,5, специально перемерил.

http://s014.radikal.ru/i328/1706/7d/6138926d3952.jpg

 

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

Theodoro пишет:
с ТП или с ТС?

Схема ПС имеет усилитель под ТП, под ТС придётся изменять усилитель - Вы это осилите?
Если сомневаетесь - берите с ТП.

dimich пишет:
как вы определили по фото?

Кончик нагревателя плохо видно у Вас, но по тому, что вижу, могу предположить, что это нихром с ТП.
У настоящего керамического жала кончик с чёткой "ступенькой", а китайский вариант - керамическая трубка, внутрь помещена спираль, а кончик "зацементирован".

Theodoro
Offline
Зарегистрирован: 30.05.2017

Вот он же у другого продавца. Наверное всё же нихром в керамической обмазке, а датчик - ТС.

https://www.aliexpress.com/item/CNIM-Hot-Soldering-station-iron-handle-24V-For-HAKKO-907-ESD-936-937-928-926-IND008/32772551476.html?spm=2114.01010208.3.2.LTwxml&ws_ab_test=searchweb0_0,searchweb201602_5_10152_10065_10151_10068_10136_10137_10060_10138_10155_10062_437_10154_10056_5010020_10055_10054_10059_303_100031_10099_10103_10102_10096_10169_10052_10053_10142_10107_10050_10051_10084_10083_10119_10080_10082_10081_10110_519_10111_10112_10113_10114_10182_10185_10078_10079_5030020_10073_10123_10120_10189_142-10120,searchweb201603_1,ppcSwitch_4&btsid=99900501-dc69-488f-9ecb-c5756295d395&algo_expid=97779711-2cc8-45cd-b7ac-e794c3c36dd1-0&algo_pvid=97779711-2cc8-45cd-b7ac-e794c3c36dd1

Very pleased with a soldering iron! build quality and best of all, ceramic heater with thermistor! heater resistance of 5 ohms, терморезистора-54 ohms. very light especially after soldering the Soviet) wire-96 cm. delivery month. definitely recommend! Plug for this connector to 16x5.

Так пойдет, если ещё жала прикупить?

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

Theodoro пишет:
Наверное всё же нихром в керамической обмазке, а датчик - ТС.

Таких не бывает.
На фото продавца - керамика + ТС.

dimich
Offline
Зарегистрирован: 12.10.2016

спс. да у меня нет ступеньки, но и не видно что бы там что то замазано было, идеально ровный (всетаки слегка выпуклый) и гладкий торец.

допишу: когда я покупал пояльник, то сразу ориентировался на термопару 2,5 Ом, так что я точно знаю что там нихром и термопара.

Theodoro
Offline
Зарегистрирован: 30.05.2017

Если у него холодное сопротивление 5 Ом, то мой блок питания 24В/4-6А будет на пределе.

Наверное не стоит рисковать?

Или есть прошивки с плавным разогревом?

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

Theodoro пишет:
Если у него холодное сопротивление 5 Ом

На самом деле даже - 2.5-3.5...

Цитата:
Или есть прошивки с плавным разогревом?

Те, что с пропорциональным регулированием, можно легко доработать - ограничивать ШИМ на время разогрева до определённой температуры.

руня
Offline
Зарегистрирован: 05.06.2017

morski21 пишет:

Привет,
следовать ваш проект, и я решил сделать то же самое с экраном TFT все должны контролироваться с помощью сенсорного экрана, вам нужно только настроить графики с помощью программы, ваша помощь будет приветствоваться, извините за перевод
спасибо заранее Марио

а можно скетч ? и на каком дисплее делали ?

link
Offline
Зарегистрирован: 20.04.2017

del

Yahel
Offline
Зарегистрирован: 05.12.2016

Underbeat пишет:

 сори не то скинул, вот. на самом деле так.

 

Здравствуйте, я сделал вот эту плату ,если смотреть на схему то 23 нога это вентилятор фена , а на плате не так , правильно я думаю ? прошивка 0.7    обороты не регулируются ( тихо крутится и все ) , а паяльник вообще живет своей жизнью , подскажите пожалуйста как мне исправить эту проблему , скеч я не напишу . Мне проще плату переделать.

Theodoro
Offline
Зарегистрирован: 30.05.2017

Переделал схему на другой печатке из архива Кабазяки. Может из-за топологиии общего провода, но работает значительно стабильнее, без возбуждения и аппендикса для упраления кулером из схемы от GEN. Устранимо ли слабое мерцание при взгляде на дисплей под углом? Какова роль резистора 500 Ом на 15 ноге дисплея? Я пока не ставил.

Вопос по алгоритму работы реле защиты:

Какие контакты реле задействованы НО или НЗ? И зависит ли это от версии прошивки? Сейчас стоит 0.7.

И видимо желательно применить защитный диод параллельно катушке реле. Я буду ставить последовательно 2 реле на 12 В (других нет). 

 

dimich
Offline
Зарегистрирован: 12.10.2016

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

и еще. кто не знает (я не знал) как устроен не керамический (нихромный) нагреватель паяльника.

фото

kabazyaka
kabazyaka аватар
Offline
Зарегистрирован: 22.11.2016

Theodoro пишет:

Переделал схему на другой печатке из архива Кабазяки. Может из-за топологиии общего провода, но работает значительно стабильнее, без возбуждения и аппендикса для упраления кулером из схемы от GEN. Устранимо ли слабое мерцание при взгляде на дисплей под углом? Какова роль резистора 500 Ом на 15 ноге дисплея? Я пока не ставил.

Вопос по алгоритму работы реле защиты:

Какие контакты реле задействованы НО или НЗ? И зависит ли это от версии прошивки? Сейчас стоит 0.7.

И видимо желательно применить защитный диод параллельно катушке реле. Я буду ставить последовательно 2 реле на 12 В (других нет). 

 

Добрый день. По поводу дисплея( мерцания) попробуйте поиграть контрастностью дисплея или всё таки впаять 500Омник, он слегка ограничивает ток светодиода дисплея.В принципе , он не так уж и нужен , но на схеме Автора указан, я и поставил. У меня так же есть слабое мерцание под углом, но мне не критично. По поводу работы реле, как я понял, вопрос ещё не решён полностью, как и сам алгоритм. У меня стоит Ардуиновское реле на 5 вольт отдельной платкой, на ней и транзистор и диод уже есть.У нас стоит порядка 100 рублей, поэтому подумал, что лишний раз изобретать велосипед не нужно ,иначе бы переделал всю плату:) Контакты используются (у меня) НЗ, прошивка, кажись,0771, уже не помню:) Прошивки, начиная с 06 от Saloed111 и выше(по нумерации) слегка отличаются ( Универсальной пока нет)

kabazyaka
kabazyaka аватар
Offline
Зарегистрирован: 22.11.2016

Theodoro пишет:

Если у него холодное сопротивление 5 Ом, то мой блок питания 24В/4-6А будет на пределе.

Наверное не стоит рисковать?

Или есть прошивки с плавным разогревом?

Прошивку с плавным разогревом я , по моему, выкладывал несколько страниц назад.

kabazyaka
kabazyaka аватар
Offline
Зарегистрирован: 22.11.2016

https://yadi.sk/d/lP3NenHW3Ju7cm Ссылка на мой вариант с плавным разогревом паяльника (без русификатора).

kabazyaka
kabazyaka аватар
Offline
Зарегистрирован: 22.11.2016

dimich пишет:

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

и еще. кто не знает (я не знал) как устроен не керамический (нихромный) нагреватель паяльника.

фото

Спасибо

Yahel
Offline
Зарегистрирован: 05.12.2016

  спасибо  я  "массу" с самого начала не припаял )) , не думал про нее . Хочу сделать новую плату , может у кого есть  файл   .lay6 )) где все есть на своих местах).

Starihok
Starihok аватар
Offline
Зарегистрирован: 20.02.2017

Такая тишина, как перед бурей ))))  Наверное кто то свою версию выложит))) и будет обсуждение )))) ;)