![]() |
Цитата:
Тут начал копать материнку старую вот что там есть и что можно применить на блоке. 70T03GH-10 шт 60T03GH-5 шт p75n02ldg-2шт amp3095p-1шт apl1085-1шт apl1117-1шт |
70T03GH сходу как N-канальники можешь использовать. ДрСабра если есть - естественно пусть стоит. На кнопки ардуино леонардо и еще какая то только подходит ( которые ЮСБ клаву умеют имитировать, как я понял), тут есть хорошие темы с полным описанием.
APM3095P P-канальник! МОжешь сувать на входной ключ. http://www.datasheetcatalog.com/data...APM3095P.shtml apl1085-1шт регулятор напруги, специфический, не пойдёт https://www.insidegadgets.com/wp-con...09/APL1085.pdf apl1117-1шт тоже регулятор напруги. http://www.alldatasheet.com/datashee...C/APL1117.html |
Вложений: 2
положу тут, чтоб не потерять.
Отладка схемы из винды. http://habrahabr.ru/company/microsoft/blog/262419/ Windows Remote Arduino – это библиотека WinRT, которая позволяет управлять цифровыми и аналоговыми каналами платы Arduino из Windows/Windows Phone приложения, с помощью привычных команд типа digitalRead/Write и analogRead/Write. При этом сама плата может быть подключена к компьютеру по USB или Bluetooth – важно, чтобы обеспечивался последовательный канал передачи данных. МОП-структура (заумности и не только про полевики |
Вложений: 1
oleg707 еще раз здравствуйте.
Помогите по скетчу. Я так понимаю он у меня немного попроще чем ваш будет.Значения я потом сам подставлю. Алгоритм такой появляется асс либо импульс сигналки подается питание на планшет. Потом хаб и отг можно одновременно включать и выключать. Пропадает асс через 1-5 мин питание планшета выключается и через 5-10 мин хаб и отг. Если что то неправилно в последовательности поправте. Схему с номерами входов и выходов прилагаю. |
Цитата:
|
Вложений: 1
добавил в скетч, пока тестирую...
// кусок кода ниже нужен для того, чтобы при включении и сразу выключении ACC при полностью выключенном планшете(холодный старт) экран мог тухнуть по сигналу датчика холла. if (millis()-pauseTimeHALL>=1 && flagHALL == 0 && flagACC == 0) //проверка отсчета при холодном старте { digitalWrite(SLEEPpin, 0); //выключаем минус на упр SLEEP (7 pin PW1) = включаем экран delay(1500); // на 1.5 сек digitalWrite(SLEEPpin, 1);//выключаем экран delay(300);// на 0.3 сек flagHALL = 1; } if (millis()-pauseTimeHALL>=1 && flagHALL == 0 && flagACC == 1){flagHALL = 1;} delay использовал, чтобы программа не шла ниже по коду и не дрыгала этот датчик холла туда сюда с частотой исполнения кода. всё равно предполагается, что зажигание выключено и реагировать в миллисекунды нам не надо. Пока тестирую, полторы недели вроде норма. подправил железную схему, чтобы немного быстрее включался блок ( раньше надо было подержать секунды 2-3 ключ в замке), сейчас вставил и сразу вынял ключ, схема запускается, заодно добавилась возможность запускать схему с сигналки ( при открытии центрального замка), так, как хочет anru . |
Вложений: 1
выловил баг.
При пограничных значениях подсевшего АКБ ( у меня 12 вольт) получалось так, что АСС < 12В, а Ubat_real >12. переписал строчку if (U_acc_real>= 12 && flagACC == 0 && flagAKB == 1) //проверка напруги АСС и АКБ при флаге ACC = 0 текущий скетч |
Вложений: 1
с подачи anru поправил часть, которая должна включать схему от импульса сигналки.
|
Печатка болталась где то в шапке!
|
Учитесь писать без пауз, так проще отслеживать все происходящие события.
|
Цитата:
|
Цитата:
|
Цитата:
приведите пример куска кода и его вариант по вашему. С ардуино и программированием до этого не сталкивался ( at2313 не считается) :dntknw: Набрался порог в опросе, на котором я хотел сделать видео про ЭТО. Придётся делать при случае )) |
Ардуино здесь не причем, пользуйтесь таймером на каждое событие и обрабатывайте его только когда должно произойти реакция на событие.
Пример неприведу до дома доберусь не скоро, если только позже. |
Цитата:
|
Народ подскажите, как альтернатива на алиэкспресе с БП
http://ru.aliexpress.com/item/Car-Ch...107146887.html вариант 1 http://ru.aliexpress.com/item/DC-CC-...247251105.html вариант 2 http://ru.aliexpress.com/item/Free-S...752070171.html вариант 3 http://ru.aliexpress.com/item/Free-S...752070171.html вариант 4 http://ru.aliexpress.com/item/DC-4-5...Number=1426379 вариант 5 себе взял так на эксперемент вариант 1 с гальванической развязкой, к сожалению, сложности заказать, а тут китайские альтернативы. Посоветуйте, может кто уже пробовал |
Цитата:
|
Цитата:
|
осциллограмма kiw3312s 12-5В без нагрузки
практически то же, что и KIS-3R33S https://youtu.be/Q47IcdawHig по поводу массовых точек https://youtu.be/NLnwIF8bfQY почему то ютубовские ролики не вставились как видео( продублировал ссылками https://youtu.be/pHuStnX0lg4 https://youtu.be/JsT8Z9kvKjs |
Вложений: 3
те же условия, 0,5 ампера нагрузка простым керамическим резистором
|
покритикуйте новый скетч, еще не заливал в машину. :read2:
Тут СПОЙЛЕРЫ есть на форуме?!:no2: // ver23.09.2249 //D8 pin - (PLANSHpin pin)(выход 5в логический) (выключает питание планшета!(R13-R14)) //D7 pin - самозапитка (AKB pin) (выход 5в логический) /*ноги ардуины*/ int PLANSHpin = 8; //управление на выключатель питания БАТАРЕИ планшета через управляющую ногу ss\sd1 //0 = нет питания; 1 = есть питание ( БАТАРЕИ планшета) int AKBpin = 7; //управление транзюком самозапитки блока питания VT2 //1 = есть самозапитка; 0 = нет самозапитки int OTGpin = 10; //управление транзюком OTG VT3 //1 = есть масса на OTG; 0 = нет массы на OTG int SLEEPpin = 11; //управление транзюком сна VT4 (на датчик холла)) //1 = потух экран(есть масса на пине сна); 0 = штатная работа планшета (нет массы на пине сна) int POGOpin = 9; //управление транзюком питания +5V (VT5) на пого пин, чтоб планшет думал, что идет зарядка //1 = нет 5V на POGO; 0 = есть 5V на POGO int REMpin = 12; // //управление транзюком VT7 и через него VT6 = выход сигнала REM (+12v) НЕ АКТИВИРОВАЛ В СКЕТЧЕ, на плате распаяно. //0 = нет 12В на выходе REM; 1 = есть 12В на выходе REM /*логические переменные, используемые в коде*/ 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мин void setup() { // put your setup code here, to run once: pinMode(PLANSHpin, OUTPUT); pinMode(AKBpin, OUTPUT); pinMode(OTGpin, OUTPUT); pinMode(SLEEPpin, OUTPUT); pinMode(POGOpin, OUTPUT); pinMode(13, OUTPUT); //светодиодик на плате ардуины analogReference(INTERNAL); //перевод напряжения делителя на внутреннее значение 1,1В ( для повышения точности замера Uacc и Uakb) // Serial.begin(1200); } void loop() { 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) //Serial.print("U_akb_real = ");Serial.println(U_akb_real); //Serial.print("U_acc_real = ");Serial.println(U_acc_real); // кусок кода ниже нужен для того, чтобы при включении и сразу выключении ACC при полностью выключенном планшете(холодный старт) экран мог тухнуть по сигналу датчика холла. if (millis()>pauseTimeHALL && flagHALL == 0) //проверка отсчета при холодном старте {flagHALL = 1;} // if (flagHALL == 0 && flagACC == 1){flagHALL = 1;} // надо ли этот кусок кода тут?! Я ХЗ, пусть будет. но скорее не надо. // блок ACC if (U_acc_real>= 12 && flagACC == 0 && flagAKB == 1) //проверка напруги АСС и АКБ при флаге ACC = 0 { flagACC = 1; //ВКлючили зажигание pauseTimeACC = millis(); //сразу после включения зажигания даём минус на Y-OTG и плюс +5V на POGO или USB. digitalWrite(OTGpin, 1); //включаем минус на Y-OTG (8 pin PW1) (включается хаб? и звуковая карта) digitalWrite(POGOpin, 0); //включаем +5V (3 pin PW1 = POGO) нужно для распознавания планшетом признака зарядки. ( можно подавать на +5В USB кабеля (для тимуровской прошивки или если не используется датчик холла) } if (millis()-pauseTimeACC>=2000 && flagACC == 1) // пауза 2c после включения ACC и потом делать следующ(пока включено ACC): { digitalWrite(SLEEPpin, 0); //вЫключаем минус на упр SLEEP (7 pin PW1) = включаем экран // REM УПРАВЛЕНИЕ РАСКОММЕНТИТЬ и протестировать //digitalWrite(REMpin, 1); // даем + на управление VT7, тот дает минус на управление VT6, а VT6 выдаёт +12V на выход (PW1 - 13 pin)) pauseTimeACC = 0; } if (U_acc_real< 12 && flagACC == 1) { flagACC = 0; //Выключили зажигание pauseTimeACC = millis(); pauseTimeAKB = millis(); // сброс времени для отсчета отключения самозапитки // REM УПРАВЛЕНИЕ РАСКОММЕНТИТЬ и протестировать //digitalWrite(REMpin, 0); // даем - на управление VT7, тот убирает за счет подтяжки R24 минус на управление VT6, а VT6 убирает +12V на выход (PW1 - 13 pin)) } if (millis()-pauseTimeACC>=4000 && flagACC == 0) //пауза 4c после вЫключения ACC и потом делать следующ: { digitalWrite(OTGpin, 0); //вЫключаем минус на Y-OTG (8 pin PW1) digitalWrite(POGOpin, 1); //вЫключаем +5V (3 pin PW1 = POGO) pauseTimeACC = 0; if (flagHALL==1){digitalWrite(SLEEPpin, 1);} else {digitalWrite(SLEEPpin, 0);} //включаем минус на SLEEP (7 pin PW1)при этом тухнет экран (если прошло 2 минуты с момента включения ардуины) } // .. блок АКБ if (U_akb_real>=12 && flagAKB == 0) //проверка +30 и флага акб { digitalWrite(AKBpin, 1); // включаем самозапитку digitalWrite(PLANSHpin, 1); //включаем питание на батарею планшета (ss\sd1) flagAKB = 1; } if (U_akb_real<12 && flagAKB == 1) // ситуация, когда сел при работе ардуины аккумулятор { flagAKB = 0; } if (millis()-pauseTimeAKB>=6000 && flagAKB == 0) // если севший аакумулятор { // пауза 6c digitalWrite(PLANSHpin, 0); //вЫключаем питание на батарею планшета (ss\sd1) digitalWrite(AKBpin, 0); //выключаем AKBpin, при этом пропадает питание через полевик на KIW, система ПОЛНОСТЬЮ обесточивается delay (3000); // задержка для аппаратного выключения } if (flagAKB == 1 && flagACC == 0) //ситуация, когда норм акб и давно выключили зажигание (ACC) { if (millis()-pauseTimeAKB>=10800000 && flagAKB == 1) // если давно выключили ACC { // пауза (3600000 - 60мин) (60000 - 1 мин)(10800000=3ч) digitalWrite(AKBpin, 0); //выключаем AKBpin, при этом пропадает питание через полевик на KIW, система ПОЛНОСТЬЮ обесточивается digitalWrite(PLANSHpin, 0); //вЫключаем питание на батарею планшета (ss\sd1) delay (3000); // задержка для аппаратного выключения } } if (flagAKB ==0 ){digitalWrite(13, 0);} else {digitalWrite(13, 1);}; // индикация напруги батареи на ардуинине. } |
Вложений: 2
залил этот скетч, понравилось. Стало стабильнее отрабатывать тушение экрана по датчику холла, если вставить и сразу вынять ключ.
УТОЧНЕНИЕ 20,10,2015 Наигрался я с ардуиной, и решил попробовать залить HEX напрямую. Сразу скажу - не стало загрузчика, пропала задержка 1,5 сек перед включением проца. Мне понравилось, плата блока питания отзывается сразу, как пришла напруга, практически мгновенно. Пишу тут, чтоб самому не забыть )) для начала превращаем свободную ардуину ( у меня MEGA 2560) в программатор. Для этого запускаем среду разработки ардуины, в меню ФАЙЛ -> образцы-> ArduinoISP. ИНСТРУМЕНТЫ- >программатор->AVRISP mkII. Выбрать порт, плату и процессор ( у меня MEGA 2560). Заливаем скетч в мегу. Теперь она будет у нас ISP программатором. Отключаем MEGу. В настройках выбираем порт, плату и процессор нашего блока питания ( NANO. 328). Открываем наш скетч от блока питания (NANO_23.09_serial_control.ino). Железо подключается так: В юсб компа втыкаем нашу мегу (которая щас isp-программатор). К меге подключаем НАНУ (по схеме в скетче AVRISP mkII). Если всё правильно, на нане включится светодиод питания и станет исполнятся залитая программа. В среде разработке ардуины ФАЙЛ -> загрузить с помощью прграмматора. дальше - больше. Наигрался я с ардуиной, и решил попробовать залить HEX напрямую. Сразу скажу - не стало загрузчика, пропала задержка 1,5 сек перед включением проца. Мне понравилось, плата блока питания отзывается сразу, как пришла напруга, практически мгновенно. Пишу тут, чтоб самому не забыть )) для начала превращаем свободную ардуину ( у меня MEGA 2560) в программатор. Для этого запускаем среду разработки ардуины, в меню ФАЙЛ -> образцы-> ArduinoISP. ИНСТРУМЕНТЫ->программатор->AVRISP mkII. Выбрать порт, плату и процессор ( у меня MEGA 2560). Заливаем скетч в мегу. Теперь она будет у нас ISP программатором. Отключаем MEGу. В настройках выбираем порт, плату и процессор нашего блока питания ( NANO. 328). Открываем наш скетч от блока питания (NANO_23.09_serial_control.ino). Заливаем в НАНу. (саму нану можно не подключать, но желательно проверить работоспособность БП на машине). (В настройках среды ардуины поставить ВСЕ галки, кроме внешнего редактора). внизу пошла техническая инфа. нас интересует последняя белая строчка D:\777\soft\arduino\hardware\tools\avr/bin/avrdude -CD:\777\soft\arduino\hardware\tools\avr/etc/avrdude.conf -v -patmega328p -cstk500v2 -Pusb -Uflash:w:c:\Temp\build4913313151507408812.tmp/NANO_23.09_serial_control.cpp.hex:i Открываем папку \Temp\build4913313151507408812.tmp (поиском можно) и видим там КУЧУ файлов. Я все утянул на всякий, но нам нужен NANO_23.09_serial_control.cpp.hex Итак, мы заимели HEX файл прошивки. Теперь задача запихнуть его в процессор (мегу 328p) без загрузчика. Стандартной средой ардуины у меня не получилось ( или плохо старался), эта кака пыталась прошить мегу. Поэтому была использована программка SinaProg версии 2,1. (программер AVRISP, порт, 19200) devise ATmega328P. Железо подключается так: В юсб компа втыкаем нашу мегу (которая щас isp-программатор). К меге подключаем НАНУ (по схеме в скетче AVRISP mkII). Если всё правильно, на нане включится светодиод питания и станет исполнятся залитая программа. Открываем вверху HEX файл, указываем путь к тому, который мы добыли (NANO_23.09_serial_control.cpp.hex). И во вкладке Flash жамкаем Progam. ждём пока зальётся, и жмём verify. Отключаем. Остается проверить результат на машине. Arduino Uno (программатор) 5V → Vcc GND → GND D11 → MOSI D12 → MISO D13 → SCK D10 → Reset Arduino Nano (ICSP разъём) Pin1 (MISO) ← D12 Pin2 (Vcc) ← 5V Pin3 (SCK) ← D13 Pin4 (MOSI) ← D11 Pin5 (Reset) ← D10 Pin6 (GND) ← GND |
ну ты блин даешь, целую ардуину на это извел... а есть ведь просто кристалы типа аттини... на худой конец, ардуино про мини...
|
Цитата:
|
Цитата:
2 повторяемость - легко повторить проект 3 лёгкость перепрограммирования -всунул юсб, поменял значения, тайминги, залил. Настроить поведение можно ЛЮБОЕ. 4 цена - стоимость ардуины на Китае 1,5 бакса за НАНУ (а это разъём мини юсб, усб-уарт, кварц, атмега328p + плата). Стоимость той же атмеги 8 почти бакс. Андуина тупо дешевле. 5 расширяемость- у меня ещё куча ног прикрутить дополнительный функционал. (Типа измерения питания 5 в на планшет) 6 уже почти подошёл к 4 версии блока питания на спец- драйверах с контролем тока, температуры и прочими плюшками. Там уже и буду лепить на чистой атмеге. :secret: |
только нафига оно нада? контроль с планшета и прочее? снимать ставить...
возможно только из-за самообразования, реально нада так - настроил 1 раз, поставил - все пашет, и не лезешь туда больше. для задач БП достаточно тиньки 45ой =) |
просто мысли вслух и самоанализ
Цитата:
На момент начала проекта я не видел ни одного проекта без рэле ( у нас какой век на дворе?) самообразование однозначно никто не отменял, а то так у меня блок питания прекрасно и долго работал и без ардуины-проца(аппаратно), а вся эта конструкция пришла на замену обычного зарядного 5в-2А в прикуриватель на ПОГО пины. реально так - я сел в машину, вставил ключ - система запустилась из сна (либо загрузилась). Заглушил - система пошла спать( около часа сейчас). Через час самоотрубилась. Если батарея ниже 12 вольт - самоотрубилась. Если не лезть в дебри и не искать идеала - оно просто работает.Уже дооолго работает. :blush: ANRU вон вообще хочет, чтоб БП запускался при снятии машины с сигналки ( и это уже возможно у меня, только у провод от центрального замка протянуть). Каждому своё. Вот тут и нужна ардуина - не каждый потянет атмел студио сходу. Как мне править логику работы под себя прикажете? А если только HEX файл выложен? Ардуину воткнул в усб, поравил тайминги под себя (или вообще программу переписал), кнопку нажал - скетч залил -> пользуйся. Проект задумывался как альтернатива блокам на рэле. ( а рэле на проц напрямую цеплять нельзя, там токи попалить его могут, не говоря про обратное напряжение ( скачёк до 140 вольт запросто, надо ставить диод параллельно обмотке). Поэтому надо ставить транзистор и диод для рэле, или просто диод для слаботочного. Тогда смысл в рэле, если мы всё равно пихаем транзистор? Я не увидел ни одного(!) грамотного решения блока питания. Начиная от схемы и заканчивая компоновкой деталей. Да что говорить, даже защиты от короткого замыкания или перенапряжения я не видел. На робкое упоминание, что так нельзя - авторитетно заявляется, что у всех так работает. Это в машине то :shok:. Я понимаю, что для многих это игрушка в машине, но она никак не должна мешать машине работать. Мой БП далёк от идеала, многие идеи я взял с этого форума, многие идеи по практическому построению нагло спёр из автомобильного хэндсфрии ( прямо с деталями и взял:smile1:), многое - авторские наработки. Сначала даже писать не хотел, а потом... решил поделиться с форумом, который мне много дал. Хотя сейчас энтузиазм тратить время на форум упал почти полностью. |
Цитата:
|
Цитата:
|
Цитата:
ну что-бы не скучала меня дожидаясь ? |
Часто так бывает, ключ в замке оставил и пошёл, у жены так в мазда 6 штатное поведение.
|
Цитата:
|
Цитата:
|
У меня банальный тумблер на 3 положения стоит:среднее положение (0)-все обезточено, положение 1–управление через АСС, положение 2 – всегда включен.
Переключаешь во 2 положение и можешь хоть насовсем в магазин идти, пусть жена/теща фильмы смотрит!:) |
Цитата:
Или как вариант при нажатом тормозе и выжатом сцеплении 3 раза за 2 секунды нажать кнопку правого заднего стеклоподъёмника вверх, как в приличных сигналках :big: |
..и потопать/похлопать!:)
У меня заглушки у прикуривателя симметрично бороде стоят:в одной тумблер о котором выше писал, в другом usb под флешку. Так что внешний вид не пострадал. Вот для общего восприятия(фото не моей машины) |
А почему бы к сигнализации не подключить, сигналки почти у всех и почти у всех сигналок есть доп выход состояния сигнализации, если даже нет питание датчика удара появляется при постановке на сигнализацию, ну накрайняк с моторчиков замков брать инфу о состоянии сиги. Вышел закрыл все уснуло с утра открыл все проснулось естественно если в машине кто то на сигнализацию ставить смысла нет. У меня магнитола и габариты подключены не нарадуюсь выключить ни чего теперь не забуду.
|
Цитата:
На закрытие не делал, т.к. мне нужно чтобы монитор гас при вытаскивании ключа, а не тогда, когда я машину открытой в гараже оставляю. Программно сделать можно ЛЮБУЮ логику, два резистора добавить на аналоговый вход и программу под себя заточить. |
Цитата:
|
Цитата:
|
Часовой пояс GMT +4, время: 08:41. |
Работает на vBulletin® версия 3.8.4.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot