Добавлена сгенерённая python-электрическая схема для Skidl
Этот коммит содержится в:
родитель
194bc27e23
коммит
ce5db564b7
1 изменённых файлов: 202 добавлений и 0 удалений
202
pkg/schema/schema.py
Обычный файл
202
pkg/schema/schema.py
Обычный файл
|
@ -0,0 +1,202 @@
|
|||
import skidl
|
||||
from skidl import *
|
||||
|
||||
def init():
|
||||
_ = skidl.\
|
||||
X
|
||||
def main():
|
||||
vin = Net("3.3в")
|
||||
gnd = Net("GND")
|
||||
xl4016_fb = Net("XL4016 fb pin")
|
||||
vkl = Net("Вкл")
|
||||
vfb = Net("Обратная связь")
|
||||
mk_onoff = Net("МК OnOff")
|
||||
Nets = Interface(vin=vin,gnd=gnd,xl4016_fb=xl4016_fb,vkl=vkl,vfb=vfb,mk_onoff=mk_onoff)
|
||||
n = Nets
|
||||
ESP32 = Part("RF_Module","ESP32-WROOM-32",TEMPLATE,footprint="RF_Module:ESP32-WROOM-32")
|
||||
Клема = Part("Connector_Generic","Conn_01x01",TEMPLATE,footprint="Connector_PinHeader_2.54mm:PinHeader_1x01_P2.54mm_Vertical")
|
||||
tr_fet = Part("Transistor_FET","BSS138",TEMPLATE,footprint="SOT-23_Handsoldering")
|
||||
r = Part("Device","R",TEMPLATE,footprint="Resistor_SMD:R_0805_2012Metric")
|
||||
r_jmp = Part("Device","R",TEMPLATE,footprint="Resistor_SMD:R_1206_3216Metric")
|
||||
r_jmp_big = Part("Device","R",TEMPLATE,footprint="Resistor_SMD:R_1812_4532Metric")
|
||||
diode = Part("Diode","1N4001",TEMPLATE,footprint="Diode_SMD:D_0805_2012Metric")
|
||||
stabilitron = Part("Device","D_Zener",TEMPLATE,footprint="Diode_SMD:D_0805_2012Metric")
|
||||
condensator = Part("Device","C",TEMPLATE,footprint="Capacitor_SMD:C_0805_2012Metric")
|
||||
conn2 = Part("Connector_Generic","Conn_01x02",TEMPLATE,footprint="Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_Vertical")
|
||||
conn3 = Part("Connector_Generic","Conn_01x03",TEMPLATE,footprint="Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_Vertical")
|
||||
conn3_big = Part("Connector_Generic","Conn_01x03",TEMPLATE,footprint="Package_TO_SOT_THT:TO-3P-3_Vertical")
|
||||
conn4 = Part("Connector_Generic","Conn_01x04",TEMPLATE,footprint="Connector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_Vertical")
|
||||
Parts = Interface(ESP32=ESP32,Клема=Клема,tr_fet=tr_fet,r=r,r_jmp=r_jmp,r_jmp_big=r_jmp_big,condensator=condensator,diode=diode,stabilitron=stabilitron,conn2=conn2,conn3=conn3,conn3_big=conn3_big,conn4=conn4)
|
||||
p = Parts
|
||||
dcdc_3_3_v(Nets,Parts)
|
||||
n.\
|
||||
gnd & p.\
|
||||
r_jmp_big(ref="main_gnd",value="0") & n.\
|
||||
gnd
|
||||
esp32 = NewESP32(Nets,Parts)
|
||||
xl4016_driver(Nets,Parts,mk_vkl_net=esp32["IO18"],mk_yark_net=esp32["IO19"])
|
||||
z1 = NewPinZaschita(name="z1",n=n,p=p)
|
||||
dvizh_verh = NewDvizh(name="dvizh_verh",n=n,p=p)
|
||||
dvizh_verh.\
|
||||
out & z1.\
|
||||
i
|
||||
z1.\
|
||||
o & esp32["IO4"]
|
||||
z1.\
|
||||
g & n.\
|
||||
gnd
|
||||
z2 = NewPinZaschita(name="z2",n=n,p=p)
|
||||
dvizh_niz = NewDvizh(name="dvizh_niz",n=n,p=p)
|
||||
dvizh_niz.\
|
||||
out & z2.\
|
||||
i
|
||||
z2.\
|
||||
o & esp32["IO16"]
|
||||
z2.\
|
||||
g & n.\
|
||||
gnd
|
||||
generate_netlist()
|
||||
@subcircuit
|
||||
def NewESP32(n,p):
|
||||
esp32 = p.\
|
||||
ESP32(ref="ESP32",value=" ")
|
||||
lgnd = n.\
|
||||
gnd
|
||||
lvin = n.\
|
||||
vin
|
||||
esp32["GND"] += lgnd
|
||||
lgnd & n.\
|
||||
gnd
|
||||
esp32["VDD"] += lvin
|
||||
lvin & n.\
|
||||
vin
|
||||
esp32["VDD"] & p.\
|
||||
r(ref="r_esp32_en",value="10k") & esp32["EN"]
|
||||
z1 = NewPinZaschita(name="esp32_z1",n=n,p=p)
|
||||
z2 = NewPinZaschita(name="esp32_z2",n=n,p=p)
|
||||
z3 = NewPinZaschita(name="esp32_z3",n=n,p=p)
|
||||
z4 = NewPinZaschita(name="esp32_z4",n=n,p=p)
|
||||
rxtx = p.\
|
||||
conn4(ref="rxtx",value=" ")
|
||||
rxtx[1] & z1.\
|
||||
i
|
||||
z1.\
|
||||
o & esp32["RXD0/IO3"]
|
||||
z1.\
|
||||
g & lgnd
|
||||
rxtx[2] & z2.\
|
||||
i
|
||||
z2.\
|
||||
o & esp32["TXD0/IO1"]
|
||||
z2.\
|
||||
g & lgnd
|
||||
rxtx[3] & z3.\
|
||||
i
|
||||
z3.\
|
||||
o & esp32["EN"]
|
||||
z3.\
|
||||
g & lgnd
|
||||
rxtx[4] & z4.\
|
||||
i
|
||||
z4.\
|
||||
o & esp32["IO0"]
|
||||
z4.\
|
||||
g & lgnd
|
||||
vin_gnd = p.\
|
||||
conn2(ref="vin_gnd",value=" ")
|
||||
vin_gnd[1] & lvin
|
||||
vin_gnd[2] & lgnd
|
||||
return esp32
|
||||
@subcircuit
|
||||
def xl4016_driver(n,p,mk_vkl_net,mk_yark_net):
|
||||
tr_mk = p.\
|
||||
tr_fet(ref="tr_mk",value="тр МК")
|
||||
tr_yark = p.\
|
||||
tr_fet(ref="tr_yark",value="тр ярк P-тип")
|
||||
d_vkl = p.\
|
||||
diode(ref="d_vkl",value="диод вкл")
|
||||
k_vfb = p.\
|
||||
Клема(ref="k_vfb",value=" ")
|
||||
k_xl4016_fb = p.\
|
||||
Клема(ref="k_xl4016_fb",value=" ")
|
||||
k_xl4016_fb & tr_mk["S"]
|
||||
k_vfb & n.\
|
||||
vfb
|
||||
vkl_iface = p.\
|
||||
conn2(ref="vkl_iface",value="Вкл")
|
||||
n.\
|
||||
vkl & vkl_iface & n.\
|
||||
vin
|
||||
r_fb = p.\
|
||||
r(ref="r_fb",value="100k")
|
||||
r_mk = p.\
|
||||
r(ref="r_mk",value="10k")
|
||||
n.\
|
||||
vin & r_fb & tr_mk["S"]
|
||||
n.\
|
||||
xl4016_fb & tr_mk["S"]
|
||||
tr_mk["D"] & n.\
|
||||
vfb
|
||||
tr_mk["G"] & r_mk & n.\
|
||||
gnd
|
||||
tr_mk["G"] & mk_vkl_net
|
||||
n.\
|
||||
vkl & d_vkl & tr_mk["G"]
|
||||
tr_yark["G"] & n.\
|
||||
vkl
|
||||
mk_yark_net & tr_yark["S"]
|
||||
r_diode = p.\
|
||||
r(ref="r_yark_pre_diode",value="100")
|
||||
diode = p.\
|
||||
diode(ref="yark_diode",value=" ")
|
||||
tr_yark["D"] & r_diode & diode & n.\
|
||||
vfb
|
||||
r_tr_g_yark = p.\
|
||||
r(ref="r_tr_g_yark",value="10k")
|
||||
n.\
|
||||
vkl & r_tr_g_yark & n.\
|
||||
gnd
|
||||
@subcircuit
|
||||
def dcdc_3_3_v(n,p):
|
||||
high_vin = p.\
|
||||
conn2(ref="high_vin",value="24В")
|
||||
lgnd = n.\
|
||||
gnd
|
||||
dcdc = p.\
|
||||
conn4(ref="dcdc",value="3.3В")
|
||||
dcdc[1] & n.\
|
||||
vin
|
||||
dcdc[2] & lgnd & n.\
|
||||
gnd
|
||||
dcdc[3] & high_vin & lgnd
|
||||
@package
|
||||
def NewDvizh(out,name,n,p):
|
||||
d = p.\
|
||||
conn3_big(ref=name,value=" ")
|
||||
d[1] & n.\
|
||||
vin
|
||||
d[2] & out
|
||||
d[3] & n.\
|
||||
gnd
|
||||
@package
|
||||
def NewPinZaschita(i,o,g,name,n,p):
|
||||
r = p.\
|
||||
r(ref=name + "_r_in",value="1k")
|
||||
d_vin = p.\
|
||||
diode(ref=name + "_d_vin",value=" ")
|
||||
d_gnd = p.\
|
||||
diode(ref=name + "_d_gnd",value=" ")
|
||||
stabil = p.\
|
||||
stabilitron(ref=name + "_stabil",value=" ")
|
||||
cond = p.\
|
||||
condensator(ref=name + "_cond",value=" ")
|
||||
i & p.\
|
||||
r_jmp_big(ref=name + "_rj1",value="0") & r
|
||||
r & d_vin & n.\
|
||||
vin
|
||||
r & d_gnd & g
|
||||
r & stabil & g
|
||||
r & cond & g
|
||||
r & p.\
|
||||
r_jmp_big(ref=name + "_rj2",value="0") & o
|
||||
main()
|
Загрузка…
Создание таблицы
Сослаться в новой задаче