Страница 3 из 8

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

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

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

Добавлено: 05 окт 2015, 09:51
DerAlex
Хорошая идея . Спасибо за подсказку.

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

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

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

Добавлено: 06 окт 2015, 07:33
scadapack
ссылка
Лучше применить датчик такого типа. Тут и точность, и дешевизна, и герметичность.

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

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

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

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

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

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

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

Добавлено: 06 окт 2015, 11:59
Skull
ТСМ-50М ??
50 Ом при 0 и 92,775 Ом при 200

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

Добавлено: 07 окт 2015, 06:08
DerAlex
Изображение Вовремя вы . А я сижу настраиваю диапазон датчика .И что то не получается. Вы совершенно правы.
При 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 ом.

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

Добавлено: 07 окт 2015, 20:49
Skull
Эта упрощенная формула гнет параболу по погрешности. На концах диапазона до 1.5 град.

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

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

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

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

Добавлено: 08 окт 2015, 07:07
Alex54

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

Добавлено: 08 окт 2015, 07:17
DerAlex
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.

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

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

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

Добавлено: 08 окт 2015, 07:26
DerAlex
Интересно, кто то уже использовал Arduino Due ?

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

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

Добавлено: 08 окт 2015, 07:41
Skull

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

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

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

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

кто этим.

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

Даже на других, почти всех серий контроллеров, чтобы вывести какой-то сложный
сигнал на выходе ставят ЦАП. ( набор резисторов ) вне контроллера.
 А на Due это все внутри.  Многие проблемы при этом отпадают. Выходов 2 аналоговых.
 А не с десяток цифровых.

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

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

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

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

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

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

Добавлено: 09 окт 2015, 06:47
DerAlex
Экспериментальная установка Изображение