DIY зарядка для Tesla. Как устроен J1772? Делаем свой wallconnector с куртизанками

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

c368a64278526ab032ebeeeccb2cdde8.jpg

Чтобы успокоить Вас после кликбейтной картинки, сам коннектор по сути не зарядное устройство, а лишь реле, для подачи питания на разъем после того как разъем подсоединен к машине и машина готова заряжаться.

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

b6c4c4f4e20e029af442154ac6727e86.jpg

Существует целый зоопарк разъемов и типов зарядок для электромобилей. Основное отличие в постоянном и переменном токе. В случае AC зарядок Вы ограничены максимальной пропускной мощностью Вашего чарджера.

В случае DC, постоянный ток нужного напряжения направляется прямо в BMS, поэтому максимальная мощность может быть на порядок выше. Например CCS2 Combo и Supercharger V3 могут обеспечивать пропускаемую мощность при зарядке до 250кВт.

Я не устаю повторять, что я технарь, я программист, физмат в мою бухту. Возможно, моя юность прошла в растянутом шерстяном свитере, но сейчас я гордо смеюсь в лицо любому приколу об айтишниках. И ты айтишник, на тебя с обожанием смотрят женщины и с завистью мужчины. Хорошо, что ты уже за компьютером, будем в две клавиатуры хакать зарядку от Тесла.

Так, вот с батареями все не так просто. Литий штука капризная и непостоянная, особенно LiPo. По всем канонам может выдеражать до 3C зарядку. Т.е. при емкости батареи в 75 кВт/ч максимальная мощность при зарядке 225 кВт. При 400В это 562,5А.

Если Вас такие цифры уже испугали, добро пожаловать в наш отряд! Да, батарея при такой зарядке бешенно охлаждается, с КПД все не так просто, на деградацию никто не смотрит, важны маркетинговые цифры. Новая геометрия ячеек от Макса и новый катод должны творить чудеса. Но мне страшно сидеть в машине, которая заряжается четвертью мегавата.

Это не связано с текущим постом, но при передаче батареи для электромобиля на парковке в Москве я стал виновником взрыва 200 ячеек 18650, я знаю как горит литий на чужих крышах и капотах машин, а у меня в глазах счетчик потерь за сегодня.

В общем, зарядку для переменного тока (ее принято так называть) все-таки я сделал, хотя перед этим смотрел открытые проекты вроде OpenEVSE.

183be1ef5d22aaefab4b560a78bf7752.jpg

Изучил устройство Wall connector, mobile connector, мобильных зарядок сторонних производителей.

SAE J1772

Сам стандарт был принят в 2001 году, он же потом переродился в виде Combined Charging System (CCS). Ниже принципиальная схема.

Proximity pin это по сути кнопка в пистолете, который Вы вставляете в машину, Вы нажимаете кнопку, машина понимает и показывает зарядному устройству по pilot pin, что пора тоже отключить контактор, отключает контактор в заярядном устройстве к чарджеру.

Цель этого блока обеспечивать гарантированное отклчение питания в случае непредвиденных обстоятельств. Зарядный пистолет должен быть обесточен, когда не находится в зарядном порту автомобиля и автомобиль не требует зарядки.

Вся магия в процессе ощения Tesla с wall connector или mobile connector кроется в понимании работы pilot pin, и это очень просто.

789b23f88804cfdf59aa192f6a74f220.jpg

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

4781e1fde83d379238b4d4b09b0184fb.jpg

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

В моем случае это Tesla model Y чистокровный американец, ток до 48А, поэтому все компонеты я брал на честные китайские 63А, а ШИМ сигнал необходимо обеспечить в размере 80% с частотой в 1кГц.

b42603de2aca7423dd2bb288cf9c8cd1.jpg

Далее мы вставляем разъем с питанием в авто. Сопротивления на схеме j1772 выше условны, для понимания принципа работы. R3 в автомобиле на 2.7 кОм работает как делитель напряжения и у нас на pilot pin остается 9V, все дружно понимают, что машина подключилась к зарядке. Детектор в з.у. и в авто видят работу в штатном режиме.

Машина включает контактор к чарджеру и дополнительной сопротивление 1.3кОм для подтяжки pilot pin к земле. Забыл сказать, что земля для AC и GND для pilot и proximity объеденены, еще и поэтому важно иметь хорошую землю на з.у., если Вы гордились тем, что Ваше китайское з.у. терпимо к плохой земле, передайте китайцам большой рахмед.

После включения в авто второго сопротивления, общее сопротивление между pilot pin и GND падает и напряжение на pilot становится 6V, можете посчитать. Детектор в чарджере от всего этого начинает понмиать, что пора и включает свой контактор.

Вот и вся суть зарядки. Обеспечить питание для pilot pin, детектор и контактор. Я взял за основу проект Jacob Dykstra.

image-loader.svg

Набросал схему в онлайн редакторе, по возможности проверил и заказал производство.

Микроконтроллер Wemos D1 на основе esp8266 c wifi и bluetoth для блюкджека и куртизанок.

Опторазвязка 4N35 играет роль драйвера, именно через нее мы питаем pilot pin 12V и обеспечиваем ШИМ сигнал.

Компаратор напряжения LM393 играет роль детектора. Настроив переменными резисторами переходные напряжения для сравнения мы получаем подтянутые ноги D8, D7 в переходных значениях 12V, 9V, 6V. Таким образом микроконтроллер понимает подключена ли машина и готова ли машина к зарядке.

Микроконтроллер включает реле, которое включает контактор в силовой части, через реле на плате проходят милиамперы.

image-loader.svg

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

ac923ff93ced6c7764661c75384c2e2c.jpg

Силовая часть собрана в щитке на рейке. Все компоненты кистокровные китайские. Слева направо.

В качестве защиты я выбрал УЗО на 63А с проверкой целостности земли.

Решил включить в состав счетчик, чтобы проверять данные, которые указывает машина о заряде и реальное потребление, так узнаю КПД заряда.

Блок питания AC-DC на 12V.

Контактор для отключения фазы и нуля сразу с максимальным током в 63А.

ddc97381a435b1fd599fe0f4e1d53fb2.jpg

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

thjrlintdod3jklv7lhehp1ndq8.jpeg

Код 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 для применения ключей и личных кабинетов. Так же личный кабинет может быть через аутентификацию на сервере. Измерение силы тока позволит считать электроэнергию для распределения по лицевым счетам. Но это уже другая история.

qumteg0xgcr3su-o6wpbmbdhazi.jpeg

Вывод

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

© Habrahabr.ru