Arduino EV J1772充电站的制作

电子说

1.3w人已加入

描述

步骤1:设置ARDUINO Shield

构建和ARDUINO原始屏蔽。

我使用了Adafruit的Shield。 http://www.adafruit.com/products/55

将2 x 8pin和2x 6pin针座连接到外部孔。

将2 x 5mm 2针座的位置连接到继电器和J1772 Pilot的原型板上,/p》

步骤2:状态LEDs

Arduino

焊接通用阴极RGB LED到原型板和1 x 330欧姆电阻分别用于红色,绿色和蓝色。

将公共阴极接地。

焊接信号线:

红色-D5

蓝色-D8

绿色-D13

LED引线(Sparkfun的CC RGB LED)

蓝色-绿色-GND(最长引线)-红色

步骤3:继电器驱动器

Arduino

2N2222A NPN晶体管连接到R11(330欧姆),然后连接到D8(也连接到LED蓝色),GND和继电器输出。

第4步:先导DC/DC转换器

Arduino

J1772 Pilot需要一个从-12V摆动到+ 12V的1khz信号。 MicroPower Direct的D107E DC DC转换器将5VDC转换为正12V和负12V。转换器需要最小的消耗,因此在每个输出到地面之间都要增加一个2.4k电阻和一个1uf电容器。我连接了MPD D107E,使5V和GND引脚与原型板上的中心5V和接地轨对齐

步骤5:试运行放大器

Arduino

用于飞行员的运算放大器是LF353,从最后一步开始由DC/DC转换器供电。正+ 12V输出连接到引脚8,负-12V连接到引脚4。具有2个100K(R8和R9)电阻的分压器连接到LF353的+ 5V Gnd和引脚2。引脚3或运算放大器连接到Protoshield上的ARDUINO D10。输出,引脚1连接到1%1k ohm电阻,然后连接到引导输出。

P6KE16CA双向TVS二极管也连接到引导输出,然后

不使用引脚5、6和7。

步骤6:先导电压测量

Arduino

充电站和汽车与飞行员进行通讯。充电站必须读取电压才能正确响应。

1。将R5(56k)从5v焊接到Arduino Analog 1(A1)。

2。将R6(100k)从Gnd焊接到Arduino Analog 1(A1)。

3。将R7(200k)从先导输出焊接到Arduino Analog 1(A1)。

该电路通过提供一个分压器(R6和R7)将-12V缩小至-12V来工作。 R5提供了一个偏置来使电压保持正值,而Arduino不容忍模拟输入上的负电压。

步骤7:GFCI

Arduino

接地故障直通(GFCI)是重要部分充电站。 GFCI通过测量电流输出与电流输入之间的差异来工作。如果存在差异,则电路会跳闸。标准GFCI在5mA时跳闸,但是电动汽车需要一个不太敏感的跳闸点。大多数商业EVSE使用20mA。

该电路通过使用CRMagnetics(CR8420-1000-G)的接地故障电流互感器(CT)来工作。发生故障时,CT会产生较小的电压。来自CT的小电压首先在第一级中放大,然后在第二级中与参考电压进行比较。如果放大的CT电压高于参考电压,则运算放大器会变高,并导致Arduino在Arduino引脚D2上注册一个中断。

1。在另一个原型屏蔽板上焊接8针插座。

2。焊接电源线,将引脚4至5v和引脚8接地3。将二极管1N4148焊接到运算放大器输出引脚3和5。

运算放大器输出A

4。 CT线圈的焊接头引脚。

5。将齐纳二极管焊接到插头。

6。将330欧姆电阻R17焊接到插头。 (可以更改此电阻器的值以更改GFCI跳变点)

7。将R16从CT线圈接头焊接到Opamp引脚2

8。 R17,以及一个从运算放大器引脚2到引脚1上的二极管的0.1uf电容器。运算放大器输出B

9。将R15(20k)焊接到Gnd,将R14(100k)焊接到5V,将电阻连接在一起,然后连接到Opamp引脚6。

10。将Opamp输出引脚7二极管连接到10K电阻,将Arduino Digital 2(D2)连接到Arduino,将电阻的另一端连接到Gnd。

步骤8:加载EVSE固件

使用Arduino IDE将“ Open EVSE”固件加载到Arduino板上。

步骤9:RGB LCD(可选) )

如果Adruino和2个盾牌不高

根据adafruit网站上的指南进行组装。..

在Open EVSE代码中添加LCD代码。..

#include

#include

#define红色0x1

#define黄色0x3

#define绿色0x2

#define蓝色0x6t tlapsedTime;

void板上显示:Update()

{

uint8_t curstate = g_EvseController.GetState();

int i;

if(g_EvseController.StateTransition()){

switch(curstate){

case EVSE_STATE_A://未连接

lcd.setBacklight(GREEN);

lcd.setCursor (0,0);

lcd.print(“ EVSE Ready”);

lcd.setCursor(13,0);

lcd.print((int)g_EvseController.GetCurrentCapacity());

lcd.print(“ A”);

lcd.setCursor(0,1);

lcd.print(“ Not Connected”);

中断;

case EVSE_STATE_B://已连接/不收费

lcd.setBacklight(黄色);

lcd.setCursor(0,0);

lcd.print(“ EVSE Ready”);

lcd.setCursor(13,0);

lcd.print((int)g_EvseController.GetCurrentCapacity());

lcd.print(“ A”);

lcd.setCursor(0,1);

lcd.print(“正在等待EV“);

中断;

情况EVSE_STATE_C://正在充电

lcd.setBacklight(BLUE);

lcd.setCursor(0,0);

lcd.print(” Charging“ );

lcd.print((int)g_EvseController.GetCurrentCapacity());

lcd.print(“ A”);

break;

case EVSE_STATE_D://需要通风口

lcd .setBacklight(RED);

lcd.setCursor(0,0);

lcd.print(“ EVSE Error”);

lcd.setCursor(0,1);

lcd.print( “需要通风”);

中断;

情况EVSE_STATE_DIODE_CHK_FAILED:

lcd.setBacklight(RED);

lcd.setCursor( 0,0);

lcd.print(“ EVSE错误”);

lcd.setCursor(0,1);

lcd.print(“ DIODE CHK FAILED”);

中断;

case EVSE_STATE_GFCI_FAULT:

lcd.setBacklight(RED);

lcd.setCursor(0,0);

lcd.print(“ EVSE Error”);

lcd.setCursor(0,1 );

lcd.print(“ GFCI FAULT”);

break;

}

}

if(curstate == EVSE_STATE_C){

lcd.setCursor(0,1) ;

elapsedTime = now();

如果(hour(elapsedTime)《10){

lcd.print(“ 0”);

}

lcd.print(hour(elapsedTime) );

lcd.print(“:”);

如果(分钟(经过的时间)《10){

lcd.print(“ 0”);

}

lcd.print(分钟(elapsedTime));

lcd.print(“:”);

如果(second(elapsedTime)《10){

lcd.print(“ 0”);

}

lcd.print(second(elapsedTime));

lcd.print(“”);

}

}

步骤10:测试

Arduino

J1772 Pilot是1khz + 12V至-12V方波,电压定义状态,占空比定义可用的电流电动汽车EVSE设置占空比,而EV则增加了来自飞行员地面的电阻以改变电压。 EVSE读取电压并相应地更改状态。

状态先导电压EV电阻说明

状态A 12 N/A未连接

状态B 9 2.74k已连接

状态C 6882充电

状态D3 246需要通风状态E0不适用

状态F -12不适用EVSE错误

状态A -要测试状态A,请打开EVSE。 EVSE应该进入就绪状态。 LED应该亮绿色。

状态B -要测试状态B,请在EVSE供电的情况下,将电阻为2.74k Ohms的EV Simulator(或二极管和电阻器)连接起来。 EVSE应该进入EV已连接-EVSE就绪状态。 LED应该亮黄色。

状态C -要测试状态C,在EVSE供电的情况下,连接电阻为882欧姆的EV仿真器(或二极管和电阻器)。 EVSE应该进入EV已连接-EVSE就绪状态。 LED应该亮蓝色。

状态D-要测试状态D,请在EVSE供电的情况下,用246欧姆的电阻连接EV Simulator(或二极管和电阻器)。 EVSE应该转到所需的错误排放口。 LED应该亮红色。

状态E -要测试状态F,应断开EVSE的电源。 EVSE应该关闭,LED应该熄灭。

状态F -要测试状态F,在EVSE供电的情况下,将电阻为2.74k Ohms的EV仿真器(只是一个电阻器)连接起来。 EVSE应该转到错误二极管检查失败。 LED应该亮红色。

频率-飞行员的频率应该为1kHz(1000Hz)。可接受的J1772公差为980-1020Hz。通过在状态C“充电模式”下连接EV仿真器(或二极管和882欧姆电阻)来测试频率。从飞行员到EVSE地面连接万用表或示波器。

飞行员占空比-飞行员占空比取决于EVSE的最大电流设置。通过在状态C(充电模式)下连接EV仿真器来测试占空比。将示波器从飞行员连接到EVSE地面。占空比应与下图匹配。

上到51A安培=占空比x 0.6占空比=安培/0.6

51-80A安培=(占空比-64)2.5

占空比最大电流《3》 《3》误差《3》-7 %Digimatic Com Required

10%6A

20%12A

30%18A 《40》 24%24A 《50》 30A 《60》 36%《70》 42%42A 《80》 %48A

86%55A

88%60A

90%65A 《92》 92%70A

94%75A 《96》 80%

步骤11:高电压

Arduino

Arduino EVSE可以从6安培到80安培的任何J1772速率充电。我选择使用240V 30A J1772电缆以及30A继电器和L6-30扭锁插头。日产Leaf的最大充电速率为16 Amps,因此有足够的余量。

警告-如果您不合格,请不要使用240V电源。..

1。 L6-30剥去大约6英寸的外部绝缘层,露出热线(黑色),中性线/热线2(白色或红色)和接地线(绿色)。将每根线剥开并焊接或压接继电器的热线和中性线上的适当连接器。 (可选)如果需要为Ardrinos电源供电,请添加第二组电线。

2。通过去除约6英寸的外部绝缘层(露出4或5根电线)来准备J1772插头。如果存在用于接近的第五根导线,只需将其折叠并收缩包裹在其上,这样它就不会在充电站不需要的任何地方短路。剥去大约4根电线中的1/2英寸的火线(黑色),中性线/火线2(白色或红色),地线(绿色)和导向线(我的电缆上为橙色,但有些是蓝色的)。在火线和零线上进行继电器。

3。将所有接地线绑在一起。

4。将J1772电缆的火线和零线穿过电流互感器,然后将电线连接至继电器。

5。连接电源。注意电源必须是12V输出,输入应该是通用的(大约90-260V)。

6。将引路线连接到Arduino屏蔽引路输出。

7。将继电器线圈连接到屏蔽继电器输出。

8。将电源连接到Arduino。

步骤12:充电

在测试其充电时间之后。。..接通电源,然后再次测试。检查继电器,高压接线是否正确?

插入J1772,您的EV应该开始充电。

未来的计划。..清理低压电线,并将Arduino放在适当的外壳中。 p》

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分