Зарядное устройство переменного тока для электромобилей с протоколом J1772 по сути своей не зарядное устройство. Чтобы понять принцип работы я решил сделать свой Wallconnector с бюджетом до 10.000 руб. и разобраться как все работает. Опыты с электричеством опасны! Не повторяйте это дома, или повторяйте....решать Вам.

Чтобы успокоить Вас после кликбейтной картинки, сам коннектор по сути не зарядное устройство, а лишь реле, для подачи питания на разъем после того как разъем подсоединен к машине и машина готова заряжаться.
Чарджер (зарядное устройство) находится в машине, именно чарджер выключает контактор внутри машины по окончанию процесса зарядки, BMS (Battery management system) система, которая контролирует ячейки батареи так же находится внутри машины.

Существует целый зоопарк разъемов и типов зарядок для электромобилей. Основное отличие в постоянном и переменном токе. В случае AC зарядок Вы ограничены максимальной пропускной мощностью Вашего чарджера.
В случае DC, постоянный ток нужного напряжения направляется прямо в BMS, поэтому максимальная мощность может быть на порядок выше. Например CCS2 Combo и Supercharger V3 могут обеспечивать пропускаемую мощность при зарядке до 250кВт.
Я не устаю повторять, что я технарь, я программист, физмат в мою бухту. Возможно, моя юность прошла в растянутом шерстяном свитере, но сейчас я гордо смеюсь в лицо любому приколу об айтишниках. И ты айтишник, на тебя с обожанием смотрят женщины и с завистью мужчины. Хорошо, что ты уже за компьютером, будем в две клавиатуры хакать зарядку от Тесла.
Так, вот с батареями все не так просто. Литий штука капризная и непостоянная, особенно LiPo. По всем канонам может выдержать до 3C зарядку. Т.е. при емкости батареи в 75 кВт*ч максимальная мощность при зарядке 225 кВт. При 400В это 562,5А.
Если Вас такие цифры уже испугали, добро пожаловать в наш отряд! Да, батарея при такой зарядке бешено охлаждается, с КПД все не так просто, на деградацию никто не смотрит, важны маркетинговые цифры. Новая геометрия ячеек от Макса и новый катод должны творить чудеса. Но мне страшно сидеть в машине, которая заряжается четвертью мегавата.
Это не связано с текущим постом, но при передаче батареи для электромобиля на парковке в Москве я стал виновником взрыва 200 ячеек 18650, я знаю как горит литий на чужих крышах и капотах машин, а у меня в глазах счетчик потерь за сегодня.
В общем, зарядку для переменного тока(ее принято так называть) все-таки я сделал, хотя перед этим смотрел открытые проекты вроде OpenEVSE.

Изучил устройство Wall connector, mobile connector, мобильных зарядок сторонних производителей.
SAE J1772
Сам стандарт был принят в 2001 году, он же потом переродился в виде Combined Charging System (CCS). Ниже принципиальная схема.
Proximity pin это по сути кнопка в пистолете, который Вы вставляете в машину, Вы нажимаете кнопку, машина понимает и показывает зарядному устройству по pilot pin, что пора тоже отключить контактор, отключает контактор в зарядном устройстве к чарджеру.
Цель этого блока обеспечивать гарантированное отключение питания в случае непредвиденных обстоятельств. Зарядный пистолет должен быть обесточен, когда не находится в зарядном порту автомобиля и автомобиль не требует зарядки.
Вся магия в процессе общения Tesla с wall connector или mobile connector кроется в понимании работы pilot pin, и это очень просто.

В начальном состоянии ваше з.у. подключает к pilot pin 12V с ШИМ сигналом, по которому машина понимает какой ток максимальный для данной зарядной сети.

Так как я работаю в https://teesla.ru/, то и з.у. разрабатывал под Тесла. Например Tesla model 3, Y, X, S за редким исключением авто с двумя чарджерами могут принимать при зарядке переменных током до 48А с одной фазы для американских авто и до 16А по каждой их трех фаз для европейских авто.
В моем случае это Tesla model Y чистокровный американец, ток до 48А, поэтому все компоненты я брал на честные китайские 63А, а ШИМ сигнал необходимо обеспечить в размере 80% с частотой в 1кГц.

Далее мы вставляем разъем с питанием в авто. Сопротивления на схеме j1772 выше условны, для понимания принципа работы. R3 в автомобиле на 2.7 кОм работает как делитель напряжения и у нас на pilot pin остается 9V, все дружно понимают, что машина подключилась к зарядке. Детектор в з.у. и в авто видят работу в штатном режиме.
Машина включает контактор к чарджеру и дополнительной сопротивление 1.3кОм для подтяжки pilot pin к земле. Забыл сказать, что земля для AC и GND для pilot и proximity объединены, еще и поэтому важно иметь хорошую землю на з.у., если Вы гордились тем, что Ваше китайское з.у. терпимо к плохой земле, передайте китайцам большой рахмед.
После включения в авто второго сопротивления, общее сопротивление между pilot pin и GND падает и напряжение на pilot становится 6V, можете посчитать. Детектор в чарджере от всего этого начинает понмиать, что пора и включает свой контактор.
Вот и вся суть зарядки. Обеспечить питание для pilot pin, детектор и контактор. Я взял за основу проект Jacob Dykstra.

Набросал схему в онлайн редакторе, по возможности проверил и заказал производство.
Микроконтроллер Wemos D1 на основе esp8266 c wifi и bluetoth для блюкджека и куртизанок.
Опторазвязка 4N35 играет роль драйвера, именно через нее мы питаем pilot pin 12V и обеспечиваем ШИМ сигнал.
Компаратор напряжения LM393 играет роль детектора. Настроив переменными резисторами переходные напряжения для сравнения мы получаем подтянутые ноги D8, D7 в переходных значениях 12V, 9V, 6V. Таким образом микроконтроллер понимает подключена ли машина и готова ли машина к зарядке.
Микроконтроллер включает реле, которое включает контактор в силовой части, через реле на плате проходят милиамперы.

2 недели и из солнечного Шеньженя посылка уже у меня. Никак не могу поверить, что это стоит 2$.

Силовая часть собрана в щитке на рейке. Все компоненты чистокровные китайские. Слева направо.
В качестве защиты я выбрал УЗО на 63А с проверкой целостности земли.
Решил включить в состав счетчик, чтобы проверять данные, которые указывает машина о заряде и реальное потребление, так узнаю КПД заряда.
Блок питания AC-DC на 12V.
Контактор для отключения фазы и нуля сразу с максимальным током в 63А.

С монтажом на стене.

Код Jacob'a
const int PilotPin = 3; const int ChargeRequestPin = 4; const int VehicleDetectPin = 5; const int PowerRelay = 12; bool VehicleDetected = false; bool ChargeRequested = false; const int led1 = 7; const int led2 = 8; const int led3 = 9; void setup() { // put your setup code here, to run once: pinMode(PilotPin, OUTPUT); pinMode(11, OUTPUT); TCCR2A = _BV(COM2A1) | _BV(COM2B1) | _BV(WGM21) | _BV(WGM20); TCCR2B = _BV(CS22); OCR2A = 180; OCR2B = 50; pinMode(ChargeRequestPin, INPUT_PULLUP); pinMode(VehicleDetectPin, INPUT_PULLUP); pinMode(PowerRelay, OUTPUT); pinMode(led1, OUTPUT); pinMode(led2, OUTPUT); pinMode(led3, OUTPUT); digitalWrite(PowerRelay, LOW); analogWrite(PilotPin, 255); digitalWrite(led1, HIGH); } void loop() { // put your main code here, to run repeatedly: CheckStatus(); if(VehicleDetected == true){ digitalWrite(led2, HIGH); analogWrite(PilotPin, 64); } else{ digitalWrite(led2, LOW); analogWrite(PilotPin, 255); } if(VehicleDetected == true && ChargeRequested == true){ delay(1000); CheckStatus(); if(VehicleDetected == true && ChargeRequested == true){ digitalWrite(led3, HIGH); digitalWrite(PowerRelay, HIGH); } else{ digitalWrite(led3, LOW); digitalWrite(PowerRelay, LOW); } } else{ digitalWrite(led3, LOW); digitalWrite(PowerRelay, LOW); } } void CheckStatus(){ VehicleDetected = !(digitalRead(VehicleDetectPin)); if(pulseIn(ChargeRequestPin, HIGH, 5000) > 0){ ChargeRequested = false; }else{ ChargeRequested = true; } }
О плюшках и куртизанках
В проект заложена возможность применения адресной LED для индикации состояния. Использование RFID для применения ключей и личных кабинетов. Так же личный кабинет может быть через аутентификацию на сервере. Измерение силы тока позволит считать электроэнергию для распределения по лицевым счетам. Но это уже другая история.

Вывод
Я добился цели разобраться как работает J1772. Зарядное устройство работает. Есть планы как развивать этот проект. В самом начале я планировал уместиться в 10.000 руб., этого не получилось, потому что сам кабель стоит дороже.
