ПИД регулятор

На этом форуме Вы можете задать вопросы знатокам программы и автору.
Аватара пользователя
scadapack
Рядовой
Сообщения: 83
Зарегистрирован: 07.09.2015{, 05:18}
Репутация: 5
Откуда: Степногорск
Имя: Вячеслав

ПИД регулятор

#41

Сообщение scadapack » 05.10.2015{, 09:46}

В вашем варианте возможно применить стабилизатор тока с возможностью отключения от дискретного выхода ардуино. Тогда можно увеличить ток через термосопротивление до достижения падения напряжения до питания контроллера при максимальной измеряемой температуре. Желательно при этом поставить защитный диод от аналогово входа на питание 5В, чтобы возможный избыток напряжения стекал на питание контроллера. Ну или защитный стабилитрон включить.
    Контроллер должен разрешить работу стабилизатора тока кратковременно, на период измерения температуры. За тем отключать ток. Аналогично работают вычислители количества, например ВКТ-7. Тем самым вы спасёте датчик от возможного перегрева и добьётесь высшей точности.

Аватара пользователя
DerAlex
Лейтенант
Сообщения: 437
Зарегистрирован: 06.09.2015{, 08:39}
Репутация: 11
Откуда: Новосибирск

ПИД регулятор

#42

Сообщение DerAlex » 05.10.2015{, 09:51}

Хорошая идея . Спасибо за подсказку.
аврора

Аватара пользователя
Skull
Лейтенант
Сообщения: 424
Зарегистрирован: 08.09.2015{, 16:18}
Репутация: 4
Откуда: Мариуполь

ПИД регулятор

#43

Сообщение Skull » 05.10.2015{, 23:36}

Ребята, нельзя на датчиках PT50-100 задирать ток выше 1.2ма.
Кроме всего прочего для точного расчета надо вычислять сопротивление, а далее -полином. Иначе точность получите аховую.
Изображение
В= -5,775*10-7,  а - омы на градус.
Кому интересно-
http://temperatures.ru/communi....f523e55
Последний раз редактировалось Skull 05.10.2015{, 23:39}, всего редактировалось 1 раз.

Аватара пользователя
scadapack
Рядовой
Сообщения: 83
Зарегистрирован: 07.09.2015{, 05:18}
Репутация: 5
Откуда: Степногорск
Имя: Вячеслав

ПИД регулятор

#44

Сообщение scadapack » 06.10.2015{, 07:33}

ссылка
Лучше применить датчик такого типа. Тут и точность, и дешевизна, и герметичность.
Последний раз редактировалось scadapack 06.10.2015{, 07:38}, всего редактировалось 1 раз.

Аватара пользователя
Max
Лейтенант
Сообщения: 691
Зарегистрирован: 06.09.2015{, 13:12}
Репутация: 5
Откуда: Тюмень-Баку
Имя: Максим

ПИД регулятор

#45

Сообщение Max » 06.10.2015{, 08:36}

scadapack писал(а):Лучше применить датчик такого типа. Тут и точность, и дешевизна, и герметичность.
Уже говорилось, что у DS18 диапазон измеряемой температуры небольшой.....

Аватара пользователя
scadapack
Рядовой
Сообщения: 83
Зарегистрирован: 07.09.2015{, 05:18}
Репутация: 5
Откуда: Степногорск
Имя: Вячеслав

ПИД регулятор

#46

Сообщение scadapack » 06.10.2015{, 08:50}

DerAlex писал(а):Блок Скалирования . Входная характеристика :0.....1023 .
Выходная : 1.....714 .
Соответственно 100=0 градусов Цельсия.
200=плюс 100 градусов Цельсия.
Я так понимаю, что верхний диапазон 100 градусов. Тогда этот датчик пойдёт. У него диапазон -55 ~ +125 градусов.

Аватара пользователя
DerAlex
Лейтенант
Сообщения: 437
Зарегистрирован: 06.09.2015{, 08:39}
Репутация: 11
Откуда: Новосибирск

ПИД регулятор

#47

Сообщение DerAlex » 06.10.2015{, 10:10}

Спасибо друзья за замечания и предложения.Я их учту в будущем.
Сейчас просто на первом этапе необходимо проверить работу  программы и клапана.
Клапан для регулировки температуры в бойлере .
Рабочая температура на выходе из бойлера 50-70 градусов.
В этом диапазоне температуры этот датчик свободно можно использовать
с достаточной точностью.Термометр сопротивления тип 50 М .
Сопротивление его изменяется от 50 ом при 0 градусов до 100 ом при 100 градусах.
Низкоомный датчик не подвержен помехам на длинной линии даже при подключении
его обыкновенным не экранированным кабелем.Длина линии может быть и 50-100 метров.
аврора

Аватара пользователя
Skull
Лейтенант
Сообщения: 424
Зарегистрирован: 08.09.2015{, 16:18}
Репутация: 4
Откуда: Мариуполь

ПИД регулятор

#48

Сообщение Skull » 06.10.2015{, 11:59}

ТСМ-50М ??
50 Ом при 0 и 92,775 Ом при 200
Последний раз редактировалось Skull 06.10.2015{, 12:01}, всего редактировалось 1 раз.

Аватара пользователя
DerAlex
Лейтенант
Сообщения: 437
Зарегистрирован: 06.09.2015{, 08:39}
Репутация: 11
Откуда: Новосибирск

ПИД регулятор

#49

Сообщение DerAlex » 07.10.2015{, 06:08}

Изображение Вовремя вы . А я сижу настраиваю диапазон датчика .И что то не получается. Вы совершенно правы.
При 100 градусах 71,390 ом.При 200 = 92,775 ом.

Добавлено (07.10.2015, 06:08)
---------------------------------------------
Для термометров сопротивления тип 50М и 100М в диапазоне температур 0....150 градусов расчет сопротивления ведется по упрощенной формуле.
Rt=R0{1+At},где Rt - сопротивление датчика при требуемой температуре,R0 - сопротивление датчика при нуле градусов Цельсия.(50 ом для градуировки
50М и 100 ом для 100М). A - температурный коэффициент равный 0,00428 .

НАПРИМЕР -Температура 60 градусов Цельсия, нужно рассчитать сопротивление датчика при температуре плюс 60 градусов,
                                     Rt = 50 ом * ( 1 + 0,00428*60 ) = 62,84 ом.
аврора

Аватара пользователя
Skull
Лейтенант
Сообщения: 424
Зарегистрирован: 08.09.2015{, 16:18}
Репутация: 4
Откуда: Мариуполь

ПИД регулятор

#50

Сообщение Skull » 07.10.2015{, 20:49}

Эта упрощенная формула гнет параболу по погрешности. На концах диапазона до 1.5 град.

Аватара пользователя
DerAlex
Лейтенант
Сообщения: 437
Зарегистрирован: 06.09.2015{, 08:39}
Репутация: 11
Откуда: Новосибирск

ПИД регулятор

#51

Сообщение DerAlex » 08.10.2015{, 06:27}

Изображение Вы от Arduino ждете чудес. Их не будет. АЦП в Arduino 10-ти разрядное , 0...1023 . Погрешность по любому будет 1, 5 градуса. Необходимо 12 -ти разрядное преобразование , 0...4095.

Добавлено (08.10.2015, 06:27)
---------------------------------------------
Да и по большому счету какая разница между водой температурой 70 градусов и 70, 2 градуса . Кто это может заметить? Еще раз объясняю. Речь идет об управлении клапана на бойлере.
аврора

Аватара пользователя
Alex54
Сержант
Сообщения: 281
Зарегистрирован: 06.09.2015{, 09:06}
Репутация: 1
Откуда: Москва

ПИД регулятор

#52

Сообщение Alex54 » 08.10.2015{, 07:07}

С Уважением Alex

Аватара пользователя
DerAlex
Лейтенант
Сообщения: 437
Зарегистрирован: 06.09.2015{, 08:39}
Репутация: 11
Откуда: Новосибирск

ПИД регулятор

#53

Сообщение DerAlex » 08.10.2015{, 07:17}

Arduino Due — плата микроконтроллера на базе процессора Atmel SAM3X8E ARM Cortex-M3 (описание). Это первая плата Arduino на основе 32-битного микроконтроллера с ARM
ядром. На ней имеется 54 цифровых вход/выхода (из них 12 можно
задействовать под выходы ШИМ), 12 аналоговых входов, 4 UARTа (аппаратных
последовательных порта), a генератор тактовой частоты 84 МГц, связь по
USB с поддержкой OTG, 2 ЦАП (цифро-аналоговых преобразователя), 2 TWI,
разъем питания,  разъем SPI, разъем JTAG, кнопка сброса и кнопка
стирания.
  • Аналоговые входы: выводы с A0 по A11 
    Плата Arduino Due имеет 12 аналоговых входов, каждый из которых может
    обеспечить разрешение 12 бит (т.е. 4096 различных значений). По
    умолчанию установлено разрешение 10 бит для совместимости с другими
    платами Arduino. Разрешение АЦП можно менять при помощи функции analogReadResolution(). Аналоговые ходы Due производят измерения от уровня земли до
    максимального значения 3,3 В. Приложение к этим выводам напряжения свыше
    3,3 В вызовет повреждение кристалла SAM3X. Функция analogReference() на
    Due игнорируется.
    Вывод AREF подключен к аналоговому выводу опорного напряжения SAM3X
    через резисторный мост. Для активации вывода AREF необходимо отпаять с
    печатной платы резистор BR1.
  • DAC1 и DAC2 
    На выводах ЦАП  DAC1 и DAC2 предоставляются достоверные аналоговые выходы с 12-битным разрешением (4096 уровней) при помощи функции analogWrite(). Данные выводы можно использовать для создания аудиовыхода, используя при этом библиотеку Audio.
аврора

Аватара пользователя
Skull
Лейтенант
Сообщения: 424
Зарегистрирован: 08.09.2015{, 16:18}
Репутация: 4
Откуда: Мариуполь

ПИД регулятор

#54

Сообщение Skull » 08.10.2015{, 07:18}

DerAlex писал(а):Их не будет. АЦП в Arduino 10-ти разрядное , 0...1023 .
 Оверсемплинг дает нужную точность, проверено неоднократно ))

Аватара пользователя
DerAlex
Лейтенант
Сообщения: 437
Зарегистрирован: 06.09.2015{, 08:39}
Репутация: 11
Откуда: Новосибирск

ПИД регулятор

#55

Сообщение DerAlex » 08.10.2015{, 07:26}

Интересно, кто то уже использовал Arduino Due ?

Добавлено (08.10.2015, 07:26)
---------------------------------------------
Друзья , давайте подходить к обсуждению более конструктивно.Нужны более детальные предложения, без воды .
аврора

Аватара пользователя
Skull
Лейтенант
Сообщения: 424
Зарегистрирован: 08.09.2015{, 16:18}
Репутация: 4
Откуда: Мариуполь

ПИД регулятор

#56

Сообщение Skull » 08.10.2015{, 07:41}


Аватара пользователя
Alex54
Сержант
Сообщения: 281
Зарегистрирован: 06.09.2015{, 09:06}
Репутация: 1
Откуда: Москва

ПИД регулятор

#57

Сообщение Alex54 » 08.10.2015{, 09:01}

DerAlex писал(а):Интересно, кто то уже использовал Arduino Due ?
Пока этого модуля нет в поддержке FLProg. Думаю со временем будет. Да и не дешевый он.

У нее есть аналоговые выходы. Вот чем она и сильна. Не говоря уже про частоту проца.

А с нашими генераторами в FLProg по частотному диапазону далеко не уедешь. Не знаю занимается

кто этим.

Принцип простой аналогового выхода. На выходах стоят Цапы. Они формируют
амплитуду вых. сигнала. Внутренним генератором, в данном случае если бы этот
блок стоял у нас в программе. Мы на выходе могли бы получать любые по форме
сигналы. И синус и треугольник и пилы со спадом или с нарастанием. По частоте
заданной этим генератором. Теперь если мы используем входной анал. вход . И нам
надо делать какие-то преобразования с этим сигналом и выдавать на анал. выход
преобразованный сигнал. Понятно что внутри самой ардуинки все сигналы преобразуются в цифру. Нашей цифровой базой мы и делаем это.

Даже на других, почти всех серий контроллеров, чтобы вывести какой-то сложный
сигнал на выходе ставят ЦАП. ( набор резисторов ) вне контроллера.
 А на Due это все внутри.  Многие проблемы при этом отпадают. Выходов 2 аналоговых.
 А не с десяток цифровых.
Вложения
8643447.jpg
Последний раз редактировалось Alex54 08.10.2015{, 19:26}, всего редактировалось 1 раз.
С Уважением Alex

Аватара пользователя
DerAlex
Лейтенант
Сообщения: 437
Зарегистрирован: 06.09.2015{, 08:39}
Репутация: 11
Откуда: Новосибирск

ПИД регулятор

#58

Сообщение DerAlex » 08.10.2015{, 20:19}

Понял как можно повысить точность . Нужно менять усиление входного сигнала в зависимости от уровня ЗАДАНИЯ.
Подключить например четыре компаратора и в зависимости от 
уровня ЗАДАНИЯ переключать диапазоны усиления.

Добавлено (08.10.2015, 20:19)
---------------------------------------------
Завтра попробую этот способ на макетной плате.
аврора

Аватара пользователя
Skull
Лейтенант
Сообщения: 424
Зарегистрирован: 08.09.2015{, 16:18}
Репутация: 4
Откуда: Мариуполь

ПИД регулятор

#59

Сообщение Skull » 08.10.2015{, 22:55}

Средствами FlProg вполне можно осилить оверсемплинг. 
Выглядит довольно просто :
набираем 4^N 10-битных измерений, где N число дополнительных битов (т.е для 12 битов- 16 измерений)
Сдвигаем вправо N раз. (т.е 2 раза для 12 бит).
Логический сдвиг вправо эквивалентен делению нацело на 2. т. е . можно просто разделить результат суммы 16 измерений на 4.

Аватара пользователя
DerAlex
Лейтенант
Сообщения: 437
Зарегистрирован: 06.09.2015{, 08:39}
Репутация: 11
Откуда: Новосибирск

ПИД регулятор

#60

Сообщение DerAlex » 09.10.2015{, 06:47}

Экспериментальная установка Изображение
Последний раз редактировалось DerAlex 09.10.2015{, 06:52}, всего редактировалось 1 раз.
аврора

Ответить

Вернуться в «Спросить у знатоков»