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)

oleg707 27.01.2016 13:02

Цитата:

Сообщение от alexfox (Сообщение 349893)
Здрасьти...
Ron — сопротивление MOSFET в открытом состоянии и чем оно меньше, тем меньше тепловыделение, меньше потери и выше КПД и т.д.
Мощности статических потерь определяются выражениями:
• для MOSFET
http://radio-hobby.org/uploads/schemes3/1503/f-1.png
Это один из главных параметров при выборе мосфита для ключа.
В даташите параметр не в МЕГАомах, а в "m" (мили)- это Омы в 10 в минус третьей степени, т.е. сопротивление открытого перехода порядка 0,021 Ом у моих мосфитов и 0,140 Ом у твоих ключей.

P.S. Ты сам написал:
"The resistance between specified terminals with input conditions applied that, according to the product specification, will establish minimum resistance (the on-state) between those terminals" - переведи :-))) там как раз идет речь о минимально-возможном сопротивлении в открытом состоянии, а не о "Чем выше сопротивление между выводами(разомкнутыми), тем лучше" - как ты пишешь.
Не вводи людей в заблуждение...

эмм, как бы мы про одно и то же, только разными словами
Breaker resistance Ron(Ohm) – сопротивление выключателя в замкнутом состоянии, оно меряется в Омах, а не в мегаомах. . Времени нет, потом распишу( 11 страница мануала).

alexfox 27.01.2016 13:21

Цитата:

Сообщение от oleg707 (Сообщение 349896)
эмм, как бы мы про одно и то же, только разными словами
Breaker resistance Ron(Ohm) – сопротивление выключателя в замкнутом состоянии, оно меряется в Омах, а не в мегаомах. . Времени нет, потом распишу( 11 страница мануала).

Ты вообще читаешь нет, что я пишу!?
Какие МЕГаомы? Ты сначала про одно пишешь, щас про другое...ты уж определись.
И говорим мы про одно и тоже Ron, только ты не понимаешь похоже, что это такое...
Я говорю, что Ron должен быть минимальным, а ты пишешь, что наоборот чем больше, тем лучше...
У твоих ключей Ron почти в 7 раз больше, чем мосфитов, которые я привел в сравнении...

Oxotnik 27.01.2016 13:27

Цитата:

Сообщение от oleg707 (Сообщение 349892)
on-state resistance (ron)

С какого перепугу это хуже? Чем выше сопротивление между выводами(разомкнутыми), тем лучше.

ron - сопротивление в замкнутом состоянии. Чем меньше - тем лучше. (Меньше будет греться) Значение в милли Омах.

alexfox 27.01.2016 13:41

Цитата:

Сообщение от Oxotnik (Сообщение 349898)
ron - сопротивление в замкнутом состоянии. Чем меньше - тем лучше. (Меньше будет греться) Значение в милли Омах.

Вот и я про тоже... :-)

oleg707 27.01.2016 14:01

всё, дошло, убедили. Про другое подумал )

yuriy m 27.01.2016 14:15

Цитата:

Сообщение от oleg707 (Сообщение 349892)
on-state resistance (ron)

The resistance between specified terminals with input conditions applied that, according to the product specification, will establish minimum resistance (the on-state) between those terminals.
С какого перепугу это хуже? Чем выше сопротивление между выводами(разомкнутыми), тем лучше.

Немного не прав. В выключенном состоянии,там сопротивление мегаомами исчисляется ,а это сопротивление перехода в открытом состоянии. И чем меньше он ,тем лучше (меньше нагрев корпуса,и падение напряжения)
При его параметрах ,при токе 2А падение напряжения составит 0,07в . 0,07*14,2 ~ 1W греем воздух... Соответственно, если 2 в параллель, то потеря будет ~0,5W.

oleg707 30.01.2016 00:14

Вложений: 1
итак, делюсь прототипом БП4 поколения, собирать его только гикам и знающим, готового решения тут нет+ вылавливаю баги ( их мало и вылазят редко, потому это надолго. Софт сырой, хотя уже больше нра, чем 3 версия. И железо нормально функционирует.)

скетч
/*
логика работы 4 версии БП. (30,12,1234)

ВКЛЮЧИЛИ ЗАЖИГАНИЕ
включаем питание на батарею планшета
через 0,5 секунды после включения зажигания включаем питание на батарею планшета, даём минус на Y-OTG

через 1.2 сек после включения зажигания включаем плюс +5V на POGO или USB(нужно для распознавания планшетом признака зарядки) и включаем питание на

видеорегистратор.

через 2с после включения ACC включаем экран, Включаем хаб, и выход REM(rem если больше 12в)

ВЫКЛЮЧИЛИ ЗАЖИГАНИЕ
выключаем выход REM.
через 4с после выключения зажигания вЫключаем минус на Y-OTG, ВЫключаем хаб, вЫключаем +5V (POGO(USB)), тушим экран (если прошло 2мин со старта БП)

ситуация, когда норм акб и выключено зажигание (ACC)
если прошло 5 часов, как выключили ACC вЫключаем питание на батарею планшета
если прошло 2 суток, как выключили ACC вЫключаем питание на на видеорегистратор, после этого вырубаем самозапитку и блок питания перестаёт потреблять

энергию ВООБЩЕ (0,000 А)

ЕСЛИ СЕВШИЙ АККУМУЛЯТОР (либо сел в процессе работы или простоя автомобиля)
//через 15с вЫключаем питание на батарею планшета и вырубаем сам БП.


если севший аккумулятор и включено зажигание, то процессор БП будет активен и делать ЭТО пока не станет нормальная батарея.
digitalWrite(PlanshBATpin, 0); //вЫключаем питание на батарею планшета (in2)
digitalWrite(OTGpin, 0); //вЫключаем минус на Y-OTG (8 pin PW1)
digitalWrite(POGOpin, 0); //вЫключаем +5V (POGO(USB))
digitalWrite(HUBpin, 1); // подаем + на управляющий транзюк хаба, тот закрывается и не пускает +5В с KIW (2вых)на хаб = ВЫключаем хаб
digitalWrite(REMpin, 0); // // выключаем выход REM
digitalWrite(REGISTRATORpin, 0); // выключаем питание на видеорегистратор
digitalWrite(SAMOZAPITKApin, 0); //выключаем SAMOZAPITKApin, при этом пропадает управление на IN4, система ПОЛНОСТЬЮ обесточивается
delay (3000); // задержка для аппаратного выключения





когда БП полностью выключен на датчик холла надо подавать массу, чтобы экран не включался(при оставленной батарее планшета), используется питание

батареи планшета для открытия транзастора, дающего массу. При этом ток потребления от батареи планшета составляет (3,74В 0,004А) (4,2В 0,005А) (0,01А

при 4,8В)


СОБСТВЕННОЕ ПОТРЕБЛЕНИЕ блока питания
все нагрузки выключены 11В, 0.025A (активен только процессор и канал самозапитки BTS716G
все нагрузки включены 14,65в 0,12А
*/


/*
Учитывая, что значение хранится в unsigned long, что соотвествует 4 байтам и следовательно может хранить значения от 0 до 4294967295.
Т.о счетчик переполнится и обнулится приблизительно через 1193 часов или же 50 дней (49.7).
*/










/*ноги ардуины*/
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 = 130000; // время паузы перед морганием экрана (для датчика холла)(равен времени загрузки планшета плюс секунд 10-20)= 2мин

void setup()
{
// put your setup code here, to run once:
pinMode(STATEpinI, INPUT);
pinMode(STATEpinII, INPUT);
pinMode(PlanshBATpin, OUTPUT);
pinMode(SAMOZAPITKApin, OUTPUT);
pinMode(OTGpin, OUTPUT);
pinMode(SLEEPpin, OUTPUT);
pinMode(II_KIW_pin_POGOpin, OUTPUT);
pinMode(HUBpin, OUTPUT);
pinMode(13, OUTPUT); //светодиодик на плате ардуины
pinMode(REMpin, OUTPUT);
pinMode(REGISTRATORpin, OUTPUT);
//Serial.begin(1200);
digitalWrite(PlanshBATpin, 0); //вЫключаем питание на батарею планшета
digitalWrite(SAMOZAPITKApin, 0); //выключаем SAMOZAPITKApin, при этом пропадает управление на IN4, система ПОЛНОСТЬЮ обесточивается
digitalWrite(OTGpin, 0); //вЫключаем минус на Y-OTG (8 pin PW1)
digitalWrite(II_KIW_pin_POGOpin, 0); //вЫключаем +5V (POGO(USB))
digitalWrite(HUBpin, 1); // подаем + на управляющий транзюк хаба, тот закрывается и не пускает +5В с KIW (2вых)на хаб = ВЫключаем хаб
digitalWrite(REMpin, 0); // // выключаем выход REM
digitalWrite(REGISTRATORpin, 0); // выключаем питание на видеорегистратор
pauseTimeACC = millis();
pauseTimeAKB = millis(); // сброс времени для отсчета отключения самозапитки
}


void loop()
{
/*
//отслеживания аварийной ситуации ITS716G канал 1 (питание KIW3312s-out2 и регистратор-out1) 0 = норма 1 = авар. сит. //тогда моргаем 13 ногой код "1"
//отслеживания аварийной ситуации ITS716G канал 2 (выход REM-out3 и самозапитка БП-out4 )0 = норма 1 = авар. сит. //тогда моргаем 13 ногой код "2"
if(SAMOZAPITKApin==1 || PlanshBATpin==1 ||REMpin==1 || REGISTRATORpin ==1) // если проц включал любой канал ITS
{
if(STATEpinI == 0) { // и если пин защиты показал аварию
for (int i=0; i <= 300; i++) { //тогда моргаем 13 ногой код "1" 10 минут, если они прошли и асс ВКЛ, тогда еще раз и еще по кругу, пока неисправность не уйдёт
digitalWrite(13, 1); delay(500); digitalWrite(13, 0); delay(1493);
digitalWrite(PlanshBATpin, 0); //вЫключаем питание на батарею планшета (in2)
digitalWrite(OTGpin, 0); //вЫключаем минус на Y-OTG (8 pin PW1)
digitalWrite(II_KIW_pin_POGOpin, 0); //вЫключаем +5V (POGO(USB))
digitalWrite(HUBpin, 1); // подаем + на управляющий транзюк хаба, тот закрывается и не пускает +5В с KIW (2вых)на хаб = ВЫключаем хаб
digitalWrite(REMpin, 0); // // выключаем выход REM
digitalWrite(REGISTRATORpin, 0); // выключаем питание на видеорегистратор
digitalWrite(SAMOZAPITKApin, 0); //выключаем SAMOZAPITKApin, при этом пропадает управление на IN4, система ПОЛНОСТЬЮ обесточивается
//delay (600000);
}
} ;
if(STATEpinII == 0) { // и если пин защиты показал аварию
for (int i=0; i <= 150; i++) { //тогда моргаем 13 ногой ногой код "2" 10 минут, если они прошли и асс ВКЛ, тогда еще раз и еще по кругу, пока неисправность не уйдёт
digitalWrite(13, 1); delay(500); digitalWrite(13, 0); delay(493); digitalWrite(13, 1); delay(500); digitalWrite(13, 0); delay(1493);
digitalWrite(PlanshBATpin, 0); //вЫключаем питание на батарею планшета (in2)
digitalWrite(OTGpin, 0); //вЫключаем минус на Y-OTG (8 pin PW1)
digitalWrite(II_KIW_pin_POGOpin, 0); //вЫключаем +5V (POGO(USB))
digitalWrite(HUBpin, 1); // подаем + на управляющий транзюк хаба, тот закрывается и не пускает +5В с KIW (2вых)на хаб = ВЫключаем хаб
digitalWrite(REMpin, 0); // // выключаем выход REM
digitalWrite(REGISTRATORpin, 0); // выключаем питание на видеорегистратор
digitalWrite(SAMOZAPITKApin, 0); //выключаем SAMOZAPITKApin, при этом пропадает управление на IN4, система ПОЛНОСТЬЮ обесточивается
//delay (600000);
}
} ;
}




*/


int Uacc = analogRead (A1); //Читаем напругу с делителя ACC R4-R5
int Uakb = analogRead (A0); //Читаем напругу с делителя R2-R3
float U_acc_real = 0.2+Uacc * (5 / 1023.0*3.1189); //Вычисляем реальное напряжение +ACC на входе делителя (A0) 3.1189=поправка делителя.(коэф деления) 0.2-падение на диоде
float U_akb_real = Uakb * (5 / 1023.0*3.1189); //Вычисляем реальное напряжение +30 на входе делителя (A1)
//Serial.print("U_akb_real = ");//Serial.print(U_akb_real); //Serial.print(" Uakb = "); //Serial.println(Uakb);
//Serial.print("U_acc_real = ");//Serial.print(U_acc_real); //Serial.print(" Uacc = ");//Serial.println(Uacc);
//Serial.println("--------------------------------------------------------------------------------------------");
// кусок кода ниже нужен для того, чтобы при включении и сразу выключении ACC при полностью выключенном планшете(холодный старт) экран мог тухнуть по сигналу датчика холла.
if (millis()>pauseTimeHALL && flagHALL == 0) //проверка отсчета при холодном старте
{flagHALL = 1;}






//Serial.println(" ----====86=-------// block ACC ");

// блок ACC
if (U_acc_real>= 11 && flagACC == 0 && flagAKB == 1) //проверка напруги АСС и АКБ при флаге ACC = 0
{
flagACC = 1; //ВКлючили зажигание (>11V)
//Serial.println(" ----====93=------- (U_acc_real>= 11 && flagACC == 0 && flagAKB == 1)");
pauseTimeACC = millis();
//через 0,5 секунды после включения зажигания даём минус на Y-OTG и плюс +5V на POGO или USB.
}




if (millis()-pauseTimeACC>=500 && flagACC == 1)// пауза 0,5c после включения ACC и потом делать следующ(пока включено ACC):
{
digitalWrite(PlanshBATpin, 1); //включаем питание на батарею планшета (in2)
//Serial.println(" ----====103=-------(millis()-pauseTimeACC>=20000 && flagACC == 1) "); //delay(100); //для стабилизации, иначе идет мгновенная просадка напряжения при включении модуля KIW. Кондёр на делитель +30 спасёт мир
digitalWrite(OTGpin, 1); //включаем минус на Y-OTG (включается хаб? и звуковая карта)
digitalWrite(HUBpin, 0);
}



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

//через 1.2с после включения ACC включаем экран, Включаем хаб, включаем питание на видеорегистратор, и выход REM(rem если больше 12в)
{
//Serial.println(" ----====122=------- (millis()-pauseTimeACC>=50000 && flagACC == 1)");
digitalWrite(II_KIW_pin_POGOpin, 1); //включаем +5V (POGO(USB) нужно для распознавания планшетом признака зарядки. ( можно подавать на +5В USB кабеля (для тимуровской прошивки или если не используется датчик холла)
digitalWrite(REGISTRATORpin, 1); // включаем питание на видеорегистратор
}
//через 1с после включения ACC включаем экран (вЫключаем минус на упр SLEEP), Включаем хаб (подаем минус на управляющий транзюк хаба, тот открывается и пускает +5В с KIW (2вых)на хаб)
if (millis()-pauseTimeACC>=1000 && flagACC == 1)
{
digitalWrite(SLEEPpin, 0); //включаем экран = вЫключаем минус на упр SLEEP
digitalWrite(HUBpin, 0); //Включаем хаб = подаем минус на управляющий транзюк хаба, тот открывается и пускает +5В с KIW (2вых)на хаб
//если напруга батареи больше 12В, то включаем еще и усилитель (выход REM)
if (U_akb_real>=12 && flagACC == 1) {digitalWrite(REMpin, 1);} // включаем выход REM
}

//ВЫКЛЮЧИЛИ ЗАЖИГАНИЕ
if (U_acc_real< 11 && flagACC == 1)
{//Serial.println(" ----====133=------- (U_acc_real< 11 && flagACC == 1)");
flagACC = 0; //Выключили зажигание
pauseTimeACC = millis();
pauseTimeAKB = millis(); // сброс времени для отсчета отключения самозапитки
digitalWrite(REMpin, 0); // выключаем выход REM
}

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

digitalWrite(OTGpin, 0); //вЫключаем минус на Y-OTG (8 pin PW1)
digitalWrite(HUBpin, 1); // ВЫключаем хаб = подаем + на управляющий транзюк хаба, тот закрывается и не пускает +5В с KIW (2вых)на хаб
digitalWrite(II_KIW_pin_POGOpin, 0); //вЫключаем +5V (POGO(USB))
pauseTimeACC = 0;
if (flagHALL==1){digitalWrite(SLEEPpin, 1);} else {digitalWrite(SLEEPpin, 0);} //включаем минус на SLEEP (7 pin PW1)при этом тухнет экран (если прошло 2 минуты с момента включения ардуины)
}

// .. блок АКБ



if (U_akb_real<11.6 && flagAKB == 1) // ситуация, когда сел при работе ардуины аккумулятор (либо сел в процессе работы или простоя автомобиля)
{
flagAKB = 0;//спустили флаг батареи
flagACC = 0;

}


if (U_akb_real>=11.6 && flagAKB == 0) //проверка +30 и флага акб
{
digitalWrite(SAMOZAPITKApin, 1); // включаем самозапитку
flagAKB = 1; //подняли флаг батареи
}



if (millis()-pauseTimeAKB>=15000 && flagAKB == 0) // если севший аакумулятор
{ // пауза 15c
//через 15с вЫключаем питание на батарею планшета и вырубаем сам БП.
digitalWrite(PlanshBATpin, 0); //вЫключаем питание на батарею планшета (in2)
digitalWrite(OTGpin, 0); //вЫключаем минус на Y-OTG (8 pin PW1)
digitalWrite(II_KIW_pin_POGOpin, 0); //вЫключаем +5V (POGO(USB))
digitalWrite(HUBpin, 1); // подаем + на управляющий транзюк хаба, тот закрывается и не пускает +5В с KIW (2вых)на хаб = ВЫключаем хаб
digitalWrite(REMpin, 0); // // выключаем выход REM
digitalWrite(REGISTRATORpin, 0); // выключаем питание на видеорегистратор
digitalWrite(SAMOZAPITKApin, 0); //выключаем SAMOZAPITKApin, при этом пропадает управление на IN4, система ПОЛНОСТЬЮ обесточивается
delay (3000); // задержка для аппаратного выключения
}
//*

if (flagAKB == 1 && flagACC == 0) //ситуация, когда норм акб и выключено зажигание (ACC)
{
//(батарея планшета))
if (millis()-pauseTimeAKB>=1800000 && flagAKB == 1) // если прошло 5 часов, как выключили ACC
{ // пауза (3600000 - 60мин) (60000 - 1 мин)(10800000=3ч) (1800000=5ч)
digitalWrite(PlanshBATpin, 0); //вЫключаем питание на батарею планшета (in2)
//delay (3000); // задержка для аппаратного выключения
}
//(самозапитка для регистратора)
if (millis()-pauseTimeAKB>=172800000 && flagAKB == 1) // если давно выключили ACC ) (2суток))
{digitalWrite(REGISTRATORpin, 0); // выключаем питание на видеорегистратор
digitalWrite(SAMOZAPITKApin, 0); //выключаем SAMOZAPITKApin, при этом система ПОЛНОСТЬЮ обесточивается
}

}



//*/


////Serial.print(" flagACC == ");//Serial.println(flagACC);
////Serial.print(" millis() == ");//Serial.println(millis());

if (flagAKB ==0 ){digitalWrite(13, 0);} else {digitalWrite(13, 1);}; // индикация напруги батареи на ардуинине.
//Serial.println(" ----====205 end of cikle=------- ");
//конец цикла void loop()
}

oleg707 30.01.2016 00:18

Если бы кто наконец собрал или хотя б по скетчу помог, было бы классно. Одному на всё катастрофически не хватает времени. Печатка в 4 верс. диптрейсе есть, только в личку.

Denkos 30.01.2016 11:35

Цитата:

Сообщение от oleg707 (Сообщение 350181)
Если бы кто наконец собрал .

Походу в этом деле Вы один.
19 страниц уже изобретаете, Люди скоро на марс высадяться.:smile2:

Alex EX 30.01.2016 12:31

А транзисторы наоборот специально нарисованы ? Пытаюсь сделать схему комутации питания 5 Вольт между зарядом планшета в выключеном зажигании и питанием хаба во включенном на полевиках, как я понял нужны p-каналные пара и один n-канальный как инвертор. Пока сделан на реле переключатель но он потребляет ток все время пока включено (что не есть хорошо...)
Собственно вопрос откуда выковырять p-канальные полевики ?


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

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