Показать сообщение отдельно
Старый 18.07.2015, 23:38   #17
oleg707
Гуру
 
Аватар для oleg707
 
Регистрация: 16.04.2014
Возраст: 39
Город: 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
Lightbulb

Цитата:
Сообщение от dees Посмотреть сообщение
Добрый вечер! Тоже загорелся желанием установить Nexus в машину и остановился на питании. Не плохо было бы контроль питания организовать на микроконтроллере. Начал не давно изучать PIC, но моих познаний в области программирования явно не хватает
Набросал в SPlane рисунок схемки и логику работу, может там что и лишнее конечно, например отключение OTG, но тем не менее это все что я смог родить
Так вот, может есть тут умельцы кто прошивку сможет написать на микроконтроллер, ато у меня что то дальше включения портов пока не идет она вроде для знающих не такая и сложная наверно.
Может кому то и пригодится потом эта схема.
Вам до прошивки еще как до луны. Вы железо для начала обкатайте. Чтоб преобразователь от замка зажигания работал. Я месяца 2-3 ездил с зарядкой 12-5 автомобильной в прикуривателе и проводками к планшету.

Конструктивная критика по схеме: не только ваша ошибка, но и многих - вы пытаетесь включить рэле ножкой микроконтроллера напрямую. Низзя! Вы можете возразить, что рэле вы ставите на 5 вольт и вообще слаботочные ( меньше 100mA), тогда на рэле параллельно обмотке надо ставить диод, т.к. при убирании управления (5В) на ножку проца идёт вольт 100(кратковременно правда), что может за недельку-другую выбить ножку, на которой это рэле висит. В автомобильных блоках всегда с проца идёт транзистор развязывающий или спецмикросхема (логика на крайняк).


далее.. чтобы сделать контроль питания, его надо как то мерять. Т.К. если вы подадите на контроллер больше 5 вольт, то он отправиться... да просто здохнет он, или канал выгорит просто. Т.Е. померять вы можете не более 5В. В программе проца эти 5В вы разделите на 1023(1024) значения и это будет ваше напряжение в цифровом виде. Если вы страстно желаете мерять больше 5В нужно делать делитель напряжения (тут гуглим(яндексим) сами). В программе на этот делитель пишем соответствующие коэффициенты.
У меня в коде (код на С++ для ардуины соответственно) это выглядит так:

int Uacc = analogRead (A7); //Читаем напругу с делителя R10-R11
int Uakb = analogRead (A6); //Читаем напругу с делителя R2-R3
float U_acc_real = Uacc * (1.1 / 1023.0*17.2); //Вычисляем реальное напряжение +ACC на входе делителя (A7) 17.2=поправка на погрешность делителя. обкатывать только на реальном питании от 12В! при питании от ЮСБ 5,0В плавают

float U_akb_real = Uakb * (1.1 / 1023.0*17.1); //Вычисляем реальное напряжение +30 на входе делителя (A6)

Есть еще ньюанс относительно чего мерять (так называемый референс), но это вообще отдельная изТория.

Последний раз редактировалось oleg707; 19.07.2015 в 00:00. Причина: словоблудие
oleg707 вне форума   Ответить с цитированием