Bingo

Ответы в темах

Просмотр 1 сообщения - с 1 по 1 (всего 1)
  • Автор
    Сообщения
  • #112112
    Bingo
    Участник
    • Ответов: 1
    @bingo

    День добрый

    Печатная плата изготовлена ​​и распаяна из архива LB_2.41 https://mega.nz/folder/0cVHCQxD#v88F3NDciYzCcNducI30SA

    Прошивка скомпилирована и прошита из архива через arduino-1.8.5-windows

    В user_config_h_ датчик давления сменил на свой BMP280

    // Какой используем датчик давления

    //#define          Pressure_BMP085

    //#define          Pressure_BMP180

    #define               Pressure_BMP280

    //#define          Pressure_BME280

     

    Давление показывало все время – 760

    Датчик давления BMP280 по шине I2C имеет адрес – 0x76

    В библиотеке Adafruit_BMP280_Library-master в файле Adafruit_BMP280 изменил #define BMP280_ADDRESS (0x76)

    Датчик давления начал показывать верные значения

     

    ОБРАТИТЕ ВНИМАНИЕ!!! Может возникнуть такая ситуация, при которой модуль не будет определяться при подключении его по шине I2C. Дело в том, что каждое устройство на этой шине должно иметь свой уникальный адрес. Данная серия модулей в зависимости от модификации может иметь адреса 0x77 или 0x76. Библиотека Adafruit_BMP280.h использует по умолчанию адрес 0х77. Чтобы изменить его на 0х76 необходимо открыть файл Adafruit_BMP280.h установленной библиотеки любым текстовым редактором и найти там нижеследующую строку:#define BMP280_ADDRESS (0x77) /**< The default I2C address for the sensor. */Меняем адрес в скобках на 0х76, сохраняем файл и перекомпилируем программу. После данных манипуляций проблема должна исчезнуть.

    Клапана у меня нормально закрыты

    В user_config_h_ написано

    // Если клапан нормально закрыты ставим false

    // Если клапан нормально открытый ставим true

    #define                PWM_CH1_Invert           false

    #define                PWM_CH2_Invert           false

    #define                PWM_CH3_Invert           false

    #define                PWM_CH4_Invert           false

    // Дальше 5 строк не трогаем

    #define                PWM_CH5_Invert           false

    #define                PWM_CH6_Invert           false

    #define                PWM_CH7_Invert           false

    #define                PWM_CH8_Invert           false

    #define                PWM_CH9_Invert           false

    Они не работали

    Пришлось поменять на

    // Если клапан нормально закрыты ставим false

    // Если клапан нормально открытый ставим true

    #define                PWM_CH1_Invert           true

    #define                PWM_CH2_Invert           true

    #define                PWM_CH3_Invert           true

    #define                PWM_CH4_Invert           true

    // Дальше 5 строк не трогаем

    #define                PWM_CH5_Invert           false

    #define                PWM_CH6_Invert           false

    #define                PWM_CH7_Invert           false

    #define                PWM_CH8_Invert           false

    #define                PWM_CH9_Invert           false

    Все заработало

    В чем причина, почему при конфигурации false не работают клапаны?

     

    Подключил датчики безопасности

    1. Датчик уровня воды: Черный – не используетсяСиний – земля (GND)Желтый – данные (in A0)Коричневый – питание (+5v)

    2. Датчик паров этанола:GND датчика – земля (GND)A0 датчика – данные (in A1)Vcc датчика – питание (+5v)

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

    Датчик паров этанола при приближении к банку со спиртом загорается красный светодиод на датчике, но не раздается сигнал о наличии спирта в воздухе, а также сенсорном экране не отображается срабатывание датчика.

    Попытался изменять значение в user_config_h_#define               thresholdAN0  1000#define

    thresholdAN1  1500#define

    thresholdAN2  1000#define

    thresholdAN3  1000#define

    Увеличивал, уменьшал значение не помогло, датчики не работают

    В прошивкев файле adc.cpp

    #include “adc.h”

     

    Adafruit_ADS1115 ads;

     

    void adcInit() {

    ads.begin();

    ads.setGain(GAIN_ONE);

    }

    // чтение всех внешних каналов АЦП

    void adcLoop() {

    uint16_t data;

    if (millis() – adcTimeRead >= 1000) {

    adcTimeRead = millis();

    //Serial.println(“Start”);

    data = ads.readADC_SingleEnded(AN0);

    data = ads.readADC_SingleEnded(AN0);

    if (data > thresholdAN0 && data < 65000) { adcIn[0].data = data; adcIn[0].allert = true; }

    else { adcIn[0].data = 0; adcIn[0].allert = false; }

    data = ads.readADC_SingleEnded(AN1);

    data = ads.readADC_SingleEnded(AN1);

    if (data > thresholdAN1 && data < 65000) { adcIn[1].data = data; adcIn[1].allert = true; }

    else { adcIn[1].data = 0; adcIn[1].allert = false; }

    data = ads.readADC_SingleEnded(AN2);

    data = ads.readADC_SingleEnded(AN2);

    if (data > thresholdAN2 && data < 65000) { adcIn[2].data = data; adcIn[2].allert = true; }

    else { adcIn[2].data = 0; adcIn[2].allert = false; }

    data = ads.readADC_SingleEnded(AN3);

    data = ads.readADC_SingleEnded(AN3);

    if (data > thresholdAN3 && data < 65000) { adcIn[3].data = data; adcIn[3].allert = true; }

    else { adcIn[3].data = 0; adcIn[3].allert = false; }

     

    //Serial.print(“AIN0: “); Serial.println(adcIn[0].data);

    //Serial.print(“AIN1: “); Serial.println(adcIn[1].data);

    //Serial.print(“AIN2: “); Serial.println(adcIn[2].data);

    //Serial.print(“AIN3: “); Serial.println(adcIn[3].data);

    //Serial.println(” “);

    в файле adс.h

    //   Проект центра открытого проектирования у Счастливчика https://LuckyCenter.ru

    #ifndef _ADC_h

    #define _ADC_h

     

    #if defined(ARDUINO) && ARDUINO >= 100

    #include “arduino.h”

    #else

    #include “WProgram.h”

    #endif

     

    #include “setting.h”

    #include <Adafruit_ADS1015.h>

     

    extern void adcInit();

    extern void adcLoop();

     

    #endif

    При срабатывании одного из датчиков безопасности должно: -прозвучать сигнал о срабатывании датчика?

    – на сенсорном экране отобразится срабатывание датчика?

    В чем причина не работающих датчиков безопасности?

    Датчики безопасности при срабатывании работают прямо на сигнализацию или останавливают какие-либо процессы (ратификации, дистилляции)?

    Датчик протечки имеет 2 провода.

    Как его подсоединить ( один провод от датчика на питание (+5v), а второй на (in A2) ?

    При отсутствии напряжения 220 в на сенсорном экране отображается 220V.

    При подаче напряжения 220В на сенсорном экране отображается 380V.

    При этом тен отключен от твердотельного реле (SSD-40DA) и подключен ZMPT101B

    В чем причина, неправильно ли работает ZMPT101B или проблема в прошивке?

    Как проверить работу ZMPT101B?

    В прошивке в файле adc.cpp

    // Замер напряжения сети

    uint16_t minVoltage = 1024;

    uint16_t maxVoltage = 0;

    uint16_t adcRez;

    unsigned long timeAdc = millis() + 40;

    while (timeAdc > millis()) {

    adcRez = analogRead(0);

    if (minVoltage > adcRez) minVoltage = adcRez;

    if (maxVoltage < adcRez) maxVoltage = adcRez;

    }

    //Voltage = (maxVoltage – minVoltage) >> 2; // для MCP602

    Voltage = maxVoltage – minVoltage; // для LM358

    if (Voltage < 50) Voltage = 230; // модуль zmpt101 отсутствует

    float deltaPercent = 100 – (Voltage / 2.3);

     

    // вычислим коррекцию для ТЭНа

    if (power.heaterPower == 100) power.heaterPowerCorr = 100;

    else if (power.heaterPower > 0) {

    deltaPercent /= (100 / power.heaterPower);

    if ((power.heaterPower + deltaPercent) <= 100 && (power.heaterPower + deltaPercent) >= 0) power.heaterPowerCorr = uint8_t(power.heaterPower + deltaPercent);

    else if ((power.heaterPower + deltaPercent) > 100) power.heaterPowerCorr = 100;

    else if ((power.heaterPower + deltaPercent) < 0) power.heaterPowerCorr = 0;

    }

    else power.heaterPowerCorr = 0;

    }

    }

    В чем разница между прошивкой что в архиве от JONA https://mega.nz/folder/0cVHCQxD#v88F3NDciYzCcNducI30SA и от разработчика luckycenter.ru https://github.com/TheLuckyChip/LuckyBox ?

    Будет ли на плате LB_2.41 от JONA https://mega.nz/folder/0cVHCQxD#v88F3NDciYzCcNducI30SA корректно работать прошивка  от разработчика luckycenter.ru https://github.com/TheLuckyChip/LuckyBox ?

Просмотр 1 сообщения - с 1 по 1 (всего 1)