Проблема с вольтажом
- Войдите на сайт для отправки комментариев
Пнд, 25/04/2022 - 12:35
Всем доброго времени суток, есть проблема с вольтажом датчика давления. Начал делать код на плате Ардуино Уно и все прекрасно работало но потом решил переделать код под ESP8266 и под ESP-NOW все принципе работает но плохо. Выходит так что вольтаж между ESP И Ардуино отличается, ESP у 0,625 рази больше показывет. Может кто-то знает в чем дело?
//Код на плату Ардуино #include <Wire.h> #include <LiquidCrystal_PCF8574.h> #define DELTA_V_Press 20 #define Input_V 5000 #define pin_Press_sensor 2 #define LCD_ADDRESS 0x27 #define SERIAL_BAUD 115200 int PotenciometrPin = A0; int Value = 0; float ves = 0; float Value_volt = 0; float Press_sensor = 0; LiquidCrystal_PCF8574 lcd(LCD_ADDRESS); void setup() { Serial.begin(SERIAL_BAUD); pinMode(pin_Press_sensor, INPUT); Wire.begin(); Wire.beginTransmission(LCD_ADDRESS); lcd.begin(20, 4); lcd.setBacklight(0); delay(100); lcd.setBacklight(55); lcd.clear(); lcd.setCursor(0, 1); lcd.print("Pressure sensor test"); delay(2000); lcd.clear(); } void loop() { { const byte count_read = 20; int Value = 0; int Analog_data_read[count_read]; Value = analogRead(PotenciometrPin); Value_volt = (float)5 / 1025 * Value; delay(300); if ((Value_volt >= 0.500) && (Value_volt <= 4.500)) { } if (Value_volt < 0.500) { Press_sensor = 0; } else if (Value_volt > 0.500) { Press_sensor = (Value_volt - 0.5) * 2.490 ; } if (Value_volt < 1.3); { ves = 0; } if (Value_volt > 1.3); { ves = Press_sensor * 1.07; } } { lcd.setCursor(8, 0); lcd.print(" V:"); lcd.print(Value_volt); lcd.print("V"); lcd.setCursor(0, 0); lcd.print("W:"); lcd.print(ves); lcd.print("T"); lcd.setCursor(0, 1); lcd.print("Pressure: "); lcd.print(Press_sensor); lcd.print(" bar "); } }
Понятное дело. Uno питается от 5В, а ESP от 3,3В
Может кто-то знает в чем дело?
А чего тут знать, у Вас в коде прямо прописаны ардуиновские 5В. Кто их за Вас будет на 3,3 менять?
тут и формулы имеются
CHARODEY, вы издеваетесь или правда настолько темный?
Все измерения на аналоговых пинах делаются ОТНОСИТЕЛЬНО УРОВНЯ ПИТАНИЯ, у ЕСП питание 3.3в. у ардуины 5в.... что-то еще надо пояснять?
Или вы в этом коде вообще ни буквы не понимаете? :)))
А как мне тогда запитать 5В датчик? (В интернете было написано: Для питания на плату можно подавать напряжение от 5 до 12 В, но рекомендуется от 10 В.) Если не ошибаюсь то на пину VIN 5 Воль
Ну походу так и есть. Не случайно я зашел на Песочницу. Если не сложно подскажите как можна решить даную проблему?
А как мне тогда запитать 5В датчик? (В интернете было написано: Для питания на плату можно подавать напряжение от 5 до 12 В, но рекомендуется от 10 В.) Если не ошибаюсь то на пину VIN 5 Воль
А как мне тогда запитать 5В датчик? (В интернете было написано: Для питания на плату можно подавать напряжение от 5 до 12 В, но рекомендуется от 10 В.) Если не ошибаюсь то на пину VIN 5 Воль
питайте как питали. Напряжение питания на пине VIN не имеет ни малейшего отношения к вашей проблеме, какое бы ни было входное напряжение, у вас на чипе ЕСП всегда 3.3в. И именно это значение надо подставлять в формулу вычисления сигнала с датчика.
Кстати. если вы питаете датчик давления от 5в и потом подаете сигнал на ЕСП - вы можете сжечь ЕСП
Я понял, а как можна считывать 5в? Получаетса плата не подходит
Я понял, а как можна считывать 5в? Получаетса плата не подходит
поставить резистивный делитель так, чтобы на выходе напряжение не превышало 3.3 вольта
Я понял, а как можна считывать 5в? Получаетса плата не подходит
сравните свое давление с номиналом для датчика - может он никогда и не выдаст вам больше 3.3в
Не выйдет датчик от 0,5 до 4,5 вольта нужны именно ети 5вольт
Не выйдет датчик от 0,5 до 4,5 вольта нужны именно ети 5вольт
судя по фразе - вы вообще не понимаете, о чем речь...
Кто вам это поручил? Может найти более грамотного исполнителя? а то сожгете плату - обидно будет.
Выдаст( на сайте пишут и проверено через ардуино уно он выдаёт 5вольт
Не выйдет датчик от 0,5 до 4,5 вольта нужны именно ети 5вольт
чего там не выйдет-то, переводите делителем в напряжения от 0 до 3.3 вольта и подавайте на ESP8266
бред. Через ардуину вы никак не смогли бы это проверить...
Чем дальше читаю - тем больше впечатление, что вы занимаетесь не своим делом.
Не правильно сформулировал. Я далёк от всего этого и не понимаю как уно выдает правильно вольтаж, а ESP нет
видимо надо поЧИтать
PS если не ставить делитель, то править тут:
https://wikihandbk.com/wiki/Arduino:%D0%A5%D0%B0%D0%BA%D0%B8%D0%BD%D0%B3...
Вы за ети методы говорили?
Это надо смотреть нагрузочную способность вашего датчика, резисторы можно увеличить в 10 раз, будет 10ком и около 20 ком, нижнее плечо подогнать, чтобы при подаче напряжения 5 вольт на делителе было ровно 3.3 вольта
Не выйдет датчик от 0,5 до 4,5 вольта нужны именно ети 5вольт
Не выйдет датчик от 0,5 до 4,5 вольта нужны именно ети 5вольт
вы идиот?
вам обьясняют, как преобразовать "именно ети 5вольт" в нужные для ЕСП 0-3.3в, а вы все свое твердите. Если так уверены, что "не выйдет" - нафига спрашивать. Тогда выкиньте свою ЕСП и идите... все делайте на Уно.
Тут извиняюсь проблема з инетом видимо ответ как-то залагал
Тут извиняюсь проблема з инетом видимо ответ как-то залагал
ну и у меня тоже проблемы... слово в начале прошлого ответа вставилось само... не знаю теперь как убрать...
скетч приёмника с ошибками однако
Ну что поделаешь куда без ошибок, учусь пока что, а где именно ошибка? И можна задам вопрос: нужно подключить резистивный делитель так что-бы было 3,3 вольта на выходе, но куда подключать в етом нажаль не силен нашел пару схем и калькулятор, но не понял где ту схему нужно организовать
Нашел детский емулятор можете подсказать где именно нужны резисторы?
Этот рисунок наврятли кто рассматривать будет. Лучше иди на форум гивера, там такие рисунки любят.
У коллег терпение кончилось) Попробую я.
Возьми два одинаковых резистора по 10-20 кОм, соедини вывод одного резистора с выводом другого и входом ЕСП. Свободный вывод одного резистора соедини с землей (минусом питания), а свободный вывод второго резистора - с выходом датчика. Все.
Хах)
Дякую всему вашему колективу, и тебе за то что пояснил как младенцу)