1 2 3 4 5 6 7 8 9 10 10/10 10,00оценок: 19

"Народный контроллер" для теплового насоса

Тема в разделе "Геотермальные тепловые насосы", создана пользователем Pav2000, 21.03.16.

Статус темы:
Закрыта.
  1. Gaunt
    Регистрация:
    14.06.12
    Сообщения:
    14.697
    Благодарности:
    10.085

    Gaunt

    Живу здесь

    Gaunt

    Живу здесь

    Регистрация:
    14.06.12
    Сообщения:
    14.697
    Благодарности:
    10.085
    Адрес:
    Стерлитамак Уфимской Губернии
    Конечно, имеет смысл перевести в двоичный код и от него плясать.
    Но я тут не помощник, Асемблер изучал во времена х86 и так же благополучно забыл...за ненадобностью.
     
  2. Pav2000
    Регистрация:
    01.03.09
    Сообщения:
    1.018
    Благодарности:
    2.705

    Pav2000

    Живу здесь

    Pav2000

    Живу здесь

    Регистрация:
    01.03.09
    Сообщения:
    1.018
    Благодарности:
    2.705
    Адрес:
    Москва
    Не надо так делать
    1. АЦП у нас 12 бит.
    2. Все равно одно значение будет занимать два байта (что 10 что 12 бит) - выигрыша места не будет (вариант по битной упаковки не рассматривается).
    3. Не забывайте что датчик у нас 4-20 ма, и его надо калибровать (или хоть в диапазон поместить). Для этого у нас есть два параметра 0 и коэффициент преобразования. При таком подходе при изменении этих двух величин придется таблицу делать заново.

    Значения будут хранится в целых тысячных бара. т. е диапазон будет 0-65 бар. Температура будет рассчитываться по индексу массива (т.е. явно хранится не будет). Полная таблица -30+70 градусов (через 0.1) будет содержать 1000 значений давления или 2000 байт, что приемлемо.
     
    Последнее редактирование: 26.05.16
  3. 707
    Регистрация:
    22.02.11
    Сообщения:
    347
    Благодарности:
    255

    707

    Живу здесь

    707

    Живу здесь

    Регистрация:
    22.02.11
    Сообщения:
    347
    Благодарности:
    255
    Адрес:
    Екатеринбург
    Не проще ли не перебирать таблицы а применить закон Шарля или (извиняюсь) Гей-Люссака P/T=conct.
    или найти другую математическую зависимость давления и температуры насыщенного пара
     
    Последнее редактирование: 26.05.16
  4. dobrinia
    Регистрация:
    27.12.13
    Сообщения:
    4.445
    Благодарности:
    2.648

    dobrinia

    Живу здесь

    dobrinia

    Живу здесь

    Регистрация:
    27.12.13
    Сообщения:
    4.445
    Благодарности:
    2.648
    Адрес:
    Минск
    @707, точность важна. и нету такой универсальной зависимости под все фреоны.
    так что нет, не проще.
     
  5. 707
    Регистрация:
    22.02.11
    Сообщения:
    347
    Благодарности:
    255

    707

    Живу здесь

    707

    Живу здесь

    Регистрация:
    22.02.11
    Сообщения:
    347
    Благодарности:
    255
    Адрес:
    Екатеринбург
    я как раз про нее, понятно что закон Шарля для идеального газа,
    у нас константа меняется, но не беспорядочно...
    нужно сделать анализ и найти уравнение для каждого газа...
    кто-то на форуме дружит с математикой?
     
  6. SergCh
    Регистрация:
    23.01.09
    Сообщения:
    3.261
    Благодарности:
    2.310

    SergCh

    Живу здесь

    SergCh

    Живу здесь

    Регистрация:
    23.01.09
    Сообщения:
    3.261
    Благодарности:
    2.310
    Адрес:
    Москва
    @707, Формула для 410 газа в конце 1 страницы. Зависимость Мартина-Хау :)
     

    Вложения:

  7. dobrinia
    Регистрация:
    27.12.13
    Сообщения:
    4.445
    Благодарности:
    2.648

    dobrinia

    Живу здесь

    dobrinia

    Живу здесь

    Регистрация:
    27.12.13
    Сообщения:
    4.445
    Благодарности:
    2.648
    Адрес:
    Минск
    Что бы через эту формулу находить давление по температуре не только константы нужно подставлять. Там и переменных достаточно.
    Я может не мега спец, но по такой формуле работать невозможно.
     
  8. 707
    Регистрация:
    22.02.11
    Сообщения:
    347
    Благодарности:
    255

    707

    Живу здесь

    707

    Живу здесь

    Регистрация:
    22.02.11
    Сообщения:
    347
    Благодарности:
    255
    Адрес:
    Екатеринбург
    @SergCh, Мартин Хау классный мужик! и его уравнение описывает всю диаграмму данного фреона, нам же нужно найти простейшую функцию для графика с одной единственной линией по форме очень похожей на параболу, т. е. уравнение с одной переменной и одной неизвестной (все в пределах 10 лет образования образца СССР)
     
  9. dobrinia
    Регистрация:
    27.12.13
    Сообщения:
    4.445
    Благодарности:
    2.648

    dobrinia

    Живу здесь

    dobrinia

    Живу здесь

    Регистрация:
    27.12.13
    Сообщения:
    4.445
    Благодарности:
    2.648
    Адрес:
    Минск
    @707, Точность пострадает в некотором диапазоне тогда.
    зачем это все?
     
  10. Sheeny
    Регистрация:
    25.05.10
    Сообщения:
    740
    Благодарности:
    881

    Sheeny

    Живу здесь

    Sheeny

    Живу здесь

    Регистрация:
    25.05.10
    Сообщения:
    740
    Благодарности:
    881
    Адрес:
    Ивантеевка
    Я начинал для своего датчика делать таблицу соответствия значения АЦП давлению (еще до того, как эту тему создали). Но у меня датчик выдает напряжение 0 PSI = 0.5 V, 500 PSI = 4.5 V.

    Получалось примерно вот так:
    HTML:
    1 колонка - Дав Табличное BAR
    2 колонка - выход АЦП
    3 колонка - Дав с датчика BAR
    0,499    102    0,500
    0,503    103    0,505
    0,508    104    0,510
    0,513    105    0,515
    0,518    106    0,520
    0,523    107    0,524
    0,528    108    0,529
    0,533    109    0,534
    0,538    110    0,539
    0,543    111    0,544
    0,547    112    0,549
    0,552    113    0,554
    0,557    114    0,559
    0,562    115    0,563
    0,567    116    0,568
    0,572    117    0,573
    0,577    118    0,578
    0,582    119    0,583
    0,587    120    0,588
    0,591    121    0,593
    0,596    122    0,598
    0,601    123    0,603
    0,606    124    0,607
    0,611    125    0,612
    0,616    126    0,617
    0,621    127    0,622
    0,626    128    0,627
    0,630    129    0,632
    0,635    130    0,637
    0,640    131    0,642
    0,645    132    0,646
    0,650    133    0,651
    0,655    134    0,656
    0,660    135    0,661
    0,665    136    0,666
    0,670    137    0,671
    0,674    138    0,676
    0,679    139    0,681
    0,684    140    0,686
    0,689    141    0,690
    0,694    142    0,695
    0,699    143    0,700
    0,704    144    0,705
    0,709    145    0,710
    0,714    146    0,715
    0,718    147    0,720
    0,723    148    0,725
    0,728    149    0,729
    0,733    150    0,734
    0,738    151    0,739
    0,743    152    0,744
    0,748    153    0,749
    0,753    154    0,754
    0,758    155    0,759
    0,762    156    0,764
    0,767    157    0,769
    0,772    158    0,773
    0,777    159    0,778
    0,782    160    0,783
    0,787    161    0,788
    0,792    162    0,793
    0,797    163    0,798
    0,802    164    0,803
    0,806    165    0,808
    0,811    166    0,812
    0,816    167    0,817
    0,821    168    0,822
    0,826    169    0,827
    0,831    170    0,832
    0,836    171    0,837
    0,841    172    0,842
    0,846    173    0,847
    0,850    174    0,852
    0,855    175    0,856
    0,860    176    0,861
    0,865    177    0,866
    0,870    178    0,871
    0,875    179    0,876
    0,880    180    0,881
    0,885    181    0,886
    0,890    182    0,891
    0,894    183    0,896
    0,899    184    0,900
    0,904    185    0,905
    0,909    186    0,910
    0,914    187    0,915
    0,919    188    0,920
    0,924    189    0,925
    0,929    190    0,930
    0,934    191    0,935
    0,938    192    0,939
    0,943    193    0,944
    0,948    194    0,949
    0,953    195    0,954
    0,958    196    0,959
    0,963    197    0,964
    0,968    198    0,969
    0,973    199    0,974
    0,978    200    0,979
    
    т. е. цепочка такая: Напряжение с датчика = значению АЦП = давление BAR (пересчитанное по формуле
    BAR = (0,0136*V + 0,4307)*0,069) = примерно табличному значению BAR = табличное значение температуры, которое помещается в массив и вызывается по значению АЦП...
    Погрешность - примерно 0.02 BAR
     
  11. 707
    Регистрация:
    22.02.11
    Сообщения:
    347
    Благодарности:
    255

    707

    Живу здесь

    707

    Живу здесь

    Регистрация:
    22.02.11
    Сообщения:
    347
    Благодарности:
    255
    Адрес:
    Екатеринбург
    наверное контроллеру легче вычислить температуру из показаний датчика давления по функции, чем округлять до ближайшего в таблице, находить значение и ехать дальше, да еще и хранить эти таблицы...
     
  12. Pav2000
    Регистрация:
    01.03.09
    Сообщения:
    1.018
    Благодарности:
    2.705

    Pav2000

    Живу здесь

    Pav2000

    Живу здесь

    Регистрация:
    01.03.09
    Сообщения:
    1.018
    Благодарности:
    2.705
    Адрес:
    Москва
    Смена датчика приведет к необходимости пересчета таблицы. Получается что каждый должен будет сам пересчитать таблицу. Это плохой подход. Таблица должна увязывать давление с температурой без ссылок на датчики (она должна быть теоретической).
    Поставил датчик давления, откалибровал (нормировал) его, что бы он давал адекватные значения давления, а дальше пересчитал в температуру по таблице. Смена датчика потребует только его калибровки.

    Конечно легче, но зато мне труднее :hello:
    Вы конечно извините но разбираться с формулой Мартина-Хау мне очень не хочется, по таблице оно понятнее и проще.
    Если кто напишет (для 12 фреонов) четкие (готовые) формулы со всеми коэффициентами то я готов написать код через формулы. Но данные должны быть готовы к написанию кода.
    Точность - 12 битный АЦП дает 4048 значений теоретическая точность около 0.025% от всего диапазона датчика, т. е три знака после запятой избыточны для нашего АЦП (т.е. за глаза хватит).
    12 фреонов по 2 кб - 24 кБ при объеме флеша 512 и текучем объеме кода 75 кБ это нормально.

    Отчет о проделанной работе.
    На этой неделе я был на выставке "Металлообработка -2016" по этому контроллеру было уделено мало времени.
    Немного подрос прототип, установил часики, и память EEPROM (это было основным) на I2C. Буду писать сохранение настроек туда.
    Реализовал запросы для поддержки установок для работы ЭРВ (см файл)
    Код не выкладываю, изменения минимальны.
     

    Вложения:

    • 20160524_074115.jpg
  13. Sheeny
    Регистрация:
    25.05.10
    Сообщения:
    740
    Благодарности:
    881

    Sheeny

    Живу здесь

    Sheeny

    Живу здесь

    Регистрация:
    25.05.10
    Сообщения:
    740
    Благодарности:
    881
    Адрес:
    Ивантеевка
    ну да, это подход для штучного производства в личных целях, Ваш проект намного шире :hello:
     
  14. Gaunt
    Регистрация:
    14.06.12
    Сообщения:
    14.697
    Благодарности:
    10.085

    Gaunt

    Живу здесь

    Gaunt

    Живу здесь

    Регистрация:
    14.06.12
    Сообщения:
    14.697
    Благодарности:
    10.085
    Адрес:
    Стерлитамак Уфимской Губернии
    А ну - придется заменить 1 января - ближе к обеду:)]
    Весь цимус - я тебя слепила, из того, что было. Т. е. ремонтопригодность.
     
  15. dobrinia
    Регистрация:
    27.12.13
    Сообщения:
    4.445
    Благодарности:
    2.648

    dobrinia

    Живу здесь

    dobrinia

    Живу здесь

    Регистрация:
    27.12.13
    Сообщения:
    4.445
    Благодарности:
    2.648
    Адрес:
    Минск
    @Sheeny, нас Много, самодельщиков.
    Стараемся сделать контроллер таким, что б его не только пару человек внедрило, а множество!
    Что бы самодельщик мог простыми способами настроить свой ТН по разным датчикам и алгоритмам на нужный режим, а не крутить болты на ТРВ, подрезать капилярки и бегать с манометрами вокруг ТН ...
     
Статус темы:
Закрыта.