Технический форум
Вернуться   Технический форум > Электроника, самоделки и техника > Форум по электронике > Микропроцессоры


Ответ
 
Опции темы Опции просмотра
Старый 06.07.2015, 18:36   #1 (permalink)
Zebraj
Member
 
Регистрация: 20.04.2015
Сообщений: 23
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
Unhappy Arduino UNO "глючит"

Доброго времени уважаемые специалисты!

Полгода назад установил на управление аквариумом Arduino UNO R3 MEGA328P CH340G. Полгода работала на питании 5v от блока питания компьютера, но вот он сгорел (причину не выяснял, да и куча его проводов, уже почищенная раздражала).
И я подключил ардуинку от БП 12В (15A 200 Вт импульсный источник питания, AC 100-240в вход , DC 12 выход). На этом же БП светодиодные матрицы 19*10w (основной свет). Там же ночная подсветка с 3*3w и другие штуки для аквариума. Все работает, когда не работает основной свет: после включения основного света минут через 10-20 начитает трещать реле управления, которой управляет Ардуинка, лампочки моргают; затем вырубается все: я так понимаю Ардуинка виснет. Отключив питание и включив его через минуту - все работает....и снова 20 минут и повторяется.
Большой ток идущий на основной свет ее беспокоит?
Или питания не хватает(я на этот БП вешал 32*10W, грелся но работал)?

И еще вопрос по коду диммирования, вроде написано верно, но не диммирует

Последний раз редактировалось Zebraj; 06.07.2015 в 18:41
Zebraj вне форума   Ответить с цитированием

Старый 06.07.2015, 18:36
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Внимательно прочитайте содержимое этих тем

На Конкурс "13 друзей моддинга" Кейс в стиле "Русская глубинка" от George Smith
На Конкурс "100 градусов моддинга" от George Smith в стиле "Русская глубинка"

Старый 06.07.2015, 18:51   #2 (permalink)
Zebraj
Member
 
Регистрация: 20.04.2015
Сообщений: 23
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

PHP код:
#include <LiquidCrystal_I2C.h> Подключаем библиотеку монитора
#include <Wire.h> //Подключаем библиотеку для использования I2C интерфейса с модулем RTC 
#include <RTClib.h> //Подключаем библиотеку для использования модуля часов реального времени RTC 
RTC_DS1307 RTC//Создаем переменную класса - для использования RTC 

#define mn 60UL
#define hr 3600UL

//----------Объявляем разные переменные------------ 
const int RelCO2 3//Используем цифровой ПОРТ 3  -> на реле 6/220
const int LedPWM 9//ШИМ утро-вечер на выходе 9  -> к драйверам

//Установки параметров ШИМ
#define PWM_MIN 0 //минимальное значение ШИМ
#define PWM_MAX 255//максимальное значение ШИМ
#define PWM_LOW 180//сниженное значение ШИМ

const long OnRelLed1 13*hr//Время срабатывания реле
const long OffRelLed1 22*hr//Время выключения реле
const long LedPWMDur 60*mn;//длительность восхода-заката при помощи ШИМ

void setup(){ 

pinMode (RelLed1,OUTPUT); //Инициализируем порт канала как ВЫХОД 
digitalWrite(RelLed1,HIGH); //Устанавливаем на входах релейного модуля ВЫСОКИЙ уровень 

pinMode(LedPWMOUTPUT); //Инициализируем порт канала как ВЫХОД 
[I]//digitalWrite(LedPWM, LOW);// Устанавливаем PWM в низкий кровень
analogWrite(LedPWMPWM_MIN)[/I];//Устанавливаем PWM  в минимальный уровень, какой-то из них должен работать :)


Wire.begin(); //Инициируем I2C интерфейс 
RTC.begin(); //Инициирум RTC модуль 

//RTC.adjust(DateTime(__DATE__, __TIME__)); //С этой строки необходимо убрать комментарии один раз в начале установки часов, 

// КОНЕЦ ИНИЦИАЛИЗАЦИИ 

//-------------------------------------------------- 
void loop() // 

DateTime myTime RTC.now(); 

//----------Раздел обработки реле по времени ---- 
long utime myTime.unixtime(); //сохраняем в переменную - время в формате UNIX 
utime %= 86400//Сохраняем в этой же переменной остаток деления на кол-во секунд в сутках, Это дает количество секунд с начала текущих суток 

//------------Реле  2----------
if ((utime >= OnRelLed1) && (utime <= (OffRelLed1))) //Если секунд с начала суток больше, чем задано для включения, и одновременно меньше, чем задано для включения 
digitalWrite(RelLed1,LOW); //Устанавливаем на входе релейного модуля НИЗКИЙ уровень - реле включается
} else{digitalWrite(RelLed1,HIGH);} 

//-----------Диммируем 9 КАНАЛ ардуино--------
  
if ((utime > (OnRelLed1+LedPWMDur)) && (utime OffRelLed1-LedPWMDur))//время включеного ШИМ
    
{
      
digitalWrite(LedPWMPWM_MAX);
     }
  else
  {
    if((
utime >= OnRelLed1) && (utime < (OnRelLed1 LedPWMDur)))
      {
         
digitalWrite(LedPWM, (utime OnRelLed1)*(PWM_MAX-PWM_MIN) / LedPWMDur); 
      }
     else
     {
      if((
utime >= OffRelLed1 LedPWMDur) && (utime OffRelLed1))
      {
        
digitalWrite(LedPWM, (OffRelLed1 utime)*(PWM_MAX-PWM_MIN) / LedPWMDur); 
      }
     
      else
      {
       
digitalWrite(LedPWMPWM_MIN);//значение PWM_MIN 
      
}
     }
  }
}
//------------Конец ЦИКЛА------- 

Последний раз редактировалось Zebraj; 06.07.2015 в 18:59
Zebraj вне форума   Ответить с цитированием
Старый 07.07.2015, 20:38   #3 (permalink)
Zebraj
Member
 
Регистрация: 20.04.2015
Сообщений: 23
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Поставил я драйвер 12v, 900mA после БП - работает сутки без проблем.
Нет знатоков по С++? Ну хоть куда бежать подскажите
Zebraj вне форума   Ответить с цитированием
Старый 08.09.2015, 01:22   #4 (permalink)
kitkit
Member
 
Регистрация: 17.11.2014
Сообщений: 181
Сказал(а) спасибо: 1
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 374
По умолчанию

а не analogWrite вместо digitalWrite надо?
kitkit вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 14:06.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.