Anonymous
RE
ок проверю
спасибо!
RE
но тут вспоминается, что два таких же девайса работают нормально...
Захар
Хм, ведь скрипты для ардуине на легком спп
Там есть классы?
RE
структуры есть вроде
RE
или это не мне вопрос
Захар
Всем знающим
AntikillerVova 🇷🇺
AntikillerVova 🇷🇺
У IRFZ44N в среднем открытие при 3.1-3.3в
RE
Тогда полевик брак
не похоже.. я уже два проверил
точнее сделал два девайса по этой схеме.
уже такое впечатление, что как будто от места установки все зависит..
AntikillerVova 🇷🇺
RE
купил 10 новых
Th0r
RE
новые ставил. но не менял конечно
AntikillerVova 🇷🇺
Th0r
Я знаю
А какого хера ты с ф доебываешься?
AntikillerVova 🇷🇺
Если брал на али или с китая, то там могли другие прислать, а маркировку перебить
RE
в чипе брал
RE
итак, повесть про глюк с ребутом девайса.
чето каждый сезон происходят перманентные проблемы с одним из девайсов.
все работают, и только один чето выеживается.
вкратце - девайс на базе ардуино и лора радиомодуля.
меряет температуру снега сенсорами ds18b20
еще есть лазерный модуль-дальномер - измеряет высоту снега.
питается девайс от 3 банок LiPo - так получилось, что 1 банка - 5000mAh, 2-я - 4500mAh, 3-я - 4000mAh. (не я соединял, не успел проконтролировать)
банки соединены параллельно для увеличения емкости.
так вот - пока банки заряжены полностью - гдето до 4.25в - все работает как надо.
девайс спит, просыпается раз в минуту, слушает эфир, если ничего не слышит - засыпает снова.
если слышат вызов от шлюза - запрос на данные - запускает процедуры опроса термосенсоров и лазера.
это все работает примерно 3 недели, до уровня когда вольтаж на барее падает до 4.15в - данные о вольтаже приходят в радиопакете вместе с остальными данными.
потом начитаются какието необъяснимые глюки - при запросе данных четко видно, что девайс перезагружается. это видно при следующем запросе, в данных которые все таки пришли в этот раз.
потом видно, что девайс все чаще и чаще начинает ребутиться.
и все реже от него можно получить данные.
но все это время, в полученных данных видно, что напряжение на батарее 4 с чем-то вольта..
и вот еще через некоторое время такой "работы" девайса проявляется второй глюк - в приходящих уже очень редко данных, видно, что напряжение на батарее - всего 2.6 вольта! 2.65, 2.67 - по разному около этих значений.
я снимаю девайс с горы, - меряю мультиметром - 4.11в!
снимаю данные через радиоканал - опять 2.65!
как-то глючит делитель??
но как так.. он же работал до этого нормально.
как это можно объяснить?
разбираю корпус девайса, отсоединяю провода термосенсоров - опять 2.65 в пришедших данных, а на мультике по прежнему 4.11
выключаю, отсоединяю лазер - приходит 4.11
подключаю все сенсоры - и термо и лазер - опять 4.11
и судя по всему оно конечно же заглючит после 2-3 недель после очередной установки на горе
вот как это все можно объяснить?
какието паразитные емкости-токи-сопротивления накапливаются в схеме? ну магия прям.
Th0r
AntikillerVova 🇷🇺
AntikillerVova 🇷🇺
итак, повесть про глюк с ребутом девайса.
чето каждый сезон происходят перманентные проблемы с одним из девайсов.
все работают, и только один чето выеживается.
вкратце - девайс на базе ардуино и лора радиомодуля.
меряет температуру снега сенсорами ds18b20
еще есть лазерный модуль-дальномер - измеряет высоту снега.
питается девайс от 3 банок LiPo - так получилось, что 1 банка - 5000mAh, 2-я - 4500mAh, 3-я - 4000mAh. (не я соединял, не успел проконтролировать)
банки соединены параллельно для увеличения емкости.
так вот - пока банки заряжены полностью - гдето до 4.25в - все работает как надо.
девайс спит, просыпается раз в минуту, слушает эфир, если ничего не слышит - засыпает снова.
если слышат вызов от шлюза - запрос на данные - запускает процедуры опроса термосенсоров и лазера.
это все работает примерно 3 недели, до уровня когда вольтаж на барее падает до 4.15в - данные о вольтаже приходят в радиопакете вместе с остальными данными.
потом начитаются какието необъяснимые глюки - при запросе данных четко видно, что девайс перезагружается. это видно при следующем запросе, в данных которые все таки пришли в этот раз.
потом видно, что девайс все чаще и чаще начинает ребутиться.
и все реже от него можно получить данные.
но все это время, в полученных данных видно, что напряжение на батарее 4 с чем-то вольта..
и вот еще через некоторое время такой "работы" девайса проявляется второй глюк - в приходящих уже очень редко данных, видно, что напряжение на батарее - всего 2.6 вольта! 2.65, 2.67 - по разному около этих значений.
я снимаю девайс с горы, - меряю мультиметром - 4.11в!
снимаю данные через радиоканал - опять 2.65!
как-то глючит делитель??
но как так.. он же работал до этого нормально.
как это можно объяснить?
разбираю корпус девайса, отсоединяю провода термосенсоров - опять 2.65 в пришедших данных, а на мультике по прежнему 4.11
выключаю, отсоединяю лазер - приходит 4.11
подключаю все сенсоры - и термо и лазер - опять 4.11
и судя по всему оно конечно же заглючит после 2-3 недель после очередной установки на горе
вот как это все можно объяснить?
какието паразитные емкости-токи-сопротивления накапливаются в схеме? ну магия прям.
А что у тебя за мк который работает от 4.2в
RE
што
AntikillerVova 🇷🇺
Если ты перезагружаешь агрегат отключая питание и он потом работает исправно, то либо по или контакт)
Олександр
што
Пробуй понизить тактовую частоту. На твой проц должна быть в даташите инфа на каких частотах в зависимости от напряжения может работать проц.
Byte
Ложная сработка бота:
Byte
люди добрые
посоветуйте конекторы водонепроницаемые
для проводов
AntikillerVova 🇷🇺
RE
AntikillerVova 🇷🇺
разбираю корпус девайса, отсоединяю провода термосенсоров - опять 2.65 в пришедших данных, а на мультике по прежнему 4.11
выключаю, отсоединяю лазер - приходит 4.11
подключаю все сенсоры - и термо и лазер - опять 4.11
и судя по всему оно конечно же заглючит после 2-3 недель после очередной установки на горе
вот как это все можно объяснить?
какието паразитные емкости-токи-сопротивления накапливаются в схеме? ну магия прям.
AntikillerVova 🇷🇺
Вот
AntikillerVova 🇷🇺
Что за лазер?
Defragmented
First
дк не бери что дадут. посмотри хоть что используют - будешь знать что искать
First
К сварочникам вот провода быстро присоединяются например
Олександр
Th0r
metaclass
metaclass
xt60
Алексей
Привет! есть кто по коду ардуины может подсказать?
Алексей
да
Алексей
у каждого своё хобби
Алексей
один. нормальный офтальмолог есть
shadowsoul
показалось - хорошие оккультисты...
Алексей
#include <dht11.h>
dht11 DHT;
#define DHT11_PIN_S 4
#define DHT11_PIN_I 5
#include <OneWire.h>
int DS18S20_Pin = 2;
OneWire ds(DS18S20_Pin);
#define echoPin 7 // Echo Pin
#define trigPin 8 // Trigger Pin
#define LEDPin 13 // Onboard LED
int maximumRange = 300; // Maximum range needed
int minimumRange = 0; // Minimum range needed
long duration, distance; // Duration used to calculate distance
void setup()
{
Serial.begin(9600); // подключаем монитор порта
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(LEDPin, OUTPUT); // Use LED indicator (if required)
Serial.println("Start"); // выводим текст на монитор 1 раз
}
void loop()
{
int a = Serial.read();
switch(a)
{
case '1': //температура и влажность щитка
{
int dht_shield;
dht_shield = DHT.read(DHT11_PIN_S);
Serial.print("Shield ");
Serial.print("Temperature,\t ");
Serial.print(DHT.temperature,1);
Serial.print(" Humidity,\t ");
Serial.println(DHT.humidity,1);
break;
}
case '2': //температура комнаты
{
byte data[2];
ds.reset();
ds.write(0xCC);
ds.write(0x44);
ds.reset();
ds.write(0xCC);
ds.write(0xBE);
data[0] = ds.read();
data[1] = ds.read();
float temperature = ((data[1] << 8) | data[0]) * 0.0625;
Serial.print("Room ");
Serial.println(temperature);
break;
}
case '3': //температура и влажность инкубатора dht11
{
int dht_incubator;
dht_incubator = DHT.read(DHT11_PIN_I);
Serial.print("Incubator ");
Serial.print("Temperature,\t ");
Serial.print(DHT.temperature,1);
Serial.print(" Humidity,\t ");
Serial.println(DHT.humidity,1);
break;
}
case '6':
{
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = duration/58.2;
if (distance >= maximumRange || distance <= minimumRange){
/* Send a negative number to computer and Turn LED ON
to indicate "out of range" */
Serial.println("-1");
digitalWrite(LEDPin, HIGH);
}
else {
/* Send the distance to the computer using Serial protocol, and
turn LED OFF to indicate successful reading. */
Serial.println(distance);
break;
}
}
//case '4': //температура и влажность брудера dht11
//case '5': //уровень воды
//case '6': //уровень комбикорма для кур Ultrasonic
//case '7': //температура и влажность холодильника dht11
}
}
Th0r
#include <dht11.h>
dht11 DHT;
#define DHT11_PIN_S 4
#define DHT11_PIN_I 5
#include <OneWire.h>
int DS18S20_Pin = 2;
OneWire ds(DS18S20_Pin);
#define echoPin 7 // Echo Pin
#define trigPin 8 // Trigger Pin
#define LEDPin 13 // Onboard LED
int maximumRange = 300; // Maximum range needed
int minimumRange = 0; // Minimum range needed
long duration, distance; // Duration used to calculate distance
void setup()
{
Serial.begin(9600); // подключаем монитор порта
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(LEDPin, OUTPUT); // Use LED indicator (if required)
Serial.println("Start"); // выводим текст на монитор 1 раз
}
void loop()
{
int a = Serial.read();
switch(a)
{
case '1': //температура и влажность щитка
{
int dht_shield;
dht_shield = DHT.read(DHT11_PIN_S);
Serial.print("Shield ");
Serial.print("Temperature,\t ");
Serial.print(DHT.temperature,1);
Serial.print(" Humidity,\t ");
Serial.println(DHT.humidity,1);
break;
}
case '2': //температура комнаты
{
byte data[2];
ds.reset();
ds.write(0xCC);
ds.write(0x44);
ds.reset();
ds.write(0xCC);
ds.write(0xBE);
data[0] = ds.read();
data[1] = ds.read();
float temperature = ((data[1] << 8) | data[0]) * 0.0625;
Serial.print("Room ");
Serial.println(temperature);
break;
}
case '3': //температура и влажность инкубатора dht11
{
int dht_incubator;
dht_incubator = DHT.read(DHT11_PIN_I);
Serial.print("Incubator ");
Serial.print("Temperature,\t ");
Serial.print(DHT.temperature,1);
Serial.print(" Humidity,\t ");
Serial.println(DHT.humidity,1);
break;
}
case '6':
{
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = duration/58.2;
if (distance >= maximumRange || distance <= minimumRange){
/* Send a negative number to computer and Turn LED ON
to indicate "out of range" */
Serial.println("-1");
digitalWrite(LEDPin, HIGH);
}
else {
/* Send the distance to the computer using Serial protocol, and
turn LED OFF to indicate successful reading. */
Serial.println(distance);
break;
}
}
//case '4': //температура и влажность брудера dht11
//case '5': //уровень воды
//case '6': //уровень комбикорма для кур Ultrasonic
//case '7': //температура и влажность холодильника dht11
}
}
ну блин, такое лучше на пастбин, а сюда вопрос
Алексей
тут получается всё работает кроме случая 6
Spanish Inquisition
Сегодня выборы!
Не забудь выбрать Главного Инквизитора недели.
Отдано 43 голоса
Для голосования написать @SpanishInquisitionBot команду start (впереди слеш!)
Или отдай свой голос тут:
First
Кстати, раз уж про разъёмы: никто случаем не знает что это за фиговина в 4-х проводных холдерах 18650 в качестве контактов используется? Мне кажется что это часть какого-то РЧ разъёма типового.
First
First
зачем это?
First
Тогда тебя в основной группе вопрос по теме ждёт. Что-то про радиопоглощение там...)
First
https://t.me/ru_electronics/88608
Алексей
в отдельном Void выдаёт расстояние нормально, а в switch через case выдаёт всегда -1, вне зависимости от расстояния
Алексей
https://pastebin.com/dG4TvU6e
так?
Алексей
case '6': он делает запрос на датчик
Алексей
не помогло )
Th0r
не помогло )
оно и не должно было помочь, это надо отлаживать, смотреть что именно возвращают тебе функции и дедуктивным методом вычислить ошибку
metaclass
с ним есть интеерсный косяк
metaclass
printf является барьером
metaclass
и поэтому меняет поведение многопоточных программ.
Th0r
Алексей
Distance Error
0
Алексей
Выдаёт только это
№
Алексей
млин. я мимо датчик воткнул. спасибо за отзывчивость ) всё работает )
Th0r
это кембербетч или бриенна? чота не пойму
First
Ассандж )
№
Александр
First
Ruslan
Byte
@ruslanpopov, во 👆
Ruslan
офигеть
Ruslan
что-то #kikad перестал реагировать на F8 на плате, не читает нетлист, и явную его загрузку игнорирует
Kyle
вот
Ant
вот
500 кгц сигнал , при этом ток принимает 2 значения -40 ма и +40 ма?