Серый Хомячок

  • Увеличить размер шрифта
  • Размер шрифта по умолчанию
  • Уменьшить размер шрифта
Добро пожаловать, Гость
Пожалуйста Вход или Регистрация.    Забыли пароль?
ВнизСтраница: 12
Сообщения темы: Нижний подогрев.
#20661
Нижний подогрев. 1 мес. назад  
Пришла моя железяка. Два нерегулируемых режима 80 и 120 градусов, внутри скорей всего пара копеечных термореле. В комплекте силиконовый коврик толщиной 1.5..2мм, можно на стол лепить. Если использовать как подогрев, то годно. Если как термостол для пайки(с поддержкой заданного термопрофиля и ровным тепловым полем), то не годен даже как донор. Похоже дешевой альтернативы прошным столам нет.
 
Для добавления сообщений Вы должны зарегистрироваться или авторизоваться
#20662
Ulis
А вот и я! (с)
Пользователь в оффлайне Кликните здесь, чтобы посмотреть профиль этого пользователя
Пол: Мужской Страна, город: Piter День рождения: 03/12
Нижний подогрев. 1 мес. назад  
Прошный от стольника деревом вроде, если хороший?
 
«Умные нам не надобны. Надобны верные» (с)
Для добавления сообщений Вы должны зарегистрироваться или авторизоваться
#20663
Нижний подогрев. 1 мес. назад  
От ~15 деревянных, если маленький размер и голый стол, а все управление городить самому.
тут они есть termopro.ru/catalog/termostoly_podogreva_pechatnyx_p/

Не реклама, и даже не единственная годная технология.
 
Для добавления сообщений Вы должны зарегистрироваться или авторизоваться
#20664
Ulis
А вот и я! (с)
Пользователь в оффлайне Кликните здесь, чтобы посмотреть профиль этого пользователя
Пол: Мужской Страна, город: Piter День рождения: 03/12
Нижний подогрев. 1 мес. назад  
Ага, именно его и мел ввиду.
Наверное такую хреновину имеет смысл покупать комплектом, с верхней паялкой.

 
«Умные нам не надобны. Надобны верные» (с)
Для добавления сообщений Вы должны зарегистрироваться или авторизоваться
#20672
GREY
Новичок
Пользователь в оффлайне Кликните здесь, чтобы посмотреть профиль этого пользователя
Пол: Мужской Серый Хомячoк Страна, город: Латвия, Рига День рождения: 03/27
Нижний подогрев. 3 нед., 5 д. назад  
Выпилил донышко и промежуточную пластину из стеклотекстолита. На теплоизоляцию пустил какую-то вату синтетическую: не колется, разделяется на слои, режется ножницами, держит какие-то тыщи градусов.
Выпилил рамку. Завтра надо решить с проводом и с крутить в кучу. Ну ещё коробку надо выпилить для регулятора.
 
Последнее редактирование: 20.11.2018 20:25 Редактировал GREY.
Сергей
Для добавления сообщений Вы должны зарегистрироваться или авторизоваться
#20673
GREY
Новичок
Пользователь в оффлайне Кликните здесь, чтобы посмотреть профиль этого пользователя
Пол: Мужской Серый Хомячoк Страна, город: Латвия, Рига День рождения: 03/27
Нижний подогрев. 3 нед., 4 д. назад  
Ну собрал грелку, да. Провода сунул в кремнийорганическую трубку, по ходу одну термопару на этом месте заломал. Хорошо, что купил лишнюю. И да, как обычно, изгавнялся в термопасте от пяток до бровей.

Потыркал термопарой в поверхность - разница в 2 градуса максимум. Греется долго. Максимальная температура 250°С - грелки последовательно. Так что - это подогрев, хотя, наверное, можно и запаять, если уж совсем надо. Думаю, что если запараллелить можно чуть побольше нагреть.



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

Пойду коробочку для регулятора запилю.
 
Последнее редактирование: 21.11.2018 15:37 Редактировал GREY.
Сергей
Для добавления сообщений Вы должны зарегистрироваться или авторизоваться
#20703
GREY
Новичок
Пользователь в оффлайне Кликните здесь, чтобы посмотреть профиль этого пользователя
Пол: Мужской Серый Хомячoк Страна, город: Латвия, Рига День рождения: 03/27
Нижний подогрев. 3 нед., 2 д. назад  
Закончил.
 
Сергей
Для добавления сообщений Вы должны зарегистрироваться или авторизоваться
#20790
GREY
Новичок
Пользователь в оффлайне Кликните здесь, чтобы посмотреть профиль этого пользователя
Пол: Мужской Серый Хомячoк Страна, город: Латвия, Рига День рождения: 03/27
Нижний подогрев. 1 нед., 1 д. назад  
А никто не покажет нормально документированный ПИД для восьмибитника? А да, целочисленный. Или пните чего почитать.
 
Последнее редактирование: 08.12.2018 19:06 Редактировал GREY.
Сергей
Для добавления сообщений Вы должны зарегистрироваться или авторизоваться
#20791
Нижний подогрев. 1 нед., 1 д. назад  
в фене подсмотри
 
Для добавления сообщений Вы должны зарегистрироваться или авторизоваться
#20792
Нижний подогрев. 1 нед., 1 д. назад  
GREY писал(а):
А никто не покажет нормально документированный ПИД для восьмибитника? А да, целочисленный. Или пните чего почитать.
Там несколько строк всего, какая разница скольки битника?
например
olegart.ru/wordpress/reflow-soldering/
Интегратор там не гуд, работает пока все хорошо. Но если не сможет вырулить, то интегратор пойдет в переполнение. en.wikipedia.org/wiki/Integral_windup
В интеграторе надо использовать математику с насыщением.
Дифференциатор тоже примитив как валенок, может быть не очень хорош в конкретном применении.
 
Для добавления сообщений Вы должны зарегистрироваться или авторизоваться
#20794
GREY
Новичок
Пользователь в оффлайне Кликните здесь, чтобы посмотреть профиль этого пользователя
Пол: Мужской Серый Хомячoк Страна, город: Латвия, Рига День рождения: 03/27
Нижний подогрев. 1 нед. назад  
Я бы хотел остаться в рамках расчётов 8-м бит целых слов.

В том и дело, что хотелось бы более-менее готовое решение. Без грубых ошибок.
 
Последнее редактирование: 08.12.2018 23:49 Редактировал GREY.
Сергей
Для добавления сообщений Вы должны зарегистрироваться или авторизоваться
#20798
GREY
Новичок
Пользователь в оффлайне Кликните здесь, чтобы посмотреть профиль этого пользователя
Пол: Мужской Серый Хомячoк Страна, город: Латвия, Рига День рождения: 03/27
Нижний подогрев. 1 нед. назад  
Йобан-бобан, дифсоставляющая считается, оказывается, не от ошибки, а от управляющего сигнала! Вот это открытие! Я думал, что все три составляющего сигнала считаются от ошибки. Вот она сила читания книжек. Почитал теорию в коротких статьях и всё как то выстроились в голове, примерно, в какую то систему.
Получается, что для данного конкретного применения достаточно ПИ регулятора и целочисленного счисления, нужно просто взять и смасштабировать вверх все расчёты, ограничить значения И, а затем все смасштабировать вниз. Ну десяток строк кода получится.

МММ, еще такой вопрос: если у меня грелка пипец инерционная, то фазовое управление мне никуда не упиралось и я могу просто думать в процентах и управлять целыми полупериодами. Если так, то измерение/вычисления я могу тактировать так же сетью, если уж у меня детектор нуля будет. Нафиг еще и таймер, частота сети примерно стабильная, ничего же не засифачится? Не?

Где я ошибаюсь?
 
Последнее редактирование: 09.12.2018 17:31 Редактировал GREY.
Сергей
Для добавления сообщений Вы должны зарегистрироваться или авторизоваться
#20813
Нижний подогрев. 6 д., 22 ч. назад  
GREY писал(а):

Где я ошибаюсь?

Цепляешь термопару к процу, проц к компу и пишешь лог(номер семпла и температура в уарт) нагрева от нуля до упора.
Дальше по этому логу уже смотри(моделируй на си или калькуляторе рукопашно) будет ли считаться производная или всегда будет шум. Как повлияет интегратор и тп.

потом прицепи прстейший П регулятор и снова лог -> семл, температура, мощность.
Построишь графики гнуплотом, там и видно будет.
 
Для добавления сообщений Вы должны зарегистрироваться или авторизоваться
#20814
GREY
Новичок
Пользователь в оффлайне Кликните здесь, чтобы посмотреть профиль этого пользователя
Пол: Мужской Серый Хомячoк Страна, город: Латвия, Рига День рождения: 03/27
Нижний подогрев. 6 д., 12 ч. назад  
Не смогу вывести - ног не хватает. 18 ног: питание, земля, две для ZCD, температура, три на энкодер - входы посчитали с питанием, того 8 штук. Экран 6 ног, ШИМ для подсветки, выход, пищалка - одна нога в остатке. Нужно посмотреть, может можно сначала выводить, а потом использовать по другому.
 
Сергей
Для добавления сообщений Вы должны зарегистрироваться или авторизоваться
#20815
Нижний подогрев. 6 д., 2 ч. назад  
Возьми другую плату, да хоть ардуину. Уарт надо всегда выводить под подобные задачи, это на будущее.
 
Для добавления сообщений Вы должны зарегистрироваться или авторизоваться
#20816
GREY
Новичок
Пользователь в оффлайне Кликните здесь, чтобы посмотреть профиль этого пользователя
Пол: Мужской Серый Хомячoк Страна, город: Латвия, Рига День рождения: 03/27
Нижний подогрев. 6 д. назад  
Ни разу близко на ардуину не смотрел и не стремлюсь. 16F88 ещё пяток есть и покупать ничего не буду. Посмотрю можно ли скомбинировать как то.
В шпротеусе работает все. Только модель самой грелки сомнительная.
 
Сергей
Для добавления сообщений Вы должны зарегистрироваться или авторизоваться
#20823
GREY
Новичок
Пользователь в оффлайне Кликните здесь, чтобы посмотреть профиль этого пользователя
Пол: Мужской Серый Хомячoк Страна, город: Латвия, Рига День рождения: 03/27
Нижний подогрев. 4 д., 23 ч. назад  
А можно вообще схитртжопить: сделать две прошивки - рабочую и автотюн. Надо подумать.
 
Сергей
Для добавления сообщений Вы должны зарегистрироваться или авторизоваться
#20829
GREY
Новичок
Пользователь в оффлайне Кликните здесь, чтобы посмотреть профиль этого пользователя
Пол: Мужской Серый Хомячoк Страна, город: Латвия, Рига День рождения: 03/27
Нижний подогрев. 4 д., 5 ч. назад  
Артём писал(а):
в фене подсмотриПосмотрел. У тебя с плавающей точкой расчеты, я так думаю, что две операции деления, к примеру, сразу все ресурсы моего скромного пика отожрут. Я пытаюсь все оставить в целых числах.
Вопросы возникли: а чего ты закомментировал ограничение интегральной составляющей?
Так все же, диффсоставляющая считается от ошибки или от управляющего воздействия?
Вики пишет:
Дифференцирующая составляющая пропорциональна темпу изменения отклонения регулируемой величины и предназначена для противодействия отклонениям от целевого значения, которые прогнозируются в будущем. Отклонения могут быть вызваны внешними возмущениями или запаздыванием воздействия регулятора на систему.
И буквально через три строки формула:

где ясно видно, что расчет от ошибки.

Ладно, ниже есть ссылки, идем по первой и видим:
dTerm = pid->dGain * (position - pid->dState);
pid->dState = position;

Снова управляющий сигнал, а не ошибка.
Ладно смотрим еще ниже на полный код регулятора:
typedef struct
{
double dState; // Last position input
double iState; // Integrator state
double iMax, iMin;
// Maximum and minimum allowable integrator state
double iGain, // integral gain
pGain, // proportional gain
dGain; // derivative gain
} SPid;
double UpdatePID(SPid * pid, double error, double position)
{
double pTerm, dTerm, iTerm;

pTerm = pid->pGain * error; // calculate the proportional term
pid->iState += error; // calculate the integral state with appropriate limiting

if (pid->iState > pid->iMax)
pid->iState = pid->iMax;
else if (pid->iState < pid->iMin)
pid->iState = pid->iMin;
iTerm = pid->iGain * iState; // calculate the integral term
dTerm = pid->dGain * (position - pid->dState);
pid->dState = position;
return (pTerm + iTerm - dTerm);
}
Снова управляющий сигнал, но еще и диффсоставляющую отнимают из управляющего сигнала.

Открываем следующую ссылку с Вики: ...в обратную связь заводится также производная отклонения... - снова ошибка. И так везде и всюду: в одном месте пишут про ошибку, в другом про управляющий сигнал. А это немножко разное.

Я никогда никаких терморегуляторов не делал, поэтому нахожусь в легком а}{уе, и не понимаю как же правильно на самом деле?!
 
Последнее редактирование: 12.12.2018 16:35 Редактировал GREY.
Сергей
Для добавления сообщений Вы должны зарегистрироваться или авторизоваться
#20830
Нижний подогрев. 4 д., 3 ч. назад  
Дифсоставляющая это производная от сигнала ошибки. Есть много нюансов с практическими расчетами этой производной.
Например тормозная грелка и 10 семплов в сек, производную тупо считают по разнице между текущей и предыдущей ошибках. Вопрос, а много ли изменится ошибка за 0.1 сек у тормозной грелки и не будет ли этот сигнал по большому счету бестолковым шумом?

Зачем тебе надо делать D!=0 ?
Для большинства грелок достаточно PI.
Наличие D это всегда гемор, если уж решил что он нужен, то придется курить буквари и вникнуть в физический смысл.

Плавучка не так много жрет, на 90S8535 EMA фильтр считался влет 60 раз в сек и еще времени оставалось. Для атмеги уже 250 раз в сек не вопрос.
На STM32S071 примерно подобная плавучка легко 25к раз в сек и еще туева хуча другого кода крутится.

Возьми свой пик, заставь посчитать плавучку на разных данных, дрыгни ножкой и скоп повесь - узнаешь как быстро он может и как время среднее минимальное и максимальное.
 
Для добавления сообщений Вы должны зарегистрироваться или авторизоваться
#20831
GREY
Новичок
Пользователь в оффлайне Кликните здесь, чтобы посмотреть профиль этого пользователя
Пол: Мужской Серый Хомячoк Страна, город: Латвия, Рига День рождения: 03/27
Нижний подогрев. 4 д., 3 ч. назад  
Оперативка кончится с плавучкой. Да я тупо смасштабировал вверх всё на тысячу, в таком виде считается и готовый результат на тысячу делится. Дальше я управляющий полными полупериодами и мне нужны снова целые от 0 до 100, так что с этим всё в порядке. Приём не новый и не сложный.
С Д я тоже думаю, что нужно от ошибки. Набирает грелка быстро, температуру и расчёт/управление я делаю раз в секунду, синхронизируюсь по ZCD, без таймера. И тут ещё один вопрос: трансформатор фазу перекрутит? Не, ну можно взять с высокой стороны, отвязаться оптроном и завести на внешнее прерывание, без компаратора, так ещё одна нога сэкономится.
 
Сергей
Для добавления сообщений Вы должны зарегистрироваться или авторизоваться
#20832
Нижний подогрев. 4 д., 1 ч. назад  
Транс фазу крутит только при сильной нагрузке и заметной LS. В моей практике гораздо сильней крутили фильтры.
На прерывание фазу вешать надо подумать и запирать прерывание на время, иначе можно траблов словить на дребезге и помехах.

Множить и делить лучше на 256, оно значительно быстрей - достаточно поправить адреса. Ну или 1024.

Расчет производной это задача. Тупая разница между текущим и прошлым бывает разве что в букварях.

Медленный "Шим" надо делать алгоритмом Брезенхэма, ака дельтасигма.
медленная грелка на 3 квт, рулит в таймере(ZCD в твердотелку встроен и в моем софте не юзается)
Код:


typedef struct
{
  u16 ph_cnt;

  s32 sigma;
  s32 delta;
  s32 value;
  signed char power_cur; //Текущая мощность для алгоритма
}tdsheater;
tdsheater dsvar;


#define DSMAX_VALUE 32
void DeltaSigma_ModulatorTmr(void)
{
  //Value - входная величина (0..MAX_VALUE)
  //Delta-Sigma модулятор:
  //квантование:
  if(0==dsvar.value)
  {
    OutMatrix_TurnHeater(0);
  }else
  if(dsvar.ph_cnt==0)
  {
    dsvar.ph_cnt = reg_heaterSet.dsmod_takt_time*10; //0.2 sec cycle
    if(dsvar.sigma > DSMAX_VALUE)
    {
      dsvar.delta = -DSMAX_VALUE;
      OutMatrix_TurnHeater(1);
    }
    else
    {
      dsvar.delta = 0;
      OutMatrix_TurnHeater(0);
    }
    //суммирование:
    dsvar.sigma +=  (dsvar.value + dsvar.delta);
  }else
  {
    dsvar.ph_cnt--;
  }
  if(dsvar.value != dsvar.power_cur)
  {
    LogEvent_PushE_Simple(TS_EVENT_SIMPLE_NEW_POWER,dsvar.value);
  }
  dsvar.value = dsvar.power_cur;

}



OutMatrix_TurnHeater - это включатель - выключатель грелки
dsvar.power_cur - сюда заносишь требуемую мощность.
dsvar.ph_cnt - это делитель, если надо шпарить по прерыванию от ZCD непрерывно, то просто выкини его
 
Для добавления сообщений Вы должны зарегистрироваться или авторизоваться
#20834
Нижний подогрев. 4 д. назад  
GREY писал(а):

Вопросы возникли: а чего ты закомментировал ограничение интегральной составляющей?
Так все же, диффсоставляющая считается от ошибки или от управляющего воздействия?

Интегральная ограничена там рядышком. Точнее не совсем ограничена, а просто не накапливается, если воздействие большое.
И вообще, я ничего не знаю. Я как обычно чего-то накопировал из интернетов и оно работает.
 
Для добавления сообщений Вы должны зарегистрироваться или авторизоваться
#20835
GREY
Новичок
Пользователь в оффлайне Кликните здесь, чтобы посмотреть профиль этого пользователя
Пол: Мужской Серый Хомячoк Страна, город: Латвия, Рига День рождения: 03/27
Нижний подогрев. 3 д., 23 ч. назад  
Openreel писал(а):
Транс фазу крутит только при сильной нагрузке и заметной LS. В моей практике гораздо сильней крутили фильтры.
На прерывание фазу вешать надо подумать и запирать прерывание на время, иначе можно траблов словить на дребезге и помехах.
Ну, я так и думал. При перегрузке магнитится и начинает крутить, наверное такой механизм. Нафиг, возьму трансик чуть больше. В конце концов можно подкрутить опорным напряжением компаратора, если заметно много будет. Просто очень не хочется ни руками, ни приборами лазать по высокой стороне. Вот прямо ненавижу это делать, потею и лазаю одной рукой. Фу, бля, гадость какая!

Openreel писал(а):
Множить и делить лучше на 256, оно значительно быстрей - достаточно поправить адреса. Ну или 1024.Да, уменя именно на 1024 умножается\делится. Думаю, что оно там половчее получается, хотя асм я не смотрел, не проверял.

Openreel писал(а):
Расчет производной это задача. Тупая разница между текущим и прошлым бывает разве что в букварях.Ну а почему бы и не да? Интервал стабильный, дрожания не будет, можно чуть съехать с ноля, тогда гарантированно не будет заметного дрожания, времени - целая секунда, шума с термопары не предвидится. Должно же работать. Не будет - ну в одну строку ну нужно будет // поставить и будет ПИ. В интернетах все тупо разность за дельту Т делают. Что там можно придумать? Есть мысли?

Openreel писал(а):
Медленный "Шим" надо делать алгоритмом Брезенхэма, ака дельтасигма.
медленная грелка на 3 квт, рулит в таймере(ZCD в твердотелку встроен и в моем софте не юзается)
У меня инерция грелки большая и мне не нужно по всей секунде мощность размазывать, я включаю грелку в начале секунды, отсчитываю с помощью детектора ноля потребное количество полупериодов и выключаю. Прямой первод процентов мощности. Нужно ли мне дельта-сигму делать? Не вижу необходимости, возможно ошибаюсь, открой глаза, объясни.


Артём писал(а):
GREY писал(а):Вопросы возникли: а чего ты закомментировал ограничение интегральной составляющей?
Так все же, диффсоставляющая считается от ошибки или от управляющего воздействия?
Интегральная ограничена там рядышком. Точнее не совсем ограничена, а просто не накапливается, если воздействие большое.
И вообще, я ничего не знаю. Я как обычно чего-то накопировал из интернетов и оно работает.
Я понял, еще раз посмотрю что-как. Интересно же разобраться как оно должно работать. Так то у меня уже подогрев работает, можно пользоваться, но уж очень все медленно и криво.
 
Сергей
Для добавления сообщений Вы должны зарегистрироваться или авторизоваться
#20851
Нижний подогрев. 1 д., 11 ч. назад  
DS vs PWM - это просто. Положим тактовая 1 сек(вкл-выкл не чаще раза в сек), мощность установили 50%, 64 шага установки мощности. DS при таких условиях дает меандр с честотой 2 Гц, а PWM в 32 раза дольше. Получаешь заметно меньшую пилу по темературе. На мощностях близко к макс и мин существенной разницы между ДС и ШИМ нет.

Шум с термапары есть всегда - АЦП не бесконечную разрядность имеет. Сними логи и потом по ним считай, на сколько ступеней за 1 сек пошел нагрев. положим 3 ступеньки - погрешность 33%. И нафиг оно надо такое?

Теперь главное - D надо, если внезапно все поменялось и нагрев-остывание пошло совсем не так было. Например паяльник ткнули в полигон.
А в сабже у тебя откуда могут быть резкие изменения? Увидит ли их всегда, один термодатчик, или надо поставить много термодатчиков в разных местах....
Расчет производной не прост, там всякий непонятный матан и сильно от задачи зависит. Простейший случай - берутся три точки и для двух из них считается средняя(это цифровой фильтр с кривой АЧХ, но зато летает на любом проце). Можно брать 3-5 точек и считать производную через полиномы, можно делать плавающее окно с адаптивными параметрами, много чего есть, но сабжу да с дохлым процом это все зачем?
 
Для добавления сообщений Вы должны зарегистрироваться или авторизоваться
ВверхСтраница: 12
mod_vvisit_countermod_vvisit_countermod_vvisit_countermod_vvisit_countermod_vvisit_countermod_vvisit_countermod_vvisit_counter
Сейчас 54 гостей и 1 пользователь онлайн
Просмотры материалов : 1587985
Разработано "Marine Standard" SIA © 2009