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

PCCar.ru - Ваш автомобильный компьютер (http://pccar.ru/index.php)
-   Питание (http://pccar.ru/forumdisplay.php?f=173)
-   -   Блок питания NEXUS7-2012,2013 (или любого другого планшета) (http://pccar.ru/showthread.php?t=23236)

T_r_D 20.06.2016 22:49

Ну в общем-то вот окончательный вариант:
PHP код:

unsigned long time0 0;
unsigned long stage_timer 0;
int in_progress 0;
int stage 0;
unsigned int accpower 0;
int accpowercount 0;
int accpoweravg 1023;

void setup() {
  
//Arduino Pro-Micro
  //21 = A3
  //20 = A2
  //19 = A1
  //18 = A0
pinMode(18OUTPUT); //Tablet button
pinMode(19OUTPUT); //HUB power
pinMode(20INPUT);  //Tablet Screen action. Analog! If input >232 then screen on 
pinMode(21OUTPUT); //Tablet power
pinMode(10OUTPUT); //Tablet power supply low if car bat level low

pinMode(A7INPUT);   //Car bat level (In bord PIN 6!!!) 541=11,91 **analogRead(A7) * (1.1 / 1023.0*20.50);
pinMode(8INPUT);   //Radio input
pinMode(9INPUT);   //ACC input

digitalWrite(21LOW);
digitalWrite(19LOW);
digitalWrite(18LOW);
digitalWrite(10LOW);
}

void loop() {
//Измеряем среднее значение напряжения автомобиля.
  
if ((millis() - time0) > 1000){
      if (
accpowercount == 60){
      
accpoweravg accpower 60;
      
accpowercount 0;
      
accpower 0;
      }
      else{
      
accpower accpower analogRead(A7);
      
accpowercount accpowercount 1;
      }
    
time0 millis();
  }

 if (
in_progress == 0){
   if ((
digitalRead(8) == HIGH || digitalRead(9) == HIGH) &&  analogRead(20) < 400mag_car_on(); //Если магнитола или зажигание включено, а питания на подсветке нету.
   
if (digitalRead(8) == LOW && digitalRead(9) == LOW && analogRead(20) > 400power_off();       //Если магнитола выключена и зажигание выключено, но подсветка работает.
   
if (digitalRead(8) == LOW && digitalRead(9) == LOW && accpoweravg 541halt();               //Если магнитола и зажигание выключены и сел акумулятор, а отключение не выполнялось.
 
}
 else {
   if (
in_progress == 1mag_car_on();
   if (
in_progress == 2power_off();
   if (
in_progress == 3halt();
 } 
 
}

void mag_car_on(){
  
in_progress 1;
  
digitalWrite(19LOW);
  
digitalWrite(21LOW);
//Клик кнопкой 300мс, после этого ждём 2с и на стадии 2 проверяем включился ли планшет,
//и если нет, то зажимаем кнопку на 3с, потом ждём 2с.
  
if (stage == 0) {
  
digitalWrite(18HIGH);
  
stage 1;
  
stage_timer millis();
  }
  if (
stage == && (millis() - stage_timer) > 300) {
  
digitalWrite(18LOW);
  
stage 2;
  
stage_timer millis();
  }
  if (
stage == && (millis() - stage_timer) > 2000) {
    if (
analogRead(20) > 400) {
      
stage 0;
      
in_progress 0;
    }
    else {
      
digitalWrite(18HIGH);
      
stage 3;
      
stage_timer millis();
    }
  }  
  if (
stage == && (millis() - stage_timer) > 3000) {
    
digitalWrite(18LOW);
    
stage 4;
    
stage_timer millis();
  }
  if (
stage == && (millis() - stage_timer) > 2000) {
    
stage 0;
    
in_progress 0
  }
}
 
void power_off(){
  
in_progress 2;
  if (
stage == 0) {
    
digitalWrite(18HIGH);
    
stage 1;
    
stage_timer millis();
  }
  if (
stage == && (millis() - stage_timer) > 300) {
    
digitalWrite(18LOW);
    
stage 2;
    
stage_timer millis();
  }
  if (
stage == && (millis() - stage_timer) > 5000) {
    
digitalWrite(19HIGH);
    if (
analogRead(20) < 400){
      
stage 0;
      
in_progress 0;
    }
    else {
      
digitalWrite(10HIGH);
      
stage 3;
      
stage_timer millis();
    }
  }
  if (
stage == && (millis() - stage_timer) > 2000) {
    
digitalWrite(10LOW);
    
stage 4;
    
stage_timer millis();
  } 
  if (
stage == && (millis() - stage_timer) > 30000) {
    
stage 0;
    
in_progress 0;
  }
}
 
void halt(){
  
in_progress 3;
  
digitalWrite(19HIGH);
  
digitalWrite(21HIGH);
  
in_progress 0



plus88 21.06.2016 08:52

А схему последнюю можешь представить :) тоже надо собирать блок питания )

T_r_D 21.06.2016 16:55

А схема не менялась.
Резисторы- входной делитель 20к и 10к на землю, после диода 100к на землю.
Конденсаторы- на подсветку 0,22uF, а остальные по 100uF.
Диоды любые.
Резистор подстройки напряжения на БП для планшета это выпаянный резистор со второй платы БП.

на схеме нарисована промикра если это кому принципиально.
Просто потому что она у меня была и лутчшего применения ей не нашлось.

SPI и I2C хвосты свободны, так что можете подключать хоть индикаторы, хоть датчики какие либо ещё.
Мне просто всё это украшательство вообще не нужно- всё это будет за планшетом в панеле и видно этого не будет, только лишнюю напругу жрать будет.

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

jonikus81 22.06.2016 16:33

Вопрос, сколько кушает ITS716G? я так понимаю он всегда включен? хотелось бы спрыгнуть с реле и перейти на малютку ITS716G.

Az0m@ 22.06.2016 23:31

народ, кто подолгу уже юзает планшет в машине... используете с задней крышкой или без неё? это к слову о перегреве

Алексей L&M 23.06.2016 04:29

Без крышки он пылью забъётся.

jonikus81 23.06.2016 09:06

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

T_r_D 24.06.2016 11:03

Вложений: 2
Вот полная схема под скетч мой, а то на предидущей половину не нарисовал и выход один перепутал.
Ещё после всех тестов на промикре был отпаян светодиод индицирующий питание за ненадобностью.
На схеме Stereo это выход магнитолы Remote.

PS. В машине два раза подряд сгорел KIS.
Поменял на LM7805 и всё работает!
Странно как-то даже!

Короче меня можно поздравить. Citroen C4 обрёл андройд дисплей без потери штатной магнитолы, тоесть выводом информации с неё на андройд, вывод бортового компа на андройд, управление с руля плеером на андройде. Ну и управление питанием.

Есть пару косяков, но они уже чисто программные. Почему-то не работают кнопки на магнитоле в режиме аукса, точнее работают, но только почему-то только ОК который заменён play\pause.
Тоесть с магнитолы плеером планшета не рулится.
И нужно сделать так, чтоб при уходе в слип плеер останавливал воспроизведение.
Это пока на первое время. Потом в свою софтину для дройда допишу плеер.

oleg707 28.06.2016 12:35

Цитата:

Сообщение от T_r_D (Сообщение 363354)
Вот полная схема под скетч мой, а то на предидущей половину не нарисовал и выход один перепутал.
Ещё после всех тестов на промикре был отпаян светодиод индицирующий питание за ненадобностью.
На схеме Stereo это выход магнитолы Remote.

PS. В машине два раза подряд сгорел KIS.
Поменял на LM7805 и всё работает!
Странно как-то даже!

Короче меня можно поздравить. Citroen C4 обрёл андройд дисплей без потери штатной магнитолы, тоесть выводом информации с неё на андройд, вывод бортового компа на андройд, управление с руля плеером на андройде. Ну и управление питанием.

Есть пару косяков, но они уже чисто программные. Почему-то не работают кнопки на магнитоле в режиме аукса, точнее работают, но только почему-то только ОК который заменён play\pause.
Тоесть с магнитолы плеером планшета не рулится.
И нужно сделать так, чтоб при уходе в слип плеер останавливал воспроизведение.
Это пока на первое время. Потом в свою софтину для дройда допишу плеер.

Пиши подробный проект, интересно почитать

T_r_D 28.06.2016 13:15

Да я даже не знаю что там и писать.
Попробую конечно, но попозже.
Вот видео на мою мыльницу.
https://www.dropbox.com/s/kblf9ba908...93347.3gp?dl=0

PS. Сегодня очень жарко, а терморезистор с платы аккумулятора планшета я не заменил на 10Ком постоянных.
Окно с предложением вынуть перегревшеюся батарею меня сначала радовало, а потом запарило.
Так что при удалении аккума перепаивайте и резистор на постоянный.


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

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