Защита от перегрева AV ресивера Pioneer нужна помощь!!!

Ralnikov74
Offline
Зарегистрирован: 23.08.2018

Всем доброго времени суток! Уважаемые Гуру в программировании ардуино, необходима помощь в написании или подправлении программы. Короче история такая: как то раз слушал музон на ресивере и сгорел НЗ динамик в колонке, тем самым закоротив канал в усилке в следствии чего каскадник сгорел))) а все потому что колонки тоже пионеровские, вскрыв их я не увидел никакой защиты!!! даже не было ни одного намека на кроссы! сволочи.

Так вот еще и обнаружил что дико греется ресивер на большой громкости и было решено поставить нормальный радиатор и воздушное охлаждение, но на всякий случай решено сделать отдельное управление охлаждением. Были куплены мега 2560, DHT22, дисплей SSD1306, твердотельное реле на 2 канала.

Задумка такая: Датчик температуры висит на радиаторе и мерит температуру, при нагреве - от 35 гралусов по Цельсию включаются кулеры на первом канале реле, а через второй канал реле идет питание 220в самого ресивера для того чтобы при достижении 80 градусов он отрубал питание ресивера чтоб не погорел. И нужно чтоб на дисплее выводиласть информация о температуре радиатора, и работе релюшек. Прошу сильно не пинать!))) В программировании не силен, после сидения трех дней в нете наклепал не понятно что, но температуру показывает и один канал получилось подружить на отключение питания при достижении 80 градусов и наоборот.

 Вот что получилось:

#include "U8glib.h"
#include "dht.h"
 
#define dht_pin 2
#define OLED_MOSI 20
#define OLED_CLK 21
#define OLED_RESET 4
static int reley = 3;
 
dht DHT;
 
//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NONE);                     // I2C / TWI 1.3
U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE|U8G_I2C_OPT_DEV_0);    // I2C / TWI 0.96
 
void draw(void) {
u8g.setFont(u8g_font_helvR14); u8g.drawStr(0, 25, "Temp: ");
u8g.setFont(u8g_font_helvR24);
u8g.setPrintPos(60, 25); u8g.print(DHT.temperature, 0); u8g.drawStr(100, 25, "c");
}
void setup()
{
pinMode(reley, OUTPUT);
}
 
void loop(void) {
 
if(DHT.temperature >= 1)
{
digitalWrite(reley, HIGH);
}
 
if(DHT.temperature <= 80)
{
digitalWrite(reley, LOW);
}
 
DHT.read22(dht_pin);
 
u8g.firstPage(); do { draw();
} while( u8g.nextPage() ); 
delay(1000); 
}
 
Спасибо за внимание и понимание!)))
mykaida
mykaida аватар
Offline
Зарегистрирован: 12.07.2018

Вставьте правильно код программы - так

Дайте схему.

После этого Вам будут помогать.

mykaida
mykaida аватар
Offline
Зарегистрирован: 12.07.2018

И вот тут почитайте про библиотеку dht-h

Вы не определили пин, на котором стоит датчик температуры и тип датчика. Как контроллер догадается - что Вы от него хотите?

Ralnikov74
Offline
Зарегистрирован: 23.08.2018

Пин я определил) #define dht_pin 2

#include "U8glib.h"
#include "dht.h"
 
#define dht_pin 2
#define OLED_MOSI 20
#define OLED_CLK 21
#define OLED_RESET 4
static int reley = 3;
 
dht DHT;
 
//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NONE);                     // I2C / TWI 1.3
U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE|U8G_I2C_OPT_DEV_0);    // I2C / TWI 0.96
 
void draw(void) {
u8g.setFont(u8g_font_helvR14); u8g.drawStr(0, 25, "Temp: ");
u8g.setFont(u8g_font_helvR24);
u8g.setPrintPos(60, 25); u8g.print(DHT.temperature, 0); u8g.drawStr(100, 25, "c");
}
void setup()
{
pinMode(reley, OUTPUT);
}
 
void loop(void) {
 
if(DHT.temperature >= 1)
{
digitalWrite(reley, HIGH);
}
 
if(DHT.temperature <= 80)
{
digitalWrite(reley, LOW);
}
 
DHT.read22(dht_pin);
 
u8g.firstPage(); do { draw();
} while( u8g.nextPage() ); 
delay(1000); 
}

А схему рисовать что ли?!

mykaida
mykaida аватар
Offline
Зарегистрирован: 12.07.2018

То, что у Вас заработало - это ЧУДО. Вот этим #define dht_pin 2 Вы говорите предпроцессору на место dht_pin поставить цифру 2.

Объявление класса должно быть как-то так:

#define DHTPIN 2  // задаем контакт подключенный 
                  // к сигнальному контакту датчика (S)
 
 
// задаем тип подключаемого датчика
 
#define DHTTYPE DHT11   // DHT 11
                        // DHT 22  (AM2302), AM2321
                        // DHT 21 (AM2301)
 
// обьявляем обьект dht с параметрами
DHT dht(DHTPIN, DHTTYPE);

И в setup{} необходимо включить dht.begin()

И прочитайте про dht.h, классы, а то как с глухим общаюсь.

Ralnikov74
Offline
Зарегистрирован: 23.08.2018

Да я Вас понял)))) но блин не шарю я в программировании! поэтому и получается "общение с глухим"))) для чего нужно dht.begin() если датчик запущен и передает показания?!

mykaida
mykaida аватар
Offline
Зарегистрирован: 12.07.2018

Ralnikov74 пишет:

Да я Вас понял)))) но блин не шарю я в программировании! поэтому и получается "общение с глухим"))) для чего нужно dht.begin() если датчик запущен и передает показания?!

Скорее всего в классе есть значения по умолчанию. Но использование этого - путь в пропасть. Вы ничего не контролируете и велика вероятность ошибок и сбоев программы.

Теперь по программе:

Хотите добавить еще реле - добавьте на любой свободный порт.

Хотите задать ему какое-то условие так напишите типа 

32 if(DHT.temperature > 80)
33 {
34 digitalWrite(reley1, HIGH);
35 }else digitalWrite(reley1, LOW);

 

Ralnikov74
Offline
Зарегистрирован: 23.08.2018

Понял, спасибо! А как вывести на экран состояние релюшек ВКЛ или ВЫКЛ?

mykaida
mykaida аватар
Offline
Зарегистрирован: 12.07.2018

В начале программы объявляете переменную Sostoyanie

При проверке т-ры назначаете ее типа Sostoyanie = "ВКЛ"

В позицию экрана X-Y выводите 

u8g.drawStr(X, Y, Sostoyanie)

И почитайте Ардуино для начинающих. Вы беретесь за не самую простую программу практически с нулевыми знаниями. В связи с этим Вам сложно помочь, да и неохота. Писать за Вас программу НИКТО НЕ БУДЕТ. 

Есть вариант и Вам напишут программу за деньги и тогда ничего читать и не надо.

Ralnikov74
Offline
Зарегистрирован: 23.08.2018

Спасибо Вам большое!!! Буду разбираться!

Ворота
Ворота аватар
Offline
Зарегистрирован: 10.01.2016

Вот, блин, почему-то начала сильно греться аудиоаппаратура уважаемого японского бренда. Чего делать? Идти в сервисный центр? Попытаться самому понять и устранить причину перегрева? Нет!!! Не наш метод! Хренли нам вообще до причины? Мы возьмём кучу говна и палок, которыми к тому же ещё и пользоваться не умеем, и, при помощи коллективного разума интернетов, начнём героически бороться со следствием - охлаждать! Ура, товарищи! На то стояли, стоим и стоять будем!

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

Злой ты. Не хочешь абяснить как авно к палкам синей изолентой прикрутить. :-)

Ralnikov74
Offline
Зарегистрирован: 23.08.2018

Ворота пишет:

Вот, блин, почему-то начала сильно греться аудиоаппаратура уважаемого японского бренда. Чего делать? Идти в сервисный центр? Попытаться самому понять и устранить причину перегрева? Нет!!! Не наш метод! Хренли нам вообще до причины? Мы возьмём кучу говна и палок, которыми к тому же ещё и пользоваться не умеем, и, при помощи коллективного разума интернетов, начнём героически бороться со следствием - охлаждать! Ура, товарищи! На то стояли, стоим и стоять будем!

Извините конечно, но внимательней надо читать!!! Я в самом начале просьбы все описал! Что сгорел по причине замыкания канала, а замкнул из-за того что сгорел НЗ динамик в колонке! А охлаждение это для себя! Нет что бы помочь - только обсираете не вникнув в суть проблемы. Учитесь читать между строк.

Ralnikov74
Offline
Зарегистрирован: 23.08.2018

А как вы сказали: "Уважаемого японского бренда" - могу ответить что Г*овно! а не бренд, ради интереса посмотрите в нете в картинках какие там радиаторы стоят! Вот и приходится после таких прекрасных брендов допиливать напильником! Ничего личного, я и собственно купил и ресивер и колонки Пионеровские потому что тоже думал, раз в клубешниках крутят на их оборудовании, то надо брать не раздумывая!!! Как же так могло выйти что они забыли поставить в колонки за 20 т.р. кроссоверы???

Ворота
Ворота аватар
Offline
Зарегистрирован: 10.01.2016

Ralnikov74 пишет:
Учитесь читать между строк.

Да, Бог с тобой! Я и в строках-то не умею :(

Ralnikov74 пишет:

А как вы сказали: "Уважаемого японского бренда" - могу ответить что Г*овно! а не бренд, 

ну, я уважаю, а ты - как знаешь.

Ralnikov74 пишет:

Как же так могло выйти что они забыли поставить в колонки за 20 т.р. кроссоверы???

Да, хрен его знает как. Я вообще-то не знаю, что это такое. 

Да и колонки за 20 т.р. я только в кино видел. Я что хифилитик что-ли, деревянные подставки под провода за 50 т.р. покупать?

Ralnikov74
Offline
Зарегистрирован: 23.08.2018

Ворота пишет:

Ralnikov74 пишет:
Учитесь читать между строк.

Да, Бог с тобой! Я и в строках-то не умею :(

Ralnikov74 пишет:

А как вы сказали: "Уважаемого японского бренда" - могу ответить что Г*овно! а не бренд, 

ну, я уважаю, а ты - как знаешь.

Ralnikov74 пишет:

Как же так могло выйти что они забыли поставить в колонки за 20 т.р. кроссоверы???

Да, хрен его знает как. Я вообще-то не знаю, что это такое. 

Да и колонки за 20 т.р. я только в кино видел. Я что хифилитик что-ли, деревянные подставки под провода за 50 т.р. покупать?

Тогда Вы ошиблись темой или сайтом. Я сюда обратился за помощью к людям разбирающимся в программировании ардуино, а не херней заниматься - непонятными обсуждениями о брендах и вкусах.

 

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

А он еще поди кислород в медь надувает

VasiliyV
Offline
Зарегистрирован: 09.07.2018

Что это за ресивер такой что без радиаторов. Хотелось бы модель услышать. Да не встречалось мне ресиверов пионеровских без защиты акустики. Имею в наличии 3 штуки. И все оборудованы релюшками защиты. Городить что-то на процессорах конечно круто, но может имеет смысл ознакомиться с тем что есть? Ну если уж совсем невтерпёж может имеет смысл просто разобраться почему не включается вентилятор на ресивере?

Efim
Offline
Зарегистрирован: 04.05.2018

Мега 2560 для таких задач перебор! А почему не хотите собрать просто охлаждение на аналоговых компонентах?

Ralnikov74
Offline
Зарегистрирован: 23.08.2018

VasiliyV пишет:

Что это за ресивер такой что без радиаторов. Хотелось бы модель услышать. Да не встречалось мне ресиверов пионеровских без защиты акустики. Имею в наличии 3 штуки. И все оборудованы релюшками защиты. Городить что-то на процессорах конечно круто, но может имеет смысл ознакомиться с тем что есть? Ну если уж совсем невтерпёж может имеет смысл просто разобраться почему не включается вентилятор на ресивере?

И радиатор и защита есть, только так себе. Карлосон на 24в маленький, а площадь радиатора в три раза больше. Что он там обдует? Из радиатора хороша только сама пластина, а рёбра приклепаны! Хотя по идее они должны быть единым целым! Модель vsx-817. Зашита тоже херня: почему же при замыкании канала сгорела stk? А так родной кулер работает.

Ворота
Ворота аватар
Offline
Зарегистрирован: 10.01.2016

Ralnikov74 пишет:

Тогда Вы ошиблись темой или сайтом. Я сюда обратился за помощью к людям разбирающимся в программировании ардуино

А я как раз такой.

И как раз как таковой, и говорю тебе - кончай

Ralnikov74 пишет:

херней заниматься

И, кстати, уже не я один тебе это говорю. Другие - тоже. Только ты не слушаешь. У тебя типичный синром пришедшего за советом: "Вы мне посоветуйте" - "Ой, совет мне не понравился, идите нахер, жду конструктивных советов". Ну, жди. Кто-нить посоветует как фирменную аппаратуру дерьмом и палками улучшать, да ещё и не умея этим дерьмом и палками пользоваться.