Merge pull request #22 from hlovdal/fix-board-003

Fix m-bus master board
This commit is contained in:
Roar Fredriksen 2018-02-28 12:04:35 +01:00 committed by GitHub
commit 1c17683d2b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
32 changed files with 18061 additions and 827 deletions

3
.gitmodules vendored Normal file
View File

@ -0,0 +1,3 @@
[submodule "Electrical/kicad-libs/kicad-symbols"]
path = Electrical/kicad-libs/kicad-symbols
url = https://github.com/kicad/kicad-symbols

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.9 KiB

After

Width:  |  Height:  |  Size: 13 KiB

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 KiB

After

Width:  |  Height:  |  Size: 14 KiB

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 250 KiB

After

Width:  |  Height:  |  Size: 436 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 47 KiB

After

Width:  |  Height:  |  Size: 77 KiB

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 186 KiB

View File

@ -0,0 +1,4 @@
%.png: %.svg
inkscape -f $^ --export-png=$@

View File

@ -1,46 +1,58 @@
# Overview
This board can be used to simulate a M-Bus master unit instead of
This board can be used to simulate a M-Bus master device instead of
connecting to the real AMS unit, i.e. usable for test and development.
It takes a 5 V TTL level input (serial) signal and converts it
to a M-bus level signal. It only supports sending. Based on
[MBus_USB.pdf](https://github.com/rscada/libmbus/blob/master/hardware/MBus_USB.pdf)<sup>1</sup>.
It depends on an external power source capable of delivering 25-40 Volt.
Most DC-DC boost/step-up converter modules<sup>2</sup> should be fine for this.
to a M-bus level signal. It supports both sending and receiving.
Inspired by [MBus_USB.pdf](https://github.com/rscada/libmbus/blob/master/hardware/MBus_USB.pdf)<sup>1</sup>,
although significantly improved by using zener diodes so that it is
flexible and can work with any external power source between
21 and 42 Volt. Most DC-DC boost/step-up converter
modules<sup>2</sup> should be fine for this.
![](MBus_Simulator.png?raw=true)
## BOM
* D1 13V zener
* Q1-Q3 NPN transistor
* Q4 PNP transistor
* R1 1k
* R2 6.8k
* R3 1 (optional, can be shorted instead)
* R4 150
* R5 22k
* R6 220k
* 1 x zener diode [13V](https://www.elfadistrelec.no/en/zener-diode-017aa-13-on-semiconductor-1n5350bg/p/17006687) (note below)
* 1 x zener diode [4.7V](https://www.elfadistrelec.no/en/zener-diode-do-35-500-mw-vishay-bzx55c4v7/p/30030851)
* 1 x [BD136 transistor](https://www.elfadistrelec.no/en/power-transistor-to-126-pnp-45-no-brand-bd136-16/p/17130046) (most pnp bjt will probably work (with 40+ operating voltage))
* 4 x [BC337 transistor](https://www.elfadistrelec.no/en/transistor-to-92-npn-45-800-ma-diotec-bc337-25bk/p/30012857) (probably any npn bjt will do (with 40+ operating voltage)
* 1 x resistor 82 ohm
* 1 x resistor 1k
* 1 x resistor 8.2k (you can use 10k if power supply is well above 21V)
* 5 x resistor 10k
* 1 x resistor 220k
* 4 x pin header 1x2
Note for the zener. This board depends on the zener to operate below 1mA,
e.g. like 1N5350 whereas a BZX55 will probably not operate properly.
Note for the 13V zener. This board design depends on the zener to
operate below 1mA, e.g. like 1N5350 (figure 8) whereas a BZX55
(figure 9) will maybe not operate properly.
![](zener_ok.png?raw=true) ![](zener_not_ok.png?raw=true)
This could be accomplished by reducing the 22k resistor so that it
This limitation could be lifted by reducing the 8.2k resistor so that it
draws enough current.
## Schematic
![](MBus_Simulator.schematic.png?raw=true)
[SVG version](MBus_Simulator.schematic.svg?raw=true)
## PCB
![](MBus_Simulator.B.Cu.png?raw=true)
[SVG version](MBus_Simulator.B.Cu.svg?raw=true)
![](MBus_Simulator.F.Cu.png?raw=true)
[SVG version](MBus_Simulator.F.Cu.svg?raw=true)
## Version history
Rev A - Only transmit. Wrong design, does not work.
Rev B - Both transmit and receive. Should work (not tested yet).
-------------

View File

@ -0,0 +1,3 @@
(fp_lib_table
(lib (name AmsToMqttBridge)(type KiCad)(uri ../kicad-libs/kicad-footprints/AmsToMqttBridge.pretty)(options "")(descr ""))
)

View File

@ -0,0 +1,292 @@
PCBNEW-LibModule-V1
$INDEX
LOGO
$EndINDEX
#
# LOGO
# pixmap w = 400, h = 400
#
$MODULE LOGO
Po 0 0 0 15 00000000 00000000 ~~
T0 0 1394 120 120 0 24 N I 21 "G***"
T1 0 -1394 120 120 0 24 N I 21 "LOGO"
DP 0 0 0 0 277 1 15
Dl -797 1181
Dl -783 1173
Dl -752 1154
Dl -708 1125
Dl -656 1091
Dl -604 1055
Dl -561 1027
Dl -531 1007
Dl -519 1000
Dl -512 1003
Dl -487 1015
Dl -452 1033
Dl -431 1044
Dl -398 1058
Dl -381 1061
Dl -379 1057
Dl -367 1032
Dl -348 989
Dl -323 932
Dl -294 865
Dl -264 793
Dl -233 720
Dl -204 650
Dl -179 587
Dl -158 535
Dl -144 500
Dl -139 485
Dl -141 481
Dl -157 465
Dl -186 444
Dl -248 393
Dl -310 317
Dl -347 230
Dl -360 133
Dl -349 43
Dl -314 -43
Dl -254 -120
Dl -181 -178
Dl -96 -214
Dl 0 -226
Dl 91 -216
Dl 179 -181
Dl 257 -122
Dl 290 -84
Dl 335 -6
Dl 360 78
Dl 363 100
Dl 359 192
Dl 332 280
Dl 283 359
Dl 216 424
Dl 207 430
Dl 176 454
Dl 155 470
Dl 138 483
Dl 256 766
Dl 275 811
Dl 307 889
Dl 335 955
Dl 358 1008
Dl 374 1044
Dl 381 1058
Dl 381 1059
Dl 392 1061
Dl 413 1053
Dl 453 1034
Dl 479 1020
Dl 509 1006
Dl 523 1000
Dl 534 1007
Dl 563 1025
Dl 605 1053
Dl 656 1088
Dl 704 1121
Dl 748 1150
Dl 780 1171
Dl 796 1179
Dl 798 1179
Dl 812 1171
Dl 838 1150
Dl 876 1114
Dl 931 1060
Dl 939 1051
Dl 984 1006
Dl 1020 968
Dl 1045 940
Dl 1054 928
Dl 1054 928
Dl 1046 913
Dl 1025 880
Dl 996 835
Dl 960 783
Dl 866 647
Dl 918 518
Dl 934 479
Dl 954 431
Dl 969 397
Dl 976 382
Dl 990 377
Dl 1025 369
Dl 1076 358
Dl 1137 347
Dl 1195 336
Dl 1247 326
Dl 1285 319
Dl 1302 316
Dl 1306 313
Dl 1310 305
Dl 1312 287
Dl 1313 255
Dl 1314 205
Dl 1314 133
Dl 1314 125
Dl 1313 56
Dl 1312 1
Dl 1310 -35
Dl 1308 -49
Dl 1308 -49
Dl 1291 -53
Dl 1254 -61
Dl 1202 -71
Dl 1140 -83
Dl 1136 -84
Dl 1074 -96
Dl 1021 -107
Dl 985 -115
Dl 970 -120
Dl 966 -124
Dl 954 -149
Dl 936 -187
Dl 915 -234
Dl 895 -283
Dl 878 -327
Dl 866 -360
Dl 862 -375
Dl 862 -375
Dl 872 -390
Dl 893 -422
Dl 923 -467
Dl 960 -520
Dl 962 -524
Dl 998 -576
Dl 1027 -621
Dl 1046 -653
Dl 1054 -667
Dl 1053 -668
Dl 1042 -683
Dl 1015 -713
Dl 977 -753
Dl 931 -800
Dl 916 -814
Dl 865 -864
Dl 829 -897
Dl 807 -914
Dl 797 -918
Dl 796 -918
Dl 780 -908
Dl 747 -886
Dl 702 -856
Dl 649 -820
Dl 645 -817
Dl 593 -781
Dl 549 -752
Dl 518 -731
Dl 504 -723
Dl 502 -723
Dl 480 -729
Dl 443 -742
Dl 397 -760
Dl 348 -780
Dl 304 -798
Dl 271 -813
Dl 256 -822
Dl 255 -823
Dl 250 -842
Dl 241 -881
Dl 229 -935
Dl 217 -1000
Dl 215 -1010
Dl 203 -1073
Dl 193 -1124
Dl 186 -1160
Dl 182 -1175
Dl 173 -1177
Dl 143 -1179
Dl 96 -1180
Dl 40 -1181
Dl -20 -1181
Dl -78 -1179
Dl -127 -1178
Dl -163 -1175
Dl -178 -1172
Dl -178 -1171
Dl -184 -1152
Dl -192 -1113
Dl -203 -1058
Dl -216 -994
Dl -218 -982
Dl -230 -920
Dl -240 -869
Dl -248 -833
Dl -252 -819
Dl -257 -816
Dl -283 -805
Dl -325 -788
Dl -377 -767
Dl -497 -718
Dl -645 -819
Dl -658 -828
Dl -711 -865
Dl -755 -894
Dl -785 -913
Dl -798 -920
Dl -799 -920
Dl -814 -907
Dl -843 -880
Dl -883 -841
Dl -929 -794
Dl -964 -760
Dl -1004 -719
Dl -1030 -691
Dl -1044 -673
Dl -1049 -662
Dl -1048 -655
Dl -1038 -640
Dl -1017 -607
Dl -986 -563
Dl -950 -510
Dl -921 -467
Dl -889 -417
Dl -868 -382
Dl -861 -365
Dl -863 -357
Dl -873 -329
Dl -890 -285
Dl -913 -233
Dl -964 -116
Dl -1040 -101
Dl -1087 -93
Dl -1152 -80
Dl -1214 -68
Dl -1311 -49
Dl -1314 307
Dl -1299 313
Dl -1285 317
Dl -1249 325
Dl -1198 335
Dl -1137 346
Dl -1086 356
Dl -1034 366
Dl -996 373
Dl -980 377
Dl -976 382
Dl -963 407
Dl -944 447
Dl -924 495
Dl -903 545
Dl -885 591
Dl -872 626
Dl -867 645
Dl -874 658
Dl -894 689
Dl -922 732
Dl -958 784
Dl -993 835
Dl -1023 880
Dl -1043 911
Dl -1052 926
Dl -1048 936
Dl -1027 961
Dl -988 1001
Dl -930 1058
Dl -921 1067
Dl -875 1112
Dl -836 1148
Dl -809 1172
Dl -797 1181
$EndMODULE LOGO
$EndLIBRARY

View File

@ -109,6 +109,22 @@ X GND 1 0 0 0 D 50 50 1 1 W N
ENDDRAW
ENDDEF
#
# Mounting_Hole
#
DEF Mounting_Hole MK 0 40 Y Y 1 F N
F0 "MK" 0 200 50 H V C CNN
F1 "Mounting_Hole" 0 125 50 H V C CNN
F2 "" 0 0 50 H I C CNN
F3 "" 0 0 50 H I C CNN
$FPLIST
Mounting?Hole*
Hole*
$ENDFPLIST
DRAW
C 0 0 50 0 1 50 N
ENDDRAW
ENDDEF
#
# PWR_FLAG
#
DEF PWR_FLAG #FLG 0 0 N N 1 F P

File diff suppressed because it is too large Load Diff

View File

@ -1,7 +1,7 @@
(export (version D)
(design
(source /usr/src/hlovdal/forks-github/AmsToMqttBridge/Electrical/Board_003/mbus_master.sch)
(date "to. 01. feb. 2018 kl. 20.58 +0100")
(date "ma. 26. feb. 2018 kl. 22.49 +0100")
(tool "Eeschema 4.0.7")
(sheet (number 1) (name /) (tstamps /)
(title_block
@ -17,37 +17,37 @@
(components
(comp (ref J2)
(value Conn_01x02)
(footprint Pin_Headers:Pin_Header_Straight_1x02_Pitch1.27mm)
(footprint Pin_Headers:Pin_Header_Straight_1x02_Pitch2.54mm)
(libsource (lib conn) (part Conn_01x02))
(sheetpath (names /) (tstamps /))
(tstamp 5A6C5520))
(comp (ref J1)
(value Conn_01x02)
(footprint Pin_Headers:Pin_Header_Straight_1x02_Pitch1.27mm)
(footprint Pin_Headers:Pin_Header_Straight_1x02_Pitch2.54mm)
(libsource (lib conn) (part Conn_01x02))
(sheetpath (names /) (tstamps /))
(tstamp 5A6C56AB))
(comp (ref Q1)
(comp (ref Q3)
(value BC337)
(footprint TO_SOT_Packages_THT:TO-92_Molded_Narrow)
(libsource (lib transistors) (part BC337))
(sheetpath (names /) (tstamps /))
(tstamp 5A6C58F3))
(comp (ref R1)
(value 1k)
(value 10k)
(footprint Resistors_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal)
(libsource (lib device) (part R))
(sheetpath (names /) (tstamps /))
(tstamp 5A6C5956))
(comp (ref D1)
(value D_Zener_Small_ALT)
(footprint Diodes_THT:D_A-405_P7.62mm_Horizontal)
(value 13V)
(footprint Diodes_THT:D_5W_P12.70mm_Horizontal)
(libsource (lib device) (part D_Zener_Small_ALT))
(sheetpath (names /) (tstamps /))
(tstamp 5A6C5A7F))
(comp (ref J3)
(value Conn_01x02)
(footprint Pin_Headers:Pin_Header_Straight_1x02_Pitch1.27mm)
(footprint Pin_Headers:Pin_Header_Straight_1x02_Pitch2.54mm)
(libsource (lib conn) (part Conn_01x02))
(sheetpath (names /) (tstamps /))
(tstamp 5A6C5F4D))
@ -63,42 +63,102 @@
(libsource (lib device) (part R))
(sheetpath (names /) (tstamps /))
(tstamp 5A70E602))
(comp (ref R5)
(value 22k)
(comp (ref R2)
(value 8.2k)
(footprint Resistors_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal)
(libsource (lib device) (part R))
(sheetpath (names /) (tstamps /))
(tstamp 5A70EB33))
(comp (ref Q3)
(tstamp 5A92EF05))
(comp (ref Q1)
(value BC337)
(footprint TO_SOT_Packages_THT:TO-92_Molded_Narrow)
(libsource (lib transistors) (part BC337))
(sheetpath (names /) (tstamps /))
(tstamp 5A70ED17))
(tstamp 5A92F34B))
(comp (ref R4)
(value 10k)
(footprint Resistors_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal)
(libsource (lib device) (part R))
(sheetpath (names /) (tstamps /))
(tstamp 5A92F359))
(comp (ref R3)
(value 10k)
(footprint Resistors_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal)
(libsource (lib device) (part R))
(sheetpath (names /) (tstamps /))
(tstamp 5A92F5C3))
(comp (ref Q2)
(value BC337)
(footprint TO_SOT_Packages_THT:TO-92_Molded_Narrow)
(libsource (lib transistors) (part BC337))
(sheetpath (names /) (tstamps /))
(tstamp 5A70EDBB))
(comp (ref R4)
(value 150)
(tstamp 5A92F825))
(comp (ref R5)
(value 10k)
(footprint Resistors_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal)
(libsource (lib device) (part R))
(sheetpath (names /) (tstamps /))
(tstamp 5A70EE1E))
(comp (ref R2)
(value 6k8)
(tstamp 5A92F832))
(comp (ref R7)
(value 82)
(footprint Resistors_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal)
(libsource (lib device) (part R))
(sheetpath (names /) (tstamps /))
(tstamp 5A70EEBF))
(comp (ref R3)
(value 1)
(tstamp 5A931949))
(comp (ref Q5)
(value BC337)
(footprint TO_SOT_Packages_THT:TO-92_Molded_Narrow)
(libsource (lib transistors) (part BC337))
(sheetpath (names /) (tstamps /))
(tstamp 5A931D4A))
(comp (ref J4)
(value Conn_01x02)
(footprint Pin_Headers:Pin_Header_Straight_1x02_Pitch2.54mm)
(libsource (lib conn) (part Conn_01x02))
(sheetpath (names /) (tstamps /))
(tstamp 5A932150))
(comp (ref D2)
(value 4.7V)
(footprint Diodes_THT:D_A-405_P7.62mm_Horizontal)
(libsource (lib device) (part D_Zener_Small_ALT))
(sheetpath (names /) (tstamps /))
(tstamp 5A9323FA))
(comp (ref R9)
(value 1k)
(footprint Resistors_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal)
(libsource (lib device) (part R))
(sheetpath (names /) (tstamps /))
(tstamp 5A70EF3B)))
(tstamp 5A9325DE))
(comp (ref R8)
(value 10k)
(footprint Resistors_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal)
(libsource (lib device) (part R))
(sheetpath (names /) (tstamps /))
(tstamp 5A9328A6))
(comp (ref MK3)
(value Mounting_Hole)
(footprint Mounting_Holes:MountingHole_4.3mm_M4_ISO14580)
(libsource (lib Mechanical) (part Mounting_Hole))
(sheetpath (names /) (tstamps /))
(tstamp 5A9353BE))
(comp (ref MK1)
(value Mounting_Hole)
(footprint Mounting_Holes:MountingHole_4.3mm_M4_ISO14580)
(libsource (lib Mechanical) (part Mounting_Hole))
(sheetpath (names /) (tstamps /))
(tstamp 5A935470))
(comp (ref MK2)
(value Mounting_Hole)
(footprint Mounting_Holes:MountingHole_4.3mm_M4_ISO14580)
(libsource (lib Mechanical) (part Mounting_Hole))
(sheetpath (names /) (tstamps /))
(tstamp 5A9354CC))
(comp (ref MK4)
(value Mounting_Hole)
(footprint Mounting_Holes:MountingHole_4.3mm_M4_ISO14580)
(libsource (lib Mechanical) (part Mounting_Hole))
(sheetpath (names /) (tstamps /))
(tstamp 5A935545)))
(libparts
(libpart (lib transistors) (part BC547)
(aliases
@ -170,6 +230,14 @@
(pins
(pin (num 1) (name K) (type passive))
(pin (num 2) (name A) (type passive))))
(libpart (lib Mechanical) (part Mounting_Hole)
(description "Mounting Hole without connection")
(footprints
(fp Mounting?Hole*)
(fp Hole*))
(fields
(field (name Reference) MK)
(field (name Value) Mounting_Hole)))
(libpart (lib device) (part R)
(description Resistor)
(footprints
@ -187,47 +255,65 @@
(library (logical transistors)
(uri /usr/share/kicad/library/transistors.lib))
(library (logical conn)
(uri /usr/share/kicad/library/conn.lib)))
(uri /usr/share/kicad/library/conn.lib))
(library (logical Mechanical)
(uri /usr/src/hlovdal/forks-github/AmsToMqttBridge/Electrical/kicad-libs/kicad-symbols/Mechanical.lib)))
(nets
(net (code 1) (name "Net-(Q2-Pad2)")
(node (ref Q2) (pin 2))
(node (ref R3) (pin 2)))
(net (code 1) (name "Net-(Q1-Pad1)")
(node (ref R4) (pin 2))
(node (ref Q1) (pin 1))
(node (ref Q2) (pin 2)))
(net (code 2) (name "Net-(Q2-Pad1)")
(node (ref Q2) (pin 1))
(node (ref Q3) (pin 2))
(node (ref R2) (pin 2)))
(net (code 3) (name GND)
(node (ref J2) (pin 1))
(node (ref Q4) (pin 2))
(node (ref R5) (pin 2))
(node (ref Q2) (pin 1)))
(net (code 3) (name "Net-(Q1-Pad2)")
(node (ref Q1) (pin 2))
(node (ref R3) (pin 1)))
(net (code 4) (name GND)
(node (ref J1) (pin 1))
(node (ref Q1) (pin 3))
(node (ref R5) (pin 2)))
(net (code 4) (name /MBus-)
(node (ref Q5) (pin 3))
(node (ref J4) (pin 1))
(node (ref D2) (pin 2))
(node (ref Q3) (pin 3))
(node (ref R7) (pin 2))
(node (ref J2) (pin 1))
(node (ref Q1) (pin 3)))
(net (code 5) (name "Net-(D2-Pad1)")
(node (ref D2) (pin 1))
(node (ref Q5) (pin 1))
(node (ref R9) (pin 2))
(node (ref R8) (pin 2)))
(net (code 6) (name "Net-(J4-Pad2)")
(node (ref R9) (pin 1))
(node (ref J4) (pin 2)))
(net (code 7) (name "Net-(Q4-Pad2)")
(node (ref Q5) (pin 2))
(node (ref Q4) (pin 2))
(node (ref R7) (pin 1)))
(net (code 8) (name "Net-(J1-Pad2)")
(node (ref J1) (pin 2))
(node (ref R3) (pin 2))
(node (ref R1) (pin 2)))
(net (code 9) (name "Net-(Q3-Pad2)")
(node (ref R1) (pin 1))
(node (ref Q3) (pin 2)))
(net (code 10) (name "Net-(Q3-Pad1)")
(node (ref R2) (pin 2))
(node (ref Q3) (pin 1)))
(net (code 11) (name "Net-(D1-Pad2)")
(node (ref Q4) (pin 3))
(node (ref R2) (pin 1))
(node (ref Q2) (pin 3))
(node (ref D1) (pin 2)))
(net (code 12) (name /MBus-)
(node (ref J3) (pin 1))
(node (ref Q4) (pin 1))
(node (ref R6) (pin 2)))
(net (code 5) (name "Net-(Q3-Pad3)")
(node (ref R3) (pin 1))
(node (ref R4) (pin 1))
(node (ref Q3) (pin 3)))
(net (code 6) (name "Net-(Q1-Pad1)")
(node (ref Q2) (pin 3))
(node (ref Q1) (pin 1))
(node (ref R4) (pin 2)))
(net (code 7) (name "Net-(J1-Pad2)")
(node (ref R1) (pin 2))
(node (ref J1) (pin 2)))
(net (code 8) (name "Net-(Q1-Pad2)")
(node (ref Q1) (pin 2))
(node (ref R1) (pin 1)))
(net (code 9) (name /EXT_PWR)
(node (ref R6) (pin 1))
(node (ref D1) (pin 1))
(net (code 13) (name /EXT_PWR)
(node (ref R8) (pin 1))
(node (ref J3) (pin 2))
(node (ref J2) (pin 2)))
(net (code 10) (name "Net-(D1-Pad2)")
(node (ref Q4) (pin 3))
(node (ref D1) (pin 2))
(node (ref D1) (pin 1))
(node (ref R6) (pin 1))
(node (ref R5) (pin 1))
(node (ref Q3) (pin 1))
(node (ref R2) (pin 1)))))
(node (ref J2) (pin 2))
(node (ref R4) (pin 1)))))

View File

@ -1,4 +1,4 @@
update=. 27. jan. 2018 kl. 11.31 +0100
update=ma. 26. feb. 2018 kl. 17.58 +0100
version=1
last_client=kicad
[pcbnew]
@ -23,9 +23,11 @@ ModuleOutlineThickness=0.150000000000
[cvpcb]
version=1
NetIExt=net
[general]
version=1
[eeschema]
version=1
LibDir=
LibDir=../kicad-libs/kicad-symbols
[eeschema/libraries]
LibName1=power
LibName2=device
@ -59,5 +61,4 @@ LibName29=opto
LibName30=atmel
LibName31=contrib
LibName32=valves
[general]
version=1
LibName33=Mechanical

View File

@ -31,6 +31,7 @@ LIBS:opto
LIBS:atmel
LIBS:contrib
LIBS:valves
LIBS:Mechanical
LIBS:mbus_master-cache
EELAYER 25 0
EELAYER END
@ -49,223 +50,203 @@ $EndDescr
$Comp
L Conn_01x02 J2
U 1 1 5A6C5520
P 2900 3300
F 0 "J2" H 2900 3400 50 0000 C CNN
F 1 "Conn_01x02" H 2900 3100 50 0000 C CNN
F 2 "Pin_Headers:Pin_Header_Straight_1x02_Pitch1.27mm" H 2900 3300 50 0001 C CNN
F 3 "" H 2900 3300 50 0001 C CNN
1 2900 3300
P 1700 3300
F 0 "J2" H 1700 3400 50 0000 C CNN
F 1 "Conn_01x02" H 1700 3100 50 0000 C CNN
F 2 "Pin_Headers:Pin_Header_Straight_1x02_Pitch2.54mm" H 1700 3300 50 0001 C CNN
F 3 "" H 1700 3300 50 0001 C CNN
1 1700 3300
-1 0 0 1
$EndComp
$Comp
L GND #PWR01
U 1 1 5A6C5572
P 3600 3400
F 0 "#PWR01" H 3600 3150 50 0001 C CNN
F 1 "GND" H 3600 3250 50 0000 C CNN
F 2 "" H 3600 3400 50 0001 C CNN
F 3 "" H 3600 3400 50 0001 C CNN
1 3600 3400
P 2400 3400
F 0 "#PWR01" H 2400 3150 50 0001 C CNN
F 1 "GND" H 2400 3250 50 0000 C CNN
F 2 "" H 2400 3400 50 0001 C CNN
F 3 "" H 2400 3400 50 0001 C CNN
1 2400 3400
1 0 0 -1
$EndComp
$Comp
L PWR_FLAG #FLG02
U 1 1 5A6C558D
P 3250 3400
F 0 "#FLG02" H 3250 3475 50 0001 C CNN
F 1 "PWR_FLAG" H 3250 3550 50 0000 C CNN
F 2 "" H 3250 3400 50 0001 C CNN
F 3 "" H 3250 3400 50 0001 C CNN
1 3250 3400
P 2050 3400
F 0 "#FLG02" H 2050 3475 50 0001 C CNN
F 1 "PWR_FLAG" H 2050 3550 50 0000 C CNN
F 2 "" H 2050 3400 50 0001 C CNN
F 3 "" H 2050 3400 50 0001 C CNN
1 2050 3400
-1 0 0 1
$EndComp
Wire Wire Line
3100 3200 8450 3200
1900 3200 9200 3200
Wire Wire Line
3100 3300 3600 3300
1900 3300 2400 3300
Wire Wire Line
3600 3300 3600 3400
2400 3300 2400 3400
Wire Wire Line
3250 3400 3250 3300
Connection ~ 3250 3300
2050 3400 2050 3300
Connection ~ 2050 3300
$Comp
L PWR_FLAG #FLG03
U 1 1 5A6C5614
P 3250 3050
F 0 "#FLG03" H 3250 3125 50 0001 C CNN
F 1 "PWR_FLAG" H 3250 3200 50 0000 C CNN
F 2 "" H 3250 3050 50 0001 C CNN
F 3 "" H 3250 3050 50 0001 C CNN
1 3250 3050
P 2050 3050
F 0 "#FLG03" H 2050 3125 50 0001 C CNN
F 1 "PWR_FLAG" H 2050 3200 50 0000 C CNN
F 2 "" H 2050 3050 50 0001 C CNN
F 3 "" H 2050 3050 50 0001 C CNN
1 2050 3050
1 0 0 -1
$EndComp
Wire Wire Line
3250 3050 3250 3200
Connection ~ 3250 3200
Text Label 3600 3200 1 60 ~ 0
2050 3050 2050 3200
Connection ~ 2050 3200
Text Label 2400 3200 1 60 ~ 0
EXT_PWR
Text Notes 2050 3350 0 60 ~ 0
External power\n25-40V
Text Notes 850 3350 0 60 ~ 0
External power\n21-42V
$Comp
L Conn_01x02 J1
U 1 1 5A6C56AB
P 2300 6800
F 0 "J1" H 2300 6900 50 0000 C CNN
F 1 "Conn_01x02" H 2300 6600 50 0000 C CNN
F 2 "Pin_Headers:Pin_Header_Straight_1x02_Pitch1.27mm" H 2300 6800 50 0001 C CNN
F 3 "" H 2300 6800 50 0001 C CNN
1 2300 6800
P 1950 5850
F 0 "J1" H 1950 5950 50 0000 C CNN
F 1 "Conn_01x02" H 1950 5650 50 0000 C CNN
F 2 "Pin_Headers:Pin_Header_Straight_1x02_Pitch2.54mm" H 1950 5850 50 0001 C CNN
F 3 "" H 1950 5850 50 0001 C CNN
1 1950 5850
-1 0 0 1
$EndComp
Text Notes 1300 6800 0 60 ~ 0
Text Notes 950 5850 0 60 ~ 0
Input signal, TTL\nSendt to m-bus
$Comp
L GND #PWR04
U 1 1 5A6C5767
P 2650 6900
F 0 "#PWR04" H 2650 6650 50 0001 C CNN
F 1 "GND" H 2650 6750 50 0000 C CNN
F 2 "" H 2650 6900 50 0001 C CNN
F 3 "" H 2650 6900 50 0001 C CNN
1 2650 6900
P 2300 5950
F 0 "#PWR04" H 2300 5700 50 0001 C CNN
F 1 "GND" H 2300 5800 50 0000 C CNN
F 2 "" H 2300 5950 50 0001 C CNN
F 3 "" H 2300 5950 50 0001 C CNN
1 2300 5950
1 0 0 -1
$EndComp
Wire Wire Line
2500 6800 2650 6800
2150 5850 2300 5850
Wire Wire Line
2650 6800 2650 6900
2300 5850 2300 5950
$Comp
L BC337 Q1
L BC337 Q3
U 1 1 5A6C58F3
P 3750 6700
F 0 "Q1" H 3950 6775 50 0000 L CNN
F 1 "BC337" H 3950 6700 50 0000 L CNN
F 2 "TO_SOT_Packages_THT:TO-92_Molded_Narrow" H 3950 6625 50 0001 L CIN
F 3 "" H 3750 6700 50 0001 L CNN
1 3750 6700
P 5150 5750
F 0 "Q3" H 5350 5825 50 0000 L CNN
F 1 "BC337" H 5350 5750 50 0000 L CNN
F 2 "TO_SOT_Packages_THT:TO-92_Molded_Narrow" H 5350 5675 50 0001 L CIN
F 3 "" H 5150 5750 50 0001 L CNN
1 5150 5750
1 0 0 -1
$EndComp
$Comp
L R R1
U 1 1 5A6C5956
P 3200 6700
F 0 "R1" V 3280 6700 50 0000 C CNN
F 1 "1k" V 3200 6700 50 0000 C CNN
F 2 "Resistors_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal" V 3130 6700 50 0001 C CNN
F 3 "" H 3200 6700 50 0001 C CNN
1 3200 6700
P 4150 5750
F 0 "R1" V 4230 5750 50 0000 C CNN
F 1 "10k" V 4150 5750 50 0000 C CNN
F 2 "Resistors_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal" V 4080 5750 50 0001 C CNN
F 3 "" H 4150 5750 50 0001 C CNN
1 4150 5750
0 1 1 0
$EndComp
Wire Wire Line
2500 6700 3050 6700
2150 5750 4000 5750
Wire Wire Line
3350 6700 3550 6700
4300 5750 4950 5750
$Comp
L GND #PWR05
U 1 1 5A6C59DD
P 3850 7100
F 0 "#PWR05" H 3850 6850 50 0001 C CNN
F 1 "GND" H 3850 6950 50 0000 C CNN
F 2 "" H 3850 7100 50 0001 C CNN
F 3 "" H 3850 7100 50 0001 C CNN
1 3850 7100
P 5250 6150
F 0 "#PWR05" H 5250 5900 50 0001 C CNN
F 1 "GND" H 5250 6000 50 0000 C CNN
F 2 "" H 5250 6150 50 0001 C CNN
F 3 "" H 5250 6150 50 0001 C CNN
1 5250 6150
1 0 0 -1
$EndComp
Wire Wire Line
3850 6900 3850 7100
5250 5950 5250 6150
$Comp
L D_Zener_Small_ALT D1
U 1 1 5A6C5A7F
P 5750 3500
F 0 "D1" H 5750 3590 50 0000 C CNN
F 1 "D_Zener_Small_ALT" H 5750 3410 50 0001 C CNN
F 2 "Diodes_THT:D_A-405_P7.62mm_Horizontal" V 5750 3500 50 0001 C CNN
F 3 "" V 5750 3500 50 0001 C CNN
1 5750 3500
P 5250 3550
F 0 "D1" V 5250 3650 50 0000 C CNN
F 1 "13V" H 5250 3460 50 0000 C CNN
F 2 "Diodes_THT:D_5W_P12.70mm_Horizontal" V 5250 3550 50 0001 C CNN
F 3 "" V 5250 3550 50 0001 C CNN
1 5250 3550
0 1 1 0
$EndComp
$Comp
L GND #PWR06
U 1 1 5A6C5BFD
P 5750 4800
F 0 "#PWR06" H 5750 4550 50 0001 C CNN
F 1 "GND" H 5750 4650 50 0000 C CNN
F 2 "" H 5750 4800 50 0001 C CNN
F 3 "" H 5750 4800 50 0001 C CNN
1 5750 4800
1 0 0 -1
$EndComp
Wire Wire Line
5750 4600 5750 4800
5250 3200 5250 3450
Wire Wire Line
5750 3200 5750 3400
Wire Wire Line
5750 3600 5750 4300
Wire Wire Line
4700 6500 3850 6500
Wire Wire Line
4700 4000 7250 4000
Connection ~ 5750 4000
4400 4350 5750 4350
$Comp
L Conn_01x02 J3
U 1 1 5A6C5F4D
P 9000 3450
F 0 "J3" H 9000 3550 50 0000 C CNN
F 1 "Conn_01x02" H 9000 3250 50 0000 C CNN
F 2 "Pin_Headers:Pin_Header_Straight_1x02_Pitch1.27mm" H 9000 3450 50 0001 C CNN
F 3 "" H 9000 3450 50 0001 C CNN
1 9000 3450
P 7300 3450
F 0 "J3" H 7300 3550 50 0000 C CNN
F 1 "Conn_01x02" H 7300 3250 50 0000 C CNN
F 2 "Pin_Headers:Pin_Header_Straight_1x02_Pitch2.54mm" H 7300 3450 50 0001 C CNN
F 3 "" H 7300 3450 50 0001 C CNN
1 7300 3450
1 0 0 1
$EndComp
Wire Wire Line
8800 3350 8450 3350
7100 3350 6750 3350
Wire Wire Line
8450 3350 8450 3200
Connection ~ 5750 3200
Text Label 8100 3200 0 60 ~ 0
6750 3350 6750 3200
Connection ~ 5250 3200
Text Label 6400 3200 0 60 ~ 0
MBus+
Text Label 8100 3750 0 60 ~ 0
Text Label 6400 3750 0 60 ~ 0
MBus-
$Comp
L BD136 Q4
U 1 1 5A6C614C
P 7450 4000
F 0 "Q4" H 7650 4075 50 0000 L CNN
F 1 "BD136" H 7650 4000 50 0000 L CNN
F 2 "TO_SOT_Packages_THT:TO-126_Vertical" H 7650 3925 50 0001 L CIN
F 3 "" H 7450 4000 50 0001 L CNN
1 7450 4000
P 5950 4350
F 0 "Q4" H 6150 4425 50 0000 L CNN
F 1 "BD136" H 6150 4350 50 0000 L CNN
F 2 "TO_SOT_Packages_THT:TO-126_Vertical" H 6150 4275 50 0001 L CIN
F 3 "" H 5950 4350 50 0001 L CNN
1 5950 4350
1 0 0 1
$EndComp
Wire Wire Line
7550 3200 7550 3350
Connection ~ 7550 3200
6050 3200 6050 3350
Connection ~ 6050 3200
$Comp
L GND #PWR07
L GND #PWR06
U 1 1 5A6C640E
P 7550 4800
F 0 "#PWR07" H 7550 4550 50 0001 C CNN
F 1 "GND" H 7550 4650 50 0000 C CNN
F 2 "" H 7550 4800 50 0001 C CNN
F 3 "" H 7550 4800 50 0001 C CNN
1 7550 4800
P 6050 5900
F 0 "#PWR06" H 6050 5650 50 0001 C CNN
F 1 "GND" H 6050 5750 50 0000 C CNN
F 2 "" H 6050 5900 50 0001 C CNN
F 3 "" H 6050 5900 50 0001 C CNN
1 6050 5900
1 0 0 -1
$EndComp
Wire Wire Line
7550 4200 7550 4800
6050 3750 6750 3750
Wire Wire Line
7550 3750 8450 3750
6750 3750 6750 3450
Wire Wire Line
8450 3750 8450 3450
Wire Wire Line
8450 3450 8800 3450
Connection ~ 7550 3750
Text Notes 9250 3450 0 60 ~ 0
6750 3450 7100 3450
Connection ~ 6050 3750
Text Notes 7550 3450 0 60 ~ 0
M-bus output signal
Wire Wire Line
7550 3650 7550 3800
6050 3650 6050 4150
Text Notes 3000 1650 0 60 ~ 0
Schematic based on https://github.com/rscada/libmbus/blob/master/hardware/MBus_USB.pdf\nmentioned in https://electronics.stackexchange.com/a/214477/568.\n\nRemoved all Rx support. Made more robust by using a zener diode so that the voltage drop is exact and that supply voltage does not matter.
Schematic inspired by https://github.com/rscada/libmbus/blob/master/hardware/MBus_USB.pdf\nmentioned in https://electronics.stackexchange.com/a/214477/568.\n\nMade more robust by using a zener diodes so that the voltage drop is exact and that supply voltage does not matter.
Wire Notes Line
2900 1250 8750 1250
Wire Notes Line
@ -277,118 +258,304 @@ Wire Notes Line
$Comp
L R R6
U 1 1 5A70E602
P 7550 3500
F 0 "R6" V 7630 3500 50 0000 C CNN
F 1 "220k" V 7550 3500 50 0000 C CNN
F 2 "Resistors_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal" V 7480 3500 50 0001 C CNN
F 3 "" H 7550 3500 50 0001 C CNN
1 7550 3500
1 0 0 -1
$EndComp
$Comp
L R R5
U 1 1 5A70EB33
P 5750 4450
F 0 "R5" V 5830 4450 50 0000 C CNN
F 1 "22k" V 5750 4450 50 0000 C CNN
F 2 "Resistors_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal" V 5680 4450 50 0001 C CNN
F 3 "" H 5750 4450 50 0001 C CNN
1 5750 4450
1 0 0 -1
$EndComp
$Comp
L BC337 Q3
U 1 1 5A70ED17
P 4900 4800
F 0 "Q3" H 5100 4875 50 0000 L CNN
F 1 "BC337" H 5100 4800 50 0000 L CNN
F 2 "TO_SOT_Packages_THT:TO-92_Molded_Narrow" H 5100 4725 50 0001 L CIN
F 3 "" H 4900 4800 50 0001 L CNN
1 4900 4800
1 0 0 -1
$EndComp
$Comp
L BC337 Q2
U 1 1 5A70EDBB
P 4200 5100
F 0 "Q2" H 4400 5175 50 0000 L CNN
F 1 "BC337" H 4400 5100 50 0000 L CNN
F 2 "TO_SOT_Packages_THT:TO-92_Molded_Narrow" H 4400 5025 50 0001 L CIN
F 3 "" H 4200 5100 50 0001 L CNN
1 4200 5100
-1 0 0 -1
$EndComp
$Comp
L R R4
U 1 1 5A70EE1E
P 5000 5400
F 0 "R4" V 5080 5400 50 0000 C CNN
F 1 "150" V 5000 5400 50 0000 C CNN
F 2 "Resistors_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal" V 4930 5400 50 0001 C CNN
F 3 "" H 5000 5400 50 0001 C CNN
1 5000 5400
P 6050 3500
F 0 "R6" H 6150 3500 50 0000 C CNN
F 1 "220k" V 6050 3500 50 0000 C CNN
F 2 "Resistors_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal" V 5980 3500 50 0001 C CNN
F 3 "" H 6050 3500 50 0001 C CNN
1 6050 3500
1 0 0 -1
$EndComp
$Comp
L R R2
U 1 1 5A70EEBF
P 4100 4500
F 0 "R2" V 4180 4500 50 0000 C CNN
F 1 "6k8" V 4100 4500 50 0000 C CNN
F 2 "Resistors_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal" V 4030 4500 50 0001 C CNN
F 3 "" H 4100 4500 50 0001 C CNN
1 4100 4500
U 1 1 5A92EF05
P 5250 4900
F 0 "R2" V 5330 4900 50 0000 C CNN
F 1 "8.2k" V 5250 4900 50 0000 C CNN
F 2 "Resistors_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal" V 5180 4900 50 0001 C CNN
F 3 "" H 5250 4900 50 0001 C CNN
1 5250 4900
1 0 0 -1
$EndComp
Wire Wire Line
5250 5050 5250 5550
Wire Wire Line
5250 3650 5250 4750
Connection ~ 5250 4350
$Comp
L BC337 Q1
U 1 1 5A92F34B
P 3500 4650
F 0 "Q1" H 3700 4725 50 0000 L CNN
F 1 "BC337" H 3700 4650 50 0000 L CNN
F 2 "TO_SOT_Packages_THT:TO-92_Molded_Narrow" H 3700 4575 50 0001 L CIN
F 3 "" H 3500 4650 50 0001 L CNN
1 3500 4650
1 0 0 -1
$EndComp
$Comp
L GND #PWR07
U 1 1 5A92F352
P 3600 5050
F 0 "#PWR07" H 3600 4800 50 0001 C CNN
F 1 "GND" H 3600 4900 50 0000 C CNN
F 2 "" H 3600 5050 50 0001 C CNN
F 3 "" H 3600 5050 50 0001 C CNN
1 3600 5050
1 0 0 -1
$EndComp
Wire Wire Line
3600 4850 3600 5050
$Comp
L R R4
U 1 1 5A92F359
P 3600 3500
F 0 "R4" V 3680 3500 50 0000 C CNN
F 1 "10k" V 3600 3500 50 0000 C CNN
F 2 "Resistors_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal" V 3530 3500 50 0001 C CNN
F 3 "" H 3600 3500 50 0001 C CNN
1 3600 3500
1 0 0 -1
$EndComp
Wire Wire Line
3600 3650 3600 4450
$Comp
L R R3
U 1 1 5A70EF3B
P 4650 5100
F 0 "R3" V 4730 5100 50 0000 C CNN
F 1 "1" V 4650 5100 50 0000 C CNN
F 2 "Resistors_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal" V 4580 5100 50 0001 C CNN
F 3 "" H 4650 5100 50 0001 C CNN
1 4650 5100
U 1 1 5A92F5C3
P 3100 4650
F 0 "R3" V 3180 4650 50 0000 C CNN
F 1 "10k" V 3100 4650 50 0000 C CNN
F 2 "Resistors_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal" V 3030 4650 50 0001 C CNN
F 3 "" H 3100 4650 50 0001 C CNN
1 3100 4650
0 1 1 0
$EndComp
Wire Wire Line
5000 5000 5000 5250
2700 5750 2700 4650
Wire Wire Line
4800 5100 5000 5100
Connection ~ 5000 5100
2700 4650 2950 4650
Connection ~ 2700 5750
Wire Wire Line
4400 5100 4500 5100
3250 4650 3300 4650
Wire Wire Line
4100 4650 4100 4900
3600 3350 3600 3200
Connection ~ 3600 3200
$Comp
L BC337 Q2
U 1 1 5A92F825
P 4300 4000
F 0 "Q2" H 4500 4075 50 0000 L CNN
F 1 "BC337" H 4500 4000 50 0000 L CNN
F 2 "TO_SOT_Packages_THT:TO-92_Molded_Narrow" H 4500 3925 50 0001 L CIN
F 3 "" H 4300 4000 50 0001 L CNN
1 4300 4000
1 0 0 -1
$EndComp
$Comp
L R R5
U 1 1 5A92F832
P 4400 3500
F 0 "R5" V 4480 3500 50 0000 C CNN
F 1 "10k" V 4400 3500 50 0000 C CNN
F 2 "Resistors_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal" V 4330 3500 50 0001 C CNN
F 3 "" H 4400 3500 50 0001 C CNN
1 4400 3500
1 0 0 -1
$EndComp
Wire Wire Line
4700 4800 4100 4800
Connection ~ 4100 4800
4400 3650 4400 3800
Wire Wire Line
4100 5300 4100 5700
4400 3350 4400 3200
Connection ~ 4400 3200
Wire Wire Line
4100 5700 5000 5700
4100 4000 3600 4000
Connection ~ 3600 4000
Wire Wire Line
5000 5700 5000 5550
Connection ~ 4700 5700
4400 4200 4400 4350
$Comp
L R R7
U 1 1 5A931949
P 6050 5450
F 0 "R7" H 6150 5450 50 0000 C CNN
F 1 "82" V 6050 5450 50 0000 C CNN
F 2 "Resistors_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal" V 5980 5450 50 0001 C CNN
F 3 "" H 6050 5450 50 0001 C CNN
1 6050 5450
1 0 0 -1
$EndComp
Wire Wire Line
4100 4350 4100 4250
6050 5900 6050 5600
Wire Wire Line
4100 4250 5000 4250
6050 4550 6050 5300
$Comp
L BC337 Q5
U 1 1 5A931D4A
P 8350 5050
F 0 "Q5" H 8550 5125 50 0000 L CNN
F 1 "BC337" H 8550 5050 50 0000 L CNN
F 2 "TO_SOT_Packages_THT:TO-92_Molded_Narrow" H 8550 4975 50 0001 L CIN
F 3 "" H 8350 5050 50 0001 L CNN
1 8350 5050
1 0 0 -1
$EndComp
Wire Wire Line
5000 4250 5000 4600
8150 5050 6050 5050
Connection ~ 6050 5050
$Comp
L GND #PWR08
U 1 1 5A931EC5
P 8450 5500
F 0 "#PWR08" H 8450 5250 50 0001 C CNN
F 1 "GND" H 8450 5350 50 0000 C CNN
F 2 "" H 8450 5500 50 0001 C CNN
F 3 "" H 8450 5500 50 0001 C CNN
1 8450 5500
1 0 0 -1
$EndComp
Wire Wire Line
4700 4000 4700 4250
Connection ~ 4700 4250
8450 5500 8450 5250
$Comp
L Conn_01x02 J4
U 1 1 5A932150
P 10100 5000
F 0 "J4" H 10100 5100 50 0000 C CNN
F 1 "Conn_01x02" H 10100 4800 50 0000 C CNN
F 2 "Pin_Headers:Pin_Header_Straight_1x02_Pitch2.54mm" H 10100 5000 50 0001 C CNN
F 3 "" H 10100 5000 50 0001 C CNN
1 10100 5000
1 0 0 1
$EndComp
Text Notes 10300 5000 0 60 ~ 0
RxD output signal
$Comp
L GND #PWR09
U 1 1 5A932321
P 9900 5500
F 0 "#PWR09" H 9900 5250 50 0001 C CNN
F 1 "GND" H 9900 5350 50 0000 C CNN
F 2 "" H 9900 5500 50 0001 C CNN
F 3 "" H 9900 5500 50 0001 C CNN
1 9900 5500
1 0 0 -1
$EndComp
Wire Wire Line
9900 5500 9900 5000
$Comp
L D_Zener_Small_ALT D2
U 1 1 5A9323FA
P 9200 4900
F 0 "D2" V 9200 5000 50 0000 C CNN
F 1 "4.7V" H 9200 4810 50 0000 C CNN
F 2 "Diodes_THT:D_A-405_P7.62mm_Horizontal" V 9200 4900 50 0001 C CNN
F 3 "" V 9200 4900 50 0001 C CNN
1 9200 4900
0 1 1 0
$EndComp
$Comp
L GND #PWR010
U 1 1 5A9324F7
P 9200 5500
F 0 "#PWR010" H 9200 5250 50 0001 C CNN
F 1 "GND" H 9200 5350 50 0000 C CNN
F 2 "" H 9200 5500 50 0001 C CNN
F 3 "" H 9200 5500 50 0001 C CNN
1 9200 5500
1 0 0 -1
$EndComp
Wire Wire Line
9200 5000 9200 5500
$Comp
L R R9
U 1 1 5A9325DE
P 9700 4450
F 0 "R9" V 9800 4450 50 0000 C CNN
F 1 "1k" V 9700 4450 50 0000 C CNN
F 2 "Resistors_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal" V 9630 4450 50 0001 C CNN
F 3 "" H 9700 4450 50 0001 C CNN
1 9700 4450
0 1 1 0
$EndComp
Wire Wire Line
9900 4900 9900 4450
Wire Wire Line
9900 4450 9850 4450
$Comp
L R R8
U 1 1 5A9328A6
P 9200 3900
F 0 "R8" H 9300 3900 50 0000 C CNN
F 1 "10k" V 9200 3900 50 0000 C CNN
F 2 "Resistors_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal" V 9130 3900 50 0001 C CNN
F 3 "" H 9200 3900 50 0001 C CNN
1 9200 3900
1 0 0 -1
$EndComp
Wire Wire Line
9200 3200 9200 3750
Connection ~ 6750 3200
Wire Wire Line
9200 4050 9200 4800
Wire Wire Line
8450 4450 9550 4450
Connection ~ 9200 4450
Wire Wire Line
8450 4850 8450 4450
Wire Notes Line
3700 4150 5300 4150
5750 4850 8150 4850
Wire Notes Line
5300 4150 5300 6200
8150 4850 8150 3650
Wire Notes Line
5300 6200 3700 6200
8150 3650 11150 3650
Wire Notes Line
3700 6200 3700 4150
Text Notes 4100 6000 0 60 ~ 0
Current limit, ca 8mA
Wire Wire Line
4700 6500 4700 5700
11150 3650 11150 6350
Wire Notes Line
11150 6350 5750 6350
Wire Notes Line
5750 6350 5750 4850
Text Notes 7050 6200 0 60 ~ 0
Receive circuit. RxD switches polarity at around 8mA through R7.
$Comp
L Mounting_Hole MK3
U 1 1 5A9353BE
P 10700 1100
F 0 "MK3" H 10700 1300 50 0000 C CNN
F 1 "Mounting_Hole" H 10700 1225 50 0000 C CNN
F 2 "Mounting_Holes:MountingHole_4.3mm_M4_ISO14580" H 10700 1100 50 0001 C CNN
F 3 "" H 10700 1100 50 0001 C CNN
1 10700 1100
1 0 0 -1
$EndComp
$Comp
L Mounting_Hole MK1
U 1 1 5A935470
P 10100 1100
F 0 "MK1" H 10100 1300 50 0000 C CNN
F 1 "Mounting_Hole" H 10100 1225 50 0000 C CNN
F 2 "Mounting_Holes:MountingHole_4.3mm_M4_ISO14580" H 10100 1100 50 0001 C CNN
F 3 "" H 10100 1100 50 0001 C CNN
1 10100 1100
1 0 0 -1
$EndComp
$Comp
L Mounting_Hole MK2
U 1 1 5A9354CC
P 10100 1500
F 0 "MK2" H 10100 1700 50 0000 C CNN
F 1 "Mounting_Hole" H 10100 1625 50 0000 C CNN
F 2 "Mounting_Holes:MountingHole_4.3mm_M4_ISO14580" H 10100 1500 50 0001 C CNN
F 3 "" H 10100 1500 50 0001 C CNN
1 10100 1500
1 0 0 -1
$EndComp
$Comp
L Mounting_Hole MK4
U 1 1 5A935545
P 10700 1500
F 0 "MK4" H 10700 1700 50 0000 C CNN
F 1 "Mounting_Hole" H 10700 1625 50 0000 C CNN
F 2 "Mounting_Holes:MountingHole_4.3mm_M4_ISO14580" H 10700 1500 50 0001 C CNN
F 3 "" H 10700 1500 50 0001 C CNN
1 10700 1500
1 0 0 -1
$EndComp
$EndSCHEMATC

View File

@ -0,0 +1,25 @@
<Qucs Schematic 0.0.20>
<Properties>
<View=0,-8,1277,979,1,0,0>
<Grid=10,10,0>
<DataSet=mbus_master_100.qucs-s.dat>
<DataDisplay=mbus_master_100.qucs-s.sch>
<OpenDisplay=1>
<Script=mbus_master_100.qucs-s.m>
<RunScript=0>
<showFrame=0>
<FrameText0=Title>
<FrameText1=Drawn By:>
<FrameText2=Date:>
<FrameText3=Revision:>
</Properties>
<Symbol>
</Symbol>
<Components>
</Components>
<Wires>
</Wires>
<Diagrams>
</Diagrams>
<Paintings>
</Paintings>

View File

@ -0,0 +1,111 @@
<Qucs Schematic 0.0.20>
<Properties>
<View=0,-60,2023,1131,0.84375,0,109>
<Grid=10,10,1>
<DataSet=mbus_master_100.qucs-s.dat>
<DataDisplay=mbus_master_100.qucs-s.dpl>
<OpenDisplay=1>
<Script=mbus_master_100.qucs-s.m>
<RunScript=0>
<showFrame=0>
<FrameText0=Title>
<FrameText1=Drawn By:>
<FrameText2=Date:>
<FrameText3=Revision:>
</Properties>
<Symbol>
</Symbol>
<Components>
<Lib D1 1 520 140 -34 6 0 3 "Z-Diodes" 0 "1N5350B" 0>
<GND * 1 40 210 0 0 0 0>
<Vrect V2 1 40 640 18 -26 0 1 "5 V" 1 "1 ms" 1 "1 ms" 1 "1 ns" 0 "1 ns" 0 "0 ns" 0>
<IProbe Pr3 1 520 370 -41 -26 0 3>
<R R1 1 240 600 -26 15 0 0 "10k" 1 "26.85" 0 "0.0" 0 "0.0" 0 "26.85" 0 "european" 0>
<IProbe Pr1 1 380 560 -26 16 0 0>
<GND * 1 520 670 0 0 0 0>
<GND * 1 40 730 0 0 0 0>
<_BJT BC337AP_Q2 1 400 250 8 -26 0 0 "npn" 0 "3.94e-14" 0 "1" 0 "0.974" 0 "0.8" 0 "0.1" 0 "109.4" 0 "14.25" 0 "7.4e-15" 0 "1.3" 0 "3.16e-13" 0 "1.2" 0 "175" 0 "20.5" 0 "0" 0 "0" 0 "0.0539" 0 "0.1259" 0 "1.1" 0 "6.3e-11" 0 "0.75" 0 "0.33" 0 "1.58e-11" 0 "0.505" 0 "0.39" 0 "1" 0 "0" 0 "0.75" 0 "0" 0 "0.5" 0 "7.5e-10" 0 "0" 0 "0" 0 "0" 0 "8.5e-08" 0 "26.85" 0 "0" 0 "1" 0 "1" 0 "0" 0 "1" 0 "1" 0 "0" 0 "0" 0 "3" 0 "1.11" 0 "26.85" 0 "1" 0>
<R R4 1 230 170 15 -26 0 1 "10k" 1 "26.85" 0 "0.0" 0 "0.0" 0 "26.85" 0 "european" 0>
<R R5 1 400 160 15 -26 0 1 "10k" 1 "26.85" 0 "0.0" 0 "0.0" 0 "26.85" 0 "european" 0>
<Vdc V1 1 40 140 18 -26 0 1 "42 V" 1>
<IProbe Pr4 1 630 210 -41 -26 0 3>
<R_SPICE R2 1 520 510 15 -26 0 1 "8.6k" 1 "" 0 "" 0 "" 0 "" 0>
<IProbe Pr2 1 120 490 16 -26 0 1>
<GND * 1 230 500 0 0 0 0>
<IProbe Pr5 1 230 440 -41 -26 0 3>
<_BJT BC337AP_Q1 1 230 340 8 -26 0 0 "npn" 0 "3.94e-14" 0 "1" 0 "0.974" 0 "0.8" 0 "0.1" 0 "109.4" 0 "14.25" 0 "7.4e-15" 0 "1.3" 0 "3.16e-13" 0 "1.2" 0 "175" 0 "20.5" 0 "0" 0 "0" 0 "0.0539" 0 "0.1259" 0 "1.1" 0 "6.3e-11" 0 "0.75" 0 "0.33" 0 "1.58e-11" 0 "0.505" 0 "0.39" 0 "1" 0 "0" 0 "0.75" 0 "0" 0 "0.5" 0 "7.5e-10" 0 "0" 0 "0" 0 "0" 0 "8.5e-08" 0 "26.85" 0 "0" 0 "1" 0 "1" 0 "0" 0 "1" 0 "1" 0 "0" 0 "0" 0 "3" 0 "1.11" 0 "26.85" 0 "1" 0>
<R R3 1 150 340 -26 -53 0 2 "10k" 1 "26.85" 0 "0.0" 0 "0.0" 0 "26.85" 0 "european" 0>
<VProbe Vdrop2 1 960 180 -16 28 0 3>
<IProbe Pr6 1 830 490 16 -26 1 3>
<GND * 1 830 680 0 0 0 0>
<Vdc V3 1 160 700 18 -26 0 1 "5 V" 1>
<GND * 1 160 790 0 0 0 0>
<R_SPICE R6 1 830 170 15 -26 0 1 "220k" 1 "" 0 "" 0 "" 0 "" 0>
<.DC DC1 1 1120 120 0 38 0 0 "26.85" 0 "0.001" 0 "1 pA" 0 "1 uV" 0 "no" 0 "150" 0 "no" 0 "none" 0 "CroutLU" 0>
<.SW SW2 1 1590 120 0 60 0 0 "DC1" 1 "lin" 1 "R6" 1 "500" 1 "250k" 1 "251" 1 "false" 0>
<.TR TR1 0 1360 120 0 61 0 0 "lin" 1 "0" 1 "5 ms" 1 "11" 0 "Trapezoidal" 0 "2" 0 "1 ns" 0 "1e-16" 0 "150" 0 "0.001" 0 "1 pA" 0 "1 uV" 0 "26.85" 0 "1e-3" 0 "1e-6" 0 "1" 0 "CroutLU" 0 "no" 0 "yes" 0 "0" 0>
<_BJT BC337AP_Q3 1 520 600 8 -26 0 0 "npn" 0 "3.94e-14" 0 "1" 0 "0.974" 0 "0.8" 0 "0.1" 0 "109.4" 0 "14.25" 0 "7.4e-15" 0 "1.3" 0 "3.16e-13" 0 "1.2" 0 "175" 0 "20.5" 0 "0" 0 "0" 0 "0.0539" 0 "0.1259" 0 "1.1" 0 "6.3e-11" 0 "0.75" 0 "0.33" 0 "1.58e-11" 0 "0.505" 0 "0.39" 0 "1" 0 "0" 0 "0.75" 0 "0" 0 "0.5" 0 "7.5e-10" 0 "0" 0 "0" 0 "0" 0 "8.5e-08" 0 "26.85" 0 "0" 0 "1" 0 "1" 0 "0" 0 "1" 0 "1" 0 "0" 0 "0" 0 "3" 0 "1.11" 0 "26.85" 0 "1" 0>
<_BJT BD136_138_140_Q4 1 830 320 8 -26 1 0 "pnp" 0 "2.9537e-13" 0 "1" 0 "1.021" 0 "1.0993" 0 "0.1" 0 "137" 0 "8.41" 0 "1.8002e-13" 0 "1.5" 0 "7.0433e-12" 0 "1.38" 0 "201.4" 0 "23.765" 0 "0.01" 0 "0.011" 0 "0.01" 0 "0.1109" 0 "1.98" 0 "2.1982e-10" 0 "0.7211" 0 "0.3685" 0 "6.8291e-11" 0 "0.5499" 0 "0.3668" 0 "0.5287" 0 "0" 0 "0.75" 0 "0" 0 "0.5" 0 "0" 0 "0" 0 "0" 0 "0" 0 "0" 0 "26.85" 0 "0" 0 "1" 0 "1" 0 "0" 0 "1" 0 "1" 0 "0" 0 "1.4883" 0 "3" 0 "1.2343" 0 "26.85" 0 "1" 0>
</Components>
<Wires>
<40 110 230 110 "" 0 0 0 "">
<40 170 40 210 "" 0 0 0 "">
<400 110 520 110 "" 0 0 0 "">
<400 110 400 130 "" 0 0 0 "">
<230 110 400 110 "" 0 0 0 "">
<230 110 230 140 "" 0 0 0 "">
<230 200 230 250 "" 0 0 0 "">
<400 190 400 220 "" 0 0 0 "">
<400 280 520 280 "" 0 0 0 "">
<40 600 40 610 "" 0 0 0 "">
<40 600 120 600 "TxD" 50 560 47 "">
<120 600 160 600 "" 0 0 0 "">
<520 280 520 320 "" 0 0 0 "">
<410 600 490 600 "" 0 0 0 "">
<410 560 410 600 "" 0 0 0 "">
<270 600 350 600 "" 0 0 0 "">
<350 560 350 600 "" 0 0 0 "">
<520 630 520 670 "" 0 0 0 "">
<520 240 520 280 "" 0 0 0 "">
<520 240 630 240 "" 0 0 0 "">
<520 170 630 170 "" 0 0 0 "">
<630 170 630 180 "" 0 0 0 "">
<520 400 520 480 "" 0 0 0 "">
<520 540 520 570 "" 0 0 0 "">
<120 520 120 600 "" 0 0 0 "">
<230 470 230 500 "" 0 0 0 "">
<230 370 230 410 "" 0 0 0 "">
<230 250 230 310 "" 0 0 0 "">
<230 250 370 250 "" 0 0 0 "">
<120 340 120 460 "" 0 0 0 "">
<180 340 200 340 "" 0 0 0 "">
<830 110 830 130 "mbusplus" 870 90 10 "">
<940 130 940 170 "" 0 0 0 "">
<830 130 940 130 "" 0 0 0 "">
<940 190 940 210 "" 0 0 0 "">
<830 210 940 210 "" 0 0 0 "">
<830 130 830 140 "" 0 0 0 "">
<830 200 830 210 "" 0 0 0 "">
<520 110 830 110 "" 0 0 0 "">
<830 210 830 290 "mbusminus" 870 260 14 "">
<520 320 520 340 "" 0 0 0 "">
<520 320 800 320 "pnpbase" 690 340 252 "">
<830 350 830 460 "" 0 0 0 "">
<830 520 830 680 "" 0 0 0 "">
<160 600 210 600 "" 0 0 0 "">
<160 600 160 670 "" 0 0 0 "">
<160 730 160 790 "" 0 0 0 "">
</Wires>
<Diagrams>
<Rect 1060 532 613 192 3 #c0c0c0 1 00 1 -1 0.2 1 1 -1 0.5 1 1 -1 0.5 1 315 0 225 "" "" "">
<"ngspice/mbus_master_100:tran.v(pnpbase)" #0000ff 0 3 0 0 0>
<"ngspice/mbus_master_100:tran.v(txd)" #ff0000 0 3 0 0 0>
</Rect>
<Rect 1030 944 618 244 3 #c0c0c0 1 00 0 0 50000 250000 1 12.0429 0.05 12.217 1 -1 0.5 1 315 0 225 "" "" "">
<"ngspice/mbus_master_100:v(vdrop2)" #0000ff 0 3 0 0 0>
</Rect>
</Diagrams>
<Paintings>
<Text 1040 590 12 #000000 0 "With 0/5V pulse input (e.g. V2 connected):\n\nThe mbusminus voltage goes properly back to mbusplus when TxD is low.">
<Text 1040 980 12 #000000 0 "With constant 5V input (e.g. V3 connected):\n\nThe voltage drop is between 12 and 12.2V for any load between 500 to 250kOm">
</Paintings>

Binary file not shown.

After

Width:  |  Height:  |  Size: 115 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 155 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 170 KiB

View File

@ -0,0 +1,156 @@
<Qucs Schematic 0.0.20>
<Properties>
<View=-14,8,2000,1199,0.774686,0,4>
<Grid=10,10,1>
<DataSet=mbus_master_101.qucs-s.dat>
<DataDisplay=mbus_master_101.qucs-s.dpl>
<OpenDisplay=1>
<Script=mbus_master_101.qucs-s.m>
<RunScript=0>
<showFrame=0>
<FrameText0=Title>
<FrameText1=Drawn By:>
<FrameText2=Date:>
<FrameText3=Revision:>
</Properties>
<Symbol>
<.ID -20 -16 SUB>
<Line -20 20 40 0 #000080 2 1>
<Line 20 20 0 -40 #000080 2 1>
<Line -20 -20 40 0 #000080 2 1>
<Line -20 20 0 -40 #000080 2 1>
</Symbol>
<Components>
<Lib D1 1 520 140 -34 6 0 3 "Z-Diodes" 0 "1N5350B" 0>
<GND * 1 40 210 0 0 0 0>
<Vrect V2 1 40 640 18 -26 0 1 "5 V" 1 "1 ms" 1 "1 ms" 1 "1 ns" 0 "1 ns" 0 "0 ns" 0>
<IProbe Pr3 1 520 370 -41 -26 0 3>
<R R1 1 240 600 -26 15 0 0 "10k" 1 "26.85" 0 "0.0" 0 "0.0" 0 "26.85" 0 "european" 0>
<IProbe Pr1 1 380 560 -26 16 0 0>
<GND * 1 520 670 0 0 0 0>
<GND * 1 40 730 0 0 0 0>
<_BJT BC337AP_Q2 1 400 250 8 -26 0 0 "npn" 0 "3.94e-14" 0 "1" 0 "0.974" 0 "0.8" 0 "0.1" 0 "109.4" 0 "14.25" 0 "7.4e-15" 0 "1.3" 0 "3.16e-13" 0 "1.2" 0 "175" 0 "20.5" 0 "0" 0 "0" 0 "0.0539" 0 "0.1259" 0 "1.1" 0 "6.3e-11" 0 "0.75" 0 "0.33" 0 "1.58e-11" 0 "0.505" 0 "0.39" 0 "1" 0 "0" 0 "0.75" 0 "0" 0 "0.5" 0 "7.5e-10" 0 "0" 0 "0" 0 "0" 0 "8.5e-08" 0 "26.85" 0 "0" 0 "1" 0 "1" 0 "0" 0 "1" 0 "1" 0 "0" 0 "0" 0 "3" 0 "1.11" 0 "26.85" 0 "1" 0>
<R R4 1 230 170 15 -26 0 1 "10k" 1 "26.85" 0 "0.0" 0 "0.0" 0 "26.85" 0 "european" 0>
<R R5 1 400 160 15 -26 0 1 "10k" 1 "26.85" 0 "0.0" 0 "0.0" 0 "26.85" 0 "european" 0>
<Vdc V1 1 40 140 18 -26 0 1 "42 V" 1>
<IProbe Pr4 1 630 210 -41 -26 0 3>
<IProbe Pr2 1 120 490 16 -26 0 1>
<GND * 1 230 500 0 0 0 0>
<IProbe Pr5 1 230 440 -41 -26 0 3>
<_BJT BC337AP_Q1 1 230 340 8 -26 0 0 "npn" 0 "3.94e-14" 0 "1" 0 "0.974" 0 "0.8" 0 "0.1" 0 "109.4" 0 "14.25" 0 "7.4e-15" 0 "1.3" 0 "3.16e-13" 0 "1.2" 0 "175" 0 "20.5" 0 "0" 0 "0" 0 "0.0539" 0 "0.1259" 0 "1.1" 0 "6.3e-11" 0 "0.75" 0 "0.33" 0 "1.58e-11" 0 "0.505" 0 "0.39" 0 "1" 0 "0" 0 "0.75" 0 "0" 0 "0.5" 0 "7.5e-10" 0 "0" 0 "0" 0 "0" 0 "8.5e-08" 0 "26.85" 0 "0" 0 "1" 0 "1" 0 "0" 0 "1" 0 "1" 0 "0" 0 "0" 0 "3" 0 "1.11" 0 "26.85" 0 "1" 0>
<R R3 1 150 340 -26 -53 0 2 "10k" 1 "26.85" 0 "0.0" 0 "0.0" 0 "26.85" 0 "european" 0>
<VProbe Vdrop2 1 960 180 -16 28 0 3>
<GND * 1 830 680 0 0 0 0>
<Vdc V3 1 160 700 18 -26 0 1 "5 V" 1>
<GND * 1 160 790 0 0 0 0>
<_BJT BC337AP_Q3 1 520 600 8 -26 0 0 "npn" 0 "3.94e-14" 0 "1" 0 "0.974" 0 "0.8" 0 "0.1" 0 "109.4" 0 "14.25" 0 "7.4e-15" 0 "1.3" 0 "3.16e-13" 0 "1.2" 0 "175" 0 "20.5" 0 "0" 0 "0" 0 "0.0539" 0 "0.1259" 0 "1.1" 0 "6.3e-11" 0 "0.75" 0 "0.33" 0 "1.58e-11" 0 "0.505" 0 "0.39" 0 "1" 0 "0" 0 "0.75" 0 "0" 0 "0.5" 0 "7.5e-10" 0 "0" 0 "0" 0 "0" 0 "8.5e-08" 0 "26.85" 0 "0" 0 "1" 0 "1" 0 "0" 0 "1" 0 "1" 0 "0" 0 "0" 0 "3" 0 "1.11" 0 "26.85" 0 "1" 0>
<_BJT BD136_138_140_Q4 1 830 320 8 -26 1 0 "pnp" 0 "2.9537e-13" 0 "1" 0 "1.021" 0 "1.0993" 0 "0.1" 0 "137" 0 "8.41" 0 "1.8002e-13" 0 "1.5" 0 "7.0433e-12" 0 "1.38" 0 "201.4" 0 "23.765" 0 "0.01" 0 "0.011" 0 "0.01" 0 "0.1109" 0 "1.98" 0 "2.1982e-10" 0 "0.7211" 0 "0.3685" 0 "6.8291e-11" 0 "0.5499" 0 "0.3668" 0 "0.5287" 0 "0" 0 "0.75" 0 "0" 0 "0.5" 0 "0" 0 "0" 0 "0" 0 "0" 0 "0" 0 "26.85" 0 "0" 0 "1" 0 "1" 0 "0" 0 "1" 0 "1" 0 "0" 0 "1.4883" 0 "3" 0 "1.2343" 0 "26.85" 0 "1" 0>
<IProbe Pr6 1 830 440 16 -26 1 3>
<_BJT BC337AP_Q5 1 1040 510 8 -26 0 0 "npn" 0 "3.94e-14" 0 "1" 0 "0.974" 0 "0.8" 0 "0.1" 0 "109.4" 0 "14.25" 0 "7.4e-15" 0 "1.3" 0 "3.16e-13" 0 "1.2" 0 "175" 0 "20.5" 0 "0" 0 "0" 0 "0.0539" 0 "0.1259" 0 "1.1" 0 "6.3e-11" 0 "0.75" 0 "0.33" 0 "1.58e-11" 0 "0.505" 0 "0.39" 0 "1" 0 "0" 0 "0.75" 0 "0" 0 "0.5" 0 "7.5e-10" 0 "0" 0 "0" 0 "0" 0 "8.5e-08" 0 "26.85" 0 "0" 0 "1" 0 "1" 0 "0" 0 "1" 0 "1" 0 "0" 0 "0" 0 "3" 0 "1.11" 0 "26.85" 0 "1" 0>
<.DC DC1 1 1600 370 0 38 0 0 "26.85" 0 "0.001" 0 "1 pA" 0 "1 uV" 0 "no" 0 "150" 0 "no" 0 "none" 0 "CroutLU" 0>
<R_SPICE R9 1 1330 430 -26 -53 0 2 "1k" 1 "" 0 "" 0 "" 0 "" 0>
<GND * 1 1240 700 0 0 0 0>
<GND * 1 1040 700 0 0 0 0>
<GND * 1 1450 700 0 0 0 0>
<R_SPICE R10 1 1450 510 -71 -26 0 3 "100k" 1 "" 0 "" 0 "" 0 "" 0>
<IProbe Pr9 1 1450 620 16 -26 1 3>
<IProbe Pr8 1 1240 620 16 -26 1 3>
<IProbe Pr7 1 1040 620 16 -26 1 3>
<R_SPICE R8 1 1240 330 15 -26 0 1 "10k" 1 "" 0 "" 0 "" 0 "" 0>
<Lib D2 1 1240 500 13 6 1 3 "Z-Diodes" 0 "1N750" 0>
<IProbe Pr10 1 1240 220 16 -26 1 3>
<R_SPICE R7 1 830 560 15 -26 0 1 "82" 1 "" 0 "" 0 "" 0 "" 0>
<R_SPICE R6 1 830 170 15 -26 0 1 "220k" 1 "" 0 "" 0 "" 0 "" 0>
<Idc I1 1 730 220 18 -26 1 3 "11 mA" 1>
<.SW SW1 1 1490 120 0 61 0 0 "DC1" 1 "lin" 1 "I1" 1 "6m" 1 "11m" 1 "21" 1 "false" 0>
<.SW SW2 1 1650 120 0 61 0 0 "SW1" 1 "lin" 1 "V1" 1 "21" 1 "42" 1 "22" 1 "false" 0>
<R_SPICE R2 1 520 510 15 -26 0 1 "8.2k" 1 "" 0 "" 0 "" 0 "" 0>
</Components>
<Wires>
<40 110 230 110 "" 0 0 0 "">
<40 170 40 210 "" 0 0 0 "">
<400 110 520 110 "" 0 0 0 "">
<400 110 400 130 "" 0 0 0 "">
<230 110 400 110 "" 0 0 0 "">
<230 110 230 140 "" 0 0 0 "">
<230 200 230 250 "" 0 0 0 "">
<400 190 400 220 "" 0 0 0 "">
<400 280 520 280 "" 0 0 0 "">
<40 600 40 610 "" 0 0 0 "">
<40 600 120 600 "TxD" 50 560 47 "">
<120 600 160 600 "" 0 0 0 "">
<520 280 520 320 "" 0 0 0 "">
<410 600 490 600 "" 0 0 0 "">
<410 560 410 600 "" 0 0 0 "">
<270 600 350 600 "" 0 0 0 "">
<350 560 350 600 "" 0 0 0 "">
<520 630 520 670 "" 0 0 0 "">
<520 240 520 280 "" 0 0 0 "">
<520 240 630 240 "" 0 0 0 "">
<520 170 630 170 "" 0 0 0 "">
<630 170 630 180 "" 0 0 0 "">
<520 400 520 480 "" 0 0 0 "">
<520 540 520 570 "" 0 0 0 "">
<120 520 120 600 "" 0 0 0 "">
<230 470 230 500 "" 0 0 0 "">
<230 370 230 410 "" 0 0 0 "">
<230 250 230 310 "" 0 0 0 "">
<230 250 370 250 "" 0 0 0 "">
<120 340 120 460 "" 0 0 0 "">
<180 340 200 340 "" 0 0 0 "">
<830 110 830 130 "mbusplus" 870 90 10 "">
<940 130 940 170 "" 0 0 0 "">
<830 130 940 130 "" 0 0 0 "">
<940 190 940 210 "" 0 0 0 "">
<830 210 940 210 "" 0 0 0 "">
<830 130 830 140 "" 0 0 0 "">
<830 200 830 210 "" 0 0 0 "">
<520 110 730 110 "" 0 0 0 "">
<830 210 830 290 "mbusminus" 870 260 14 "">
<520 320 520 340 "" 0 0 0 "">
<520 320 800 320 "pnpbase" 690 340 252 "">
<160 600 210 600 "" 0 0 0 "">
<160 600 160 670 "" 0 0 0 "">
<160 730 160 790 "" 0 0 0 "">
<830 350 830 380 "" 0 0 0 "">
<830 470 830 510 "" 0 0 0 "">
<830 590 830 680 "" 0 0 0 "">
<830 510 830 530 "" 0 0 0 "">
<830 510 1010 510 "q5base" 960 440 83 "">
<1240 360 1240 430 "" 0 0 0 "">
<1040 430 1040 480 "" 0 0 0 "">
<1040 430 1240 430 "" 0 0 0 "">
<1240 430 1300 430 "" 0 0 0 "">
<1240 430 1240 470 "" 0 0 0 "">
<1360 430 1450 430 "RxD" 1430 400 39 "">
<1450 430 1450 480 "" 0 0 0 "">
<1040 540 1040 590 "" 0 0 0 "">
<1450 540 1450 590 "" 0 0 0 "">
<1450 650 1450 700 "" 0 0 0 "">
<1240 650 1240 700 "" 0 0 0 "">
<1040 650 1040 700 "" 0 0 0 "">
<1240 530 1240 590 "" 0 0 0 "">
<830 110 1240 110 "" 0 0 0 "">
<1240 110 1240 190 "" 0 0 0 "">
<1240 250 1240 300 "" 0 0 0 "">
<730 110 830 110 "" 0 0 0 "">
<730 110 730 190 "" 0 0 0 "">
<730 250 730 380 "" 0 0 0 "">
<830 380 830 410 "" 0 0 0 "">
<730 380 830 380 "" 0 0 0 "">
</Wires>
<Diagrams>
<Rect 82 1100 487 230 3 #c0c0c0 1 00 1 0 50000 250000 1 -0.0722351 0.5 0.842553 1 -1 1 1 315 0 225 "" "" "">
<"ngspice/mbus_master_101:v(q5base)" #0000ff 0 3 0 0 0>
</Rect>
<Rect 670 1103 560 223 3 #c0c0c0 1 00 1 0 20000 249006 1 -0.00234274 0.01 0.0263551 1 -1 0.5 1 315 0 225 "" "" "">
<"ngspice/mbus_master_101:i(pr6)" #0000ff 0 3 0 0 0>
</Rect>
<Rect 1330 1112 512 232 3 #c0c0c0 1 00 1 -1 0.2 1 1 -1 0.5 1 1 -1 0.5 1 315 0 225 "" "" "">
<"ngspice/mbus_master_101:v(rxd)" #0000ff 0 3 0 0 0>
</Rect>
</Diagrams>
<Paintings>
<Text 1470 500 12 #000000 0 "Arduino input pin">
<Text 1290 810 12 #000000 0 "RxD swicthes polarity at around 8mA through R7 regardless of the supply voltage.">
</Paintings>

View File

@ -0,0 +1,25 @@
<Qucs Schematic 0.0.20>
<Properties>
<View=0,-90,1202,800,1,0,0>
<Grid=10,10,0>
<DataSet=zener_test.dat>
<DataDisplay=zener_test.sch>
<OpenDisplay=1>
<Script=zener_test.m>
<RunScript=0>
<showFrame=0>
<FrameText0=Title>
<FrameText1=Drawn By:>
<FrameText2=Date:>
<FrameText3=Revision:>
</Properties>
<Symbol>
</Symbol>
<Components>
</Components>
<Wires>
</Wires>
<Diagrams>
</Diagrams>
<Paintings>
</Paintings>

View File

@ -0,0 +1,98 @@
<Qucs Schematic 0.0.20>
<Properties>
<View=0,60,1687,992,1,0,0>
<Grid=10,10,1>
<DataSet=zener_test.dat>
<DataDisplay=zener_test.dpl>
<OpenDisplay=1>
<Script=zener_test.m>
<RunScript=0>
<showFrame=0>
<FrameText0=Title>
<FrameText1=Drawn By:>
<FrameText2=Date:>
<FrameText3=Revision:>
</Properties>
<Symbol>
</Symbol>
<Components>
<Lib D1 1 520 140 -34 6 0 3 "Z-Diodes" 0 "1N5350B" 0>
<GND * 1 40 210 0 0 0 0>
<_BJT BC337AP_1 1 520 600 8 -26 0 0 "npn" 0 "3.94e-14" 0 "1" 0 "0.974" 0 "0.8" 0 "0.1" 0 "109.4" 0 "14.25" 0 "7.4e-15" 0 "1.3" 0 "3.16e-13" 0 "1.2" 0 "175" 0 "20.5" 0 "0" 0 "0" 0 "0.0539" 0 "0.1259" 0 "1.1" 0 "6.3e-11" 0 "0.75" 0 "0.33" 0 "1.58e-11" 0 "0.505" 0 "0.39" 0 "1" 0 "0" 0 "0.75" 0 "0" 0 "0.5" 0 "7.5e-10" 0 "0" 0 "0" 0 "0" 0 "8.5e-08" 0 "26.85" 0 "0" 0 "1" 0 "1" 0 "0" 0 "1" 0 "1" 0 "0" 0 "0" 0 "3" 0 "1.11" 0 "26.85" 0 "1" 0>
<Vrect V2 1 40 640 18 -26 0 1 "5 V" 1 "1 ms" 1 "1 ms" 1 "1 ns" 0 "1 ns" 0 "0 ns" 0>
<Vdc V3 1 160 670 18 -26 0 1 "5 V" 1>
<GND * 1 160 730 0 0 0 0>
<IProbe Pr3 1 520 370 -41 -26 0 3>
<R R1 1 240 600 -26 15 0 0 "10k" 1 "26.85" 0 "0.0" 0 "0.0" 0 "26.85" 0 "european" 0>
<IProbe Pr1 1 380 560 -26 16 0 0>
<.SW SW3 1 230 720 0 59 0 0 "SW2" 1 "lin" 1 "R2" 1 "500" 1 "8.6k" 1 "20" 1 "false" 0>
<GND * 1 520 670 0 0 0 0>
<GND * 1 40 730 0 0 0 0>
<_BJT BC337AP_Q2 1 400 250 8 -26 0 0 "npn" 0 "3.94e-14" 0 "1" 0 "0.974" 0 "0.8" 0 "0.1" 0 "109.4" 0 "14.25" 0 "7.4e-15" 0 "1.3" 0 "3.16e-13" 0 "1.2" 0 "175" 0 "20.5" 0 "0" 0 "0" 0 "0.0539" 0 "0.1259" 0 "1.1" 0 "6.3e-11" 0 "0.75" 0 "0.33" 0 "1.58e-11" 0 "0.505" 0 "0.39" 0 "1" 0 "0" 0 "0.75" 0 "0" 0 "0.5" 0 "7.5e-10" 0 "0" 0 "0" 0 "0" 0 "8.5e-08" 0 "26.85" 0 "0" 0 "1" 0 "1" 0 "0" 0 "1" 0 "1" 0 "0" 0 "0" 0 "3" 0 "1.11" 0 "26.85" 0 "1" 0>
<R R4 1 230 170 15 -26 0 1 "10k" 1 "26.85" 0 "0.0" 0 "0.0" 0 "26.85" 0 "european" 0>
<R R5 1 400 160 15 -26 0 1 "10k" 1 "26.85" 0 "0.0" 0 "0.0" 0 "26.85" 0 "european" 0>
<Vdc V1 1 40 140 18 -26 0 1 "42 V" 1>
<.TR TR1 1 870 90 0 59 0 0 "lin" 1 "0" 1 "5 ms" 1 "101" 0 "Trapezoidal" 0 "2" 0 "1 ns" 0 "1e-16" 0 "150" 0 "0.001" 0 "1 pA" 0 "1 uV" 0 "26.85" 0 "1e-3" 0 "1e-6" 0 "1" 0 "CroutLU" 0 "no" 0 "yes" 0 "0" 0>
<.SW SW1 1 620 370 0 59 0 0 "DC1" 1 "lin" 1 "R1" 1 "100 Ohm" 1 "100kOhm" 1 "1000" 1 "false" 0>
<.DC DC1 1 620 300 0 37 0 0 "26.85" 0 "0.001" 0 "1 pA" 0 "1 uV" 0 "no" 0 "150" 0 "no" 0 "none" 0 "CroutLU" 0>
<IProbe Pr4 1 630 210 -41 -26 0 3>
<.SW SW2 1 370 720 0 59 0 0 "DC1" 1 "lin" 1 "V1" 1 "12V" 1 "40V" 1 "29" 1 "false" 0>
<R_SPICE R2 1 520 510 15 -26 0 1 "8.6k" 1 "" 0 "" 0 "" 0 "" 0>
<IProbe Pr2 1 120 490 16 -26 0 1>
<GND * 1 230 500 0 0 0 0>
<IProbe Pr5 1 230 440 -41 -26 0 3>
<_BJT BC337AP_Q1 1 230 340 8 -26 0 0 "npn" 0 "3.94e-14" 0 "1" 0 "0.974" 0 "0.8" 0 "0.1" 0 "109.4" 0 "14.25" 0 "7.4e-15" 0 "1.3" 0 "3.16e-13" 0 "1.2" 0 "175" 0 "20.5" 0 "0" 0 "0" 0 "0.0539" 0 "0.1259" 0 "1.1" 0 "6.3e-11" 0 "0.75" 0 "0.33" 0 "1.58e-11" 0 "0.505" 0 "0.39" 0 "1" 0 "0" 0 "0.75" 0 "0" 0 "0.5" 0 "7.5e-10" 0 "0" 0 "0" 0 "0" 0 "8.5e-08" 0 "26.85" 0 "0" 0 "1" 0 "1" 0 "0" 0 "1" 0 "1" 0 "0" 0 "0" 0 "3" 0 "1.11" 0 "26.85" 0 "1" 0>
<R R3 1 150 340 -26 -53 0 2 "10k" 1 "26.85" 0 "0.0" 0 "0.0" 0 "26.85" 0 "european" 0>
</Components>
<Wires>
<40 110 230 110 "" 0 0 0 "">
<40 170 40 210 "" 0 0 0 "">
<400 110 520 110 "" 0 0 0 "">
<400 110 400 130 "" 0 0 0 "">
<230 110 400 110 "" 0 0 0 "">
<230 110 230 140 "" 0 0 0 "">
<230 200 230 250 "" 0 0 0 "">
<400 190 400 220 "" 0 0 0 "">
<400 280 520 280 "" 0 0 0 "">
<40 600 40 610 "" 0 0 0 "">
<160 600 160 640 "" 0 0 0 "">
<40 600 120 600 "Vin" 40 560 35 "">
<120 600 160 600 "" 0 0 0 "">
<520 280 520 340 "" 0 0 0 "">
<160 600 210 600 "" 0 0 0 "">
<410 600 490 600 "" 0 0 0 "">
<410 560 410 600 "" 0 0 0 "">
<270 600 350 600 "" 0 0 0 "">
<350 560 350 600 "" 0 0 0 "">
<520 630 520 670 "" 0 0 0 "">
<520 240 520 280 "out" 550 270 21 "">
<520 240 630 240 "" 0 0 0 "">
<520 170 630 170 "" 0 0 0 "">
<630 170 630 180 "" 0 0 0 "">
<520 400 520 480 "" 0 0 0 "">
<520 540 520 570 "" 0 0 0 "">
<120 520 120 600 "" 0 0 0 "">
<230 470 230 500 "" 0 0 0 "">
<230 370 230 410 "" 0 0 0 "">
<230 250 230 310 "coll" 170 260 31 "">
<230 250 370 250 "" 0 0 0 "">
<120 340 120 460 "" 0 0 0 "">
<180 340 200 340 "" 0 0 0 "">
<40 670 40 730 "" 0 0 0 "">
</Wires>
<Diagrams>
<Rect 526 916 495 202 3 #c0c0c0 1 00 1 12 2 40 0 0 0.002 0.001 1 -1 0.5 1 315 0 225 "" "" "">
<"ngspice/i(pr4)" #0000ff 0 3 0 0 0>
</Rect>
<Rect 870 549 555 139 3 #c0c0c0 1 00 1 0 0.0005 0.005 1 -3.47585 10 40 1 -1 0.5 1 315 0 225 "" "" "">
<"ngspice/tran.v(coll)" #ff0000 0 3 0 0 0>
</Rect>
<Rect 870 377 557 147 3 #c0c0c0 1 00 1 0 0.0005 0.005 1 -3.47585 10 40 1 -1 0.5 1 315 0 225 "" "" "">
<"ngspice/tran.v(vin)" #0000ff 0 3 0 0 0>
<"ngspice/tran.v(out)" #ff00ff 0 3 0 0 0>
</Rect>
</Diagrams>
<Paintings>
<Text 1050 720 12 #000000 0 "With a constant 5V input (e.g. V3 connected):\n\nFor R2 values up till 8.6k, D1 is loaded with 1mA or more for all\nV1 voltages over 21V (the minimum M-Bus bus voltage).\n\nThus, assuming the zener diode operates down to 1mA,\n8.6kOhm is the highest usable value for R2.\nIf the diode needs mode current than 1mA decrease\nR2 correspondingly. If the power supply is well above 21V\nthen 10kOhm is fine.\n">
<Text 1030 80 12 #000000 0 "With a 0/5V pulse input (e.g. V2 connected):\n\nQ1 inverts the input and shifts the voltage levels, e.g. 0V in (base)\ngives Vcc out (collector), and 5V in gives 0V out.\n\nR5 is a pullup resistor turned on/off by Q2. Without R5 then\nVout will not properly transition back to VCC.">
</Paintings>

Binary file not shown.

After

Width:  |  Height:  |  Size: 160 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 196 KiB

View File

@ -38,3 +38,62 @@ AMS unit.
### Status
Implementation done.
# Getting started building or modifying
## Tools
### Kicad
Install the [KiCad](http://www.kicad-pcb.org/) program to edit the schematic or PCB.
KiCad documentation and forums:
* https://kicad-pcb.org/help/documentation/#_getting_started
* https://forum.kicad.info/
* https://www.reddit.com/r/KiCad/
* https://en.wikipedia.org/wiki/KiCad
### Simulator
If you want to simulate parts of the circuit you also need a simulator. This is
highly recommended! This saves a *lot* of troubleshooting and makes you find
solutions you otherwise would not have found.
[Electronic circuit simulation](https://en.wikipedia.org/wiki/Electronic_circuit_simulation)
using computers have a long history. Many of them have origins directly or indirectly
related to the classic SPICE simulator (e.g. [Ngspice](http://ngspice.sourceforge.net)).
At the core they work similar to source code compilers - you give it a text file
describing the circuit and it produces a textual simulation result. Some of the simulators
are intended to be used just in text mode while other have a graphical frontend where
you are able to draw the circuit like in a schematic editor:
* [QUCS](http://qucs.sourceforge.net/) - Quite Universal Circuit Simulator.
* [QUCS-S](https://ra3xdh.github.io/) - A qucs version using ngspice as simulation backend. This one has been used for the simulations for board 3.
* [eSim](http://esim.fossee.in/).
* [Other alternatives](https://en.wikipedia.org/wiki/List_of_free_electronics_circuit_simulators).
### Git
While it is possible to download the content from this repository as a compresset
zip file, you want to use git to fetch the content. For Linux install depending on
distribution with
```
apt-get install git # debian, ubuntu, etc
dnf install git # fedora
yum install git # rhel, centos
```
For windows the most convenient option is to install [git for windows](https://git-scm.com/download/win).
To download the source of this repository run:
```
git clone https://github.com/roarfred/AmsToMqttBridge
cd AmsToMqttBridge
git submodule init
git submodule update --recursive
```

View File

@ -0,0 +1,10 @@
(module VIA-0.6mm (layer F.Cu) (tedit 5A9445CC)
(fp_text reference REF** (at 0 1.27) (layer F.SilkS) hide
(effects (font (size 1 1) (thickness 0.15)))
)
(fp_text value VIA-0.6mm (at 0 -1.27) (layer F.Fab) hide
(effects (font (size 1 1) (thickness 0.15)))
)
(pad " " thru_hole circle (at 0 0) (size 0.6 0.6) (drill 0.3) (layers *.Cu)
(zone_connect 2))
)

@ -0,0 +1 @@
Subproject commit f886cacb58461d356730e744d9d2ae55590825e4

View File

@ -27,11 +27,12 @@ The project should include:
## Electrical design
* [Electrical design](./Electrical)
One original hardware design has been made and a new one is currently being developed.
More details in [electrical design](./Electrical).
### Circuit prototype
![Breadboard](/Electrical/Board_001/Prototype.jpg)
![Breadboard](Electrical/Board_001/Prototype.jpg)
### MQTT output
![MQTT screenshot](/Electrical/Board_001/MQTT%20screenshot.png)
![MQTT screenshot](Electrical/Board_001/MQTT%20screenshot.png)