PCCar.ru - Ваш автомобильный компьютер

Вернуться   PCCar.ru - Ваш автомобильный компьютер > MP3Car ТехИнфа > AndroidCar > Питание

Результаты опроса: Писать ли про развитие проекта, или пофиг, есть свой и работает.
Пиши дальше 210 96.33%
Не пиши, лучше займись чем нибудь (другим) полезным. 8 3.67%
Голосовавшие: 218. Вы ещё не голосовали в этом опросе

Ответ
 
Опции темы Поиск в этой теме
Старый 31.05.2016, 01:17   #451
oleg707
Гуру
 
Аватар для oleg707
 
Регистрация: 16.04.2014
Возраст: 40
Город: Gdynia
Регион: другой - для добавления сообщить ab
Сообщений: 2,548
oleg707 has a reputation beyond reputeoleg707 has a reputation beyond reputeoleg707 has a reputation beyond reputeoleg707 has a reputation beyond reputeoleg707 has a reputation beyond reputeoleg707 has a reputation beyond reputeoleg707 has a reputation beyond reputeoleg707 has a reputation beyond reputeoleg707 has a reputation beyond reputeoleg707 has a reputation beyond repute
По умолчанию

Цитата:
Сообщение от Az0m@ Посмотреть сообщение
через БП 12В 1,5А
на столе без планшета БП все норм пашед... кроме светиков.
горит POW постоянно и тускло горит TX
и их свечение не изменяется от положения АСС.
по мониторингу порта видится напряжение 12.29

после подключения планшета этот глюк через раз появляется.. провода и точки подключения все перепроверил.. все норм. провод зарядки и на датчик холла вместе проходят... наводкой же не отдают наверно друг другу?..
не, блок не видит асс. Правь скетч и мониторь напругу АСС. Заставь мигать светодиод!. Загрузи из стандартных блинк для его проверки.
Проверяй БЕЗ планшета. ПРосто тыкай тестером по напряжениям.
залей с отключенным догом или вообще старую прошивку, там где светодиод(13) просто горит при наличии нормального напряжения.
PHP код:
//ver30.05.16.2300 ( чем больше цифра, тем новее) 
// для 5й версии блока питания ( для 4й тоже подходит, только нужно поменять местами в программе A0 и A1) 
//ТЕСТОВАЯ!!! 
// вывод напряжения батареи по юсб ( виртуальный ком порт) 
/*  
_______Сделано_____________________________ 
вывод информации на внешний дисплей по I2C, 
активный вотчдог, 
программная защита its716G(statepin)-тестово, 
умное мигание встроенным светодиодом, 
усреднение завмеров по напряжению ACC и AKB. 
____________________________________________ 
*/ 
//*************************************************************************************************************************************************** 
// Массив режимов работы светодиода 
byte modes[] = { 
  
0B00000000//Светодиод выключен 
  
0B11111111//Горит постоянно 
  
0B00001111//Мигание по 0.5 сек 
  
0B00000001//Короткая вспышка раз в секунду  
  
0B00000101//Две короткие вспышки раз в секунду   
  
0B00010101//Три короткие вспышки раз в секунду 
  
0B01010101  //Частые короткие вспышки (4 раза в секунду)  
}; 

uint32_t msms1 0;  
uint8_t  blink_loop 0
uint8_t  blink_mode 0

//*************************************************************************************************************************************************** 
  
#include <Wire.h> 
#include <LiquidCrystal_I2C.h> 
//#include <avr/wdt.h> //Чтобы использовать функции Watchdog нужно подключить к проекту стандартную библиотеку ( https://geektimes.ru/post/255800/ ) 

LiquidCrystal_I2C lcd(0x27162); // set the LCD address to 0x27 for a 16 chars and 2 line display 
float UakbONorOFF 12.01;// в 155 строке ==  if ((15.5 > U_acc_real >= UaccONorOFF) && flagACC == 1)  {UakbONorOFF = 11.5;}  else {UakbONorOFF = 11.9;}  
float UaccONorOFF 10;//11.1 // напряжение порога сработки асс 

/*ноги ардуины*/ 
int SAMOZAPITKApin 9//управление самозапиткой блока питания IN4 
//1 = есть самозапитка; 0 = нет самозапитки 
int PlanshBATpin 6//      включить 1 канал KIW            ..... управление питания БАТАРЕИ планшета через управляющую ногу IN2-5pin 
//0 = нет питания; 1 = есть питание ( БАТАРЕИ планшета) 
int II_KIW_pin_POGOpin 2//           включить 2 канал KIW    управление SS2 выходом питания  +5V (2 канал kiw3312s) на пого пин(или USB), чтоб планшет думал, что идет зарядка 
//0 = нет 5V на POGO; 1 = есть 5V на POGO 
int OTGpin 12//управление транзюком OTG Q1 
//1 = есть масса на OTG; 0 = нет массы на OTG 
int SLEEPpin 10//управление транзюком сна VT4 (на датчик холла)) 
//1 = потух экран(есть масса на пине сна); 0 = штатная работа планшета (нет массы на пине сна) 
int HUBpin 11//управление транзюком питания хаба 
// 0-есть питание, 1 - нет питания 
int REMpin 7//  выход сигнала REM (+12v) (IN3), на плате распаяно. 
//0 = нет 12В на выходе REM; 1 = есть 12В на выходе REM 
int REGISTRATORpin 4//выход 12В для работы видеорегистратора (D4 -IN1) 
//пины состояния ITS 
int STATEpinI 5//логический вход для отслеживания аварийной ситуации ITS716G(724G)(питание KIW3312s-out2 и регистратор-out1) 0 = норма 
int STATEpinII 8//логический вход для отслеживания аварийной ситуации ITS716G(724G)(выход REM-out3 и самозапитка БП-out4 )1 = авар. сит. 

/*логические переменные, используемые в коде*/ 
int flagACC 0//признак включенного зажигания 
int flagAKB 0// признак заряженной батареи 
int flagHALL 0//флаг отработки морга экрана при холодном старте( flagHALL = 1 экран можно включать и выключать, датчик холла на планшете инициализировался) 
/*счётчики времени*/ 
unsigned long eventTime 0
unsigned long pauseTimeACC 0
unsigned long pauseTimeAKB 0
unsigned long pauseTimeHALL 120000// время паузы перед морганием экрана (для датчика холла)(равен времени загрузки планшета плюс секунд 10-20)= 2мин 
int timeAfterACC 5000// время после выключения зажигания, после истечения которого вырубается экран, хаб, y-otg 


void setup() //настройки 

   
Serial.begin(115200);  
  
//*************************test************* 
 
wdt_disable(); //Отключение таймера watchdog 
  
  
lcd.init();                      // initialize the lcd занимает почти секунд 
  
pinMode(STATEpinIINPUT); 
  
pinMode(STATEpinIIINPUT); 
  
pinMode(PlanshBATpinOUTPUT); 
  
pinMode(SAMOZAPITKApinOUTPUT); 
  
pinMode(OTGpinOUTPUT); 
  
pinMode(SLEEPpinOUTPUT); 
  
pinMode(II_KIW_pin_POGOpinOUTPUT); 
  
pinMode(HUBpinOUTPUT); 
  
pinMode(13OUTPUT); //светодиодик на плате ардуины 
  
pinMode(REMpinOUTPUT); 
  
pinMode(REGISTRATORpinOUTPUT); 

  
digitalWrite(PlanshBATpin0);  //вЫключаем питание на батарею планшета 
  
digitalWrite(SAMOZAPITKApin0);  //выключаем SAMOZAPITKApin, при этом пропадает управление на IN4, система ПОЛНОСТЬЮ обесточивается 
  
digitalWrite(OTGpin0); //вЫключаем минус на Y-OTG (8 pin PW1) 
  
digitalWrite(II_KIW_pin_POGOpin0); //вЫключаем +5V (POGO(USB)) 
  
digitalWrite(HUBpin1); // подаем + на управляющий транзюк хаба, тот закрывается и не пускает +5В с KIW (2вых)на хаб = ВЫключаем хаб 
  
digitalWrite(REMpin0); // // выключаем выход REM 
  
digitalWrite(REGISTRATORpin0); // выключаем питание  на видеорегистратор 
  
pauseTimeACC millis(); // сброс времени для отсчета отключения самозапитки 
  
pauseTimeAKB millis(); 
   
   
//wdt_enable (WDTO_8S); // Запуск таймера watchdog:   Для тестов не рекомендуется устанавливать значение менее 8 сек. Таймер будет считать ровно столько, сколько указано в константе. По истечении этого времени произойдет перезагрузка. 
                                                                                         /* Возможные значения для константы 
                                                                                            WDTO_15MS 
                                                                                            WDTO_30MS 
                                                                                            WDTO_60MS 
                                                                                            WDTO_120MS 
                                                                                            WDTO_250MS 
                                                                                            WDTO_500MS 
                                                                                            WDTO_1S 
                                                                                            WDTO_2S 
                                                                                            WDTO_4S 
                                                                                            WDTO_8S 
                                                                                         */ 



void loop() 




  
//int Uacc = analogRead (A0); //Читаем напругу с делителя ACC R4-R5 
  //int Uakb = analogRead (A1); //Читаем напругу с делителя R2-R3 
  
long Uacc 0//Читаем напругу с делителя ACC R4-R5 и вычисляем среднее арифметическое 
  
long Uakb 0////Читаем напругу с делителя R2-R3 и вычисляем среднее арифметическое  
    
for (int i=0i<100; ++i) { // делаем 100 замеров 
        
Uacc Uacc analogRead(A0); 
        
Uakb Uakb analogRead(A1); 
    } 
    
Uacc Uacc/100
    
Uakb Uakb/100
    
//Serial.println(Uacc*0.01537); 
     
   
   
   
   
   
  
float U_acc_real 0.0 Uacc 0.01537;//(5 / 1023.0 * 3.136); //Вычисляем реальное напряжение +ACC на входе делителя (A0) 3.1189=поправка  делителя.(коэф деления) 0.2-падение на диоде 
  
float U_akb_real Uakb 0.015330;//(5 / 1023.0 * 3.145); //Вычисляем реальное напряжение +30 на входе делителя (A1) 
Serial.println(U_akb_real); //  вывод напруги АКБ в ком порт для калибровки. 

  // кусок кода ниже нужен для того, чтобы при включении  и сразу выключении ACC при полностью выключенном планшете(холодный старт) экран мог тухнуть по сигналу датчика холла. 
  
if (millis() > pauseTimeHALL && flagHALL == || millis() > 10000 && flagACC == 1) { 
    
flagHALL 1//проверка отсчета при холодном старте при включении  и сразу выключении ACC 
  

  
if ((
U_akb_real U_acc_real) >)//проверка, выключили ли мы зажигание или просто стартуем (1 - выключили заж, 0 - стартуем) 
          
{timeAfterACC 500;} //         1 - выключили зажигание.  ЕСЛИ +15 ПРОПАДАЕТ ВО ВРЕМЯ СТАРТА, ТО ВМЕСТО 500 НАДО 5000 или вообще убрать этот блок if-else. 
          
else {timeAfterACC 5000;} //   0 - заводим машину (стартуем). 



  //  ------------========================== блок ACC ========================----------------------------------------------------------------------------- 


  //             -----------------=========ВКЛЮЧИЛИ ЗАЖИГАНИЕ=============----------------  
  
if (15.5 U_acc_real && U_acc_real >= UaccONorOFF && flagACC == && flagAKB == //проверка напруги АСС и АКБ при флаге ACC = 0 
  

    
flagACC 1
    
pauseTimeACC millis(); 
    
pauseTimeAKB millis(); 
    
lcd.clear(); //очистка экрана 
  





  if (
millis() - pauseTimeACC >= 500 && flagACC == 1// пауза 0,5c после включения ACC и потом делать следующ(пока включено ACC): 
  

    
digitalWrite(PlanshBATpin1);  //включаем питание на батарею планшета (in2) 
    
digitalWrite(OTGpin1); //включаем минус на Y-OTG  (включается  звуковая карта) 
  

   
  if (
millis() - pauseTimeACC >= 800 && flagACC == 1// пауза 0.8c после включения ACC и потом делать следующ(пока включено ACC): //через 0,8с после включения ACC включаем экран, включаем питание  на видеорегистратор. 
  

    
digitalWrite(II_KIW_pin_POGOpin1); //включаем +5V (POGO(USB) нужно для распознавания планшетом признака зарядки. ( можно подавать на +5В USB кабеля (для тимуровской прошивки или если не используется датчик холла) 
    
digitalWrite(REGISTRATORpin1); // включаем питание  на видеорегистратор 
  

     
  if (
millis() - pauseTimeACC >= 2000 && flagACC == 1)//через 1с после включения ACC включаем экран (вЫключаем минус на упр SLEEP), выход REM(если больше 12в), Включаем хаб (подаем минус на управляющий транзюк хаба, тот открывается и пускает +5В с KIW (2вых)на хаб) 
  

    
digitalWrite(SLEEPpin0); //включаем экран = вЫключаем минус на упр SLEEP 
    
digitalWrite(HUBpin0); //Включаем хаб = подаем минус на управляющий транзюк хаба, тот открывается и пускает +5В с KIW (2вых)на хаб 
    
if (U_akb_real >= 12 && flagACC == 1)//если напруга батареи больше 12В, то включаем еще и усилитель звука (выход REM) 
    

      
digitalWrite(REMpin1); // включаем выход REM 
    

  } 



  
//-----------------=========ВЫКЛЮЧИЛИ ЗАЖИГАНИЕ=============---------------- 

  
if (U_acc_real UaccONorOFF && flagACC == 1
  { 
    
flagACC 0;  //Выключили зажигание 
    
digitalWrite(REMpin0); // выключаем выход REM 
    
pauseTimeACC millis(); 
    
pauseTimeAKB millis(); 
    
lcd.clear(); //очистка экрана 
  

  
  if (
millis() - pauseTimeACC >= timeAfterACC && flagACC == 0//пауза 5c или 0.5c после вЫключения ACC и потом делать следующ://через 5с после выключения зажигания вЫключаем минус на Y-OTG, ВЫключаем хаб, вЫключаем +5V (POGO(USB)), тушим экран (если прошло 2мин со старта БП) 
  

    
digitalWrite(OTGpin0); //вЫключаем минус на Y-OTG (8 pin PW1) 
    
digitalWrite(II_KIW_pin_POGOpin0); //вЫключаем +5V (POGO(USB)) 
    
digitalWrite(HUBpin1); // ВЫключаем хаб = подаем + на управляющий транзюк хаба, тот закрывается и не пускает +5В с KIW (2вых)на хаб 
    
lcd.noBacklight(); // тушим подсветку экрана 
    
if (flagHALL == 1
    { 
      
digitalWrite(SLEEPpin1); //включаем минус на SLEEP (7 pin PW1)при этом тухнет экран (если прошло 2 минуты с момента включения ардуины) 
    

    else 
    { 
      
digitalWrite(SLEEPpin0); 
    } 
  } 

  
//  -------------------------========================= блок АКБ ==========================------------------------------------------------------------------------------- 

  
if (U_acc_real >= UaccONorOFF)   {UakbONorOFF 11.5;}  else {UakbONorOFF 11.9;} //при включении зажигания напряжение самовырубания станет 11,5 вместо 11,9 
  

  
if ((U_akb_real UakbONorOFF && flagAKB == 1)||(U_akb_real >15.5))// ситуация, когда сел при работе ардуины аккумулятор, либо сел в процессе работы или простоя автомобиля, либо перезарядка > 15.5В 
  

    
flagAKB 0;//спустили флаг батареи 
    
flagACC 0
    
pauseTimeACC millis(); 
    
pauseTimeAKB millis(); 
    
lcd.clear(); //очистка экрана 
  


  if ((
15.5 U_akb_real) && ((U_akb_real >= UakbONorOFF) && flagAKB == 0)) //проверка +30 на перезаряд >15.5В, и больше заданного в 155 строке, и флага акб  
  

    if (
millis() - pauseTimeACC >= 2000 && flagAKB == 0){ 
    
digitalWrite(SAMOZAPITKApin1);  // включаем самозапитку через 2с 
    
flagAKB 1;} //подняли флаг батареи 
  


  if (
millis() - pauseTimeAKB >= 20000 && flagAKB == 0// если севший аккумулятор //через 20с вЫключаем питание на батарею планшета и вырубаем сам БП. 
  

    
digitalWrite(PlanshBATpin0);  //вЫключаем питание на батарею планшета (in2) 
    
digitalWrite(OTGpin0); //вЫключаем минус на Y-OTG (8 pin PW1) 
    
digitalWrite(II_KIW_pin_POGOpin0); //вЫключаем +5V (POGO(USB)) 
    
digitalWrite(HUBpin1); // подаем + на управляющий транзюк хаба, тот закрывается и не пускает +5В с KIW (2вых)на хаб = ВЫключаем хаб 
    
digitalWrite(REMpin0); // // выключаем выход REM 
    
digitalWrite(REGISTRATORpin0); // выключаем питание  на видеорегистратор 
    
digitalWrite(SAMOZAPITKApin0);  //выключаем SAMOZAPITKApin, при этом пропадает управление на IN4, система ПОЛНОСТЬЮ обесточивается 
    
delay (5000);              // задержка для аппаратного выключения 
  


  if (
flagAKB == && flagACC == 0)  //ситуация, когда норм акб и выключено зажигание (ACC) 
  

    if ((
millis() - pauseTimeAKB )>= 36000000 && flagAKB == 1// если прошло 10 часов, как выключили ACC // пауза  (3600000 - 60мин) (60000 - 1 мин)(10800000=3ч) (1800000=5ч) 
    
{  
      
digitalWrite(PlanshBATpin0);  //вЫключаем питание на батарею планшета (in2)//(батарея планшета)) 
    


    if ((
millis() - pauseTimeAKB) >= 37000000 && flagAKB == 1// если давно выключили ACC     ) (2суток = 172800000))     //(самозапитка для регистратора) 
    
digitalWrite(REGISTRATORpin0); // выключаем питание  на видеорегистратор 
      
digitalWrite(SAMOZAPITKApin0);  //выключаем SAMOZAPITKApin, при этом система ПОЛНОСТЬЮ обесточивается 
      
delay (5000);              // задержка для аппаратного выключения 
    

  } 

  
   
   

   

//*********************************************СООБЩЕНИЕ НА ДИСПЛЕЙ************************************************************ 



int H = (millis()/3600000); 
int M = ((millis()-(H*3600000))/60000);  
//int S = (((millis()/1000)-(H*3600))- (M*60)); 
if ((((millis())-(H*3600000))- (M*60000)) < 200 ){lcd.clear(); }//очистка экрана 


 
if (flagACC == 1){lcd.backlight();}//}else {lcd.noBacklight();} 
//lcd.backlight(); 

//вывод времени работы 
  
lcd.setCursor(00); 
  
lcd.print((millis() )/60000); 
  
lcd.setCursor(40); 
 
//lcd.print((U_akb_real - U_acc_real));  
  //lcd.print(timeAfterACC); 
  //lcd.setCursor(5, 0); 
  //lcd.print(":"); 
  //lcd.setCursor(6, 0); 
  //lcd.print(S); 
// вывод напряжений    
  //lcd.setCursor(8, 0); 
  //lcd.print("A"); 
  
lcd.setCursor(90); 
  
lcd.print(flagACC); 
  
lcd.setCursor(110); 
  
lcd.print(U_acc_real); 
   
  
//lcd.setCursor(5,1); 
  //-------------------2 строка--------------------------------- 
  
lcd.setCursor(01); 
  
unsigned long TIMER = (  pauseTimeAKB  37000000 millis()  )/60000
  
lcd.print(TIMER); 
  
lcd.setCursor(51); 
   
  
// вывод напряжений    
 //lcd.setCursor(8, 1); 
  //lcd.print("B"); 
  
lcd.setCursor(91); 
  
lcd.print(flagAKB); 
  
lcd.setCursor(111); 
  
lcd.print(U_akb_real); 
  
//********************************************************************************************************* 

 //* 
//******************************************отслеживания аварийной ситуации ITS716G******************************************************************************************************************************************************************************** 
    
       
    //отслеживания аварийной ситуации ITS716G канал 1 (питание KIW3312s-out2 и регистратор-out1) 0 = норма  1 = авар. сит.  //тогда моргаем 13 ногой код "1" 
    //отслеживания аварийной ситуации ITS716G канал 2 (выход REM-out3 и самозапитка БП-out4 )0 = норма  1 = авар. сит.  //тогда моргаем 13 ногой  код "2" 
    
if(SAMOZAPITKApin==|| PlanshBATpin==||REMpin==|| REGISTRATORpin ==1// если проц включал любой канал ITS 
              

                if(
STATEpinI == 0)             {   // и если пин защиты показал аварию 
                                                                                                             
for (int i=0<= 300i++)   { //тогда моргаем 13 ногой код "1"  10 минут, если они прошли и асс ВКЛ, тогда еще раз и еще по кругу, пока неисправность не уйдёт 
                                                                                                                                           
digitalWrite(131); delay(500); digitalWrite(130); delay(1493); 
                                     
digitalWrite(PlanshBATpin0);  //вЫключаем питание на батарею планшета (in2) 
                                     
digitalWrite(OTGpin0); //вЫключаем минус на Y-OTG (8 pin PW1) 
                                     
digitalWrite(II_KIW_pin_POGOpin0); //вЫключаем +5V (POGO(USB)) 
                                     
digitalWrite(HUBpin1); // подаем + на управляющий транзюк хаба, тот закрывается и не пускает +5В с KIW (2вых)на хаб = ВЫключаем хаб 
                                     
digitalWrite(REMpin0); // // выключаем выход REM 
                                     
digitalWrite(REGISTRATORpin0); // выключаем питание  на видеорегистратор 
                                     
digitalWrite(SAMOZAPITKApin0);  //выключаем SAMOZAPITKApin, при этом пропадает управление на IN4, система ПОЛНОСТЬЮ обесточивается 
                                     //wdt_reset(); //Сброс таймера watchdog 
                                                                                                                                           

                                   } ; 
    if(
STATEpinII == 0)             {   // и если пин защиты показал аварию 
                                                                                                             
for (int i=0<= 150i++)   { //тогда моргаем 13 ногой ногой код "2" 10 минут, если они прошли и асс ВКЛ, тогда еще раз и еще по кругу, пока неисправность не уйдёт 
                                                                                                                                           
digitalWrite(131); delay(500); digitalWrite(130); delay(493); digitalWrite(131); delay(500); digitalWrite(130); delay(1493); 
                                     
digitalWrite(PlanshBATpin0);  //вЫключаем питание на батарею планшета (in2) 
                                     
digitalWrite(OTGpin0); //вЫключаем минус на Y-OTG (8 pin PW1) 
                                     
digitalWrite(II_KIW_pin_POGOpin0); //вЫключаем +5V (POGO(USB)) 
                                     
digitalWrite(HUBpin1); // подаем + на управляющий транзюк хаба, тот закрывается и не пускает +5В с KIW (2вых)на хаб = ВЫключаем хаб 
                                     
digitalWrite(REMpin0); // // выключаем выход REM 
                                     
digitalWrite(REGISTRATORpin0); // выключаем питание  на видеорегистратор 
                                     
digitalWrite(SAMOZAPITKApin0);  //выключаем SAMOZAPITKApin, при этом пропадает управление на IN4, система ПОЛНОСТЬЮ обесточивается 
                                    // wdt_reset(); //Сброс таймера watchdog 
                                                                                                                                           

                                   } ; 
                               } 




  
//*/ 
//**************************************************************************************************************************************************************************************************************************   

//******************************************индикация светодиодом******************************************************************************************************************************************************************************** 
    

ms millis(); 
  
// Событие срабатывающее каждые 125 мс 
  
if ( ( ms ms1 ) > 125 || ms ms1 ) { 
    
ms1 ms
    
// Режим светодиода ищем по битовой маске 
    
if (  blink_mode << (blink_loop 0x07) ) digitalWrite(13HIGH); 
    else  
digitalWrite(13LOW); 
    
blink_loop++; 
  } 
   
  
// blink_mode = modes[3]; 
   
  
if (blink_mode != modes[5] || blink_mode != modes[5])  
  { 
  if (
flagAKB == ){blink_mode modes[0];}                 // индикация напруги батареи на ардуинине.- низкое напряжение АКБ авто 
  
if (flagAKB == && flagACC == 1) {blink_mode modes[2];} //- нормальное напряжение, включено ACC, рабочий режим. 
  
if (flagAKB == && flagACC == 0) {blink_mode modes[6];} //- нормальное напряжение АКБ авто, ACC выключено.        
            
              
              
  
}  
 
//********************************************************************************************************** 
/*  0B00000000, //Светодиод выключен blink_mode = modes[0];  - низкое напряжение АКБ авто 
    0B11111111, //Горит постоянно blink_mode = modes[1];       
    0B00001111, //Мигание по 0.5 сек  blink_mode = modes[2]; - нормальное напряжение, включено ACC, рабочий режим. 
    0B00000001, //Короткая вспышка раз в секунду  
    0B00000101, //Две короткие вспышки раз в секунду  
    0B00010101, //Три короткие вспышки раз в секунду 
    0B00000001 //   blink_mode = modes[6]; - нормальное напряжение АКБ авто, ACC выключено. 
     
//  0B01010101  //Частые короткие вспышки (4 раза в секунду) 
  */ 
//********************************************************************************************************** 


//wdt_reset(); //Сброс таймера watchdog 


//конец цикла void loop() 

// 
вот включил на столе блок 4й версии с прошивкой 5го. Просто от внешнего блока питания, без нагрузки. Акб и Асс 12В. Думает 4 секунды при включении 12В Акб и Асс и моргать начинает 13 пином.

Дело в том, что порт светика для проца равнозначен порту управления пого или порту самозапитки. Проц ДОЛЖЕН работать везде одинаково и предсказуемо! И пока это не понятно, дальше смысла копать нет.

И выложи ФОТО готового блока, мож где накосячил.
oleg707 вне форума   Ответить с цитированием
Старый 31.05.2016, 01:35   #452
Az0m@
Старший Пользователь
 
Регистрация: 07.01.2016
Регион: 02
Сообщений: 152
Az0m@ is on a distinguished road
По умолчанию

Цитата:
Сообщение от oleg707 Посмотреть сообщение
не, блок не видит асс. Правь скетч и мониторь напругу АСС. Заставь мигать светодиод!. Загрузи из стандартных блинк для его проверки.
Проверяй БЕЗ планшета. ПРосто тыкай тестером по напряжениям.
залей с отключенным догом или вообще старую прошивку, там где светодиод(13) просто горит при наличии нормального напряжения.


вот включил на столе блок 4й версии с прошивкой 5го. Просто от внешнего блока питания, без нагрузки. Акб и Асс 12В. Думает 4 секунды при включении 12В Акб и Асс и моргать начинает 13 пином.

Дело в том, что порт светика для проца равнозначен порту управления пого или порту самозапитки. Проц ДОЛЖЕН работать везде одинаково и предсказуемо! И пока это не понятно, дальше смысла копать нет.

И выложи ФОТО готового блока, мож где накосячил.
без ватчдога такая же индикация...
блок то видит АСС.. ибо выводы питания хаба, y-otg и выход из сна исправно работают от статуса АСС.
Миниатюры
Нажмите на изображение для увеличения
Название: IMG_20160531_022859.jpg
Просмотров: 512
Размер:	114.3 Кб
ID:	43908   Нажмите на изображение для увеличения
Название: IMG_20160531_023158.jpg
Просмотров: 514
Размер:	103.3 Кб
ID:	43909  
Az0m@ вне форума   Ответить с цитированием
Старый 31.05.2016, 13:19   #453
oleg707
Гуру
 
Аватар для oleg707
 
Регистрация: 16.04.2014
Возраст: 40
Город: Gdynia
Регион: другой - для добавления сообщить ab
Сообщений: 2,548
oleg707 has a reputation beyond reputeoleg707 has a reputation beyond reputeoleg707 has a reputation beyond reputeoleg707 has a reputation beyond reputeoleg707 has a reputation beyond reputeoleg707 has a reputation beyond reputeoleg707 has a reputation beyond reputeoleg707 has a reputation beyond reputeoleg707 has a reputation beyond reputeoleg707 has a reputation beyond repute
По умолчанию

Цитата:
Сообщение от Az0m@ Посмотреть сообщение
без ватчдога такая же индикация...
блок то видит АСС.. ибо выводы питания хаба, y-otg и выход из сна исправно работают от статуса АСС.
тогда L моргать должен. Залей ка блинк и светик проверь. Ну и мониторь состояния через ком порт.
Да, и выпаяй кондер, который мешает юсб втыкать, это защита от помех
oleg707 вне форума   Ответить с цитированием
Старый 31.05.2016, 22:00   #454
Az0m@
Старший Пользователь
 
Регистрация: 07.01.2016
Регион: 02
Сообщений: 152
Az0m@ is on a distinguished road
По умолчанию

Цитата:
Сообщение от oleg707 Посмотреть сообщение
тогда L моргать должен. Залей ка блинк и светик проверь. Ну и мониторь состояния через ком порт.
Да, и выпаяй кондер, который мешает юсб втыкать, это защита от помех
вопщем все отключил от БП. попробывал записать разные коды из инета которые должны активировать светик L, в том числе и блинк из примеров... но ни одном он так и не заработал. после заливки он только разок моргает и все.... эт что получается плата глючная?
Az0m@ вне форума   Ответить с цитированием
Старый 31.05.2016, 22:22   #455
oleg707
Гуру
 
Аватар для oleg707
 
Регистрация: 16.04.2014
Возраст: 40
Город: Gdynia
Регион: другой - для добавления сообщить ab
Сообщений: 2,548
oleg707 has a reputation beyond reputeoleg707 has a reputation beyond reputeoleg707 has a reputation beyond reputeoleg707 has a reputation beyond reputeoleg707 has a reputation beyond reputeoleg707 has a reputation beyond reputeoleg707 has a reputation beyond reputeoleg707 has a reputation beyond reputeoleg707 has a reputation beyond reputeoleg707 has a reputation beyond repute
По умолчанию

Цитата:
Сообщение от Az0m@ Посмотреть сообщение
вопщем все отключил от БП. попробывал записать разные коды из инета которые должны активировать светик L, в том числе и блинк из примеров... но ни одном он так и не заработал. после заливки он только разок моргает и все.... эт что получается плата глючная?
питание проверь +5В и массу. если есть - тогда пробуй другую плату.
Тут момент такой, что по сериал оно то отсылает, значит что-то по любому живое. Может просто светодиод глючит.
Мне было бы проще процессор перекинуть, чем ардуину, но это с паяльной станцией.
oleg707 вне форума   Ответить с цитированием
Старый 31.05.2016, 23:01   #456
Az0m@
Старший Пользователь
 
Регистрация: 07.01.2016
Регион: 02
Сообщений: 152
Az0m@ is on a distinguished road
По умолчанию

Цитата:
Сообщение от oleg707 Посмотреть сообщение
питание проверь +5В и массу. если есть - тогда пробуй другую плату.
Тут момент такой, что по сериал оно то отсылает, значит что-то по любому живое. Может просто светодиод глючит.
Мне было бы проще процессор перекинуть, чем ардуину, но это с паяльной станцией.
вобщем походу сдохла ардурино.. как только померил ножку +5В и GND (кстати показало 5.19В) плата перестала откликаться от внешнего БП. то есть и светик POW не горит... но при подключении ЮСБ загорается... и даже скетчи загружаются...но не более того.. походу новую плату придется искать -(
Az0m@ вне форума   Ответить с цитированием
Старый 01.06.2016, 16:43   #457
T_r_D
Старший Пользователь
 
Регистрация: 03.07.2015
Регион: 77, 97, 99, 177
Сообщений: 372
T_r_D is a jewel in the roughT_r_D is a jewel in the roughT_r_D is a jewel in the rough
По умолчанию

Az0m@
Без паники
Если от ЮСБ работает, то мерий со стороны платы ардуино питалово.
Походу дорожка порвана.
Ещё сам косячил при пайке с недостаточным нагревом олова- олово проходило насквозь и под панелькой делало каку которая коротила с соседними ногами.
Эту каку видно естественно не было.
T_r_D вне форума   Ответить с цитированием
Старый 01.06.2016, 23:34   #458
Az0m@
Старший Пользователь
 
Регистрация: 07.01.2016
Регион: 02
Сообщений: 152
Az0m@ is on a distinguished road
По умолчанию

Oleg... подскажи куда еще копать....
урвал сегодня у соседа ардуринку... перепаял на плату. блинк работает. заливаю твой скетч... даю питалово на БП.. и тишина. ардурина сама не запускается, вообще никакой индикации... если подключить к ЮСБ... то при подключенной внешней питалове постоянно горит светик L, если же отключить питалово то L гаснет. а на подключение АСС никак не реагирует.
Az0m@ вне форума   Ответить с цитированием
Старый 02.06.2016, 00:08   #459
oleg707
Гуру
 
Аватар для oleg707
 
Регистрация: 16.04.2014
Возраст: 40
Город: Gdynia
Регион: другой - для добавления сообщить ab
Сообщений: 2,548
oleg707 has a reputation beyond reputeoleg707 has a reputation beyond reputeoleg707 has a reputation beyond reputeoleg707 has a reputation beyond reputeoleg707 has a reputation beyond reputeoleg707 has a reputation beyond reputeoleg707 has a reputation beyond reputeoleg707 has a reputation beyond reputeoleg707 has a reputation beyond reputeoleg707 has a reputation beyond repute
По умолчанию

Цитата:
Сообщение от Az0m@ Посмотреть сообщение
Oleg... подскажи куда еще копать....
урвал сегодня у соседа ардуринку... перепаял на плату. блинк работает. заливаю твой скетч... даю питалово на БП.. и тишина. ардурина сама не запускается, вообще никакой индикации... если подключить к ЮСБ... то при подключенной внешней питалове постоянно горит светик L, если же отключить питалово то L гаснет. а на подключение АСС никак не реагирует.
1 - подай питание на БП. ( асс и акб)
2 - померяй питание на входе Vin ( от 8 до 13 - норма)
3 - померяй питание на +5V ардуины. оно же должно быть на кондере, который тебе мешает юсб втыкать
4 - прозвони массу.

Если эти вещи есть, блинк будет работать при питании на БП.( асс и акб). Естественно, будет гореть светик PWR.
oleg707 вне форума   Ответить с цитированием
Старый 02.06.2016, 01:02   #460
Az0m@
Старший Пользователь
 
Регистрация: 07.01.2016
Регион: 02
Сообщений: 152
Az0m@ is on a distinguished road
По умолчанию

Цитата:
Сообщение от oleg707 Посмотреть сообщение
1 - подай питание на БП. ( асс и акб)
2 - померяй питание на входе Vin ( от 8 до 13 - норма)
3 - померяй питание на +5V ардуины. оно же должно быть на кондере, который тебе мешает юсб втыкать
4 - прозвони массу.

Если эти вещи есть, блинк будет работать при питании на БП.( асс и акб). Естественно, будет гореть светик PWR.
Нашел почему не запускался ардурино от внешнего питалово - были пробиты все три диода на пути к Vin. Заменил и ардурино ожило.
Теперь следующий момент... светодиод L не видит отключенный АСС. Независимо от АСС он постоянно горит. Хотя при отключении АСС экран на планшете тухнет и наоборот.
Еще нюанс....если к планшету подсоединить 2пин, то на этом выводе не появляется 5в в зависимости от АСС. Если же этот пин отсоединить от планшета то там исправно появляется 5в от АСС.
При этом на входе А0 исправно в зависимости от АСС появляется 4.25В. на А1 постоянно стоит 4.24В
На выводе 5V показывает 5.42в
Az0m@ вне форума   Ответить с цитированием
Ответ

Метки
arduino, nexus7, блок питания, блок питания планшета


Здесь присутствуют: 20 (пользователей: 0 , гостей: 20)
 

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

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



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


Работает на vBulletin® версия 3.8.4.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot