partially worked microdrill

This commit is contained in:
eddyem 2019-01-05 19:59:37 +03:00
parent 8c7bd90c39
commit 897a2f1cbf
86 changed files with 42636 additions and 3019 deletions

View File

@ -0,0 +1 @@
0

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,30 @@
Drill report for /home/eddy/Dropbox/Projects/STM8_samples/220controlled_socket/kicad/socket.kicad_pcb
Created on Вт 04 дек 2018 18:07:08
Copper Layer Stackup:
=============================================================
L1 : F.Cu front
L2 : B.Cu back
Drill file 'socket.drl' contains
plated through holes:
=============================================================
T1 0.80mm 0.031" (59 holes)
T2 0.81mm 0.032" (4 holes)
T3 1.00mm 0.039" (24 holes)
T4 1.20mm 0.047" (4 holes)
T5 1.30mm 0.051" (6 holes)
T6 1.32mm 0.052" (6 holes)
T7 2.30mm 0.091" (2 holes)
T8 3.20mm 0.126" (2 holes)
Total plated holes count 107
Not plated through holes are merged with plated holes
unplated through holes:
=============================================================
T9 0.80mm 0.031" (4 holes)
Total unplated holes count 4

File diff suppressed because it is too large Load Diff

View File

@ -1,6 +1,567 @@
EESchema-LIBRARY Version 2.3
EESchema-LIBRARY Version 2.4
#encoding utf-8
#
# C
#
DEF C C 0 10 N Y 1 F N
F0 "C" 25 100 50 H V L CNN
F1 "C" 25 -100 50 H V L CNN
F2 "" 38 -150 50 H I C CNN
F3 "" 0 0 50 H I C CNN
$FPLIST
C_*
$ENDFPLIST
DRAW
P 2 0 1 20 -80 -30 80 -30 N
P 2 0 1 20 -80 30 80 30 N
X ~ 1 0 150 110 D 50 50 1 1 P
X ~ 2 0 -150 110 U 50 50 1 1 P
ENDDRAW
ENDDEF
#
# Conn_01x02
#
DEF Conn_01x02 J 0 40 Y N 1 F N
F0 "J" 0 100 50 H V C CNN
F1 "Conn_01x02" 0 -200 50 H V C CNN
F2 "" 0 0 50 H I C CNN
F3 "" 0 0 50 H I C CNN
$FPLIST
Connector*:*_1x??_*
$ENDFPLIST
DRAW
S -50 -95 0 -105 1 1 6 N
S -50 5 0 -5 1 1 6 N
S -50 50 50 -150 1 1 10 f
X Pin_1 1 -200 0 150 R 50 50 1 1 P
X Pin_2 2 -200 -100 150 R 50 50 1 1 P
ENDDRAW
ENDDEF
#
# Conn_01x03
#
DEF Conn_01x03 J 0 40 Y N 1 F N
F0 "J" 0 200 50 H V C CNN
F1 "Conn_01x03" 0 -200 50 H V C CNN
F2 "" 0 0 50 H I C CNN
F3 "" 0 0 50 H I C CNN
$FPLIST
Connector*:*_1x??_*
$ENDFPLIST
DRAW
S -50 -95 0 -105 1 1 6 N
S -50 5 0 -5 1 1 6 N
S -50 105 0 95 1 1 6 N
S -50 150 50 -150 1 1 10 f
X Pin_1 1 -200 100 150 R 50 50 1 1 P
X Pin_2 2 -200 0 150 R 50 50 1 1 P
X Pin_3 3 -200 -100 150 R 50 50 1 1 P
ENDDRAW
ENDDEF
#
# Crystal
#
DEF Crystal Y 0 40 N N 1 F N
F0 "Y" 0 150 50 H V C CNN
F1 "Crystal" 0 -150 50 H V C CNN
F2 "" 0 0 50 H I C CNN
F3 "" 0 0 50 H I C CNN
$FPLIST
Crystal*
$ENDFPLIST
DRAW
S -45 100 45 -100 0 1 12 N
P 2 0 1 0 -100 0 -75 0 N
P 2 0 1 20 -75 -50 -75 50 N
P 2 0 1 20 75 -50 75 50 N
P 2 0 1 0 100 0 75 0 N
X 1 1 -150 0 50 R 50 50 1 1 P
X 2 2 150 0 50 L 50 50 1 1 P
ENDDRAW
ENDDEF
#
# D
#
DEF D D 0 40 N N 1 F N
F0 "D" 0 100 50 H V C CNN
F1 "D" 0 -100 50 H V C CNN
F2 "" 0 0 50 H I C CNN
F3 "" 0 0 50 H I C CNN
$FPLIST
TO-???*
*SingleDiode
*_Diode_*
*SingleDiode*
D_*
$ENDFPLIST
DRAW
P 2 0 1 8 -50 50 -50 -50 N
P 2 0 1 0 50 0 -50 0 N
P 4 0 1 8 50 50 50 -50 -50 0 50 50 N
X K 1 -150 0 100 R 50 50 1 1 P
X A 2 150 0 100 L 50 50 1 1 P
ENDDRAW
ENDDEF
#
# DB15_Male
#
DEF DB15_Male J 0 40 Y N 1 F N
F0 "J" 20 850 50 H V C CNN
F1 "DB15_Male" 0 -875 50 H V C CNN
F2 "" 0 0 50 H I C CNN
F3 "" 0 0 50 H I C CNN
$FPLIST
DB*M*
$ENDFPLIST
DRAW
C -70 -700 30 0 1 0 F
C -70 -500 30 0 1 0 F
C -70 -300 30 0 1 0 F
C -70 -100 30 0 1 0 F
C -70 100 30 0 1 0 F
C -70 300 30 0 1 0 F
C -70 500 30 0 1 0 F
C -70 700 30 0 1 0 F
C 50 -600 30 0 1 0 F
C 50 -400 30 0 1 0 F
C 50 -200 30 0 1 0 F
C 50 0 30 0 1 0 F
C 50 200 30 0 1 0 F
C 50 400 30 0 1 0 F
C 50 600 30 0 1 0 F
P 2 0 1 0 -150 -700 -100 -700 N
P 2 0 1 0 -150 -600 20 -600 N
P 2 0 1 0 -150 -500 -100 -500 N
P 2 0 1 0 -150 -400 20 -400 N
P 2 0 1 0 -150 -300 -100 -300 N
P 2 0 1 0 -150 -200 20 -200 N
P 2 0 1 0 -150 -100 -100 -100 N
P 2 0 1 0 -150 0 20 0 N
P 2 0 1 0 -150 100 -100 100 N
P 2 0 1 0 -150 200 20 200 N
P 2 0 1 0 -150 300 -100 300 N
P 2 0 1 0 -150 400 20 400 N
P 2 0 1 0 -150 500 -100 500 N
P 2 0 1 0 -150 600 20 600 N
P 2 0 1 0 -150 700 -100 700 N
P 5 0 1 10 -150 -825 125 -675 125 675 -150 825 -150 -825 f
X 1 1 -300 -700 150 R 50 50 1 1 P
X P10 10 -300 -400 150 R 50 50 1 1 P
X P111 11 -300 -200 150 R 50 50 1 1 P
X P12 12 -300 0 150 R 50 50 1 1 P
X P13 13 -300 200 150 R 50 50 1 1 P
X P14 14 -300 400 150 R 50 50 1 1 P
X P15 15 -300 600 150 R 50 50 1 1 P
X 2 2 -300 -500 150 R 50 50 1 1 P
X 3 3 -300 -300 150 R 50 50 1 1 P
X 4 4 -300 -100 150 R 50 50 1 1 P
X 5 5 -300 100 150 R 50 50 1 1 P
X 6 6 -300 300 150 R 50 50 1 1 P
X 7 7 -300 500 150 R 50 50 1 1 P
X 8 8 -300 700 150 R 50 50 1 1 P
X P9 9 -300 -600 150 R 50 50 1 1 P
ENDDRAW
ENDDEF
#
# DB9_Female
#
DEF DB9_Female J 0 40 Y N 1 F N
F0 "J" 0 550 50 H V C CNN
F1 "DB9_Female" 0 -575 50 H V C CNN
F2 "" 0 0 50 H I C CNN
F3 "" 0 0 50 H I C CNN
$FPLIST
DB*F*
$ENDFPLIST
DRAW
C -70 -400 30 0 1 0 N
C -70 -200 30 0 1 0 N
C -70 0 30 0 1 0 N
C -70 200 30 0 1 0 N
C -70 400 30 0 1 0 N
C 50 -300 30 0 1 0 N
C 50 -100 30 0 1 0 N
C 50 100 30 0 1 0 N
C 50 300 30 0 1 0 N
P 2 0 1 0 -150 -400 -100 -400 N
P 2 0 1 0 -150 -300 20 -300 N
P 2 0 1 0 -150 -200 -100 -200 N
P 2 0 1 0 -150 -100 20 -100 N
P 2 0 1 0 -150 0 -100 0 N
P 2 0 1 0 -150 100 20 100 N
P 2 0 1 0 -150 200 -100 200 N
P 2 0 1 0 -150 300 20 300 N
P 2 0 1 0 -150 400 -100 400 N
P 5 0 1 10 -150 525 -150 -525 150 -375 150 375 -150 525 f
X 1 1 -300 400 150 R 50 50 1 1 P
X 2 2 -300 200 150 R 50 50 1 1 P
X 3 3 -300 0 150 R 50 50 1 1 P
X 4 4 -300 -200 150 R 50 50 1 1 P
X 5 5 -300 -400 150 R 50 50 1 1 P
X 6 6 -300 300 150 R 50 50 1 1 P
X 7 7 -300 100 150 R 50 50 1 1 P
X 8 8 -300 -100 150 R 50 50 1 1 P
X 9 9 -300 -300 150 R 50 50 1 1 P
ENDDRAW
ENDDEF
#
# D_Schottky
#
DEF D_Schottky D 0 40 N N 1 F N
F0 "D" 0 100 50 H V C CNN
F1 "D_Schottky" 0 -100 50 H V C CNN
F2 "" 0 0 50 H I C CNN
F3 "" 0 0 50 H I C CNN
$FPLIST
TO-???*
*SingleDiode
*_Diode_*
*SingleDiode*
D_*
$ENDFPLIST
DRAW
P 2 0 1 0 50 0 -50 0 N
P 4 0 1 8 50 50 50 -50 -50 0 50 50 N
P 6 0 1 8 -75 25 -75 50 -50 50 -50 -50 -25 -50 -25 -25 N
X K 1 -150 0 100 R 50 50 1 1 P
X A 2 150 0 100 L 50 50 1 1 P
ENDDRAW
ENDDEF
#
# D_Zener
#
DEF D_Zener D 0 40 N N 1 F N
F0 "D" 0 100 50 H V C CNN
F1 "D_Zener" 0 -100 50 H V C CNN
F2 "" 0 0 50 H I C CNN
F3 "" 0 0 50 H I C CNN
$FPLIST
TO-???*
*SingleDiode
*_Diode_*
*SingleDiode*
D_*
$ENDFPLIST
DRAW
P 2 0 1 0 50 0 -50 0 N
P 3 0 1 8 -50 -50 -50 50 -30 50 N
P 4 0 1 8 50 -50 50 50 -50 0 50 -50 N
X K 1 -150 0 100 R 50 50 1 1 P
X A 2 150 0 100 L 50 50 1 1 P
ENDDRAW
ENDDEF
#
# G5LE-1
#
DEF G5LE-1 K 0 40 Y Y 1 F N
F0 "K" 450 150 50 H V L CNN
F1 "G5LE-1" 450 50 50 H V L CNN
F2 "Relay_THT:Relay_SPDT_OMRON-G5LE-1" 450 -50 50 H I L CNN
F3 "" 0 -400 50 H I C CNN
$FPLIST
Relay*SPDT*Omron*G5LE?1*
$ENDFPLIST
DRAW
S -400 200 400 -200 0 1 10 f
S -325 75 -75 -75 0 1 10 N
P 2 0 0 0 100 150 100 200 N
P 2 0 0 0 300 150 300 200 N
P 4 0 0 0 300 150 300 100 275 125 300 150 N
P 2 0 1 10 -300 -75 -100 75 N
P 2 0 1 0 -200 -200 -200 -75 N
P 2 0 1 0 -200 200 -200 75 N
P 2 0 1 10 -75 0 -50 0 N
P 2 0 1 10 -25 0 0 0 N
P 2 0 1 10 25 0 50 0 N
P 2 0 1 10 25 0 50 0 N
P 2 0 1 10 75 0 100 0 N
P 2 0 1 10 125 0 150 0 N
P 2 0 1 20 200 -100 125 150 N
P 2 0 1 0 200 -100 200 -200 N
P 3 0 1 0 100 100 125 125 100 150 F
X ~ 1 200 -300 100 U 50 50 1 1 P
X ~ 2 -200 -300 100 U 50 50 1 1 P
X ~ 3 300 300 100 D 50 50 1 1 P
X ~ 4 100 300 100 D 50 50 1 1 P
X ~ 5 -200 300 100 D 50 50 1 1 P
ENDDRAW
ENDDEF
#
# GND
#
DEF GND #PWR 0 0 Y Y 1 F P
F0 "#PWR" 0 -250 50 H I C CNN
F1 "GND" 0 -150 50 H V C CNN
F2 "" 0 0 50 H I C CNN
F3 "" 0 0 50 H I C CNN
DRAW
P 6 0 1 0 0 0 0 -50 50 -50 0 -100 -50 -50 0 -50 N
X GND 1 0 0 0 D 50 50 1 1 W N
ENDDRAW
ENDDEF
#
# MAX3232
#
DEF MAX3232 U 0 40 Y Y 1 F N
F0 "U" -100 1125 50 H V R CNN
F1 "MAX3232" -100 1050 50 H V R CNN
F2 "" 50 -1050 50 H I L CNN
F3 "" 0 100 50 H I C CNN
$FPLIST
SOIC*P1.27mm*
DIP*W7.62mm*
TSSOP*4.4x5mm*P0.65mm*
$ENDFPLIST
DRAW
C -100 -700 25 0 1 10 N
C -100 -500 25 0 1 10 N
C 25 -300 25 0 1 10 N
C 25 -100 25 0 1 10 N
T 0 -450 -900 50 0 0 0 LOGIC Normal 0 C C
T 0 450 -900 50 0 0 0 RS232 Normal 0 C C
S -600 -1000 600 1000 0 1 10 f
P 2 0 1 10 -150 -300 -325 -300 N
P 2 0 1 10 -150 -100 -325 -100 N
P 2 0 1 10 -125 -700 -325 -700 N
P 2 0 1 10 -125 -500 -325 -500 N
P 2 0 1 10 50 -300 250 -300 N
P 2 0 1 10 50 -100 250 -100 N
P 2 0 1 10 75 -700 250 -700 N
P 2 0 1 10 75 -500 250 -500 N
P 4 0 1 10 -150 -225 -150 -375 0 -300 -150 -225 N
P 4 0 1 10 -150 -25 -150 -175 0 -100 -150 -25 N
P 4 0 1 10 75 -625 75 -775 -75 -700 75 -625 N
P 4 0 1 10 75 -425 75 -575 -75 -500 75 -425 N
X C1+ 1 -800 900 200 R 50 50 1 1 P
X T2IN 10 -800 -300 200 R 50 50 1 1 I
X T1IN 11 -800 -100 200 R 50 50 1 1 I
X R1OUT 12 -800 -500 200 R 50 50 1 1 O
X R1IN 13 800 -500 200 L 50 50 1 1 I
X T1OUT 14 800 -100 200 L 50 50 1 1 O
X GND 15 0 -1200 200 U 50 50 1 1 W
X VCC 16 0 1200 200 D 50 50 1 1 W
X VS+ 2 800 400 200 L 50 50 1 1 w
X C1- 3 -800 600 200 R 50 50 1 1 P
X C2+ 4 800 900 200 L 50 50 1 1 P
X C2- 5 800 600 200 L 50 50 1 1 P
X VS- 6 800 100 200 L 50 50 1 1 w
X T2OUT 7 800 -300 200 L 50 50 1 1 O
X R2IN 8 800 -700 200 L 50 50 1 1 I
X R2OUT 9 -800 -700 200 R 50 50 1 1 O
ENDDRAW
ENDDEF
#
# MOC3063M
#
DEF MOC3063M U 0 40 Y Y 1 F N
F0 "U" -200 200 50 H V L CNN
F1 "MOC3063M" 0 200 50 H V L CNN
F2 "" -200 -200 50 H I L CIN
F3 "" -35 0 50 H I L CNN
$FPLIST
DIP*W7.62mm*
SMDIP*W9.53mm*
DIP*W10.16mm*
$ENDFPLIST
DRAW
C 90 -100 5 0 1 0 N
C 90 100 5 0 1 0 N
S -200 150 200 -150 0 1 10 f
P 2 0 1 10 -150 -25 -100 -25 N
P 2 0 1 0 5 -45 5 100 N
P 2 0 1 0 5 100 90 100 N
P 2 0 1 10 75 25 145 25 N
P 2 0 1 0 90 -100 50 -100 N
P 2 0 1 0 90 -100 90 -25 N
P 2 0 1 0 90 -100 200 -100 N
P 2 0 1 0 90 100 90 25 N
P 2 0 1 0 90 100 200 100 N
P 2 0 1 10 105 -25 35 -25 N
P 3 0 1 0 -200 100 -125 100 -125 25 N
P 3 0 1 0 -125 -25 -125 -100 -200 -100 N
P 3 0 1 0 75 -25 60 -55 50 -55 N
P 4 0 1 10 -125 -25 -150 25 -100 25 -125 -25 F
P 4 0 1 0 -25 -60 -10 -60 -25 -100 -10 -100 N
P 4 0 1 0 0 -65 5 -60 10 -60 15 -65 N
P 4 0 1 10 60 -25 85 25 35 25 60 -25 F
P 4 0 1 10 120 25 95 -25 145 -25 120 25 F
P 5 0 1 0 -75 -20 -25 -20 -40 -25 -40 -15 -25 -20 N
P 5 0 1 0 -75 20 -25 20 -40 15 -40 25 -25 20 N
P 5 0 1 0 -35 -45 -35 -115 50 -115 50 -45 -35 -45 N
P 5 0 1 0 15 -95 10 -100 5 -100 0 -95 0 -65 N
P 7 0 1 0 25 -60 25 -100 35 -100 40 -95 40 -65 35 -60 25 -60 N
X ~ 1 -300 100 100 R 50 50 1 1 P
X ~ 2 -300 -100 100 R 50 50 1 1 P
X NC 3 -300 0 100 R 50 50 1 1 N N
X ~ 4 300 -100 100 L 50 50 1 1 P
X NC 5 300 0 100 L 50 50 1 1 N N
X ~ 6 300 100 100 L 50 50 1 1 P
ENDDRAW
ENDDEF
#
# PC817
#
DEF PC817 U 0 40 Y Y 1 F N
F0 "U" -200 200 50 H V L CNN
F1 "PC817" 0 200 50 H V L CNN
F2 "Package_DIP:DIP-4_W7.62mm" -200 -200 50 H I L CIN
F3 "" 0 0 50 H I L CNN
$FPLIST
DIP*W7.62mm*
$ENDFPLIST
DRAW
S -200 150 200 -150 0 1 10 f
P 2 0 1 10 -125 -25 -75 -25 N
P 2 0 1 0 100 25 175 100 N
P 2 0 1 0 175 -100 100 -25 F
P 2 0 1 0 175 -100 200 -100 N
P 2 0 1 0 175 100 200 100 N
P 3 0 1 0 -200 100 -100 100 -100 -25 N
P 3 0 1 0 -100 -25 -100 -100 -200 -100 N
P 3 0 1 20 100 75 100 -75 100 -75 N
P 4 0 1 10 -100 -25 -125 25 -75 25 -100 -25 N
P 5 0 1 0 -20 -20 30 -20 15 -25 15 -15 30 -20 N
P 5 0 1 0 -20 20 30 20 15 15 15 25 30 20 N
P 5 0 1 0 120 -65 140 -45 160 -85 120 -65 120 -65 F
X ~ 1 -300 100 100 R 50 50 1 1 P
X ~ 2 -300 -100 100 R 50 50 1 1 P
X ~ 3 300 -100 100 L 50 50 1 1 P
X ~ 4 300 100 100 L 50 50 1 1 P
ENDDRAW
ENDDEF
#
# PWR_FLAG
#
DEF PWR_FLAG #FLG 0 0 N N 1 F P
F0 "#FLG" 0 75 50 H I C CNN
F1 "PWR_FLAG" 0 150 50 H V C CNN
F2 "" 0 0 50 H I C CNN
F3 "" 0 0 50 H I C CNN
DRAW
P 6 0 1 0 0 0 0 50 -40 75 0 100 40 75 0 50 N
X pwr 1 0 0 0 U 50 50 0 0 w
ENDDRAW
ENDDEF
#
# Q_NMOS_GSD
#
DEF Q_NMOS_GSD Q 0 0 Y N 1 F N
F0 "Q" 200 50 50 H V L CNN
F1 "Q_NMOS_GSD" 200 -50 50 H V L CNN
F2 "" 200 100 50 H I C CNN
F3 "" 0 0 50 H I C CNN
DRAW
C 65 0 111 0 1 10 N
C 100 -70 11 0 1 0 F
C 100 70 11 0 1 0 F
P 2 0 1 0 2 0 10 0 N
P 2 0 1 0 30 -70 100 -70 N
P 2 0 1 10 30 -50 30 -90 N
P 2 0 1 0 30 0 100 0 N
P 2 0 1 10 30 20 30 -20 N
P 2 0 1 0 30 70 100 70 N
P 2 0 1 10 30 90 30 50 N
P 2 0 1 0 100 -70 100 -100 N
P 2 0 1 0 100 -70 100 0 N
P 2 0 1 0 100 100 100 70 N
P 3 0 1 10 10 75 10 -75 10 -75 N
P 4 0 1 0 40 0 80 15 80 -15 40 0 F
P 4 0 1 0 100 -70 130 -70 130 70 100 70 N
P 4 0 1 0 110 20 115 15 145 15 150 10 N
P 4 0 1 0 130 15 115 -10 145 -10 130 15 N
X G 1 -200 0 200 R 50 50 1 1 I
X S 2 100 -200 100 U 50 50 1 1 P
X D 3 100 200 100 D 50 50 1 1 P
ENDDRAW
ENDDEF
#
# Q_PMOS_GSD
#
DEF Q_PMOS_GSD Q 0 0 Y N 1 F N
F0 "Q" 200 50 50 H V L CNN
F1 "Q_PMOS_GSD" 200 -50 50 H V L CNN
F2 "" 200 100 50 H I C CNN
F3 "" 0 0 50 H I C CNN
DRAW
C 65 0 111 0 1 10 N
C 100 -70 11 0 1 0 F
C 100 70 11 0 1 0 F
P 2 0 1 0 2 0 10 0 N
P 2 0 1 0 30 -70 100 -70 N
P 2 0 1 10 30 -50 30 -90 N
P 2 0 1 0 30 0 100 0 N
P 2 0 1 10 30 20 30 -20 N
P 2 0 1 0 30 70 100 70 N
P 2 0 1 10 30 90 30 50 N
P 2 0 1 0 100 -70 100 -100 N
P 2 0 1 0 100 -70 100 0 N
P 2 0 1 0 100 100 100 70 N
P 3 0 1 10 10 75 10 -75 10 -75 N
P 4 0 1 0 90 0 50 -15 50 15 90 0 F
P 4 0 1 0 100 -70 130 -70 130 70 100 70 N
P 4 0 1 0 110 -20 115 -15 145 -15 150 -10 N
P 4 0 1 0 130 -15 115 10 145 10 130 -15 N
X G 1 -200 0 200 R 50 50 1 1 I
X S 2 100 -200 100 U 50 50 1 1 P
X D 3 100 200 100 D 50 50 1 1 P
ENDDRAW
ENDDEF
#
# R
#
DEF R R 0 0 N Y 1 F N
F0 "R" 80 0 50 V V C CNN
F1 "R" 0 0 50 V V C CNN
F2 "" -70 0 50 V I C CNN
F3 "" 0 0 50 H I C CNN
$FPLIST
R_*
R_*
$ENDFPLIST
DRAW
S -40 -100 40 100 0 1 10 N
X ~ 1 0 150 50 D 50 50 1 1 P
X ~ 2 0 -150 50 U 50 50 1 1 P
ENDDRAW
ENDDEF
#
# SP0504BAHT
#
DEF SP0504BAHT D 0 40 Y N 1 F N
F0 "D" 300 100 50 H V L CNN
F1 "SP0504BAHT" 300 25 50 H V L CNN
F2 "Package_TO_SOT_SMD:SOT-23-5" 300 -50 50 H I L CNN
F3 "" 125 125 50 H I C CNN
$FPLIST
SOT?23*
$ENDFPLIST
DRAW
S -175 100 275 -100 0 1 10 f
P 2 0 1 0 -100 100 -100 50 N
P 2 0 1 0 0 -50 0 -100 N
P 2 0 1 0 0 -50 0 50 N
P 2 0 1 0 0 100 0 50 N
P 2 0 1 0 25 50 50 25 N
P 2 0 1 0 100 100 100 50 N
P 2 0 1 0 200 100 200 50 N
P 3 0 1 0 25 50 -25 50 -50 75 N
P 3 0 1 0 200 50 200 -50 100 -50 N
P 4 0 1 0 -150 75 -125 50 -75 50 -50 25 N
P 4 0 1 0 -100 50 -100 -50 100 -50 100 50 N
P 4 0 1 0 -100 50 -75 0 -125 0 -100 50 N
P 4 0 1 0 25 0 -25 0 0 50 25 0 N
P 4 0 1 0 50 75 75 50 125 50 150 25 N
P 4 0 1 0 100 50 75 0 125 0 100 50 N
P 4 0 1 0 150 75 175 50 225 50 250 25 N
P 4 0 1 0 200 50 175 0 225 0 200 50 N
X A 2 0 -200 100 U 50 50 0 0 I
X K 1 -100 200 100 D 50 50 1 1 I
X K 3 0 200 100 D 50 50 1 1 I
X K 4 100 200 100 D 50 50 1 1 I
X K 5 200 200 100 D 50 50 1 1 I
ENDDRAW
ENDDEF
#
# STM8S003F3P-RESCUE-socket
#
DEF STM8S003F3P-RESCUE-socket U 0 40 Y Y 1 F N
@ -14,16 +575,7 @@ $ENDFPLIST
DRAW
S -450 850 450 -850 0 1 10 f
X PD4 1 600 0 150 L 50 50 1 1 B
X PD5 2 600 -100 150 L 50 50 1 1 B
X PD6 3 600 -200 150 L 50 50 1 1 B
X NRST 4 -600 -600 150 R 50 50 1 1 I
X PA1 5 -600 700 150 R 50 50 1 1 B
X PA2 6 -600 600 150 R 50 50 1 1 B
X VSS 7 0 -1000 150 U 50 50 1 1 W
X VCAP 8 -600 -700 150 R 50 50 1 1 P
X VDD 9 0 1000 150 D 50 50 1 1 W
X PA3_T2C3 10 -600 500 150 R 50 50 1 1 B
X PD3 20 600 100 150 L 50 50 1 1 B
X PB5 11 -600 200 150 R 50 50 1 1 B
X PB4 12 -600 300 150 R 50 50 1 1 B
X PC3_T1C3 13 -600 0 150 R 50 50 1 1 B
@ -33,6 +585,89 @@ X PC6_T1C1 16 -600 -300 150 R 50 50 1 1 B
X PC7_T1C2 17 -600 -400 150 R 50 50 1 1 B
X PD1 18 600 300 150 L 50 50 1 1 B
X PD2_T2C3 19 600 200 150 L 50 50 1 1 B
X PD5 2 600 -100 150 L 50 50 1 1 B
X PD3 20 600 100 150 L 50 50 1 1 B
X PD6 3 600 -200 150 L 50 50 1 1 B
X NRST 4 -600 -600 150 R 50 50 1 1 I
X PA1 5 -600 700 150 R 50 50 1 1 B
X PA2 6 -600 600 150 R 50 50 1 1 B
X VSS 7 0 -1000 150 U 50 50 1 1 W
X VCAP 8 -600 -700 150 R 50 50 1 1 P
X VDD 9 0 1000 150 D 50 50 1 1 W
ENDDRAW
ENDDEF
#
# Screw_Terminal_01x03
#
DEF Screw_Terminal_01x03 J 0 40 Y N 1 F N
F0 "J" 0 200 50 H V C CNN
F1 "Screw_Terminal_01x03" 0 -200 50 H V C CNN
F2 "" 0 0 50 H I C CNN
F3 "" 0 0 50 H I C CNN
$FPLIST
TerminalBlock*:*
$ENDFPLIST
DRAW
C 0 -100 25 1 1 6 N
C 0 0 25 1 1 6 N
C 0 100 25 1 1 6 N
S -50 150 50 -150 1 1 10 f
P 2 1 1 6 -21 -87 13 -120 N
P 2 1 1 6 -21 13 13 -20 N
P 2 1 1 6 -21 113 13 80 N
P 2 1 1 6 -14 -80 20 -113 N
P 2 1 1 6 -14 20 20 -13 N
P 2 1 1 6 -14 120 20 87 N
X Pin_1 1 -200 100 150 R 50 50 1 1 P
X Pin_2 2 -200 0 150 R 50 50 1 1 P
X Pin_3 3 -200 -100 150 R 50 50 1 1 P
ENDDRAW
ENDDEF
#
# USB_B
#
DEF USB_B J 0 40 Y Y 1 F N
F0 "J" -200 450 50 H V L CNN
F1 "USB_B" -200 350 50 H V L CNN
F2 "" 150 -50 50 H I C CNN
F3 "" 150 -50 50 H I C CNN
$FPLIST
USB*
$ENDFPLIST
DRAW
C -150 85 25 0 1 10 F
C -25 135 15 0 1 10 F
S -200 -300 200 300 0 1 10 f
S -150 220 -100 180 0 1 0 F
S -5 -300 5 -270 0 1 0 N
S 10 50 -20 20 0 1 10 F
S 200 -105 170 -95 0 1 0 N
S 200 -5 170 5 0 1 0 N
S 200 195 170 205 0 1 0 N
P 2 0 1 10 -75 85 25 85 N
P 4 0 1 10 -125 85 -100 85 -50 135 -25 135 N
P 4 0 1 10 -100 85 -75 85 -50 35 0 35 N
P 4 0 1 10 25 110 25 60 75 85 25 110 F
P 7 0 1 0 -160 170 -90 170 -90 225 -105 240 -145 240 -160 225 -160 170 N
X VBUS 1 300 200 100 L 50 50 1 1 w
X D- 2 300 -100 100 L 50 50 1 1 P
X D+ 3 300 0 100 L 50 50 1 1 P
X GND 4 0 -400 100 U 50 50 1 1 w
X Shield 5 -100 -400 100 U 50 50 1 1 P
ENDDRAW
ENDDEF
#
# VCC
#
DEF VCC #PWR 0 0 Y Y 1 F P
F0 "#PWR" 0 -150 50 H I C CNN
F1 "VCC" 0 150 50 H V C CNN
F2 "" 0 0 50 H I C CNN
F3 "" 0 0 50 H I C CNN
DRAW
C 0 75 25 0 1 0 N
P 2 0 1 0 0 0 0 50 N
X VCC 1 0 0 0 U 50 50 1 1 W N
ENDDRAW
ENDDEF
#

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,4 +1,4 @@
update=Вт 05 июн 2018 21:04:24
update=Вт 01 янв 2019 14:06:16
version=1
last_client=kicad
[pcbnew]
@ -25,26 +25,6 @@ version=1
NetIExt=net
[general]
version=1
[eeschema]
version=1
LibDir=
[eeschema/libraries]
LibName1=socket-rescue
LibName2=ch34x
LibName3=bt137
LibName4=MCU_ST_STM8
LibName5=Relay_SolidState
LibName6=Device
LibName7=Diode
LibName8=Relay
LibName9=Triac_Thyristor
LibName10=Interface_UART
LibName11=Power_Protection
LibName12=Connector_Specialized
LibName13=Connector_Generic
LibName14=power
LibName15=acs712
LibName16=Isolator
[schematic_editor]
version=1
PageLayoutDescrFile=
@ -55,3 +35,6 @@ NetFmtName=
SpiceForceRefPrefix=0
SpiceUseNetNumbers=0
LabSize=60
[eeschema]
version=1
LibDir=

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,6 @@
(sym_lib_table
(lib (name socket-rescue)(type Legacy)(uri ${KIPRJMOD}/socket-rescue.lib)(options "")(descr ""))
(lib (name ch34x)(type Legacy)(uri ${KIPRJMOD}/ch34x.lib)(options "")(descr ""))
(lib (name bt137)(type Legacy)(uri ${KIPRJMOD}/bt137.lib)(options "")(descr ""))
(lib (name acs712)(type Legacy)(uri ${KIPRJMOD}/acs712.lib)(options "")(descr ""))
)

View File

@ -4,19 +4,19 @@
:2080E4001B8080AE5405F65F97CF0002AE5404F6954F4FCA000302CA000295CF0002350137
:20810400001AAE5400F6A43FF780AE5344F644241B90CE001E72A90001C6001DA90097C6B0
:12812400001CA9009590CF001ECF001C350053448080BB
:018E5400001D
:018E8A0000E7
:20813600AE5230F64D2AF9AE52317B03F781AE5230F64D2AF9350A523181160390F64D2780
:2081560018AE5230F64D2AF9AE5235F6AA08F790F6905CAE5231F720E381725D001B260356
:208176004F200C1E03C60004F7725F001BA6018152255F1F031F017B2AA1042303CC826C36
:208196007B2AA1032603CC826C0D2A2603CC826C961C00051F244F5F9772FB247F4CA10C3B
:2081B60025F51E24A60AE70A7B2AA101270E7B2AA10227197B2AA104272E20451E28F66BFD
:2081D600234F5F6B031F017B236B0420341628171A1E1AFE1F12161217180F170F16161823
:2081F6001703161617012019162817141E14E6036B1FE6026B1EFE1F1C161E1703161C1783
:2082160001A6096B114B0A5F894B001E07891E0789CD8D8A5B08517B110A115F9772FB2472
:20823600909FAB30F74B0A5F894B001E07891E0789CD8DFA5B081F0317011E0326041E01E8
:2082560027067B11A1FF2CBD7B114C5F9772FB2489CD81505B025B2581AE5011F6AA20F71C
:208196007B2AA1032603CC826C0D2A2603CC826C961C00051F124F5F9772FB127F4CA10C5F
:2081B60025F51E12A60AE70A7B2AA101270E7B2AA10227197B2AA104272E20451E28F66B0F
:2081D6001B4F5F6B031F017B1B6B042034162817141E14FE1F1C161C17200F1F0F1E16200B
:2081F6001703161E17012019162817161E16E6036B25E6026B24FE1F221624170316221759
:2082160001A6096B114B0A5F894B001E07891E0789CD8DC05B08517B110A115F9772FB124E
:20823600909FAB30F74B0A5F894B001E07891E0789CD8E305B081F0317011E0326041E01B1
:2082560027067B11A1FF2CBD7B114C5F9772FB1289CD81505B025B2581AE5011F6AA20F72E
:14827600AE5012F6AA20F73568523235035233352C523581E6
:018E5500001C
:018E8B0000E6
:20828A0072107F60350050C635075347357D53483501534335855340AE5005F6AA20F735FD
:2082AA000C5002350E50033520500735F8500C35F8500D35045011350450123524540035EA
:1082CA00105407350854023573540135735401812B
@ -24,100 +24,102 @@
:20802000820080AA820080AB8200000082000000820080AC820080AD820080AE820080AF25
:20804000820080B08200000082000000820080B1820080B2820080E6820000008200000017
:20806000820080E78200810E82008135820000008200000082000000820000008200000044
:1D808700AE00192707724F00005A26F9AE001C2709D68E53D700195A26F7CC8080C9
:1D808700AE00192707724F00005A26F9AE001C2709D68E89D700195A26F7CC808093
:03808000CC87AA00
:2082DA005238AE00081F0F1E0F5C5C1F371E37FE160F72A90004170D160D90FE17271327F7
:2082FA00230FCF00051E371627FF1E0D90CE0005FF1E0F1C00081F0B1E0BFE160F72A9005E
:20831A000A172B162B90FE17211321230FCF00051E0B1621FF1E2B90CE0005FF1E0F1C0063
:20833A000E1F171E17FE160F72A90010171F161F90FE17111311230FCF00051E171611FFB6
:20835A001E1F90CE0005FF1E0FFE163790FE17011301230FCF00051E0F1601FF1E3790CE36
:20837A000005FF1E0F1C00061F091E09FE160B90FE171B131B230FCF00051E09161BFF1EB9
:20839A000B90CE0005FF1E0F1C000C1F2D1E2DFE161790FE17031303230FCF00051E2D161A
:2083BA0003FF1E1790CE0005FF1E37FE160D90FE17351335230FCF00051E371635FF1E0DA2
:2083DA0090CE0005FF1E0BFE162B90FE17131313230FCF00051E0B1613FF1E2B90CE0005D8
:2083FA00FF1E17FE161F90FE17231323230FCF00051E171623FF1E1F90CE0005FF1E0FFEC1
:20841A00160990FE17051305230FCF00051E0F1605FF1E0990CE0005FF1E2BFE161F90FE81
:20843A00172F132F230FCF00051E2B162FFF1E1F90CE0005FF1E0BFE161790FE17311331FA
:20845A00230FCF00051E0B1631FF1E1790CE0005FF1E09FE162D90FE17191319230FCF00A3
:20847A00051E091619FF1E2D90CE0005FF1E37FE160B90FE17291329230FCF00051E3716EC
:20849A0029FF1E0B90CE0005FF1E0DFE162B90FE17251325230FCF00051E0D1625FF1E2BEF
:2084BA0090CE0005FF1E0BFE161790FE171D131D230FCF00051E0B161DFF1E1790CE000501
:2084DA00FF1E0BFE160D90FE17331333230FCF00051E0B1633FF1E0D90CE0005FF1E2DFECE
:2084FA00160B90FE17071307230FCF00051E2D1607FF1E0B90CE0005FF1E0BFE160D90FEAB
:20851A0017151315230FCF00051E0B1615FF1E0D90CE0005FF1E0BFE5B388152037B066B8B
:20853A00037B03A1412603CC85FE7B03A1422603CC861A7B03A1432603CC86367B03A149D5
:20855A002603CC868C7B03A14B2603CC86DF7B03A14C2603CC86FB7B03A14D2603CC871756
:20857A007B03A14E2603CC87327B03A14F2603CC874D7B03A1592603CC87687B03A15A2694
:20859A0003CC87827B03A161275A7B03A16227707B03A1632603CC86367B03A1692603CC20
:2085BA00868C7B03A16B2603CC86DF7B03A16C2603CC86FB7B03A16D2603CC87177B03A16C
:2085DA006E2603CC87327B03A16F2603CC874D7B03A1792603CC87687B03A17A2603CC877D
:2085FA0082CC87A7AE8BCA89CD81505B02AE500FF6A5042704A6312002A6306B01CC879D5C
:20861A00AE8BD289CD81505B02AE500AF6A5402704A6312002A6306B01CC879DAE8BDA89DC
:20863A00CD81505B027B06A1632606A6016B0220020F020D022704A6302002A63188CD814E
:20865A0036844B3DCD8136840D022713AE5006F6A5102604A6312002A6306B01CC879DAEBB
:20867A005001F6A5022604A6312002A6306B01CC879DAE8BDD89CD81505B02AE00024B0206
:20869A0089CD81865B03AE8BE789CD81505B02AE00304B0289CD81865B03AE8BEF89CD817C
:2086BA00505B02AE00324B0289CD81865B03AE8BF789CD81505B02CE00344B0289CD8186AB
:2086DA005B03CC87A7AE8BFD89CD81505B02AE5005F6A5202604A6312002A6306B01CC87F8
:2086FA009DAE8C0489CD81505B02AE500AF6A5202704A6312002A6306B01CC879DAE8C0BA3
:20871A0089CD81505B02AE500AF6A5082704A6312002A6306B01206BAE8C1289CD81505B51
:20873A0002AE5000F6A5082704A6312002A6306B012050AE8C1889CD81505B02AE5000F6DC
:20875A00A5042704A6312002A6306B012035AE8C1E89CD81505B02AE500AF64D2A04A6316F
:20877A002002A6306B01201BAE8C2689CD81505B02AE500AF6A5102704A6312002A6306B44
:20879A000120007B0188CD813684CD81445B038152235F1F0B1F09AEFFFF1F075F1F055F47
:2087BA001F03AE8C2E1F01CD828ACD826F9A725D001A2744AE00081F0E5FC6000797587200
:2087DA00FB0E90CE0002FFC600074CC70007A1092622725F00071E035C1F03CD82DA7B061D
:2087FA00891102857B058912018524021F05130724021F07725F001ACE001E72F00B1F1278
:20881A00C6001D120A6B11C6001C12096B10AE00C713124F12114F12102433CE001E1F0B61
:20883A00CE001C1F097B04C700357B03C700345F1F037B06C700317B05C700307B08C7005D
:20885A00337B07C700325F1F05AEFFFF1F07CE00222605CE0020273DCE001E72B000221F3F
:20887A0016C6001DC200216B15C6001CC200206B14AE006413164F12154F121424175FCFB0
:20889A000022CF0020AE500AF6AA80F7AE8C3B89CD81505B02CE00262605CE0024273DCE52
:2088BA00001E72B000261F1AC6001DC200256B19C6001CC200246B18AE0064131A4F1219AD
:2088DA004F121824175FCF0026CF0024AE500AF6AA10F7AE8C4589CD81505B02CE002A26B3
:2088FA0005CE0028273DCE001E72B0002A1F1EC6001DC200296B1DC6001CC200286B1CAE33
:20891A000064131E4F121D4F121C24175FCF002ACF0028AE500FF6A4FBF7AE8C4F89CD812A
:20893A00505B02CE002E2605CE002C273DCE001E72B0002E1F22C6001DC2002D6B21C6004A
:20895A001CC2002C6B20AE006413224F12214F122024175FCF002ECF002CAE500AF6A4BF2B
:20897A00F7AE8C5989CD81505B02961C000D89CD81705B024D2603CC87C87B0DA141260348
:20899A00CC8A3CA1422603CC8A50A1432603CC8BBDA1492603CC8BBDA14B2603CC8A61A1C4
:2089BA004C2603CC8A75A14D2603CC8A89A14E2603CC8A9DA14F2603CC8AB1A1532603CC53
:2089DA008ABBA1592603CC8B0DA15A2603CC8B7EA1612744A1622754A1632603CC8BBDA1EB
:2089FA00692603CC8BBDA16B2756A16C2763A16D2773A16E2603CC8A93A16F2603CC8AA798
:208A1A00A1732603CC8ABBA1792603CC8ACEA17A2603CC8B3ECC8BB1AE500FF6AA04F7CC32
:208A3A008BBDAE500FF6A4FBF7CC8BBDAE500AF6AA40F7CC8BBDAE500AF6A4BFF7CC8BBDC8
:208A5A00AE5005F6A4DFF7AE5005F6AA20F7CC8BBDAE500AF6AA20F7CC8BBDAE500AF6A446
:208A7A00DFF7CC8BBDAE500AF6AA08F7CC8BBDAE500AF6A4F7F7CC8BBDAE5000F6AA08F7F6
:208A9A00CC8BBDAE5000F6A4F7F7CC8BBDAE5000F6AA04F7CC8BBDAE5000F6A4FBF7CC8B80
:208ABA00BD1E01F64D2603CC8BBD5C8988CD8535848520EFAE500FF6A5042707721E500A70
:208ADA00CC8BBDAE500FF6AA04F790CE001ECE001C90CF0022CF0020CE0022260FCE0020D7
:208AFA00260AAE0001CF00225FCF0020A6616B0DCC8BBDAE500FF6A504272290CE001ECE6C
:208B1A00001C90CF002ACF0028CE002A260FCE0028260AAE0001CF002A5FCF0028721F506D
:208B3A000ACC8BBDAE500AF6A5402709AE500AF6AA10F7206EAE500AF6AA40F790CE001E52
:208B5A00CE001C90CF0026CF0024CE0026260FCE0024260AAE0001CF00265FCF0024A66250
:208B7A006B0D203FAE500AF6A540272290CE001ECE001C90CF002ECF002CCE002E260FCEEB
:208B9A00002C260AAE0001CF002E5FCF002CAE500AF6A4EFF7200CAE8C6389CD81505B0284
:208BBA00CC87C87B0D88CD853584CC87C85B23815452494143303D005452494143313D008A
:208BDA00496E0041444356414C55453D004144434D41583D004144434D494E3D004E50547C
:208BFA00533D00504B4559313D004E4B4559313D004E4B4559323D004F5554303D004F55D0
:208C1A0054313D0052454C4159303D0052454C4159313D0061626343696B6C6D6E6F797ABD
:208C3A000052454C4159303D310A0052454C4159313D310A005452494143303D300A005461
:208C5A0052494143313D300A000A50524F544F3A0A612F41202D207475726E206F6E2F6FAF
:208C7A006666207472696163300A622F42202D207475726E206F6E2F6F6666207472696161
:208C9A0063310A632F43202D20636865636B20696E302F310A692F49202D2073686F77201C
:208CBA0063757272656E7420616D706C2E2028414455290A6B2F4B202D207365742F7265A6
:208CDA0073657420504B4559310A6C2F4C202D207365742F7265736574204E4B4559310A16
:208CFA006D2F4D202D207365742F7265736574204E4B4559320A6E2F6F202D2061637469B9
:208D1A0076617465206F7574302F310A4E2F4F202D2064656163746976617465206F7574AC
:208D3A00302F310A732F53202D2073686F7720616C6C207374617469737469630A792F5900
:208D5A00202D207475726E206F6E2F6F66662072656C6179300A7A2F5A202D207475726EAC
:108D7A00206F6E2F6F66662072656C6179310A000A
:1A8E560000000000000000000000000000000000000000000000FFFF000004
:208D8A0052030F030F017B0A484F494D262E160C1E0A905859170C1F0A1E08130C7B07129C
:208DAA000B7B06120A240D160C1E0A549056170C1F0A20080C017B016B0320CA7B036B020C
:208DCA001E0872F00C7B07120B90977B06120A25061F0890951706160C1E0A549056170C57
:208DEA001F0A7B020A024D26D71E0816065B038152065F1F051F03A6206B027B09484F49B8
:208E0A006B01160B1E09905859170B1F0916051E0390585917051F030D0127067B06AA01E7
:208E2A006B061E0572F00F7B04120E90977B03120D250C1F05909517037B0CAA016B0C0A79
:0A8E4A000226B81E0B16095B068114
:2082DA005238AE00081F1D1E1D5C5C1F0B1E0BFE161D72A900041711161190FE1703130365
:2082FA00230FCF00051E0B1603FF1E1190CE0005FF1E1D1C00081F051E05FE161D72A9009A
:20831A000A1735163590FE172D132D230FCF00051E05162DFF1E3590CE0005FF1E1D1C0019
:20833A000E1F171E17FE161D72A90010171F161F90FE17011301230FCF00051E171601FFD8
:20835A001E1F90CE0005FF1E1DFE160B90FE17331333230FCF00051E1D1633FF1E0B90CEDC
:20837A000005FF1E1D1C00061F0D1E0DFE160590FE17231323230FCF00051E0D1623FF1E8D
:20839A000590CE0005FF1E1D1C000C1F131E13FE161790FE170F130F230FCF00051E131648
:2083BA000FFF1E1790CE0005FF1E0BFE161190FE172B132B230FCF00051E0B162BFF1E1104
:2083DA0090CE0005FF1E05FE163590FE17191319230FCF00051E051619FF1E3590CE0005BE
:2083FA00FF1E17FE161F90FE17151315230FCF00051E171615FF1E1F90CE0005FF1E1DFEDD
:20841A00160D90FE171B131B230FCF00051E1D161BFF1E0D90CE0005FF1E35FE161F90FE1F
:20843A0017071307230FCF00051E351607FF1E1F90CE0005FF1E05FE161790FE173113316E
:20845A00230FCF00051E051631FF1E1790CE0005FF1E0DFE161390FE17371337230FCF0083
:20847A00051E0D1637FF1E1390CE0005FF1E0BFE160590FE17271327230FCF00051E0B1646
:20849A0027FF1E0590CE0005FF1E11FE163590FE17211321230FCF00051E111621FF1E35E7
:2084BA0090CE0005FF1E05FE161790FE17091309230FCF00051E051609FF1E1790CE000549
:2084DA00FF1E05FE161190FE17291329230FCF00051E051629FF1E1190CE0005FF1E13FE0A
:2084FA00160590FE172F132F230FCF00051E13162FFF1E0590CE0005FF1E05FE161190FE5B
:20851A0017251325230FCF00051E051625FF1E1190CE0005FF1E05FE5B388152037B066B63
:20853A00027B02A1412603CC85FE7B02A1422603CC861A7B02A1432603CC86367B02A149DA
:20855A002603CC868C7B02A14B2603CC86DF7B02A14C2603CC86FB7B02A14D2603CC871759
:20857A007B02A14E2603CC87327B02A14F2603CC874D7B02A1592603CC87687B02A15A2698
:20859A0003CC87827B02A161275A7B02A16227707B02A1632603CC86367B02A1692603CC24
:2085BA00868C7B02A16B2603CC86DF7B02A16C2603CC86FB7B02A16D2603CC87177B02A170
:2085DA006E2603CC87327B02A16F2603CC874D7B02A1792603CC87687B02A17A2603CC8780
:2085FA0082CC87A7AE8BD389CD81505B02AE500FF6A5042704A6312002A6306B03CC879D51
:20861A00AE8BDB89CD81505B02AE500AF6A5402704A6312002A6306B03CC879DAE8BE389C8
:20863A00CD81505B027B06A1632606A6016B0120020F010D012704A6302002A63188CD8151
:20865A0036844B3DCD8136840D012713AE5006F6A5102604A6312002A6306B03CC879DAEBA
:20867A005001F6A5022604A6312002A6306B03CC879DAE8BE689CD81505B02AE00024B02FB
:20869A0089CD81865B03AE8BF089CD81505B02AE00304B0289CD81865B03AE8BF889CD816A
:2086BA00505B02AE00324B0289CD81865B03AE8C0089CD81505B02CE00344B0289CD8186A1
:2086DA005B03CC87A7AE8C0689CD81505B02AE5005F6A5202604A6312002A6306B03CC87EC
:2086FA009DAE8C0D89CD81505B02AE500AF6A5202704A6312002A6306B03CC879DAE8C148F
:20871A0089CD81505B02AE500AF6A5082704A6312002A6306B03206BAE8C1B89CD81505B46
:20873A0002AE5000F6A5082704A6312002A6306B032050AE8C2189CD81505B02AE5000F6D1
:20875A00A5042704A6312002A6306B032035AE8C2789CD81505B02AE500AF64D2A04A63164
:20877A002002A6306B03201BAE8C2F89CD81505B02AE500AF6A5102704A6312002A6306B39
:20879A000320007B0388CD813684CD81445B038152235F1F0C1F0AAEFFFF1F085F1F065F3F
:2087BA001F03AE8C371F01CD828ACD826F9AAE8C4489CD81505B02725D001A2744AE0008AF
:2087DA001F0E5FC60007975872FB0E90CE0002FFC600074CC70007A1092622725F00071E8E
:2087FA00035C1F03CD82DA7B07891102857B068912018524021F06130824021F08725F00EC
:20881A001ACE001E72F00C1F12C6001D120B6B11C6001C120A6B10AE00C713124F12114F49
:20883A0012102433CE001E1F0CCE001C1F0A7B04C700357B03C700345F1F037B07C700318C
:20885A007B06C700307B09C700337B08C700325F1F06AEFFFF1F08CE00222605CE00202705
:20887A003DCE001E72B000221F16C6001DC200216B15C6001CC200206B14AE006413164F29
:20889A0012154F121424175FCF0022CF0020AE500AF6AA80F7AE8C7189CD81505B02CE008C
:2088BA00262605CE0024273DCE001E72B000261F1AC6001DC200256B19C6001CC200246B09
:2088DA0018AE0064131A4F12194F121824175FCF0026CF0024AE500AF6AA10F7AE8C7B89C5
:2088FA00CD81505B02CE002A2605CE0028273DCE001E72B0002A1F1EC6001DC200296B1D1B
:20891A00C6001CC200286B1CAE0064131E4F121D4F121C24175FCF002ACF0028AE500FF61F
:20893A00A4FBF7AE8C8589CD81505B02CE002E2605CE002C273DCE001E72B0002E1F22C67C
:20895A00001DC2002D6B21C6001CC2002C6B20AE006413224F12214F122024175FCF002E29
:20897A00CF002CAE500AF6A4BFF7AE8C8F89CD81505B02961C000589CD81705B024D26036C
:20899A00CC87D17B05A1412603CC8A45A1422603CC8A59A1432603CC8BC6A1492603CC8B24
:2089BA00C6A14B2603CC8A6AA14C2603CC8A7EA14D2603CC8A92A14E2603CC8AA6A14F26EF
:2089DA0003CC8ABAA1532603CC8AC4A1592603CC8B16A15A2603CC8B87A1612744A162270A
:2089FA0054A1632603CC8BC6A1692603CC8BC6A16B2756A16C2763A16D2773A16E2603CCA3
:208A1A008A9CA16F2603CC8AB0A1732603CC8AC4A1792603CC8AD7A17A2603CC8B47CC8BD7
:208A3A00BAAE500FF6AA04F7CC8BC6AE500FF6A4FBF7CC8BC6AE500AF6AA40F7CC8BC6AE3D
:208A5A00500AF6A4BFF7CC8BC6AE5005F6A4DFF7AE5005F6AA20F7CC8BC6AE500AF6AA2023
:208A7A00F7CC8BC6AE500AF6A4DFF7CC8BC6AE500AF6AA08F7CC8BC6AE500AF6A4F7F7CC13
:208A9A008BC6AE5000F6AA08F7CC8BC6AE5000F6A4F7F7CC8BC6AE5000F6AA04F7CC8BC658
:208ABA00AE5000F6A4FBF7CC8BC61E01F64D2603CC8BC65C8988CD8535848520EFAE500F34
:208ADA00F6A5042707721E500ACC8BC6AE500FF6AA04F790CE001ECE001C90CF0022CF004A
:208AFA0020CE0022260FCE0020260AAE0001CF00225FCF0020A6616B05CC8BC6AE500FF674
:208B1A00A504272290CE001ECE001C90CF002ACF0028CE002A260FCE0028260AAE0001CF92
:208B3A00002A5FCF0028721F500ACC8BC6AE500AF6A5402709AE500AF6AA10F7206EAE5045
:208B5A000AF6AA40F790CE001ECE001C90CF0026CF0024CE0026260FCE0024260AAE000142
:208B7A00CF00265FCF0024A6626B05203FAE500AF6A540272290CE001ECE001C90CF002E9E
:208B9A00CF002CCE002E260FCE002C260AAE0001CF002E5FCF002CAE500AF6A4EFF7200CAB
:208BBA00AE8C9989CD81505B02CC87D17B0588CD853584CC87D15B23815452494143303D0A
:208BDA00005452494143313D00496E0041444356414C55453D004144434D41583D004144F1
:208BFA00434D494E3D004E5054533D00504B4559313D004E4B4559313D004E4B4559323D83
:208C1A00004F5554303D004F5554313D0052454C4159303D0052454C4159313D0061626374
:208C3A0043696B6C6D6E6F797A0049276D20616C6976652121210A436F6D6D616E6473208D
:208C5A006C6F6F6B73206C696B6520273A73796D626F6C23270A0052454C4159303D310A7D
:208C7A000052454C4159313D310A005452494143303D300A005452494143313D300A000A75
:208C9A0050524F544F3A0A612F41202D207475726E206F6E2F6F6666207472696163300A07
:208CBA00622F42202D207475726E206F6E2F6F6666207472696163310A632F43202D206317
:208CDA006865636B20696E302F310A692F49202D2073686F772063757272656E7420616D2E
:208CFA00706C2E2028414455290A6B2F4B202D207365742F726573657420504B4559310A77
:208D1A006C2F4C202D207365742F7265736574204E4B4559310A6D2F4D202D207365742FE4
:208D3A007265736574204E4B4559320A6E2F6F202D206163746976617465206F7574302FC2
:208D5A00310A4E2F4F202D2064656163746976617465206F7574302F310A732F53202D20F7
:208D7A0073686F7720616C6C207374617469737469630A792F59202D207475726E206F6E89
:208D9A002F6F66662072656C6179300A7A2F5A202D207475726E206F6E2F6F666620726541
:068DBA006C6179310A0032
:1A8E8C0000000000000000000000000000000000000000000000FFFF0000CE
:208DC00052030F030F017B0A484F494D262E160C1E0A905859170C1F0A1E08130C7B071266
:208DE0000B7B06120A240D160C1E0A549056170C1F0A20080C017B016B0320CA7B036B02D6
:208E00001E0872F00C7B07120B90977B06120A25061F0890951706160C1E0A549056170C20
:208E20001F0A7B020A024D26D71E0816065B038152065F1F051F03A6206B027B09484F4981
:208E40006B01160B1E09905859170B1F0916051E0390585917051F030D0127067B06AA01B1
:208E60006B061E0572F00F7B04120E90977B03120D250C1F05909517037B0CAA016B0C0A43
:0A8E80000226B81E0B16095B0681DE
:00000001FF

View File

@ -132,6 +132,7 @@ int main() {
uart_init();
// enable all interrupts
enableInterrupts();
uart_write("I'm alive!!!\nCommands looks like ':symbol#'\n");
// Loop
do{
if(ADC_ready){
@ -186,18 +187,14 @@ int main() {
if(uart_read_cmd(&rb)){ // buffer isn't empty
switch(rb){
case 'a': // turn ON triac0
SET_TRIAC0();
break;
case 'A': // turn OFF triac0
RESET_TRIAC0();
break;
case 'b': // turn ON triac1
SET_TRIAC1();
break;
case 'B': // turn OFF triac1
RESET_TRIAC1();
break;
case 'a': // check TRIAC0
case 'b': // check TRIAC1
case 'c': // check IN0
case 'C': // check IN1
case 'I': // current amplitude in ADU
@ -273,8 +270,8 @@ int main() {
break;
default:
uart_write( "\nPROTO:\n"
"a/A - turn on/off triac0\n"
"b/B - turn on/off triac1\n"
"A - turn off triac0\n"
"B - turn off triac1\n"
"c/C - check in0/1\n"
"i/I - show current ampl. (ADU)\n"
"k/K - set/reset PKEY1\n"

39
SNIPPETS/eeprom_flash.c Normal file
View File

@ -0,0 +1,39 @@
/**
* Change variable stored in FLASH
* !!! You can change only const values (non-constants are initializes on program start)
* @param addr - variable address
* @param new value
* @return 0 in case of error
*/
U8 change_progmem_value(U8 *addr, U8 val){
// unlock memory
FLASH_PUKR = EEPROM_KEY2;
FLASH_PUKR = EEPROM_KEY1;
// check bit PUL=1 in FLASH_IAPSR
if(!FLASH_IAPSR & 0x02)
return 0;
*addr = val;
// clear PUL to lock write
FLASH_IAPSR &= ~0x02;
return 1;
}
/**
* Change data in EEPROM
* @param addr - EEPROM address
* @param new value
* @return 0 in case of error
*/
U8 change_eeprom_value(U8 *addr, U8 val){
// unlock eeprom
FLASH_DUKR = EEPROM_KEY1;
FLASH_DUKR = EEPROM_KEY2;
// check bit DUL=1 in FLASH_IAPSR
if(!FLASH_IAPSR & 0x08)
return 0;
*addr = val;
// clear DUL to lock write
FLASH_IAPSR &= ~0x08;
return 1;
}
*/

11
SNIPPETS/uart.c Normal file
View File

@ -0,0 +1,11 @@
// configure UART
PORT(UART_PORT, DDR) |= UART_TX_PIN; // output
PORT(UART_PORT, ODR) |= UART_TX_PIN; // torn off N push-down
// For open-drain output comment next line
PORT(UART_PORT, CR1) |= UART_TX_PIN; // push-pull
// 9 bit, no parity, 1 stop (UART_CR3 = 0 - reset value)
// 57600 on 16MHz: BRR1=0x11, BRR2=0x06
UART2_BRR1 = 0x11; UART2_BRR2 = 0x06;
// UART2_CR1 = UART_CR1_M; // M = 1 -- 9bits
// for several uarts on line don't write UART_CR2_TEN here, write it when need
UART2_CR2 = UART_CR2_TEN | UART_CR2_REN | UART_CR2_RIEN; // Allow Tx/RX, generate ints on rx

View File

@ -0,0 +1,4 @@
// macro for using in port constructions like PORT(LED_PORT, ODR) = xx
#define CONCAT(a,b) a##_##b
#define PORT(a,b) CONCAT(a,b)

View File

@ -1,16 +1,17 @@
NAME=testproj
NAME=microdrill
SDCC=sdcc
CCFLAGS=-DSTM8S105 -I../ -I/usr/share/sdcc/include -mstm8 --out-fmt-ihx
CCFLAGS+=-DEBUG
LDFLAGS= -mstm8 --out-fmt-ihx -lstm8
FLASHFLAGS=-cstlinkv2 -pstm8s105
FLASHFLAGS=-cstlinkv2 -pstm8s105?4
SRC=$(wildcard *.c)
# ATTENTION: FIRST in list should be file with main()
OBJ=$(SRC:%.c=%.rel)
TRASH=$(OBJ) $(SRC:%.c=%.rst) $(SRC:%.c=%.asm) $(SRC:%.c=%.lst)
TRASH+=$(SRC:%.c=%.sym) $(NAME).lk $(NAME).map
INDEPENDENT_HEADERS=../stm8l.h ports_definition.h Makefile
TRASH+=$(SRC:%.c=%.sym) $(NAME).lk $(NAME).map $(NAME).cdb
INDEPENDENT_HEADERS=../stm8s.h ports_definition.h Makefile
all: $(NAME).ihx
@ -31,4 +32,7 @@ load: $(NAME).ihx
$(NAME).ihx: $(OBJ)
$(SDCC) $(LDFLAGS) $(OBJ) -o $(NAME).ihx
bin: $(NAME).ihx
objcopy -Iihex -Obinary $(NAME).ihx $(NAME).bin
.PHONY: all

View File

@ -10,48 +10,29 @@ again and returns back on next pulling up.
If drill motor was off, pressing footswitch will also turn it on.
/*
* the behaviour of steps counter depends on footswitch state; timer
* setup varies due to varistor value.
*/
If you pull down the footswitch when one of the tray buttons pressed, the
tray will move up or down.
2. Tray buttons
2.1. Left button (BTN1) used to setup the zero point of drill:
- drill quickly moves up
- stepper speed changes to lowest
- while pressing down the footswitch motor moves down
- on footswitch release motor stops at current position
2.1. Left button (BTN1)
- press it and rotate potentiometer to change drill speed
- press both buttons to stop the drill
- press footswitch when it pressed to move tray
/*
* Button control: by default, EXTI interrupts serve buttons.
* To avoid clash, EXTI interrupt handler sets the special flag
* value to 50 (in milliseconds) and turns off EXTI IRQ.
* In the main() body the endless cycle checks value of system
* timer variable changed by system timer once per millisecond.
* If the EXTI pause flag non-zero, it decrements it until zero.
* After that EXTI turns on again and keys state occured. This
* allows also to avoid some noice on MCU inputs.
*/
2.2. Right button (BTN2)
- press it and rotate potentiometer to change stepper speed
- press both buttons to stop the drill
- press footswitch when it pressed to move tray
2.2. Right button (BTN2) used to switch between regulation
of stepper speed or drill speed by variable resistor on tray's
control. The default state is stepper (vertical) speed regulation.
2.3. Simultaneous pressing of both buttons will stop drill motor
Drill works with algorithm of automatical moment correction:
if drill stalled, the PWM duty reduced until current through drill's
winding stabilize to max value. Conversely, when current through winding
falls to very low value, PWM duty increased until normal current
value. Varistor allows you to set these limiting values in drill speed
mode.
2.3. Simultaneous pressing of both buttons will:
- stop drill motor
- move tray up
- move drill down
The stepper's speed changes depending on current in drill motor. If it is too big,
the stepper paused until current will fall. The idle motor motion (upwards) done
on biggest speed.
So, you can easily change drilling bits. After that press again BTN1+BTN2
to return tray down & drill motor up. After this operation the uppest
drill's position will be zero.
To change the drill bit just press one of the tray buttons and push down the
footswitch. The tray will go up. To move it down press tray button and footswitch
again.

View File

@ -42,11 +42,13 @@ INTERRUPT_HANDLER(EXTI_PORTB_IRQHandler, 4){}
// External Interrupt PORTC
INTERRUPT_HANDLER(EXTI_PORTC_IRQHandler, 5){
BTNS_EXTI_DISABLE();
exti_event = 100; // set pause to 100us
exti_event = ANTICLASH_PAUSE; // set pause to 50us
}
// External Interrupt PORTD
INTERRUPT_HANDLER(EXTI_PORTD_IRQHandler, 6){
BTNS_EXTI_DISABLE();
exti_event = ANTICLASH_PAUSE; // set pause to 50us
}
// External Interrupt PORTE
@ -88,25 +90,25 @@ INTERRUPT_HANDLER(TIM5_UPD_OVF_BRK_TRG_IRQHandler, 13){}
INTERRUPT_HANDLER(TIM5_CAP_COM_IRQHandler, 14){}
#else // STM8S208, STM8S207, STM8S105 or STM8S103 or STM8AF62Ax or STM8AF52Ax or STM8AF626x
volatile char Nustep = 0; // microstep number
//volatile char Nustep = 0; // microstep number
volatile char Ustep = 0;
// Timer2 Update/Overflow/Break Interrupt
INTERRUPT_HANDLER(TIM2_UPD_OVF_BRK_IRQHandler, 13){ // generate pulses for stepper CLK
char tmp;
U8 tmp;
if(TIM2_SR1 & TIM_SR1_UIF){
TIM2_SR1 &= ~TIM_SR1_UIF; // take off flag
tmp = PORT(STP_PORT, ODR) & 0xf0;
PORT(STP_PORT, ODR) = tmp | usteps[Ustep];
if(Dir){
if(Ustep & 1) --Nsteps;
if(++Ustep > 7){
Ustep = 0;
--Nsteps;
}
}else{
if(!(Ustep & 1)) --Nsteps;
if(--Ustep < 0){
Ustep = 7;
--Nsteps;
}
}
if(Nsteps == 0){
@ -175,45 +177,7 @@ INTERRUPT_HANDLER(UART3_RX_IRQHandler, 21){}
INTERRUPT_HANDLER(ADC2_IRQHandler, 22){}
#else
// ADC1 interrupt
U16 old_potent_val = 0;
U8 Upper_TIM1_CCR1L = 100;
INTERRUPT_HANDLER(ADC1_IRQHandler, 22){
U16 v = ADC_DRL; // in right-alignment mode we should first read LSB
U8 chnl = ADC_CSR & 0x0f; // current channel converted
v |= ADC_DRH << 8;
if(chnl == 12){ // AIN12 - motor schunt
ADC_value = v;
if(drill_works && auto_speed){
if(v > MAX_DRILL_SPEED) DRILL_SLOWER(); // current = 0.48A
else if(v < 3){ // no motor or break?
DRILL_OFF();
uart_write("No drill motor?");
}else if(v < NORMAL_DRILL_SPEED) DRILL_FASTER(); // current = 0.29A
}
ADC_CSR = 0x24; // clear irq flags & next will be potentiometer
}else{ // AIN4 - potentiometer
U16 diff;
unsigned long tmp;
if(old_potent_val > v) diff = old_potent_val - v;
else diff = v - old_potent_val;
if(diff < POTENT_TRESHOLD) goto nochange; // no changing of value
old_potent_val = v; // store last value
if(drill_spd_regul){ // change drill speed: v = v*100/1024
tmp = v * 100L;
tmp >>= 10;
DRILL_SETMAX((U16)tmp); // set max speed
}else{ // change stepper speed: v = min + v*(max-min)/1024
tmp = v * (unsigned long)(MAX_STEPPER_SPEED - MIN_STEPPER_SPEED);
tmp >>= 10;
v = MIN_STEPPER_SPEED + (U16)tmp;
if((MAX_STEPPER_SPEED < v) && (MIN_STEPPER_SPEED < v)){
Stp_speed = v;
set_stepper_speed(v);
}
}
nochange:
ADC_CSR = 0x2c; // clear irq flags & next will be motor shunt
}
}
#endif // STM8S208 or STM8S207 or STM8AF52Ax or STM8AF62Ax

View File

@ -22,7 +22,7 @@
#ifndef __INTERRUPTS_H__
#define __INTERRUPTS_H__
#include "stm8l.h"
#include "stm8s.h"
// Top Level Interrupt
INTERRUPT_DEFINITION(TLI_IRQHandler, 0);

View File

@ -24,16 +24,12 @@
#include "interrupts.h"
#include "main.h"
#include "stepper.h"
#include "statemachine.h"
unsigned long Global_time = 0L; // global time in ms
volatile char exti_event = -1; // flag & counter of EXTI interrupt
U16 paused_val = 500; // interval between LED flashing
U8 drill_works = 0; // flag of working motor
U8 set_to_zero = 0; // flag showing that motor is in state of zero point setting up
U8 auto_speed = 0;
U8 drill_spd_regul = 0; // in default case we regulate stepper speed by variable resistor
U8 UART_rx[UART_BUF_LEN]; // cycle buffer for received data
U8 UART_rx_start_i = 0; // started index of received data (from which reading starts)
U8 UART_rx_cur_i = 0; // index of current first byte in rx array (to which data will be written)
@ -69,8 +65,7 @@ char usteps[8] =
#error Define MOTOR_TYPE_UNIPOLAR or MOTOR_TYPE_BIPOLAR
#endif
volatile U16 ADC_value = 0; // value of last ADC measurement (drill sense)
volatile U16 Stp_speed = 50; // stepper speed set by varistor
volatile U16 Vpot, Vcap, Vshunt;
/**
* Send one byte through UART
@ -163,71 +158,11 @@ void error_msg(char *msg){
UART_send_byte('\n');
}
U8 old_buttons_state = BTNS_EXTI_MASK; // default buttons state - none pressed
void check_buttons(){
U8 btn_state = BTNS_IDR & BTNS_EXTI_MASK, btns_changed;
if(btn_state == old_buttons_state) goto rtn; // none changed
btns_changed = btn_state ^ old_buttons_state; // XOR -> 1 on changed states
// check for footswitch
if(FOOTSW_TEST(btns_changed) && !TRAY_BTM_SW){ // move only when tray is down!
if(!FOOTSW_TEST(btn_state)){ // pedal switch pressed - connect to ground!
if(!drill_works){
DRILL_ON();
}
add_steps(-5000); // this is a trick to move more than stage allows
uart_write("move down\n");
}else{
if(set_to_zero){
set_to_zero = 0;
stop_motor();
}else{
add_steps(-5000); // return to previous state (this function moves RELATIVELY)
uart_write("move up\n");
}
}
}
// check for tray endswitches. We don't care for their off state, so only check ON
if(TRAYSW_TEST(btns_changed) && TRAYSW_PRSD(btn_state)){
uart_write("tray stop\n");
TRAY_STOP(); // stop tray motor in any moving direction
if(!TRAY_BTM_SW) set_stepper_speed(Stp_speed); // restore stepper speed in down position
}
// check for user buttons pressed (the same - only pressed)
if(BTN12_TEST(btns_changed) && !BTN12_TEST(btn_state)){ // pressed both buttons
uart_write("move tray ");
DRILL_OFF();
if(!TRAY_TOP_SW){ // tray is up -> move it down & stepper up
uart_write("down\n");
move_motor(-FULL_SCALE_STEPS);
while(Nsteps); // wait until it moves
TRAY_DOWN();
}else{ // move tray up & stepper down
uart_write("up\n");
set_stepper_speed(MAX_STEPPER_SPEED); // move as faster as possible
move_motor(FULL_SCALE_STEPS);
while(Nsteps); // wait until it moves
TRAY_UP();
}
}else if(BTN1_TEST(btns_changed) && !BTN1_TEST(btn_state)){ // btn1
uart_write("button 1\n");
set_stepper_speed(MAX_STEPPER_SPEED);
move_motor(-FULL_SCALE_STEPS);
while(Nsteps); // wait until it moves
set_stepper_speed(MIN_STEPPER_SPEED);
set_to_zero = 1;
}else if(BTN2_TEST(btns_changed) && !BTN2_TEST(btn_state)){ // btn2
uart_write("button 2\n");
drill_spd_regul = !drill_spd_regul;
}
old_buttons_state = btn_state;
rtn:
BTNS_EXTI_ENABLE();
}
int main() {
unsigned long T = 0L, TT = 0L;
int Ival;
U8 rb, v;
U8 rb, drlctr = 0;
U16 _u16;
CFG_GCR |= 1; // disable SWIM
// Configure clocking
CLK_CKDIVR = 0; // F_HSI = 16MHz, f_CPU = 16MHz
@ -248,7 +183,7 @@ int main() {
// PWM frequency is 10kHz: 1000/10 = 100
TIM1_ARRH = 0;
TIM1_ARRL = 100;
TIM1_CCR1H = 0; TIM1_CCR1L = 10; // default: 10%
TIM1_CCR1H = 0; TIM1_CCR1L = DRILL_LOWSPEED; // default: 10%
// channel 1 generates PWM pulses
TIM1_CCMR1 = 0x60; // OC1M = 110b - PWM mode 1 ( 1 -> 0)
//TIM1_CCMR1 = 0x70; // OC1M = 111b - PWM mode 2 ( 0 -> 1)
@ -257,31 +192,43 @@ int main() {
// interrupts: none for timer 1
TIM1_IER = 0;
// auto-reload + interrupt on overflow + enable
TIM1_CR1 = TIM_CR1_APRE | TIM_CR1_URS | TIM_CR1_CEN;
TIM1_CR1 = TIM_CR1_URS;
PC_DDR |= GPIO_PIN1; // setup timer's output
// Configure timer 2 to generate signals for CLK
TIM2_PSCR = 13; // ~2kHz (16MHz / 8192) (1000 steps per second if ARR=1)
TIM2_IER = TIM_IER_UIE; // update interrupt enable
TIM2_CR1 |= TIM_CR1_APRE | TIM_CR1_URS; // auto reload + interrupt on overflow
// configure ADC
// PB4 (AIN4) is potentiometer regulated motor speed
// PB5 (AIN5) - Vcap value
// PB4 (AIN4) - potentiometer regulated motor speed
// select PF4 - Sence (AIN12) & enable interrupt for EOC
ADC_CSR = 0x2c; // EOCIE = 1; CH[3:0] = 0x0c (12)
ADC_CSR = 0x0c; // EOCIE = 0 - no interrupt @ EOC; CH[3:0] = 0x0c (12)
ADC_TDRH = 0x10;// disable Schmitt triger for AIN12
ADC_TDRL = 0x10;// disable Schmitt triger for AIN4
ADC_TDRL = 0x30;// disable Schmitt triger for AIN4 & AIN5
// right alignment
ADC_CR2 = 0x08; // don't forget: first read ADC_DRL!
// f_{ADC} = f/18 & continuous non-buffered conversion & wake it up
ADC_CR1 = 0x73;
ADC_CR1 = 0x73; // turn on ADC (this needs second write operation)
ADC_CR1 = 0x71;
ADC_CR1 = 0x71; // turn on ADC (this needs second write operation)
// Configure pins
// EXTI
BTNS_SETUP();
BTNS_EXTI_ENABLE(); // enable interrupts
// other
PC_DDR |= GPIO_PIN1; // setup timer's output
DRILL_OFF(); // set PC1 to zero - power off motor
// PC2 - PP output (on-board LED)
DRILL_OFF(); // power off motor
// tray
PORT(TRAY_PORT, DDR) |= TRAY_PINS;
PORT(TRAY_PORT, CR1) |= TRAY_PINS;
// LEDS, LED2 (signal):
PORT(LED_PORT, DDR) |= LED_PIN;
PORT(LED_PORT, CR1) |= LED_PIN;
// LED0/1
PORT(LED01_PORT, DDR) |= LED0_PIN|LED1_PIN;
PORT(LED01_PORT, CR1) |= LED0_PIN|LED1_PIN;
// PD5 - UART2_TX
PORT(UART_PORT, DDR) |= UART_TX_PIN;
PORT(UART_PORT, CR1) |= UART_TX_PIN;
@ -295,7 +242,7 @@ int main() {
// enable all interrupts
enableInterrupts();
set_stepper_speed(Stp_speed);
set_stepper_speed(95); // 95% of max speed
setup_stepper_pins();
// Loop
@ -303,21 +250,40 @@ int main() {
if(Global_time != TT){ // once per 1ms
TT = Global_time;
// check EXTI counter
if(exti_event > 0){ // delay for 50us - decrement counter
exti_event--;
if(exti_event == ANTICLASH_PAUSE) check_buttons(); // button pressed just now
if(exti_event > 0){ // delay for 50us before turn on buttons EXTI
--exti_event;
}else if(exti_event == 0){
exti_event = -1;
check_buttons();
BTNS_EXTI_ENABLE();
}
// check drill speed & TIM1_CCR1L
switch(curstate){
case DRL_ACCEL: // acceleration after power ON
if(++drlctr > 9){
drlctr = 0;
// acceleration for ~1 second
if(drill_maxspeed > TIM1_CCR1L) TIM1_CCR1L = TIM1_CCR1L + 1;
else{
curstate = DRL_WORK;
}
}
break;
case DRL_WORK: // check if user change drill speed
if(drill_maxspeed != TIM1_CCR1L){
TIM1_CCR1L = drill_maxspeed;
}
break;
default:
}
}
if((Global_time - T > paused_val) || (T > Global_time)){
//U8 i;
if(Global_time - T > paused_val){
T = Global_time;
#ifdef EBUG
PORT(LED_PORT, ODR) ^= LED_PIN; // blink on-board LED
//ADC_value = 0;
//for(i = 0; i < 10; i++) ADC_value += ADC_values[i];
//ADC_value /= 10;
// printUint((U8*)&ADC_value, 2); // & print out ADC value
#endif
// check changing state for short press
if(exti_event == -1) check_buttons();
}
if(UART_read_byte(&rb)){ // buffer isn't empty
switch(rb){
@ -327,10 +293,14 @@ int main() {
"m\tget steps\nx\tstop\np\tpause/resume\nM\tmove motor\na\tadd Nstps\n"
"0\tturn drill OFF\n1\tturn drill ON\n"
">\trotate faster\n<\trotate slower\n"
"u\ttray up\nd\ttray down\n"
"c\tauto speed off\nz\tauto speed on\n"
"g\tget speed\n");
"u\ttray up\nd\ttray down\nw\ttray stop\n"
"g\tget speed\nAx\tADC chan x\n"
"T\tcurrent time\n");
break;
case 'T':
uart_write("T=");
printUint((U8*)&Global_time, 4);
break;
case '+':
paused_val += 100;
if(paused_val > 10000)
@ -342,13 +312,13 @@ int main() {
paused_val = 100;
break;
case 'S': // set stepper speed
if(readInt(&Ival) && Ival > MIN_STEP_LENGTH)
if(readInt(&Ival) && Ival > -1 && Ival < 101)
set_stepper_speed(Ival);
else
error_msg("bad speed");
break;
case 's': // get stepper speed
printUint((U8*)&Stepper_speed, 2);
printUint(&Stepper_speed, 1);
break;
case 'm': // how much steps there is to the end of moving
printUint((U8*)&Nsteps, 4);
@ -368,7 +338,7 @@ int main() {
stop_motor();
break;
case 'p': // pause/resume
pause_resume();
stp_pause_resume();
break;
case 'a': // add N steps
if(readInt(&Ival) && Ival){
@ -377,6 +347,32 @@ int main() {
error_msg("bad value");
}
break;
case 'A': // ADC: Vpot, Vcap, Vshunt
_u16 = 0xffff;
if(readInt(&Ival)){
switch(Ival){
case 0:
uart_write("Vpot");
_u16 = Vpot;
break;
case 1:
uart_write("Vcap");
_u16 = Vcap;
break;
case 2:
uart_write("Vshunt");
_u16 = Vshunt;
break;
default:
}
}
if(_u16 == 0xffff) error_msg("wrong channel");
else{
UART_send_byte('=');
printUint((U8*)&_u16, 2);
}
break;
case '0': // turn off drill
DRILL_OFF();
break;
@ -385,28 +381,30 @@ int main() {
break;
case '>': // faster
DRILL_FASTER();
printUint(&TIM1_CCR1L, 1);
break;
case '<': // slower
DRILL_SLOWER();
printUint(&TIM1_CCR1L, 1);
break;
case 'u':
DRILL_OFF();
TRAY_UP();
break;
case 'd':
DRILL_OFF();
TRAY_DOWN();
break;
case 'c':
auto_speed = 0;
break;
case 'z':
auto_speed = 1;
break;
case 'w':
TRAY_STOP();
break;
case 'g':
v = TIM1_CCR1L;
printUint(&v, 1);
_u16 = (TIM1_CCR1H << 8)| TIM1_CCR1L;
printUint((U8*)&_u16, 2);
break;
}
}
process_state();
}while(1);
}

View File

@ -22,7 +22,7 @@
#ifndef __MAIN_H__
#define __MAIN_H__
#include "stm8l.h"
#include "stm8s.h"
extern unsigned long Global_time; // global time in ms
@ -38,17 +38,18 @@ extern U8 UART_rx_start_i;
extern U8 UART_rx_cur_i;
//extern U16 ADC_values[];
extern volatile U16 ADC_value; // value of last ADC measurement
extern U8 drill_works;
extern U8 auto_speed; // == 1 to automatic speed regulation
extern U8 drill_spd_regul;
extern volatile U16 Stp_speed;
extern volatile U16 Vpot, Vcap, Vshunt; // value of last ADC measurements: Rpot, Vcap, Shunt
extern U8 drill_maxspeed;
void UART_send_byte(U8 byte);
void uart_write(char *str);
void printUint(U8 *val, U8 len);
void error_msg(char *msg);
#ifdef EBUG
#define DBG(x) uart_write(x)
#endif
#define check_UART_pointer(x) if(x == UART_BUF_LEN) x = 0;
#endif // __MAIN_H__

BIN
microdrill/microdrill.bin Normal file

Binary file not shown.

181
microdrill/microdrill.ihx Normal file
View File

@ -0,0 +1,181 @@
:2080D800AE5007F6AA0FF7AE5008F6AA0FF78152047B07A164224D7B07C7002DA6641007CD
:2080F8006B075F7B0797894BF24B01CD940C5B0490AE0064655C5C1F011E01A301F42307E0
:20811800AE01F41F01200C1E01A300022405AE00021F017B010F03AE530DF77B02954F9E09
:20813800AE530EF75B0481350300433500530D3502530E1E0389CD81545B0281C60043A1C5
:2081580003272135020043AE530DF64D2616AE530EF6A102260EC6002DA16427073B002D4B
:20817800CD80E7840D032A0B3501002C1E03501F032004725F002C16035F905D2A015A905A
:20819800CF002ACF00287210530081725F0043721153005FCF002ACF0028AE5005F6A4F0BB
:2081B800F7AE828089CD84095B0281725D0043273EAE828689CD84095B02AE5300F688C68D
:2081D8000043A10184271535010043A4FEAE5300F7AE828F89CD84095B0220133502004323
:2081F800AA01AE5300F7AE829689CD84095B0281AE5300F6A4FEF7CE002A260FCE00282664
:208218000A1E0389CD81545B02205C16035F905D2A015A909F72B9002A9FC9002902C9004D
:20823800289590CF002ACF0028CE00285D2A2AAE829E89CD84095B02C6002CA0014F49C742
:20825800002C90CE002A90504FC20029974FC200289590CF002ACF0028CE002A2605CE0062
:20827800282704721053008173746F700A0053746570706572200070617573650A0072656B
:0F82980073756D650A00726576657273650A000D
:0695730000000000005F93
:2082A70080808080803500500E35005013351E0033803500500E35005013351E0033808055
:2082C70080808088AE5302F6A5012603CC8370A4FEAE5302F7AE5005F6A4F09095AE0038D4
:2082E7009FCB002E02A90095F66B01909E1A01AE5005F7725D002C27337200002E02201BC8
:2083070090CE002A72A20001C60029A20097C60028A2009590CF002ACF0028725C002EC62A
:20832700002EA1072D36725F002E20307201002E02201B90CE002A72A20001C60029A200A2
:2083470097C60028A2009590CF002ACF0028725A002EC6002E4D2A043507002ECE002A26E9
:2083670008CE00282603CD81A3848080808080805204AE5240F66B047B04A520274AAE52AA
:2083870041F66B017B04A4804D27FDAE52417B01F7AE00011F02C6003797725C00374F951E
:2083A70072FB027B01F7C60036C10037260FC600364CC70036A1082604725F0036C600378F
:2083C700A1082604725F00375B048080AE5342F644241B90CE003172A90001C60030A90056
:1483E70097C6002FA9009590CF0031CF002F35005342808060
:0195790000F1
:208000008200808382000000820082A7820082A8820082A9820082AA820082AB820082AC48
:20802000820082B9820082C68200000082000000820082C7820082C8820082C9820082CA83
:20804000820083728200837382008374820000008200000082008375820083768200837743
:20806000820083D2820083D3820083FA8200000082000000820000008200000082000000C8
:1A808300AE00272707724F00005A26F9AE001E2709D69572D700275A26F758
:0380D500CC8080DC
:03808000CC863972
:2083FB00AE5240F64D2AF9AE52417B03F781160390F64D2718AE5240F64D2AF9AE5245F679
:20841B00AA08F790F6905CAE5241F720E3815202C60037C1003626034F20241605AE00019C
:20843B001F01C6003697725C00364F9572FB01F690F7C60036A1082604725F0036A6015BC3
:20845B00028152255F1F101F0E7B2AA1042303CC85427B2AA1032603CC85420D2A2603CC18
:20847B008542965C5C1F204F5F9772FB207F4CA10C25F51E20A60AE70A7B2AA101270E7B53
:20849B002AA10227197B2AA104272E20451E28F66B1F4F5F6B101F0E7B1F6B1120341628EC
:2084BB00171A1E1AFE1F12161217240F230F22162417101622170E2019162817181E18E6C3
:2084DB00036B17E6026B16FE1F14161617101614170EA6096B014B0A5F894B001E14891E44
:2084FB001489CD942D5B08517B010A015F9772FB20909FAB30F74B0A5F894B001E14891E16
:20851B001489CD949D5B081F10170E1E1026041E0E27067B01A1FF2CBD7B014C5F9772FB0D
:20853B002089CD84095B025B25815217CE00311F05CE002F1F035F1F0A1F080F020F010F35
:20855B0007961C000E89CD84295B026B0F0D0F27717B0EA12D260E1E0A260A1E082606A6D0
:20857B00016B02205D7B0EA13025797B0EA1392273A6016B011E0A891E0A894B0A5F894B08
:20859B0000CD94F75B081F1617147B0E0F125F90977B12909572F9169F191502191495723F
:2085BB00A200309FA20002A20095170A1F08AE7FFF130A4F12094F120824075F1F0A1F0816
:2085DB000F0790CE003172F205C60030120495C6002F12039790A327109EA2009FA2002421
:2085FB0003CC855C0D0726040D0126034F2014160A170C0D0227051E0C501F0C1E1A160C3B
:20861B00FFA6015B1781AE8B1589CD84095B021E0389CD84095B024B0ACD83FB8481521CA4
:20863B005F1F091F075F1F051F030F0C72107F60350050C635075345357D5346350153411D
:20865B00358553403500526035035261350052623564526335005265350A52663560525887
:20867B003501525C3500525435045250AE500CF6AA02F7350D530C35015301AE5300F6AAD6
:20869B0084F7350C5400351054063530540735085402357154013571540135F050A0AE50B4
:2086BB000DF6AA3CF7AE5012F6AA91F7353C500E35915013721F526D72115250725F004009
:2086DB00AE5011F6AA0CF7AE5012F6AA0CF7AE5016F6AA20F7AE5017F6AA20F7AE5002F68D
:2086FB00AA06F7AE5003F6AA06F7AE5011F6AA20F7AE5012F6AA20F73511524235065243E3
:20871B00352C52459A4B5FCD80E784CD80D81E05C3003126071E03C3002F2778CE00311F11
:20873B0005CE002F1F03C60033A11E2603CD8C59C60033A1002D09C600334AC70033201228
:20875B00725D0033260C35FF0033353C500E35915013C60040A1012709C60040A10227269D
:20877B0020320C0C7B0CA109232A0F0CAE5266F6C10041240BAE5266F64CAE5266F7201415
:20879B0035020040200EAE5266F6C1004127055500415266CE003172F0091F11C60030129F
:2087BB00086B10C6002F1207CE0034905F881312909F1211909E12015B01241BCE00311F23
:2087DB0009CE002F1F07AE5014F6A820F7C60033A1FF2603CD8C59961C000B89CD84295BFC
:2087FB00026B130D132603CC8B0C7B0BA12B2603CC88B7A12D2603CC88D1A1302603CC8A40
:20881B0027A1312603CC8A39A13C2603CC8A6BA13E2603CC8A4FA1412603CC89AAA14827FE
:20883B0058A14D2603CC8938A1532603CC88EBA1542752A1612603CC8982A1642603CC8AD1
:20885B00ABA1672603CC8AD8A168272DA16D2603CC892AA1702603CC897CA1732603CC8943
:20887B001CA1752603CC8A87A1772603CC8ACFA1782603CC8976CC8B0CAE8B1E89CD840995
:20889B005B02CC8B0CAE8C1089CD84095B02AE002F4B0489CD845D5B03CC8B0CCE00341C31
:2088BB000064CF0034A327102203CC8B0CAE01F4CF0034CC8B0CCE00341D0064CF0034A3A2
:2088DB0000642503CC8B0CAE0064CF0034CC8B0C961C000D89CD85455B024D27181E0DA380
:2088FB00FFFF2D111E0DA300652E0A7B0E88CD80E784CC8B0CAE8C1389CD86215B02CC8B8C
:20891B000CAE002D4B0189CD845D5B03CC8B0CAE00284B0489CD845D5B03CC8B0CCE002AFC
:20893B002605CE0028270CAE8C1D89CD86215B02CC8B0C961C000D89CD85455B024D270FF5
:20895B001E0D270B1E0D89CD81545B02CC8B0CAE8C2589CD86215B02CC8B0CCD81A3CC8B25
:20897B000CCD81C3CC8B0C961C000D89CD85455B024D270F1E0D270B1E0D89CD82085B02D8
:20899B00CC8B0CAE8C3089CD86215B02CC8B0CAEFFFF1F01961C000D89CD85455B024D27B6
:2089BB00451E0DA3000027101E0DA3000127191E0DA300022722202EAE8C3A89CD84095B2A
:2089DB0002CE00091F01201EAE8C3F89CD84095B02CE000B1F01200EAE8C4489CD84095BA9
:2089FB0002CE000D1F011E01A3FFFF260CAE8C4B89CD86215B02CC8B0C4B3DCD83FB84963E
:208A1B005C4B0289CD845D5B03CC8B0C721F526DAE5250F6A4FEF7725F0040CC8B0C350AB8
:208A3B00526672105250AE526DF6AA80F735010040CC8B0CC60041A1642407C600414CC791
:208A5B0000414B014B664B52CD845D5B03CC8B0CC60041A10A2307C600414AC700414B0130
:208A7B004B664B52CD845D5B03CC8B0C721F526D72115250725F0040AE500BF6A508277154
:208A9B00AE500FF6A4F3F7AE500FF6AA08F72061721F526D72115250725F0040AE500BF678
:208ABB00A504274DAE500FF6A4F3F7AE500FF6AA04F7203DAE500FF6A4F3F72034AE52659E
:208ADB00F66B150F147B156B160F17AE5266F66B187B186B1A0F197B171A1A6B1C7B161A94
:208AFB00196B1B161B1701965C4B0289CD845D5B03CD91A5CC87295B1C810A4552524F5294
:208B1B003A20000A50524F544F3A0A2B2F2D094C454420706572696F640A532F7309736516
:208B3B00742F676574204D73706565640A6D096765742073746570730A780973746F700A4F
:208B5B00700970617573652F726573756D650A4D096D6F7665206D6F746F720A6109616402
:208B7B0064204E737470730A30097475726E206472696C6C204F46460A31097475726E20D3
:208B9B006472696C6C204F4E0A3E09726F74617465206661737465720A3C09726F746174E8
:208BBB006520736C6F7765720A7509747261792075700A64097472617920646F776E0A779C
:208BDB0009747261792073746F700A67096765742073706565640A41780941444320636861
:208BFB00616E20780A540963757272656E742074696D650A00543D0062616420737065652B
:208C1B0064006D6F76696E672100626164204E7374657073006261642076616C75650056A6
:1E8C3B00706F74005663617000567368756E740077726F6E67206368616E6E656C0090
:11957A0000000000FF01F40000080A020604050109BF
:20809D0035FF000F5FCF00105FCF00125FCF00145FCF0016725F00185FCF00195FCF001B03
:1880BD005FCF001D5FCF001F725F00215FCF00225FCF00245FCF00262B
:208C590052064F970F030F0190AE501090F695442404A6016B039EA51027067B03AA026B4C
:208C7900035D2A067B03AA046B0390AE500B90F695A50827067B03AA086B039EA504270611
:208C99007B03AA106B039EA51027067B03AA206B039EA52027067B03AA406B037B03C1003A
:208CB9000F2603CC8E9F7B03C8000F6B027B02957B03A4206B047B03A4406B067B03A410E0
:208CD9006B059E442503CC8D70AE935F89CD84095B027B03442414725D004027094B1E4B6B
:208CF90000CD813F5B02A60297206C0D0427040D06263FCD81A3721F526D72115250725FBB
:208D19000040AE500BF60D052614A5082746AE500FF6A4F3F7AE500FF6AA08F72036A50459
:208D39002732AE500FF6A4F3F7AE500FF6AA04F72022725D00402613350A526672105250E3
:208D5900AE526DF6AA80F7350100404B4C4BFFCD81545B02A601977B02A5022717AE936AD5
:208D790089CD84095B027B03A5022705A602972003A601977B02A5042717AE937189CD84B9
:208D9900095B027B03A5042705A602972003A601977B02A508271EAE937889CD84095B02F9
:208DB9007B03A5082705A60297200AAE500FF6A4F3F7A601977B02A510271CAE938189CD7E
:208DD90084095B020D052705A60297200AAE500FF6A4F3F7A601977B02A5202734AE938DAF
:208DF90089CD84095B020D042709725F0042A60297201E0D062613725F0042AE939E89CDB5
:208E190084095B02A6016B01200435010042A601977B02A5402734AE93AA89CD84095B027A
:208E39000D062709725F0042A60297201E0D042613725F0042AE93BC89CD84095B02A60105
:208E59006B01200435020042A601979FA10127079FA102270D2014AE93C789CD84095B0251
:208E79002009AE93D189CD84095B020D012712CD81A3721F526DAE5250F6A4FEF7725F0026
:208E9900407B03C7000F5B06811E03130523071E0372F00520051E0572F00381520A0F01BE
:208EB9003B000A3B00093B00113B0010CD8EA25B04A3000A2E03CC8F7290CE00095F908993
:208ED900894B655F894B00CD94F75B081F04170216037B02974F9554905654905617041F57
:208EF900027B056B0AC60042A1012709C60042A102272D204FC600416B090F080F070F065D
:208F19001E04130826061E02130627387B0AC70041AE93DC89CD84095B02A6016B012024F6
:208F39005FC6002D97905F1304260593130227147B0A88CD80E784AE93E489CD84095B02F1
:208F5900A6016B010D01270B965C5C4B0489CD845D5B03CE0009CF00105B0A813B000C3B55
:208F7900000B3B00133B0012CD8EA25B04A3000A2F06CE000BCF0012813B000E3B000D3BED
:208F990000153B0014CD8EA25B04A3000A2F42CE000DA300322319AE93EE89CD84095B027F
:208FB900AE000D4B0289CD845D5B03CD81C3201BCE000DA3001E2413C60043A101260CAE51
:208FD90093FC89CD84095B02CD81C3CE000DCF001481520EAE5400F66B090D092B03CC91EC
:208FF900A2AE5405F65F971F077B09A40F6B06AE5404F6954F4F1A08021A07959F72BB0020
:2090190016CF0016C600184CC70018A10A2703CC9198CE001690AE000A65CF00167B06A1D1
:2090390004270C7B06A1052603CC910CCC9131CF00090F053B000A3B00093B001A3B00197B
:20905900CD8EA25B04A3000A2E03CC910590CE00095F9089894B655F894B00CD94F75B0855
:209079001F03170116027B01974F9554905654905617031F017B046B0AC60042A101270912
:20909900C60042A102272D204FC600416B0E0F0D0F0C0F0B1E03130D26061E01130B27386F
:2090B9007B0AC70041AE93DC89CD84095B02A6016B0520245FC6002D97905F1303260593A6
:2090D900130127147B0A88CD80E784AE93E489CD84095B02A6016B050D05270A965C4B0463
:2090F90089CD845D5B03CE0009CF0019A6056B06CC9190CF000B3B000C3B000B3B001C3B01
:20911900001BCD8EA25B04A3000A2F06CE000BCF001BA60C6B06205FCF000D3B000E3B0018
:209139000D3B001E3B001DCD8EA25B04A3000A2F42CE000DA300322319AE93EE89CD8409E0
:209159005B02AE000D4B0289CD845D5B03CD81C3201BCE000DA3001E2413C60043A101260C
:209179000CAE93FC89CD84095B02CD81C3CE000DCF001DA6046B065FCF0016725F0018AE7F
:2091990054007B06F7357154015B0E81520DAE5400F64D2B03CC935CAE540588F6978402D6
:2091B9004F011F0CA40F6B06AE5404F6954F4F1A0D021A0C959F72BB001FCF001FC6002124
:2091D9004CC70021A10A2703CC9352CE001F90AE000A65CF001F7B06A104270C7B06A105B4
:2091F9002603CC92C6CC92EBCF00090F013B000A3B00093B00233B0022CD8EA25B04A30095
:209219000A2E03CC92BF90CE00095F9089894B655F894B00CD94F75B081F04170216037B07
:2092390002974F9554905654905617041F027B056B07C60042A1012709C60042A102272D1D
:20925900204FC600416B0B0F0A0F090F081E04130A26061E02130827387B07C70041AE93F1
:20927900DC89CD84095B02A6016B0120245FC6002D97905F1304260593130227147B07885B
:20929900CD80E784AE93E489CD84095B02A6016B010D01270B965C5C4B0489CD845D5B0313
:2092B900CE0009CF0022A6056B06CC934ACF000B3B000C3B000B3B00253B0024CD8EA25B8A
:2092D90004A3000A2F06CE000BCF0024A60C6B06205FCF000D3B000E3B000D3B00273B0017
:2092F90026CD8EA25B04A3000A2F42CE000DA300322319AE93EE89CD84095B02AE000D4B54
:209319000289CD845D5B03CD81C3201BCE000DA3001E2413C60043A101260CAE93FC89CD0E
:2093390084095B02CD81C3CE000DCF0026A6046B065FCF001F725F0021AE54007B06F73540
:209359007154015B0D81466F6F7473776974636800496E7075743000496E70757431005446
:2093790072617920746F70005472617920626F74746F6D005472617920627574746F6E2044
:209399006C656674002077697468207269676874005472617920627574746F6E2072696731
:2093B9006874002077697468206C6566740020707265737365640A002072656C65617365F0
:2093D900640A004472696C6C3A2000537465707065723A20006269672063757272656E7423
:1393F9003A2000726573756D6520737465707065720A0049
:06958B0000640000000076
:20940C00897B06977B08421F017B06977B07429F1B016B017B05977B08429F1B016B01852F
:20942C008152030F030F017B0A484F494D262E160C1E0A905859170C1F0A1E08130C7B0784
:20944C00120B7B06120A240D160C1E0A549056170C1F0A20080C017B016B0320CA7B036B53
:20946C00021E0872F00C7B07120B90977B06120A25061F0890951706160C1E0A54905617B8
:20948C000C1F0A7B020A024D26D71E0816065B038152065F1F051F03A6206B027B09484F4C
:2094AC00496B01160B1E09905859170B1F0916051E0390585917051F030D0127067B06AAF7
:2094CC00016B061E0572F00F7B04120E90977B03120D250C1F05909517037B0CAA016B0CDA
:2094EC000A0226B81E0B16095B06815F89897B0A977B0E421F037B09977B0E4272FB021F5E
:20950C00024FA9006B017B0A977B0D4272FB021F024F19016B017B0A977B0C4272FB011F1C
:20952C00017B09977B0D4272FB011F017B08977B0E4272FB011F017B07977B0E429F1B0199
:20954C006B017B0A977B0B429F1B016B017B09977B0C429F1B016B017B08977B0D429F1BDF
:07956C00016B019085858170
:00000001FF

View File

@ -23,7 +23,9 @@
#ifndef __PORTS_DEFINITION_H__
#define __PORTS_DEFINITION_H__
#include "stm8l.h"
#include "stm8s.h"
#include "main.h"
#include "statemachine.h"
/*
* Stepper Motor type:
@ -31,65 +33,83 @@
* MOTOR_TYPE_BIPOLAR for 4-wires bipolar motor with L9110-like H-bridges
*/
#define MOTOR_TYPE_BIPOLAR
// anti-clash pause (30ms)
#define ANTICLASH_PAUSE (30)
// macro for using in port constructions like PORT(LED_PORT, ODR) = xx
#define CONCAT(a, b) a ## _ ## b
#define PORT(a, b) CONCAT(a , b)
// Potentiometer threshold (in ADU) - 0.5% error
#define POTENT_TRESHOLD (5)
// ADC threshold (in ADU) - 1% error
#define ADC_THRESHOLD (10)
// on-board LED
#define LED_PORT PC
#define LED_PIN GPIO_PIN2
// signal LED (LED2) - PE5
#define LED_PORT PE
#define LED_PIN GPIO_PIN5
// LED0/LED1 (light & so on): PA1/PA2
#define LED01_PORT PA
#define LED0_PIN GPIO_PIN1
#define LED1_PIN GPIO_PIN2
// Tray pins: PD2/PD3
#define TRAY_PORT PD
#define TRAY_PINS (GPIO_PIN2|GPIO_PIN3)
// UART2_TX
#define UART_PORT PD
#define UART_TX_PIN GPIO_PIN5
#define newline() do{while(!(UART2_SR & UART_SR_TXE)); UART2_DR = '\n';}while(0)
/***** Stepper motor *****/
// Clocking
#define STP_PORT PB // PB0..3 -- pins A..D of stepper
// amount of steps on all trace
#define FULL_SCALE_STEPS (3000)
#define MAX_STEPPER_SPEED (500)
#define MIN_STEPPER_SPEED (20)
#define FULL_SCALE_STEPS (180)
// amount of steps to move up (for PCB moving)
#define MOVEUP_STEPS (30)
// min/max periods in ticks @ 1kHz (1Hz & 250Hz)
#define MAX_STEPPER_PERIOD (500)
#define MIN_STEPPER_PERIOD (2)
/* drill motor PC1 - timer 1 PWM output 1; PC5 - footswitch */
// speed (in ADU values of voltage on schunt)
#define MAX_DRILL_SPEED (50)
#define NORMAL_DRILL_SPEED (30)
extern U8 Upper_TIM1_CCR1L; // max speed set by user
#define DRILL_ON() do{TIM1_BKR |= 0x80; drill_works = 1;}while(0) // turn on drill motor
#define DRILL_OFF() do{TIM1_BKR &= ~0x80; PC_ODR &= ~GPIO_PIN1; drill_works = 0;}while(0) // turn it off
#define DRILL_SETMAX(X) do{Upper_TIM1_CCR1L = X; TIM1_CCR1L = X;}while(0)
#define DRILL_FASTER() do{U8 r = TIM1_CCR1L; if(r < Upper_TIM1_CCR1L) TIM1_CCR1L = r+1;}while(0)// increase current
#define DRILL_SLOWER() do{U8 r = TIM1_CCR1L; if(r > 0) TIM1_CCR1L = r-1;}while(0) // decrease it
#define FOOTSWITCH ((PC_IDR & GPIO_PIN5))
#define FOOTSW_TEST(x) ((x & GPIO_PIN5))
#define MAX_DRILL_CURRENT (50)
#define NORMAL_DRILL_CURRENT (30)
// lowest (starting) speed in percents
#define DRILL_LOWSPEED (10)
#define DRILL_ON() do{TIM1_CCR1L = DRILL_LOWSPEED; TIM1_CR1 |= TIM_CR1_CEN; TIM1_BKR |= 0x80; curstate = DRL_ACCEL;}while(0) // turn on drill motor
#define DRILL_OFF() do{TIM1_BKR &= ~0x80; TIM1_CR1 &= ~TIM_CR1_CEN; curstate = DRL_RELAX;}while(0) // turn it off
#define DRILL_FASTER() do{if(drill_maxspeed < 100) ++drill_maxspeed;}while(0)
#define DRILL_SLOWER() do{if(drill_maxspeed > DRILL_LOWSPEED) --drill_maxspeed;}while(0)
// external buttons & switches: PEDAL (PD0), IN0/IN1 (PD4, PD7)
#define FOOTSWITCH ((PD_IDR & GPIO_PIN0))
#define INPUT0 ((PD_IDR & GPIO_PIN4))
#define INPUT1 ((PD_IDR & GPIO_PIN7))
/* tray motor: PD2, PD3 - rotation direction; PC3, PC4 - end-switches (bottom/top) */
#define TRAY_TOP_SW ((PC_IDR & GPIO_PIN4))
#define TRAY_BTM_SW ((PC_IDR & GPIO_PIN3))
#define TRAYSW_TEST(x) ((x & (GPIO_PIN3 | GPIO_PIN4)))
#define TRAYSW_PRSD(x) (((x & (GPIO_PIN3 | GPIO_PIN4)) != (GPIO_PIN3 | GPIO_PIN4)))
/* tray motor: PD2, PD3 - rotation direction; PC2/3 - end-switches (bottom/top) */
#define TRAY_TOP_SW ((PC_IDR & GPIO_PIN3))
#define TRAY_BTM_SW ((PC_IDR & GPIO_PIN2))
#define TRAYSW_TEST(x) ((x & (GPIO_PIN2 | GPIO_PIN3)))
#define TRAYSW_PRSD(x) (((x & (GPIO_PIN2 | GPIO_PIN3)) != (GPIO_PIN2 | GPIO_PIN3)))
#define TRAY_STOP() do{PD_ODR &= ~0x0C;}while(0)
#define TRAY_UP() do{if(!TRAY_TOP_SW){PD_ODR &= ~0x0C; PC_ODR |= 0x04;}}while(0)
#define TRAY_DOWN() do{if(!(TRAY_BTM_SW)){PD_ODR &= ~0x0C; PC_ODR |= 0x08;}}while(0)
#define TRAY_UP() do{if(TRAY_TOP_SW){PD_ODR &= ~0x0C; PD_ODR |= 0x08;}}while(0)
#define TRAY_DOWN() do{if(TRAY_BTM_SW){PD_ODR &= ~0x0C; PD_ODR |= 0x04;}}while(0)
/* Buttons: PC6 - BTN1 & PC7 - BTN2 */
#define BTN1 ((PC_IDR & GPIO_PIN6))
#define BTN2 ((PC_IDR & GPIO_PIN7))
#define BTN1_TEST(x) ((x & GPIO_PIN6))
#define BTN2_TEST(x) ((x & GPIO_PIN7))
#define BTN12_TEST(x) (((x & (GPIO_PIN7 | GPIO_PIN6)) == (GPIO_PIN7 | GPIO_PIN6)))
/* Buttons: PC4 - BTN1 & PC5 - BTN2 */
#define TRAY_BTN1 ((PC_IDR & GPIO_PIN4))
#define TRAY_BTN2 ((PC_IDR & GPIO_PIN5))
#define TRAY_BTN12_TEST(x) (((x & (GPIO_PIN4 | GPIO_PIN5)) == (GPIO_PIN4 | GPIO_PIN5)))
// EXTI for all buttons: PC3..7
#define BTNS_IDR PC_IDR
#define BTNS_EXTI_MASK (0xf8)
#define BTNS_EXTI_DISABLE() do{PC_CR2 = 0;}while(0)
#define BTNS_EXTI_ENABLE() do{PC_CR2 = BTNS_EXTI_MASK;}while(0)
#define BTNS_SETUP() do{EXTI_CR1 = 0x30; PC_CR1 |= BTNS_EXTI_MASK;}while(0)
// EXTI for all tray buttons: PC2..5
#define BTNS0_IDR PC_IDR
#define BTNS1_IDR PD_IDR
// PC2-PC5
#define PC_EXTI_MASK (0x3c)
// PD0,PD4,PD7
#define PD_EXTI_MASK (0x91)
#define BTNS_EXTI_DISABLE() do{PC_CR2 = 0; PD_CR2 = 0;}while(0)
#define BTNS_EXTI_ENABLE() do{PC_CR2 = PC_EXTI_MASK; PD_CR2 = PD_EXTI_MASK;}while(0)
// setup PC/PD EXTI mask & pullup resistors for PC2..5 & PD0,PD4,PD7
#define BTNS_SETUP() do{EXTI_CR1 = 0xf0; PC_CR1 |= PC_EXTI_MASK; PD_CR1 |= PD_EXTI_MASK;}while(0)
#endif // __PORTS_DEFINITION_H__
@ -98,18 +118,25 @@ extern U8 Upper_TIM1_CCR1L; // max speed set by user
* DRILL
* PC1 - PWM (TIM1_CH1)
* PF4 - Sence (AIN12)
* PC5 - Pedal switch
* PD0 - Pedal switch
* Stepper motor
* PB0, PB1, PB2, PB3 - phases of motor
* Slider (tray) motor
* PD2, PD3 - rotation direction
* PC3 - down end-switch
* PC4 - up end-switch
* PC2 - down end-switch
* PC3 - up end-switch
* On-tray buttons & resistor
* PB4 - variable resistor (AIN4)
* PC6 - BTN1
* PC7 - BTN2
* PC4 - BTN1
* PC5 - BTN2
* UART
* PD5 - TX
* PD6 - RX
* LEDS
* PE5 - LED2 (system blink)
* PA1 - LED0 \ external 3..9v LEDs through MOSFET
* PA2 - LED1 /
* Extra inputs
* PD4 - IN0
* PD7 - IN1
*/

View File

@ -0,0 +1,359 @@
EESchema-LIBRARY Version 2.4
#encoding utf-8
#
# +12V
#
DEF +12V #PWR 0 0 N Y 1 F P
F0 "#PWR" 0 -50 20 H I C CNN
F1 "+12V" 0 100 30 H V C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
DRAW
C 0 60 20 0 1 0 N
P 3 0 1 0 0 0 0 40 0 40 N
X +12V 1 0 0 0 U 20 30 0 0 W N
ENDDRAW
ENDDEF
#
# +3.3V
#
DEF +3.3V #PWR 0 0 Y Y 1 F P
F0 "#PWR" 0 -40 30 H I C CNN
F1 "+3.3V" 0 110 30 H V C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
DRAW
C 0 60 20 0 1 0 N
P 3 0 1 0 0 0 0 40 0 40 N
X +3.3V 1 0 0 0 U 30 30 0 0 W N
ENDDRAW
ENDDEF
#
# +5V
#
DEF +5V #PWR 0 40 Y Y 1 F P
F0 "#PWR" 0 90 20 H I C CNN
F1 "+5V" 0 90 30 H V C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
DRAW
C 0 50 20 0 1 0 N
P 4 0 1 0 0 0 0 30 0 30 0 30 N
X +5V 1 0 0 0 U 20 20 0 0 W N
ENDDRAW
ENDDEF
#
# C
#
DEF C C 0 10 N Y 1 F N
F0 "C" 0 100 40 H V L CNN
F1 "C" 6 -85 40 H V L CNN
F2 "" 38 -150 30 H V C CNN
F3 "" 0 0 60 H V C CNN
$FPLIST
SM*
C?
C1-1
$ENDFPLIST
DRAW
P 2 0 1 20 -80 -30 80 -30 N
P 2 0 1 20 -80 30 80 30 N
X ~ 1 0 200 170 D 40 40 1 1 P
X ~ 2 0 -200 170 U 40 40 1 1 P
ENDDRAW
ENDDEF
#
# CONN_1
#
DEF ~CONN_1 P 0 30 N N 1 F N
F0 "P" 80 0 40 H V L CNN
F1 "CONN_1" 0 55 30 H I C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
DRAW
C 0 0 31 0 1 0 N
P 2 0 1 0 -30 0 -50 0 N
X 1 1 -150 0 100 R 60 60 1 1 P
ENDDRAW
ENDDEF
#
# CONN_2
#
DEF CONN_2 P 0 40 Y N 1 F N
F0 "P" -50 0 40 V V C CNN
F1 "CONN_2" 50 0 40 V V C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
DRAW
S -100 150 100 -150 0 1 0 N
X P1 1 -350 100 250 R 60 60 1 1 P I
X PM 2 -350 -100 250 R 60 60 1 1 P I
ENDDRAW
ENDDEF
#
# CONN_3
#
DEF CONN_3 K 0 40 Y N 1 F N
F0 "K" -50 0 50 V V C CNN
F1 "CONN_3" 50 0 40 V V C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
DRAW
S -100 150 100 -150 0 1 0 N
X P1 1 -350 100 250 R 60 60 1 1 P I
X PM 2 -350 0 250 R 60 60 1 1 P I
X P3 3 -350 -100 250 R 60 60 1 1 P I
ENDDRAW
ENDDEF
#
# CONN_4
#
DEF CONN_4 P 0 40 Y N 1 F N
F0 "P" -50 0 50 V V C CNN
F1 "CONN_4" 50 0 50 V V C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
DRAW
S -100 200 100 -200 0 1 0 N
X P1 1 -350 150 250 R 50 50 1 1 P I
X P2 2 -350 50 250 R 50 50 1 1 P I
X P3 3 -350 -50 250 R 50 50 1 1 P I
X P4 4 -350 -150 250 R 50 50 1 1 P I
ENDDRAW
ENDDEF
#
# CP1
#
DEF CP1 C 0 10 N N 1 F N
F0 "C" 50 100 50 H V L CNN
F1 "CP1" 50 -100 50 H V L CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
$FPLIST
CP*
SM*
$ENDFPLIST
DRAW
A 0 -200 180 563 1236 0 1 15 N 100 -50 -100 -50
T 0 -50 100 80 0 0 0 + Normal 0 C C
P 4 0 1 15 -100 50 100 50 50 50 50 50 N
X ~ 1 0 200 150 D 40 40 1 1 P
X ~ 2 0 -200 180 U 40 40 1 1 P
ENDDRAW
ENDDEF
#
# DIODESCH
#
DEF DIODESCH D 0 40 N N 1 F N
F0 "D" 0 100 40 H V C CNN
F1 "DIODESCH" 0 -100 40 H V C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
$FPLIST
D?
S*
$ENDFPLIST
DRAW
P 3 0 1 0 -50 50 50 0 -50 -50 F
P 6 0 1 8 75 25 75 50 50 50 50 -50 25 -50 25 -25 N
X A 1 -200 0 150 R 40 40 1 1 P
X K 2 200 0 150 L 40 40 1 1 P
ENDDRAW
ENDDEF
#
# GND
#
DEF ~GND #PWR 0 0 Y Y 1 F P
F0 "#PWR" 0 0 30 H I C CNN
F1 "GND" 0 -70 30 H I C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
DRAW
P 4 0 1 0 -50 0 0 -50 50 0 -50 0 N
X GND 1 0 0 0 U 30 30 1 1 W N
ENDDRAW
ENDDEF
#
# L9110
#
DEF L9110 DA 0 40 Y Y 1 F N
F0 "DA" 0 -300 50 H V C CNN
F1 "L9110" 0 300 50 H V C CNN
F2 "" 0 0 50 H I C CNN
F3 "" 0 0 50 H I C CNN
$FPLIST
DIP8*
DIP-8*
SOP8*
SOP-8*
$ENDFPLIST
DRAW
S -300 250 300 -250 0 1 0 N
X OA 1 -600 150 300 R 50 50 1 1 O
X VCC 2 -600 50 300 R 50 50 1 1 W
X VCC 3 -600 -50 300 R 50 50 1 1 W
X OB 4 -600 -150 300 R 50 50 1 1 O
X GND 5 600 -150 300 L 50 50 1 1 W
X IA 6 600 -50 300 L 50 50 1 1 I
X IB 7 600 50 300 L 50 50 1 1 I
X GND 8 600 150 300 L 50 50 1 1 W
ENDDRAW
ENDDEF
#
# LM1117MPX-3.3
#
DEF LM1117MPX-3.3 U 0 40 Y Y 1 F N
F0 "U" -200 200 40 H V C CNN
F1 "LM1117MPX-3.3" 0 200 40 H V L CNN
F2 "SOT223" 0 100 30 H I C CIN
F3 "" 0 0 60 H V C CNN
$FPLIST
SOT223*
$ENDFPLIST
DRAW
S -250 150 250 -150 0 1 10 f
X GND 1 0 -250 100 U 40 40 1 1 W
X OUT 2 400 50 150 L 40 40 1 1 w
X IN 3 -400 50 150 R 40 40 1 1 W
ENDDRAW
ENDDEF
#
# PWR_FLAG
#
DEF PWR_FLAG #FLG 0 0 N N 1 F P
F0 "#FLG" 0 95 30 H I C CNN
F1 "PWR_FLAG" 0 180 30 H V C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
DRAW
P 6 0 1 0 0 0 0 50 -75 100 0 150 75 100 0 50 N
X pwr 1 0 0 0 U 20 20 0 0 w
ENDDRAW
ENDDEF
#
# R
#
DEF R R 0 0 N Y 1 F N
F0 "R" 80 0 40 V V C CNN
F1 "R" 7 1 40 V V C CNN
F2 "" -70 0 30 V V C CNN
F3 "" 0 0 30 H V C CNN
$FPLIST
R?
SM0603
SM0805
R?-*
SM1206
$ENDFPLIST
DRAW
S -40 150 40 -150 0 1 12 N
X ~ 1 0 250 100 D 60 60 1 1 P
X ~ 2 0 -250 100 U 60 60 1 1 P
ENDDRAW
ENDDEF
#
# S8205A
#
DEF S8205A VT 0 0 N Y 1 F N
F0 "VT" 75 -375 60 H V R CNN
F1 "S8205A" 150 350 60 H V R CNN
F2 "TSSOP-8" -50 -300 60 H I C CNN
F3 "" 150 0 60 H V C CNN
$FPLIST
TSSOP8*
TSSOP-8*
$ENDFPLIST
DRAW
C -200 0 180 0 1 12 N
C 200 0 180 0 1 12 N
S -450 300 450 -300 0 1 12 N
P 2 0 1 0 -315 65 -265 65 N
P 2 0 1 0 -290 -100 -250 -100 N
P 2 0 1 0 -290 100 -290 -100 N
P 2 0 1 6 -290 100 -290 200 N
P 2 0 1 0 -290 100 -250 100 N
P 2 0 1 0 -250 -100 -150 -100 N
P 2 0 1 0 -250 100 -150 100 N
P 2 0 1 12 -150 -60 -150 -140 N
P 2 0 1 12 -150 40 -150 -40 N
P 2 0 1 12 -150 140 -150 60 N
P 2 0 1 8 -100 -100 -100 100 N
P 2 0 1 8 100 -100 100 100 N
P 2 0 1 12 150 -60 150 -140 N
P 2 0 1 12 150 40 150 -40 N
P 2 0 1 12 150 140 150 60 N
P 2 0 1 0 250 -100 150 -100 N
P 2 0 1 0 250 100 150 100 N
P 2 0 1 0 250 100 290 100 N
P 2 0 1 0 265 65 315 65 N
P 2 0 1 0 290 -100 250 -100 N
P 2 0 1 0 290 100 290 -100 N
P 2 0 1 6 290 100 290 200 N
P 2 0 1 6 450 200 -450 200 N
P 3 0 1 8 -290 -100 -410 -100 -410 -75 N
P 3 0 1 8 -250 -100 -250 0 -200 0 N
P 3 0 1 8 250 -100 250 0 200 0 N
P 3 0 1 8 410 -75 410 -100 290 -100 N
P 4 0 1 8 -450 -200 -25 -200 -25 -100 -100 -100 N
P 4 0 1 8 -450 75 -410 75 -410 -75 -450 -75 N
P 4 0 1 0 -290 65 -315 25 -265 25 -290 65 F
P 4 0 1 0 290 65 265 25 315 25 290 65 F
P 4 0 1 8 450 -200 25 -200 25 -100 100 -100 N
P 4 0 1 8 450 -75 410 -75 410 75 450 75 N
P 5 0 1 8 -200 30 -200 -30 -150 0 -200 30 -200 30 F
P 5 0 1 8 200 30 200 -30 150 0 200 30 200 30 F
X D 1 -750 200 300 R 50 50 1 1 P
X S1 2 -750 75 300 R 50 50 1 1 P
X S1 3 -750 -75 300 R 50 50 1 1 P
X G1 4 -750 -200 300 R 50 50 1 1 P
X G2 5 750 -200 300 L 50 50 1 1 P
X S2 6 750 -75 300 L 50 50 1 1 P
X S2 7 750 75 300 L 50 50 1 1 P
X D 8 750 200 300 L 50 50 1 1 P
ENDDRAW
ENDDEF
#
# stm8s105board
#
DEF stm8s105board X 0 40 Y Y 1 F N
F0 "X" 0 1050 60 H V C CNN
F1 "stm8s105board" 0 -650 60 H V C CNN
F2 "devboard_pins-9-14" 0 0 60 H I C CNN
F3 "" 0 0 60 H V C CNN
$FPLIST
stm8s105board
$ENDFPLIST
DRAW
S -1100 950 1100 -550 0 1 0 N
X VDD(3.3-5v) 1 -1400 850 300 R 50 50 1 1 W
X PB2/AIN2[TIM1_CH3N] 10 -1400 -50 300 R 50 50 1 1 T
X PB1/AIN1_[TIM1_CH2N] 11 -1400 -150 300 R 50 50 1 1 T
X PB0/AIN0_[TIM1_CH1N] 12 -1400 -250 300 R 50 50 1 1 T
X PE5/SPI_NSS 13 -1400 -350 300 R 50 50 1 1 T
X PC1(HS)/TIM1_CH1 14 -1400 -450 300 R 50 50 1 1 T
X PC2(HS)/TIM1_CH2 15 1400 -450 300 L 50 50 1 1 T
X PC3(HS)/TIM1_CH3 16 1400 -350 300 L 50 50 1 1 T
X PC4(HS)/TIM1_CH4 17 1400 -250 300 L 50 50 1 1 T
X PC5(HS)/SPI_SCK 18 1400 -150 300 L 50 50 1 1 T
X PC6(HS)/SPI_MOSI 19 1400 -50 300 L 50 50 1 1 T
X GND 2 -1400 750 300 R 50 50 1 1 W
X PC7(HS)/SPI_MISO 20 1400 50 300 L 50 50 1 1 T
X PD0(HS)/TIM3_CH2[TIM1_BKIN][CLK_CCO] 21 1400 150 300 L 50 39 1 1 T
X PD1(HS)/SWIM 22 1400 250 300 L 50 50 1 1 T
X PD2(HS)/TIM3_CH1[TIM2_CH3] 23 1400 350 300 L 50 50 1 1 T
X PD3(HS)/TIM2_CH2[ADC_ETR] 24 1400 450 300 L 50 50 1 1 T
X PD4(HS)/TIM2_CH1[BEEP] 25 1400 550 300 L 50 50 1 1 T
X PD5/UART2_TX 26 1400 650 300 L 50 50 1 1 T
X PD6/UART2_RX 27 1400 750 300 L 50 50 1 1 T
X PD7/TLI[TIM1_CH4] 28 1400 850 300 L 50 50 1 1 T
X NRST 3 -1400 650 300 R 50 50 1 1 I
X OSCIN/PA1 4 -1400 550 300 R 50 50 1 1 T
X OSCOUT/PA2 5 -1400 450 300 R 50 50 1 1 T
X PF4/AIN12 6 -1400 350 300 R 50 50 1 1 T
X PB5/AIN5[I2X_SDA] 7 -1400 250 300 R 50 50 1 1 T
X PB4/AIN4[I2C_SCL] 8 -1400 150 300 R 50 50 1 1 T
X PB3/AIN3[TIM1_ETR] 9 -1400 50 300 R 50 50 1 1 T
ENDDRAW
ENDDEF
#
#End Library

View File

@ -1,48 +1,5 @@
update=Вс 16 ноя 2014 02:05:59
update=Ср 12 дек 2018 20:11:54
last_client=kicad
[eeschema]
version=1
LibDir=
NetFmtName=
RptD_X=0
RptD_Y=100
RptLab=1
LabSize=60
[eeschema/libraries]
LibName1=power
LibName2=device
LibName3=transistors
LibName4=conn
LibName5=linear
LibName6=regul
LibName7=74xx
LibName8=cmos4000
LibName9=adc-dac
LibName10=memory
LibName11=xilinx
LibName12=special
LibName13=microcontrollers
LibName14=dsp
LibName15=microchip
LibName16=analog_switches
LibName17=motorola
LibName18=texas
LibName19=intel
LibName20=audio
LibName21=interface
LibName22=digital-audio
LibName23=philips
LibName24=display
LibName25=cypress
LibName26=siliconi
LibName27=opto
LibName28=atmel
LibName29=contrib
LibName30=valves
LibName31=stm8s105k4t6c
LibName32=L9110
LibName33=LM1117
LibName34=s8205a
[cvpcb]
version=1
NetIExt=net
@ -89,3 +46,6 @@ LibName17=devboard_pins
LibName18=tssop-8
[general]
version=1
[eeschema]
version=1
LibDir=

View File

@ -0,0 +1,132 @@
EESchema-LIBRARY Version 2.4
#encoding utf-8
#
# +12V
#
DEF +12V #PWR 0 0 N Y 1 F P
F0 "#PWR" 0 -50 20 H I C CNN
F1 "+12V" 0 100 30 H V C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
DRAW
C 0 60 20 0 1 0 N
P 3 0 1 0 0 0 0 40 0 40 N
X +12V 1 0 0 0 U 20 30 0 0 W N
ENDDRAW
ENDDEF
#
# DIODESCH
#
DEF DIODESCH D 0 40 N N 1 F N
F0 "D" 0 100 40 H V C CNN
F1 "DIODESCH" 0 -100 40 H V C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
$FPLIST
D?
S*
$ENDFPLIST
DRAW
P 3 0 1 0 -50 50 50 0 -50 -50 F
P 6 0 1 8 75 25 75 50 50 50 50 -50 25 -50 25 -25 N
X A 1 -200 0 150 R 40 40 1 1 P
X K 2 200 0 150 L 40 40 1 1 P
ENDDRAW
ENDDEF
#
# GND
#
DEF ~GND #PWR 0 0 Y Y 1 F P
F0 "#PWR" 0 0 30 H I C CNN
F1 "GND" 0 -70 30 H I C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
DRAW
P 4 0 1 0 -50 0 0 -50 50 0 -50 0 N
X GND 1 0 0 0 U 30 30 1 1 W N
ENDDRAW
ENDDEF
#
# R
#
DEF R R 0 0 N Y 1 F N
F0 "R" 80 0 50 V V C CNN
F1 "R" 0 0 50 V V C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
$FPLIST
R?
SM0603
SM0805
R?-*
SM1206
$ENDFPLIST
DRAW
S -40 150 40 -150 0 1 12 N
X ~ 1 0 250 100 D 60 60 1 1 P
X ~ 2 0 -250 100 U 60 60 1 1 P
ENDDRAW
ENDDEF
#
# S8205A
#
DEF S8205A VT 0 0 N Y 1 F N
F0 "VT" 75 -375 60 H V R CNN
F1 "S8205A" 150 350 60 H V R CNN
F2 "TSSOP-8" -50 -300 60 H I C CNN
F3 "" 150 0 60 H V C CNN
$FPLIST
TSSOP8*
TSSOP-8*
$ENDFPLIST
DRAW
C -200 0 180 0 1 12 N
C 200 0 180 0 1 12 N
S -450 300 450 -300 0 1 12 N
P 2 0 1 0 -315 65 -265 65 N
P 2 0 1 0 -290 -100 -250 -100 N
P 2 0 1 0 -290 100 -290 -100 N
P 2 0 1 6 -290 100 -290 200 N
P 2 0 1 0 -290 100 -250 100 N
P 2 0 1 0 -250 -100 -150 -100 N
P 2 0 1 0 -250 100 -150 100 N
P 2 0 1 12 -150 -60 -150 -140 N
P 2 0 1 12 -150 40 -150 -40 N
P 2 0 1 12 -150 140 -150 60 N
P 2 0 1 8 -100 -100 -100 100 N
P 2 0 1 8 100 -100 100 100 N
P 2 0 1 12 150 -60 150 -140 N
P 2 0 1 12 150 40 150 -40 N
P 2 0 1 12 150 140 150 60 N
P 2 0 1 0 250 -100 150 -100 N
P 2 0 1 0 250 100 150 100 N
P 2 0 1 0 250 100 290 100 N
P 2 0 1 0 265 65 315 65 N
P 2 0 1 0 290 -100 250 -100 N
P 2 0 1 0 290 100 290 -100 N
P 2 0 1 6 290 100 290 200 N
P 2 0 1 6 450 200 -450 200 N
P 3 0 1 8 -290 -100 -410 -100 -410 -75 N
P 3 0 1 8 -250 -100 -250 0 -200 0 N
P 3 0 1 8 250 -100 250 0 200 0 N
P 3 0 1 8 410 -75 410 -100 290 -100 N
P 4 0 1 8 -450 -200 -25 -200 -25 -100 -100 -100 N
P 4 0 1 8 -450 75 -410 75 -410 -75 -450 -75 N
P 4 0 1 0 -290 65 -315 25 -265 25 -290 65 F
P 4 0 1 0 290 65 265 25 315 25 290 65 F
P 4 0 1 8 450 -200 25 -200 25 -100 100 -100 N
P 4 0 1 8 450 -75 410 -75 410 75 450 75 N
P 5 0 1 8 -200 30 -200 -30 -150 0 -200 30 -200 30 F
P 5 0 1 8 200 30 200 -30 150 0 200 30 200 30 F
X D 1 -750 200 300 R 50 50 1 1 P
X S1 2 -750 75 300 R 50 50 1 1 P
X S1 3 -750 -75 300 R 50 50 1 1 P
X G1 4 -750 -200 300 R 50 50 1 1 P
X G2 5 750 -200 300 L 50 50 1 1 P
X S2 5 750 -75 300 L 50 50 1 1 P
X S2 7 750 75 300 L 50 50 1 1 P
X D 8 750 200 300 L 50 50 1 1 P
ENDDRAW
ENDDEF
#
#End Library

View File

@ -0,0 +1,32 @@
update=Вс 09 дек 2018 19:18:41
version=1
last_client=kicad
[general]
version=1
RootSch=
BoardNm=
[pcbnew]
version=1
LastNetListRead=
UseCmpFile=1
PadDrill=0.600000000000
PadDrillOvalY=0.600000000000
PadSizeH=1.500000000000
PadSizeV=1.500000000000
PcbTextSizeV=1.500000000000
PcbTextSizeH=1.500000000000
PcbTextThickness=0.300000000000
ModuleTextSizeV=1.000000000000
ModuleTextSizeH=1.000000000000
ModuleTextSizeThickness=0.150000000000
SolderMaskClearance=0.000000000000
SolderMaskMinWidth=0.000000000000
DrawSegmentWidth=0.200000000000
BoardOutlineThickness=0.100000000000
ModuleOutlineThickness=0.150000000000
[cvpcb]
version=1
NetIExt=net
[eeschema]
version=1
LibDir=

View File

@ -0,0 +1,91 @@
update=Вс 16 ноя 2014 02:05:59
last_client=kicad
[eeschema]
version=1
LibDir=
NetFmtName=
RptD_X=0
RptD_Y=100
RptLab=1
LabSize=60
[eeschema/libraries]
LibName1=power
LibName2=device
LibName3=transistors
LibName4=conn
LibName5=linear
LibName6=regul
LibName7=74xx
LibName8=cmos4000
LibName9=adc-dac
LibName10=memory
LibName11=xilinx
LibName12=special
LibName13=microcontrollers
LibName14=dsp
LibName15=microchip
LibName16=analog_switches
LibName17=motorola
LibName18=texas
LibName19=intel
LibName20=audio
LibName21=interface
LibName22=digital-audio
LibName23=philips
LibName24=display
LibName25=cypress
LibName26=siliconi
LibName27=opto
LibName28=atmel
LibName29=contrib
LibName30=valves
LibName31=stm8s105k4t6c
LibName32=L9110
LibName33=LM1117
LibName34=s8205a
[cvpcb]
version=1
NetIExt=net
[cvpcb/libraries]
EquName1=devcms
[pcbnew]
version=1
LastNetListRead=
UseCmpFile=1
PadDrill=" 0.000000"
PadDrillOvalY=" 0.000000"
PadSizeH=" 1.100000"
PadSizeV=" 0.300000"
PcbTextSizeV=" 1.500000"
PcbTextSizeH=" 1.500000"
PcbTextThickness=" 0.300000"
ModuleTextSizeV=" 1.000000"
ModuleTextSizeH=" 1.000000"
ModuleTextSizeThickness=" 0.150000"
SolderMaskClearance=" 0.000000"
SolderMaskMinWidth=" 0.000000"
DrawSegmentWidth=" 0.200000"
BoardOutlineThickness=" 0.100000"
ModuleOutlineThickness=" 0.150000"
[pcbnew/libraries]
LibDir=
LibName1=sockets
LibName2=connect
LibName3=discret
LibName4=pin_array
LibName5=divers
LibName6=smd_capacitors
LibName7=smd_resistors
LibName8=smd_dil
LibName9=smd_transistors
LibName10=libcms
LibName11=display
LibName12=led
LibName13=dip_sockets
LibName14=pga_sockets
LibName15=valves
LibName16=SOP8
LibName17=devboard_pins
LibName18=tssop-8
[general]
version=1

View File

@ -0,0 +1,751 @@
EESchema Schematic File Version 2
LIBS:power
LIBS:device
LIBS:transistors
LIBS:conn
LIBS:linear
LIBS:regul
LIBS:74xx
LIBS:cmos4000
LIBS:adc-dac
LIBS:memory
LIBS:xilinx
LIBS:special
LIBS:microcontrollers
LIBS:dsp
LIBS:microchip
LIBS:analog_switches
LIBS:motorola
LIBS:texas
LIBS:intel
LIBS:audio
LIBS:interface
LIBS:digital-audio
LIBS:philips
LIBS:display
LIBS:cypress
LIBS:siliconi
LIBS:opto
LIBS:atmel
LIBS:contrib
LIBS:valves
LIBS:stm8s105k4t6c
LIBS:L9110
LIBS:LM1117
LIBS:s8205a
LIBS:MCU_module-cache
EELAYER 24 0
EELAYER END
$Descr A3 16535 11693
encoding utf-8
Sheet 1 2
Title ""
Date "14 nov 2014"
Rev ""
Comp ""
Comment1 ""
Comment2 ""
Comment3 ""
Comment4 ""
$EndDescr
$Comp
L GND #PWR01
U 1 1 52FB03EF
P 1600 1650
F 0 "#PWR01" H 1600 1650 30 0001 C CNN
F 1 "GND" H 1600 1580 30 0001 C CNN
F 2 "" H 1600 1650 60 0000 C CNN
F 3 "" H 1600 1650 60 0000 C CNN
1 1600 1650
1 0 0 -1
$EndComp
Text Label 2150 1700 2 60 ~ 0
NRST
Text Label 2150 1800 2 60 ~ 0
OSC1IN
Text Label 2150 1900 2 60 ~ 0
OSC2IN
Text Label 2150 2000 2 60 ~ 0
PF4
Text Label 2150 2100 2 60 ~ 0
PB5
Text Label 2150 2200 2 60 ~ 0
PB4
Text Label 2150 2300 2 60 ~ 0
PB3
Text Label 2150 2400 2 60 ~ 0
PB2
Text Label 2150 2500 2 60 ~ 0
PB1
Text Label 2150 2600 2 60 ~ 0
PB0
Text Label 2150 2700 2 60 ~ 0
PE5
Text Label 2150 2800 2 60 ~ 0
PC1
Text Label 4950 2800 0 60 ~ 0
PC2
Text Label 4950 2700 0 60 ~ 0
PC3
Text Label 4950 2600 0 60 ~ 0
PC4
Text Label 4950 2500 0 60 ~ 0
PC5
Text Label 4950 2400 0 60 ~ 0
PC6
Text Label 4950 2300 0 60 ~ 0
PC7
Text Label 4950 2200 0 60 ~ 0
PD0
Text Label 4950 2100 0 60 ~ 0
SWIM/PD1
Text Label 4950 2000 0 60 ~ 0
PD2
Text Label 4950 1900 0 60 ~ 0
PD3
Text Label 4950 1800 0 60 ~ 0
PD4
Text Label 4950 1700 0 60 ~ 0
PD5
Text Label 4950 1600 0 60 ~ 0
PD6
Text Label 4950 1500 0 60 ~ 0
PD7
Text Label 1200 5850 2 60 ~ 0
PC1
Text Label 4000 6200 2 60 ~ 0
PB3
Text Label 4000 6300 2 60 ~ 0
PB2
Text Label 4000 5450 2 60 ~ 0
PB1
Text Label 4000 5550 2 60 ~ 0
PB0
$Sheet
S 1350 5600 750 650
U 53EF036E
F0 "Drill motor" 50
F1 "drill.sch" 50
F2 "PWM_in" I L 1350 5850 60
F3 "Sence" O L 1350 6000 60
F4 "DRILL+" O R 2100 5700 60
F5 "DRILL-" O R 2100 6100 60
$EndSheet
Wire Wire Line
1200 5850 1350 5850
Text Label 1200 6000 2 60 ~ 0
PF4
Wire Wire Line
1200 6000 1350 6000
$Comp
L L9110 DA1
U 1 1 53F0EE9F
P 4600 5500
F 0 "DA1" H 4600 5200 50 0000 C CNN
F 1 "L9110" H 4600 5800 50 0000 C CNN
F 2 "" H 4600 5500 50 0001 C CNN
F 3 "" H 4600 5500 50 0001 C CNN
1 4600 5500
-1 0 0 -1
$EndComp
$Comp
L L9110 DA2
U 1 1 53F0EF24
P 4600 6250
F 0 "DA2" H 4600 5950 50 0000 C CNN
F 1 "L9110" H 4600 6550 50 0000 C CNN
F 2 "" H 4600 6250 50 0001 C CNN
F 3 "" H 4600 6250 50 0001 C CNN
1 4600 6250
-1 0 0 -1
$EndComp
$Comp
L L9110 DA3
U 1 1 53F0EF3C
P 4600 7650
F 0 "DA3" H 4600 7350 50 0000 C CNN
F 1 "L9110" H 4600 7950 50 0000 C CNN
F 2 "" H 4600 7650 50 0001 C CNN
F 3 "" H 4600 7650 50 0001 C CNN
1 4600 7650
-1 0 0 -1
$EndComp
$Comp
L CONN_4 P3
U 1 1 53F0F09A
P 6100 5850
F 0 "P3" V 6050 5850 50 0000 C CNN
F 1 "Stepper" V 6150 5850 50 0000 C CNN
F 2 "" H 6100 5850 60 0000 C CNN
F 3 "" H 6100 5850 60 0000 C CNN
1 6100 5850
1 0 0 -1
$EndComp
Wire Wire Line
5200 5450 5200 5550
Wire Wire Line
5200 6200 5200 6300
Wire Wire Line
3700 6400 4000 6400
Wire Wire Line
3700 6400 3700 6100
Wire Wire Line
3700 6100 4000 6100
Wire Wire Line
4000 6100 4000 5650
Wire Wire Line
4000 5650 3700 5650
Wire Wire Line
3700 5650 3700 5350
Wire Wire Line
3700 5350 4000 5350
$Comp
L GND #PWR02
U 1 1 53F0F2B8
P 4000 6500
F 0 "#PWR02" H 4000 6500 30 0001 C CNN
F 1 "GND" H 4000 6430 30 0001 C CNN
F 2 "" H 4000 6500 60 0000 C CNN
F 3 "" H 4000 6500 60 0000 C CNN
1 4000 6500
1 0 0 -1
$EndComp
Wire Wire Line
4000 6400 4000 6500
Connection ~ 4000 6400
Connection ~ 4000 6100
Connection ~ 4000 5650
Connection ~ 4000 5350
Wire Wire Line
5200 5500 5350 5500
Wire Wire Line
5350 5500 5350 6250
Wire Wire Line
5350 6250 5200 6250
Connection ~ 5200 6250
Connection ~ 5200 5500
Wire Wire Line
5100 5900 5350 5900
Connection ~ 5350 5900
$Comp
L +5V #PWR03
U 1 1 53F0F5FC
P 5100 5900
F 0 "#PWR03" H 5100 5990 20 0001 C CNN
F 1 "+5V" H 5100 5990 30 0000 C CNN
F 2 "" H 5100 5900 60 0000 C CNN
F 3 "" H 5100 5900 60 0000 C CNN
1 5100 5900
1 0 0 -1
$EndComp
$Comp
L LM1117MPX-3.3 U2
U 1 1 53F0F811
P 9450 2950
F 0 "U2" H 9250 3150 40 0000 C CNN
F 1 "LM1117MPX-3.3" H 9450 3150 40 0000 L CNN
F 2 "SOT223" H 9450 3050 30 0001 C CIN
F 3 "~" H 9450 2950 60 0000 C CNN
1 9450 2950
1 0 0 -1
$EndComp
$Comp
L C C4
U 1 1 53F0F83E
P 8800 3100
F 0 "C4" H 8800 3200 40 0000 L CNN
F 1 "0.1u" H 8806 3015 40 0000 L CNN
F 2 "SM0603" H 8838 2950 30 0001 C CNN
F 3 "~" H 8800 3100 60 0000 C CNN
1 8800 3100
1 0 0 -1
$EndComp
$Comp
L CP1 C5
U 1 1 53F0F88C
P 10000 3100
F 0 "C5" H 10050 3200 50 0000 L CNN
F 1 "47u" H 10050 3000 50 0000 L CNN
F 2 "SM1206" H 10000 3100 60 0001 C CNN
F 3 "~" H 10000 3100 60 0000 C CNN
1 10000 3100
1 0 0 -1
$EndComp
Wire Wire Line
8300 2900 9050 2900
Wire Wire Line
9850 2900 10200 2900
Wire Wire Line
8800 3300 10000 3300
Wire Wire Line
9450 3200 9450 3400
Connection ~ 9450 3300
$Comp
L GND #PWR04
U 1 1 53F0FCF1
P 9450 3400
F 0 "#PWR04" H 9450 3400 30 0001 C CNN
F 1 "GND" H 9450 3330 30 0001 C CNN
F 2 "" H 9450 3400 60 0000 C CNN
F 3 "" H 9450 3400 60 0000 C CNN
1 9450 3400
1 0 0 -1
$EndComp
$Comp
L CONN_3 K1
U 1 1 53F0FD67
P 7950 2900
F 0 "K1" V 7900 2900 50 0000 C CNN
F 1 "POWER" V 8000 2900 40 0000 C CNN
F 2 "" H 7950 2900 60 0000 C CNN
F 3 "" H 7950 2900 60 0000 C CNN
1 7950 2900
-1 0 0 1
$EndComp
$Comp
L GND #PWR05
U 1 1 53F0FD7A
P 8350 3100
F 0 "#PWR05" H 8350 3100 30 0001 C CNN
F 1 "GND" H 8350 3030 30 0001 C CNN
F 2 "" H 8350 3100 60 0000 C CNN
F 3 "" H 8350 3100 60 0000 C CNN
1 8350 3100
1 0 0 -1
$EndComp
Wire Wire Line
8300 3000 8550 3000
Wire Wire Line
8350 3000 8350 3100
Connection ~ 8800 2900
$Comp
L +5V #PWR06
U 1 1 53F0FE51
P 8800 2850
F 0 "#PWR06" H 8800 2940 20 0001 C CNN
F 1 "+5V" H 8800 2940 30 0000 C CNN
F 2 "" H 8800 2850 60 0000 C CNN
F 3 "" H 8800 2850 60 0000 C CNN
1 8800 2850
1 0 0 -1
$EndComp
Wire Wire Line
8800 2900 8800 2850
$Comp
L +12V #PWR07
U 1 1 53F0FEBE
P 8350 2750
F 0 "#PWR07" H 8350 2700 20 0001 C CNN
F 1 "+12V" H 8350 2850 30 0000 C CNN
F 2 "" H 8350 2750 60 0000 C CNN
F 3 "" H 8350 2750 60 0000 C CNN
1 8350 2750
1 0 0 -1
$EndComp
Wire Wire Line
8350 2750 8350 2800
Wire Wire Line
8350 2800 8300 2800
$Comp
L +3.3V #PWR08
U 1 1 53F1006E
P 10200 2850
F 0 "#PWR08" H 10200 2810 30 0001 C CNN
F 1 "+3.3V" H 10200 2960 30 0000 C CNN
F 2 "" H 10200 2850 60 0000 C CNN
F 3 "" H 10200 2850 60 0000 C CNN
1 10200 2850
1 0 0 -1
$EndComp
Wire Wire Line
10200 2900 10200 2850
Connection ~ 10000 2900
Wire Wire Line
5500 5350 5500 5800
Wire Wire Line
5500 5350 5200 5350
Wire Wire Line
5200 5650 5250 5650
Wire Wire Line
5450 6100 5200 6100
Wire Wire Line
5600 5900 5600 6400
Wire Wire Line
5600 6400 5200 6400
Text Label 4000 7700 2 60 ~ 0
PD2
Text Label 4000 7600 2 60 ~ 0
PD3
Wire Wire Line
4000 7800 3700 7800
Wire Wire Line
3700 7800 3700 7500
Wire Wire Line
3700 7500 4000 7500
Wire Wire Line
5200 7600 5200 7700
Wire Wire Line
4000 7900 4000 7800
Connection ~ 4000 7800
$Comp
L +5V #PWR09
U 1 1 53F11209
P 5300 7650
F 0 "#PWR09" H 5300 7740 20 0001 C CNN
F 1 "+5V" H 5300 7740 30 0000 C CNN
F 2 "" H 5300 7650 60 0000 C CNN
F 3 "" H 5300 7650 60 0000 C CNN
1 5300 7650
1 0 0 -1
$EndComp
Wire Wire Line
5200 7650 5300 7650
Connection ~ 5200 7650
Text Notes 5700 5500 0 60 ~ 0
Stepper motor module
$Comp
L CONN_2 P4
U 1 1 53F1169C
P 6100 7650
F 0 "P4" V 6050 7650 40 0000 C CNN
F 1 "Slide" V 6150 7650 40 0000 C CNN
F 2 "" H 6100 7650 60 0000 C CNN
F 3 "" H 6100 7650 60 0000 C CNN
1 6100 7650
1 0 0 -1
$EndComp
Wire Wire Line
5200 7500 5500 7500
Wire Wire Line
5500 7500 5500 7550
Wire Wire Line
5500 7550 5750 7550
Wire Wire Line
5200 7800 5500 7800
Wire Wire Line
5500 7800 5500 7750
Wire Wire Line
5500 7750 5750 7750
Wire Notes Line
5700 7050 5700 8850
$Comp
L PWR_FLAG #FLG010
U 1 1 53F11FC5
P 8550 2750
F 0 "#FLG010" H 8550 2845 30 0001 C CNN
F 1 "PWR_FLAG" H 8550 2930 30 0000 C CNN
F 2 "" H 8550 2750 60 0000 C CNN
F 3 "" H 8550 2750 60 0000 C CNN
1 8550 2750
1 0 0 -1
$EndComp
Wire Wire Line
8550 2750 8350 2750
$Comp
L PWR_FLAG #FLG011
U 1 1 53F12233
P 8550 3000
F 0 "#FLG011" H 8550 3095 30 0001 C CNN
F 1 "PWR_FLAG" H 8550 3180 30 0000 C CNN
F 2 "" H 8550 3000 60 0000 C CNN
F 3 "" H 8550 3000 60 0000 C CNN
1 8550 3000
-1 0 0 1
$EndComp
Connection ~ 8350 3000
$Comp
L PWR_FLAG #FLG012
U 1 1 53F122D9
P 9000 2800
F 0 "#FLG012" H 9000 2895 30 0001 C CNN
F 1 "PWR_FLAG" H 9000 2980 30 0000 C CNN
F 2 "" H 9000 2800 60 0000 C CNN
F 3 "" H 9000 2800 60 0000 C CNN
1 9000 2800
1 0 0 -1
$EndComp
Wire Wire Line
9000 2800 9000 2900
Connection ~ 9000 2900
Text Label 5500 8150 2 60 ~ 0
PC3
Text Label 5500 8000 2 60 ~ 0
PC4
Text Label 800 5650 2 60 ~ 0
PC5
Wire Notes Line
2350 4750 750 4750
Text Notes 1050 5000 0 60 ~ 0
Drill motor + pedal
Text Notes 950 4250 0 60 ~ 0
"DRILLSW" is foot-switch.\nPress it to move drill down,\nrelease to return it to start position.\nDouble-click turns drill motor on/off.\n
Text Notes 6600 7150 0 60 ~ 0
Two buttons on tray have following functionality:\nBTN1 - setup zero point (move slowly + set coordinate\n to 0 after footswitch released); next pressing returns\n device to normal state;\nBTN2 - switch between regulation of drill speed/stepper speed;\nBTN1+BTN2 (simultaneously) - move tray up/down.\n\n"volume" varistor allows to regulate motor speed.\nDefault is max drill speed, varistor regulates stepper speed.
Text Notes 1750 2800 2 60 ~ 0
Drill PWM
Text Notes 1700 2000 2 60 ~ 0
Drill sense
Text Notes 5300 2550 0 60 ~ 0
Drill SW
Wire Notes Line
2000 2600 1950 2600
Wire Notes Line
1950 2600 1950 2250
Text Notes 1900 2450 2 60 ~ 0
Stepper phases
Text Notes 5300 1950 0 60 ~ 0
Tray bridge
Text Notes 5300 2450 0 60 ~ 0
BTN1
Text Notes 5300 2350 0 60 ~ 0
BTN2
Text Notes 1950 2200 2 60 ~ 0
Rvar
Text Label 5500 8600 2 60 ~ 0
PB4
Text Notes 5250 2750 0 60 ~ 0
Tray Down
Text Notes 5300 2650 0 60 ~ 0
Tray Up
Text Label 5500 8450 2 60 ~ 0
PC7
Text Label 5500 8300 2 60 ~ 0
PC6
Text Notes 6450 4500 0 60 ~ 0
All MCU inputs connected to switches\nshould be in "pull-up input" mode.
Text Notes 5250 2850 0 60 ~ 0
LED onbrd
Wire Notes Line
5250 1700 5300 1700
Wire Notes Line
5300 1700 5300 1550
Text Notes 5350 1650 0 60 ~ 0
UART
Wire Notes Line
5250 2000 5300 2000
Wire Notes Line
5300 2000 5300 1850
Wire Wire Line
1600 1650 1600 1600
Wire Wire Line
1600 1600 2150 1600
$Comp
L +3.3V #PWR013
U 1 1 54627FDB
P 2150 1400
F 0 "#PWR013" H 2150 1360 30 0001 C CNN
F 1 "+3.3V" H 2150 1510 30 0000 C CNN
F 2 "" H 2150 1400 60 0000 C CNN
F 3 "" H 2150 1400 60 0000 C CNN
1 2150 1400
1 0 0 -1
$EndComp
Wire Wire Line
2150 1400 2150 1500
$Comp
L CONN_1 UP1
U 1 1 54628F0D
P 5950 8000
F 0 "UP1" H 6030 8000 40 0000 L CNN
F 1 "CONN_1" H 5950 8055 30 0001 C CNN
F 2 "" H 5950 8000 60 0000 C CNN
F 3 "" H 5950 8000 60 0000 C CNN
1 5950 8000
1 0 0 -1
$EndComp
$Comp
L CONN_1 DOWN1
U 1 1 54628F38
P 5950 8150
F 0 "DOWN1" H 6030 8150 40 0000 L CNN
F 1 "CONN_1" H 5950 8205 30 0001 C CNN
F 2 "" H 5950 8150 60 0000 C CNN
F 3 "" H 5950 8150 60 0000 C CNN
1 5950 8150
1 0 0 -1
$EndComp
$Comp
L CONN_1 BTN1
U 1 1 54628F3E
P 5950 8300
F 0 "BTN1" H 6030 8300 40 0000 L CNN
F 1 "CONN_1" H 5950 8355 30 0001 C CNN
F 2 "" H 5950 8300 60 0000 C CNN
F 3 "" H 5950 8300 60 0000 C CNN
1 5950 8300
1 0 0 -1
$EndComp
$Comp
L CONN_1 BTN2
U 1 1 54628FEC
P 5950 8450
F 0 "BTN2" H 6030 8450 40 0000 L CNN
F 1 "CONN_1" H 5950 8505 30 0001 C CNN
F 2 "" H 5950 8450 60 0000 C CNN
F 3 "" H 5950 8450 60 0000 C CNN
1 5950 8450
1 0 0 -1
$EndComp
$Comp
L CONN_1 POT1
U 1 1 54628FF2
P 5950 8600
F 0 "POT1" H 6030 8600 40 0000 L CNN
F 1 "CONN_1" H 5950 8655 30 0001 C CNN
F 2 "" H 5950 8600 60 0000 C CNN
F 3 "" H 5950 8600 60 0000 C CNN
1 5950 8600
1 0 0 -1
$EndComp
Wire Wire Line
5500 8000 5800 8000
Wire Wire Line
5500 8150 5800 8150
Wire Wire Line
5500 8300 5800 8300
Wire Wire Line
5500 8450 5800 8450
Wire Wire Line
5500 8600 5800 8600
Wire Notes Line
5700 8850 6300 8850
Wire Notes Line
6300 8850 6300 7050
Wire Notes Line
6300 7050 5700 7050
Text Notes 5900 7200 0 60 ~ 0
Tray
$Comp
L CONN_1 DRILL+1
U 1 1 54629D60
P 1900 5350
F 0 "DRILL+1" H 1980 5350 40 0000 L CNN
F 1 "CONN_1" H 1900 5405 30 0001 C CNN
F 2 "" H 1900 5350 60 0000 C CNN
F 3 "" H 1900 5350 60 0000 C CNN
1 1900 5350
-1 0 0 1
$EndComp
$Comp
L CONN_1 DRILL-1
U 1 1 54629E20
P 1900 5150
F 0 "DRILL-1" H 1980 5150 40 0000 L CNN
F 1 "CONN_1" H 1900 5205 30 0001 C CNN
F 2 "" H 1900 5150 60 0000 C CNN
F 3 "" H 1900 5150 60 0000 C CNN
1 1900 5150
-1 0 0 1
$EndComp
Wire Wire Line
2050 5350 2150 5350
Wire Wire Line
2150 5350 2150 5700
Wire Wire Line
2150 5700 2100 5700
Wire Wire Line
2100 6100 2200 6100
Wire Wire Line
2200 6100 2200 5150
Wire Wire Line
2200 5150 2050 5150
Wire Notes Line
2350 5400 750 5400
Wire Notes Line
2350 5400 2350 4750
Wire Notes Line
750 5400 750 4750
$Comp
L CONN_1 DRILLSW1
U 1 1 5462B0E5
P 1100 5150
F 0 "DRILLSW1" H 1180 5150 40 0000 L CNN
F 1 "CONN_1" H 1100 5205 30 0001 C CNN
F 2 "" H 1100 5150 60 0000 C CNN
F 3 "" H 1100 5150 60 0000 C CNN
1 1100 5150
1 0 0 -1
$EndComp
$Comp
L CONN_1 GND1
U 1 1 5462B0EB
P 1100 5300
F 0 "GND1" H 1180 5300 40 0000 L CNN
F 1 "CONN_1" H 1100 5355 30 0001 C CNN
F 2 "" H 1100 5300 60 0000 C CNN
F 3 "" H 1100 5300 60 0000 C CNN
1 1100 5300
1 0 0 -1
$EndComp
$Comp
L GND #PWR014
U 1 1 5462B234
P 950 5500
F 0 "#PWR014" H 950 5500 30 0001 C CNN
F 1 "GND" H 950 5430 30 0001 C CNN
F 2 "" H 950 5500 60 0000 C CNN
F 3 "" H 950 5500 60 0000 C CNN
1 950 5500
1 0 0 -1
$EndComp
Wire Wire Line
950 5500 950 5300
Wire Wire Line
800 5650 800 5150
Wire Wire Line
800 5150 950 5150
Wire Notes Line
5650 5350 5650 6100
Wire Notes Line
5650 6100 6800 6100
Wire Notes Line
6800 6100 6800 5350
Wire Notes Line
6800 5350 5650 5350
NoConn ~ 2150 1700
NoConn ~ 2150 1800
NoConn ~ 2150 1900
NoConn ~ 2150 2100
NoConn ~ 2150 2700
NoConn ~ 4950 1500
NoConn ~ 4950 1800
NoConn ~ 4950 2100
NoConn ~ 4950 2200
NoConn ~ 4950 2800
$Comp
L GND #PWR015
U 1 1 5462CB9D
P 4000 7900
F 0 "#PWR015" H 4000 7900 30 0001 C CNN
F 1 "GND" H 4000 7830 30 0001 C CNN
F 2 "" H 4000 7900 60 0000 C CNN
F 3 "" H 4000 7900 60 0000 C CNN
1 4000 7900
1 0 0 -1
$EndComp
NoConn ~ 4950 1600
NoConn ~ 4950 1700
Wire Wire Line
5500 5800 5750 5800
Wire Wire Line
5250 5650 5250 5700
Wire Wire Line
5250 5700 5750 5700
Wire Wire Line
5600 5900 5750 5900
Wire Wire Line
5450 6100 5450 6000
Wire Wire Line
5450 6000 5750 6000
$Comp
L stm8s105board X1
U 1 1 549FF443
P 3550 2350
F 0 "X1" H 3550 3400 60 0000 C CNN
F 1 "stm8s105board" H 3550 1700 60 0000 C CNN
F 2 "devboard_pins-9-14" H 3550 2350 60 0001 C CNN
F 3 "" H 3550 2350 60 0000 C CNN
1 3550 2350
1 0 0 -1
$EndComp
$EndSCHEMATC

View File

@ -0,0 +1,51 @@
update=Вс 09 дек 2018 19:19:29
last_client=eeschema
[cvpcb]
version=1
NetIExt=net
[cvpcb/libraries]
EquName1=devcms
[pcbnew]
version=1
LastNetListRead=
UseCmpFile=1
PadDrill=" 0.000000"
PadDrillOvalY=" 0.000000"
PadSizeH=" 1.100000"
PadSizeV=" 0.300000"
PcbTextSizeV=" 1.500000"
PcbTextSizeH=" 1.500000"
PcbTextThickness=" 0.300000"
ModuleTextSizeV=" 1.000000"
ModuleTextSizeH=" 1.000000"
ModuleTextSizeThickness=" 0.150000"
SolderMaskClearance=" 0.000000"
SolderMaskMinWidth=" 0.000000"
DrawSegmentWidth=" 0.200000"
BoardOutlineThickness=" 0.100000"
ModuleOutlineThickness=" 0.150000"
[pcbnew/libraries]
LibDir=
LibName1=sockets
LibName2=connect
LibName3=discret
LibName4=pin_array
LibName5=divers
LibName6=smd_capacitors
LibName7=smd_resistors
LibName8=smd_dil
LibName9=smd_transistors
LibName10=libcms
LibName11=display
LibName12=led
LibName13=dip_sockets
LibName14=pga_sockets
LibName15=valves
LibName16=SOP8
LibName17=devboard_pins
LibName18=tssop-8
[general]
version=1
[eeschema]
version=1
LibDir=

View File

@ -0,0 +1,751 @@
EESchema Schematic File Version 2
LIBS:power
LIBS:device
LIBS:transistors
LIBS:conn
LIBS:linear
LIBS:regul
LIBS:74xx
LIBS:cmos4000
LIBS:adc-dac
LIBS:memory
LIBS:xilinx
LIBS:special
LIBS:microcontrollers
LIBS:dsp
LIBS:microchip
LIBS:analog_switches
LIBS:motorola
LIBS:texas
LIBS:intel
LIBS:audio
LIBS:interface
LIBS:digital-audio
LIBS:philips
LIBS:display
LIBS:cypress
LIBS:siliconi
LIBS:opto
LIBS:atmel
LIBS:contrib
LIBS:valves
LIBS:stm8s105k4t6c
LIBS:L9110
LIBS:LM1117
LIBS:s8205a
LIBS:MCU_module-cache
EELAYER 24 0
EELAYER END
$Descr A3 16535 11693
encoding utf-8
Sheet 1 2
Title ""
Date "14 nov 2014"
Rev ""
Comp ""
Comment1 ""
Comment2 ""
Comment3 ""
Comment4 ""
$EndDescr
$Comp
L GND #PWR01
U 1 1 52FB03EF
P 1600 1650
F 0 "#PWR01" H 1600 1650 30 0001 C CNN
F 1 "GND" H 1600 1580 30 0001 C CNN
F 2 "" H 1600 1650 60 0000 C CNN
F 3 "" H 1600 1650 60 0000 C CNN
1 1600 1650
1 0 0 -1
$EndComp
Text Label 2150 1700 2 60 ~ 0
NRST
Text Label 2150 1800 2 60 ~ 0
OSC1IN
Text Label 2150 1900 2 60 ~ 0
OSC2IN
Text Label 2150 2000 2 60 ~ 0
PF4
Text Label 2150 2100 2 60 ~ 0
PB5
Text Label 2150 2200 2 60 ~ 0
PB4
Text Label 2150 2300 2 60 ~ 0
PB3
Text Label 2150 2400 2 60 ~ 0
PB2
Text Label 2150 2500 2 60 ~ 0
PB1
Text Label 2150 2600 2 60 ~ 0
PB0
Text Label 2150 2700 2 60 ~ 0
PE5
Text Label 2150 2800 2 60 ~ 0
PC1
Text Label 4950 2800 0 60 ~ 0
PC2
Text Label 4950 2700 0 60 ~ 0
PC3
Text Label 4950 2600 0 60 ~ 0
PC4
Text Label 4950 2500 0 60 ~ 0
PC5
Text Label 4950 2400 0 60 ~ 0
PC6
Text Label 4950 2300 0 60 ~ 0
PC7
Text Label 4950 2200 0 60 ~ 0
PD0
Text Label 4950 2100 0 60 ~ 0
SWIM/PD1
Text Label 4950 2000 0 60 ~ 0
PD2
Text Label 4950 1900 0 60 ~ 0
PD3
Text Label 4950 1800 0 60 ~ 0
PD4
Text Label 4950 1700 0 60 ~ 0
PD5
Text Label 4950 1600 0 60 ~ 0
PD6
Text Label 4950 1500 0 60 ~ 0
PD7
Text Label 1200 5850 2 60 ~ 0
PC1
Text Label 4000 6200 2 60 ~ 0
PB3
Text Label 4000 6300 2 60 ~ 0
PB2
Text Label 4000 5450 2 60 ~ 0
PB1
Text Label 4000 5550 2 60 ~ 0
PB0
$Sheet
S 1350 5600 750 650
U 53EF036E
F0 "Drill motor" 50
F1 "drill.sch" 50
F2 "PWM_in" I L 1350 5850 60
F3 "Sence" O L 1350 6000 60
F4 "DRILL+" O R 2100 5700 60
F5 "DRILL-" O R 2100 6100 60
$EndSheet
Wire Wire Line
1200 5850 1350 5850
Text Label 1200 6000 2 60 ~ 0
PF4
Wire Wire Line
1200 6000 1350 6000
$Comp
L L9110 DA1
U 1 1 53F0EE9F
P 4600 5500
F 0 "DA1" H 4600 5200 50 0000 C CNN
F 1 "L9110" H 4600 5800 50 0000 C CNN
F 2 "" H 4600 5500 50 0001 C CNN
F 3 "" H 4600 5500 50 0001 C CNN
1 4600 5500
-1 0 0 -1
$EndComp
$Comp
L L9110 DA2
U 1 1 53F0EF24
P 4600 6250
F 0 "DA2" H 4600 5950 50 0000 C CNN
F 1 "L9110" H 4600 6550 50 0000 C CNN
F 2 "" H 4600 6250 50 0001 C CNN
F 3 "" H 4600 6250 50 0001 C CNN
1 4600 6250
-1 0 0 -1
$EndComp
$Comp
L L9110 DA3
U 1 1 53F0EF3C
P 4600 7650
F 0 "DA3" H 4600 7350 50 0000 C CNN
F 1 "L9110" H 4600 7950 50 0000 C CNN
F 2 "" H 4600 7650 50 0001 C CNN
F 3 "" H 4600 7650 50 0001 C CNN
1 4600 7650
-1 0 0 -1
$EndComp
$Comp
L CONN_4 P3
U 1 1 53F0F09A
P 6100 5850
F 0 "P3" V 6050 5850 50 0000 C CNN
F 1 "Stepper" V 6150 5850 50 0000 C CNN
F 2 "" H 6100 5850 60 0000 C CNN
F 3 "" H 6100 5850 60 0000 C CNN
1 6100 5850
1 0 0 -1
$EndComp
Wire Wire Line
5200 5450 5200 5550
Wire Wire Line
5200 6200 5200 6300
Wire Wire Line
3700 6400 4000 6400
Wire Wire Line
3700 6400 3700 6100
Wire Wire Line
3700 6100 4000 6100
Wire Wire Line
4000 6100 4000 5650
Wire Wire Line
4000 5650 3700 5650
Wire Wire Line
3700 5650 3700 5350
Wire Wire Line
3700 5350 4000 5350
$Comp
L GND #PWR02
U 1 1 53F0F2B8
P 4000 6500
F 0 "#PWR02" H 4000 6500 30 0001 C CNN
F 1 "GND" H 4000 6430 30 0001 C CNN
F 2 "" H 4000 6500 60 0000 C CNN
F 3 "" H 4000 6500 60 0000 C CNN
1 4000 6500
1 0 0 -1
$EndComp
Wire Wire Line
4000 6400 4000 6500
Connection ~ 4000 6400
Connection ~ 4000 6100
Connection ~ 4000 5650
Connection ~ 4000 5350
Wire Wire Line
5200 5500 5350 5500
Wire Wire Line
5350 5500 5350 6250
Wire Wire Line
5350 6250 5200 6250
Connection ~ 5200 6250
Connection ~ 5200 5500
Wire Wire Line
5100 5900 5350 5900
Connection ~ 5350 5900
$Comp
L +5V #PWR03
U 1 1 53F0F5FC
P 5100 5900
F 0 "#PWR03" H 5100 5990 20 0001 C CNN
F 1 "+5V" H 5100 5990 30 0000 C CNN
F 2 "" H 5100 5900 60 0000 C CNN
F 3 "" H 5100 5900 60 0000 C CNN
1 5100 5900
1 0 0 -1
$EndComp
$Comp
L LM1117MPX-3.3 U2
U 1 1 53F0F811
P 9450 2950
F 0 "U2" H 9250 3150 40 0000 C CNN
F 1 "LM1117MPX-3.3" H 9450 3150 40 0000 L CNN
F 2 "SOT223" H 9450 3050 30 0001 C CIN
F 3 "~" H 9450 2950 60 0000 C CNN
1 9450 2950
1 0 0 -1
$EndComp
$Comp
L C C4
U 1 1 53F0F83E
P 8800 3100
F 0 "C4" H 8800 3200 40 0000 L CNN
F 1 "0.1u" H 8806 3015 40 0000 L CNN
F 2 "SM0603" H 8838 2950 30 0001 C CNN
F 3 "~" H 8800 3100 60 0000 C CNN
1 8800 3100
1 0 0 -1
$EndComp
$Comp
L CP1 C5
U 1 1 53F0F88C
P 10000 3100
F 0 "C5" H 10050 3200 50 0000 L CNN
F 1 "47u" H 10050 3000 50 0000 L CNN
F 2 "SM1206" H 10000 3100 60 0001 C CNN
F 3 "~" H 10000 3100 60 0000 C CNN
1 10000 3100
1 0 0 -1
$EndComp
Wire Wire Line
8300 2900 9050 2900
Wire Wire Line
9850 2900 10200 2900
Wire Wire Line
8800 3300 10000 3300
Wire Wire Line
9450 3200 9450 3400
Connection ~ 9450 3300
$Comp
L GND #PWR04
U 1 1 53F0FCF1
P 9450 3400
F 0 "#PWR04" H 9450 3400 30 0001 C CNN
F 1 "GND" H 9450 3330 30 0001 C CNN
F 2 "" H 9450 3400 60 0000 C CNN
F 3 "" H 9450 3400 60 0000 C CNN
1 9450 3400
1 0 0 -1
$EndComp
$Comp
L CONN_3 K1
U 1 1 53F0FD67
P 7950 2900
F 0 "K1" V 7900 2900 50 0000 C CNN
F 1 "POWER" V 8000 2900 40 0000 C CNN
F 2 "" H 7950 2900 60 0000 C CNN
F 3 "" H 7950 2900 60 0000 C CNN
1 7950 2900
-1 0 0 1
$EndComp
$Comp
L GND #PWR05
U 1 1 53F0FD7A
P 8350 3100
F 0 "#PWR05" H 8350 3100 30 0001 C CNN
F 1 "GND" H 8350 3030 30 0001 C CNN
F 2 "" H 8350 3100 60 0000 C CNN
F 3 "" H 8350 3100 60 0000 C CNN
1 8350 3100
1 0 0 -1
$EndComp
Wire Wire Line
8300 3000 8550 3000
Wire Wire Line
8350 3000 8350 3100
Connection ~ 8800 2900
$Comp
L +5V #PWR06
U 1 1 53F0FE51
P 8800 2850
F 0 "#PWR06" H 8800 2940 20 0001 C CNN
F 1 "+5V" H 8800 2940 30 0000 C CNN
F 2 "" H 8800 2850 60 0000 C CNN
F 3 "" H 8800 2850 60 0000 C CNN
1 8800 2850
1 0 0 -1
$EndComp
Wire Wire Line
8800 2900 8800 2850
$Comp
L +12V #PWR07
U 1 1 53F0FEBE
P 8350 2750
F 0 "#PWR07" H 8350 2700 20 0001 C CNN
F 1 "+12V" H 8350 2850 30 0000 C CNN
F 2 "" H 8350 2750 60 0000 C CNN
F 3 "" H 8350 2750 60 0000 C CNN
1 8350 2750
1 0 0 -1
$EndComp
Wire Wire Line
8350 2750 8350 2800
Wire Wire Line
8350 2800 8300 2800
$Comp
L +3.3V #PWR08
U 1 1 53F1006E
P 10200 2850
F 0 "#PWR08" H 10200 2810 30 0001 C CNN
F 1 "+3.3V" H 10200 2960 30 0000 C CNN
F 2 "" H 10200 2850 60 0000 C CNN
F 3 "" H 10200 2850 60 0000 C CNN
1 10200 2850
1 0 0 -1
$EndComp
Wire Wire Line
10200 2900 10200 2850
Connection ~ 10000 2900
Wire Wire Line
5500 5350 5500 5800
Wire Wire Line
5500 5350 5200 5350
Wire Wire Line
5200 5650 5250 5650
Wire Wire Line
5450 6100 5200 6100
Wire Wire Line
5600 5900 5600 6400
Wire Wire Line
5600 6400 5200 6400
Text Label 4000 7700 2 60 ~ 0
PD2
Text Label 4000 7600 2 60 ~ 0
PD3
Wire Wire Line
4000 7800 3700 7800
Wire Wire Line
3700 7800 3700 7500
Wire Wire Line
3700 7500 4000 7500
Wire Wire Line
5200 7600 5200 7700
Wire Wire Line
4000 7900 4000 7800
Connection ~ 4000 7800
$Comp
L +5V #PWR09
U 1 1 53F11209
P 5300 7650
F 0 "#PWR09" H 5300 7740 20 0001 C CNN
F 1 "+5V" H 5300 7740 30 0000 C CNN
F 2 "" H 5300 7650 60 0000 C CNN
F 3 "" H 5300 7650 60 0000 C CNN
1 5300 7650
1 0 0 -1
$EndComp
Wire Wire Line
5200 7650 5300 7650
Connection ~ 5200 7650
Text Notes 5700 5500 0 60 ~ 0
Stepper motor module
$Comp
L CONN_2 P4
U 1 1 53F1169C
P 6100 7650
F 0 "P4" V 6050 7650 40 0000 C CNN
F 1 "Slide" V 6150 7650 40 0000 C CNN
F 2 "" H 6100 7650 60 0000 C CNN
F 3 "" H 6100 7650 60 0000 C CNN
1 6100 7650
1 0 0 -1
$EndComp
Wire Wire Line
5200 7500 5500 7500
Wire Wire Line
5500 7500 5500 7550
Wire Wire Line
5500 7550 5750 7550
Wire Wire Line
5200 7800 5500 7800
Wire Wire Line
5500 7800 5500 7750
Wire Wire Line
5500 7750 5750 7750
Wire Notes Line
5700 7050 5700 8850
$Comp
L PWR_FLAG #FLG010
U 1 1 53F11FC5
P 8550 2750
F 0 "#FLG010" H 8550 2845 30 0001 C CNN
F 1 "PWR_FLAG" H 8550 2930 30 0000 C CNN
F 2 "" H 8550 2750 60 0000 C CNN
F 3 "" H 8550 2750 60 0000 C CNN
1 8550 2750
1 0 0 -1
$EndComp
Wire Wire Line
8550 2750 8350 2750
$Comp
L PWR_FLAG #FLG011
U 1 1 53F12233
P 8550 3000
F 0 "#FLG011" H 8550 3095 30 0001 C CNN
F 1 "PWR_FLAG" H 8550 3180 30 0000 C CNN
F 2 "" H 8550 3000 60 0000 C CNN
F 3 "" H 8550 3000 60 0000 C CNN
1 8550 3000
-1 0 0 1
$EndComp
Connection ~ 8350 3000
$Comp
L PWR_FLAG #FLG012
U 1 1 53F122D9
P 9000 2800
F 0 "#FLG012" H 9000 2895 30 0001 C CNN
F 1 "PWR_FLAG" H 9000 2980 30 0000 C CNN
F 2 "" H 9000 2800 60 0000 C CNN
F 3 "" H 9000 2800 60 0000 C CNN
1 9000 2800
1 0 0 -1
$EndComp
Wire Wire Line
9000 2800 9000 2900
Connection ~ 9000 2900
Text Label 5500 8150 2 60 ~ 0
PC3
Text Label 5500 8000 2 60 ~ 0
PC4
Text Label 800 5650 2 60 ~ 0
PC5
Wire Notes Line
2350 4750 750 4750
Text Notes 1050 5000 0 60 ~ 0
Drill motor + pedal
Text Notes 950 4250 0 60 ~ 0
"DRILLSW" is foot-switch.\nPress it to move drill down,\nrelease to return it to start position.\nDouble-click turns drill motor on/off.\n
Text Notes 6600 7150 0 60 ~ 0
Two buttons on tray have following functionality:\nBTN1 - setup zero point (move slowly + set coordinate\n to 0 after footswitch released); next pressing returns\n device to normal state;\nBTN2 - switch between regulation of drill speed/stepper speed;\nBTN1+BTN2 (simultaneously) - move tray up/down.\n\n"volume" varistor allows to regulate motor speed.\nDefault is max drill speed, varistor regulates stepper speed.
Text Notes 1750 2800 2 60 ~ 0
Drill PWM
Text Notes 1700 2000 2 60 ~ 0
Drill sense
Text Notes 5300 2550 0 60 ~ 0
Drill SW
Wire Notes Line
2000 2600 1950 2600
Wire Notes Line
1950 2600 1950 2250
Text Notes 1900 2450 2 60 ~ 0
Stepper phases
Text Notes 5300 1950 0 60 ~ 0
Tray bridge
Text Notes 5300 2450 0 60 ~ 0
BTN1
Text Notes 5300 2350 0 60 ~ 0
BTN2
Text Notes 1950 2200 2 60 ~ 0
Rvar
Text Label 5500 8600 2 60 ~ 0
PB4
Text Notes 5250 2750 0 60 ~ 0
Tray Down
Text Notes 5300 2650 0 60 ~ 0
Tray Up
Text Label 5500 8450 2 60 ~ 0
PC7
Text Label 5500 8300 2 60 ~ 0
PC6
Text Notes 6450 4500 0 60 ~ 0
All MCU inputs connected to switches\nshould be in "pull-up input" mode.
Text Notes 5250 2850 0 60 ~ 0
LED onbrd
Wire Notes Line
5250 1700 5300 1700
Wire Notes Line
5300 1700 5300 1550
Text Notes 5350 1650 0 60 ~ 0
UART
Wire Notes Line
5250 2000 5300 2000
Wire Notes Line
5300 2000 5300 1850
Wire Wire Line
1600 1650 1600 1600
Wire Wire Line
1600 1600 2150 1600
$Comp
L +3.3V #PWR013
U 1 1 54627FDB
P 2150 1400
F 0 "#PWR013" H 2150 1360 30 0001 C CNN
F 1 "+3.3V" H 2150 1510 30 0000 C CNN
F 2 "" H 2150 1400 60 0000 C CNN
F 3 "" H 2150 1400 60 0000 C CNN
1 2150 1400
1 0 0 -1
$EndComp
Wire Wire Line
2150 1400 2150 1500
$Comp
L CONN_1 UP1
U 1 1 54628F0D
P 5950 8000
F 0 "UP1" H 6030 8000 40 0000 L CNN
F 1 "CONN_1" H 5950 8055 30 0001 C CNN
F 2 "" H 5950 8000 60 0000 C CNN
F 3 "" H 5950 8000 60 0000 C CNN
1 5950 8000
1 0 0 -1
$EndComp
$Comp
L CONN_1 DOWN1
U 1 1 54628F38
P 5950 8150
F 0 "DOWN1" H 6030 8150 40 0000 L CNN
F 1 "CONN_1" H 5950 8205 30 0001 C CNN
F 2 "" H 5950 8150 60 0000 C CNN
F 3 "" H 5950 8150 60 0000 C CNN
1 5950 8150
1 0 0 -1
$EndComp
$Comp
L CONN_1 BTN1
U 1 1 54628F3E
P 5950 8300
F 0 "BTN1" H 6030 8300 40 0000 L CNN
F 1 "CONN_1" H 5950 8355 30 0001 C CNN
F 2 "" H 5950 8300 60 0000 C CNN
F 3 "" H 5950 8300 60 0000 C CNN
1 5950 8300
1 0 0 -1
$EndComp
$Comp
L CONN_1 BTN2
U 1 1 54628FEC
P 5950 8450
F 0 "BTN2" H 6030 8450 40 0000 L CNN
F 1 "CONN_1" H 5950 8505 30 0001 C CNN
F 2 "" H 5950 8450 60 0000 C CNN
F 3 "" H 5950 8450 60 0000 C CNN
1 5950 8450
1 0 0 -1
$EndComp
$Comp
L CONN_1 POT1
U 1 1 54628FF2
P 5950 8600
F 0 "POT1" H 6030 8600 40 0000 L CNN
F 1 "CONN_1" H 5950 8655 30 0001 C CNN
F 2 "" H 5950 8600 60 0000 C CNN
F 3 "" H 5950 8600 60 0000 C CNN
1 5950 8600
1 0 0 -1
$EndComp
Wire Wire Line
5500 8000 5800 8000
Wire Wire Line
5500 8150 5800 8150
Wire Wire Line
5500 8300 5800 8300
Wire Wire Line
5500 8450 5800 8450
Wire Wire Line
5500 8600 5800 8600
Wire Notes Line
5700 8850 6300 8850
Wire Notes Line
6300 8850 6300 7050
Wire Notes Line
6300 7050 5700 7050
Text Notes 5900 7200 0 60 ~ 0
Tray
$Comp
L CONN_1 DRILL+1
U 1 1 54629D60
P 1900 5350
F 0 "DRILL+1" H 1980 5350 40 0000 L CNN
F 1 "CONN_1" H 1900 5405 30 0001 C CNN
F 2 "" H 1900 5350 60 0000 C CNN
F 3 "" H 1900 5350 60 0000 C CNN
1 1900 5350
-1 0 0 1
$EndComp
$Comp
L CONN_1 DRILL-1
U 1 1 54629E20
P 1900 5150
F 0 "DRILL-1" H 1980 5150 40 0000 L CNN
F 1 "CONN_1" H 1900 5205 30 0001 C CNN
F 2 "" H 1900 5150 60 0000 C CNN
F 3 "" H 1900 5150 60 0000 C CNN
1 1900 5150
-1 0 0 1
$EndComp
Wire Wire Line
2050 5350 2150 5350
Wire Wire Line
2150 5350 2150 5700
Wire Wire Line
2150 5700 2100 5700
Wire Wire Line
2100 6100 2200 6100
Wire Wire Line
2200 6100 2200 5150
Wire Wire Line
2200 5150 2050 5150
Wire Notes Line
2350 5400 750 5400
Wire Notes Line
2350 5400 2350 4750
Wire Notes Line
750 5400 750 4750
$Comp
L CONN_1 DRILLSW1
U 1 1 5462B0E5
P 1100 5150
F 0 "DRILLSW1" H 1180 5150 40 0000 L CNN
F 1 "CONN_1" H 1100 5205 30 0001 C CNN
F 2 "" H 1100 5150 60 0000 C CNN
F 3 "" H 1100 5150 60 0000 C CNN
1 1100 5150
1 0 0 -1
$EndComp
$Comp
L CONN_1 GND1
U 1 1 5462B0EB
P 1100 5300
F 0 "GND1" H 1180 5300 40 0000 L CNN
F 1 "CONN_1" H 1100 5355 30 0001 C CNN
F 2 "" H 1100 5300 60 0000 C CNN
F 3 "" H 1100 5300 60 0000 C CNN
1 1100 5300
1 0 0 -1
$EndComp
$Comp
L GND #PWR014
U 1 1 5462B234
P 950 5500
F 0 "#PWR014" H 950 5500 30 0001 C CNN
F 1 "GND" H 950 5430 30 0001 C CNN
F 2 "" H 950 5500 60 0000 C CNN
F 3 "" H 950 5500 60 0000 C CNN
1 950 5500
1 0 0 -1
$EndComp
Wire Wire Line
950 5500 950 5300
Wire Wire Line
800 5650 800 5150
Wire Wire Line
800 5150 950 5150
Wire Notes Line
5650 5350 5650 6100
Wire Notes Line
5650 6100 6800 6100
Wire Notes Line
6800 6100 6800 5350
Wire Notes Line
6800 5350 5650 5350
NoConn ~ 2150 1700
NoConn ~ 2150 1800
NoConn ~ 2150 1900
NoConn ~ 2150 2100
NoConn ~ 2150 2700
NoConn ~ 4950 1500
NoConn ~ 4950 1800
NoConn ~ 4950 2100
NoConn ~ 4950 2200
NoConn ~ 4950 2800
$Comp
L GND #PWR015
U 1 1 5462CB9D
P 4000 7900
F 0 "#PWR015" H 4000 7900 30 0001 C CNN
F 1 "GND" H 4000 7830 30 0001 C CNN
F 2 "" H 4000 7900 60 0000 C CNN
F 3 "" H 4000 7900 60 0000 C CNN
1 4000 7900
1 0 0 -1
$EndComp
NoConn ~ 4950 1600
NoConn ~ 4950 1700
Wire Wire Line
5500 5800 5750 5800
Wire Wire Line
5250 5650 5250 5700
Wire Wire Line
5250 5700 5750 5700
Wire Wire Line
5600 5900 5750 5900
Wire Wire Line
5450 6100 5450 6000
Wire Wire Line
5450 6000 5750 6000
$Comp
L stm8s105board X1
U 1 1 549FF443
P 3550 2350
F 0 "X1" H 3550 3400 60 0000 C CNN
F 1 "stm8s105board" H 3550 1700 60 0000 C CNN
F 2 "devboard_pins-9-14" H 3550 2350 60 0001 C CNN
F 3 "" H 3550 2350 60 0000 C CNN
1 3550 2350
1 0 0 -1
$EndComp
$EndSCHEMATC

View File

@ -0,0 +1,361 @@
EESchema-LIBRARY Version 2.3
#encoding utf-8
#
# +12V
#
DEF +12V #PWR 0 0 N Y 1 F P
F0 "#PWR" 0 -50 20 H I C CNN
F1 "+12V" 0 100 30 H V C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
DRAW
X +12V 1 0 0 0 U 20 30 0 0 W N
C 0 60 20 0 1 0 N
P 3 0 1 0 0 0 0 40 0 40 N
ENDDRAW
ENDDEF
#
# +3.3V
#
DEF +3.3V #PWR 0 0 Y Y 1 F P
F0 "#PWR" 0 -40 30 H I C CNN
F1 "+3.3V" 0 110 30 H V C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
ALIAS +3,3V
DRAW
X +3.3V 1 0 0 0 U 30 30 0 0 W N
C 0 60 20 0 1 0 N
P 3 0 1 0 0 0 0 40 0 40 N
ENDDRAW
ENDDEF
#
# +5V
#
DEF +5V #PWR 0 40 Y Y 1 F P
F0 "#PWR" 0 90 20 H I C CNN
F1 "+5V" 0 90 30 H V C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
DRAW
X +5V 1 0 0 0 U 20 20 0 0 W N
C 0 50 20 0 1 0 N
P 4 0 1 0 0 0 0 30 0 30 0 30 N
ENDDRAW
ENDDEF
#
# C
#
DEF C C 0 10 N Y 1 F N
F0 "C" 0 100 40 H V L CNN
F1 "C" 6 -85 40 H V L CNN
F2 "" 38 -150 30 H V C CNN
F3 "" 0 0 60 H V C CNN
$FPLIST
SM*
C?
C1-1
$ENDFPLIST
DRAW
P 2 0 1 20 -80 -30 80 -30 N
P 2 0 1 20 -80 30 80 30 N
X ~ 1 0 200 170 D 40 40 1 1 P
X ~ 2 0 -200 170 U 40 40 1 1 P
ENDDRAW
ENDDEF
#
# CONN_1
#
DEF ~CONN_1 P 0 30 N N 1 F N
F0 "P" 80 0 40 H V L CNN
F1 "CONN_1" 0 55 30 H I C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
DRAW
C 0 0 31 0 1 0 N
P 2 0 1 0 -30 0 -50 0 N
X 1 1 -150 0 100 R 60 60 1 1 P
ENDDRAW
ENDDEF
#
# CONN_2
#
DEF CONN_2 P 0 40 Y N 1 F N
F0 "P" -50 0 40 V V C CNN
F1 "CONN_2" 50 0 40 V V C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
DRAW
S -100 150 100 -150 0 1 0 N
X P1 1 -350 100 250 R 60 60 1 1 P I
X PM 2 -350 -100 250 R 60 60 1 1 P I
ENDDRAW
ENDDEF
#
# CONN_3
#
DEF CONN_3 K 0 40 Y N 1 F N
F0 "K" -50 0 50 V V C CNN
F1 "CONN_3" 50 0 40 V V C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
DRAW
S -100 150 100 -150 0 1 0 N
X P1 1 -350 100 250 R 60 60 1 1 P I
X PM 2 -350 0 250 R 60 60 1 1 P I
X P3 3 -350 -100 250 R 60 60 1 1 P I
ENDDRAW
ENDDEF
#
# CONN_4
#
DEF CONN_4 P 0 40 Y N 1 F N
F0 "P" -50 0 50 V V C CNN
F1 "CONN_4" 50 0 50 V V C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
DRAW
S -100 200 100 -200 0 1 0 N
X P1 1 -350 150 250 R 50 50 1 1 P I
X P2 2 -350 50 250 R 50 50 1 1 P I
X P3 3 -350 -50 250 R 50 50 1 1 P I
X P4 4 -350 -150 250 R 50 50 1 1 P I
ENDDRAW
ENDDEF
#
# CP1
#
DEF CP1 C 0 10 N N 1 F N
F0 "C" 50 100 50 H V L CNN
F1 "CP1" 50 -100 50 H V L CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
$FPLIST
CP*
SM*
$ENDFPLIST
DRAW
T 0 -50 100 80 0 0 0 + Normal 0 C C
A 0 -200 180 563 1236 0 1 15 N 100 -50 -100 -50
P 4 0 1 15 -100 50 100 50 50 50 50 50 N
X ~ 1 0 200 150 D 40 40 1 1 P
X ~ 2 0 -200 180 U 40 40 1 1 P
ENDDRAW
ENDDEF
#
# DIODESCH
#
DEF DIODESCH D 0 40 N N 1 F N
F0 "D" 0 100 40 H V C CNN
F1 "DIODESCH" 0 -100 40 H V C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
$FPLIST
D?
S*
$ENDFPLIST
DRAW
P 3 0 1 0 -50 50 50 0 -50 -50 F
P 6 0 1 8 75 25 75 50 50 50 50 -50 25 -50 25 -25 N
X A 1 -200 0 150 R 40 40 1 1 P
X K 2 200 0 150 L 40 40 1 1 P
ENDDRAW
ENDDEF
#
# GND
#
DEF ~GND #PWR 0 0 Y Y 1 F P
F0 "#PWR" 0 0 30 H I C CNN
F1 "GND" 0 -70 30 H I C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
DRAW
P 4 0 1 0 -50 0 0 -50 50 0 -50 0 N
X GND 1 0 0 0 U 30 30 1 1 W N
ENDDRAW
ENDDEF
#
# L9110
#
DEF L9110 DA 0 40 Y Y 1 F N
F0 "DA" 0 -300 50 H V C CNN
F1 "L9110" 0 300 50 H V C CNN
F2 "" 0 0 50 H I C CNN
F3 "" 0 0 50 H I C CNN
$FPLIST
DIP8*
DIP-8*
SOP8*
SOP-8*
$ENDFPLIST
DRAW
S -300 250 300 -250 0 1 0 N
X OA 1 -600 150 300 R 50 50 1 1 O
X VCC 2 -600 50 300 R 50 50 1 1 W
X VCC 3 -600 -50 300 R 50 50 1 1 W
X OB 4 -600 -150 300 R 50 50 1 1 O
X GND 5 600 -150 300 L 50 50 1 1 W
X IA 6 600 -50 300 L 50 50 1 1 I
X IB 7 600 50 300 L 50 50 1 1 I
X GND 8 600 150 300 L 50 50 1 1 W
ENDDRAW
ENDDEF
#
# LM1117MPX-3.3
#
DEF LM1117MPX-3.3 U 0 40 Y Y 1 F N
F0 "U" -200 200 40 H V C CNN
F1 "LM1117MPX-3.3" 0 200 40 H V L CNN
F2 "SOT223" 0 100 30 H I C CIN
F3 "" 0 0 60 H V C CNN
ALIAS LM317AEMP
$FPLIST
SOT223*
$ENDFPLIST
DRAW
S -250 150 250 -150 0 1 10 f
X GND 1 0 -250 100 U 40 40 1 1 W
X OUT 2 400 50 150 L 40 40 1 1 w
X IN 3 -400 50 150 R 40 40 1 1 W
ENDDRAW
ENDDEF
#
# PWR_FLAG
#
DEF PWR_FLAG #FLG 0 0 N N 1 F P
F0 "#FLG" 0 95 30 H I C CNN
F1 "PWR_FLAG" 0 180 30 H V C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
DRAW
X pwr 1 0 0 0 U 20 20 0 0 w
P 6 0 1 0 0 0 0 50 -75 100 0 150 75 100 0 50 N
ENDDRAW
ENDDEF
#
# R
#
DEF R R 0 0 N Y 1 F N
F0 "R" 80 0 40 V V C CNN
F1 "R" 7 1 40 V V C CNN
F2 "" -70 0 30 V V C CNN
F3 "" 0 0 30 H V C CNN
$FPLIST
R?
SM0603
SM0805
R?-*
SM1206
$ENDFPLIST
DRAW
S -40 150 40 -150 0 1 12 N
X ~ 1 0 250 100 D 60 60 1 1 P
X ~ 2 0 -250 100 U 60 60 1 1 P
ENDDRAW
ENDDEF
#
# S8205A
#
DEF S8205A VT 0 0 N Y 1 F N
F0 "VT" 75 -375 60 H V R CNN
F1 "S8205A" 150 350 60 H V R CNN
F2 "TSSOP-8" -50 -300 60 H I C CNN
F3 "" 150 0 60 H V C CNN
$FPLIST
TSSOP8*
TSSOP-8*
$ENDFPLIST
DRAW
C -200 0 180 0 1 12 N
C 200 0 180 0 1 12 N
S -450 300 450 -300 0 1 12 N
P 2 0 1 0 -315 65 -265 65 N
P 2 0 1 0 -290 -100 -250 -100 N
P 2 0 1 0 -290 100 -290 -100 N
P 2 0 1 6 -290 100 -290 200 N
P 2 0 1 0 -290 100 -250 100 N
P 2 0 1 0 -250 -100 -150 -100 N
P 2 0 1 0 -250 100 -150 100 N
P 2 0 1 12 -150 -60 -150 -140 N
P 2 0 1 12 -150 40 -150 -40 N
P 2 0 1 12 -150 140 -150 60 N
P 2 0 1 8 -100 -100 -100 100 N
P 2 0 1 8 100 -100 100 100 N
P 2 0 1 12 150 -60 150 -140 N
P 2 0 1 12 150 40 150 -40 N
P 2 0 1 12 150 140 150 60 N
P 2 0 1 0 250 -100 150 -100 N
P 2 0 1 0 250 100 150 100 N
P 2 0 1 0 250 100 290 100 N
P 2 0 1 0 265 65 315 65 N
P 2 0 1 0 290 -100 250 -100 N
P 2 0 1 0 290 100 290 -100 N
P 2 0 1 6 290 100 290 200 N
P 2 0 1 6 450 200 -450 200 N
P 3 0 1 8 -290 -100 -410 -100 -410 -75 N
P 3 0 1 8 -250 -100 -250 0 -200 0 N
P 3 0 1 8 250 -100 250 0 200 0 N
P 3 0 1 8 410 -75 410 -100 290 -100 N
P 4 0 1 8 -450 -200 -25 -200 -25 -100 -100 -100 N
P 4 0 1 8 -450 75 -410 75 -410 -75 -450 -75 N
P 4 0 1 0 -290 65 -315 25 -265 25 -290 65 F
P 4 0 1 0 290 65 265 25 315 25 290 65 F
P 4 0 1 8 450 -200 25 -200 25 -100 100 -100 N
P 4 0 1 8 450 -75 410 -75 410 75 450 75 N
P 5 0 1 8 -200 30 -200 -30 -150 0 -200 30 -200 30 F
P 5 0 1 8 200 30 200 -30 150 0 200 30 200 30 F
X D 1 -750 200 300 R 50 50 1 1 P
X S1 2 -750 75 300 R 50 50 1 1 P
X S1 3 -750 -75 300 R 50 50 1 1 P
X G1 4 -750 -200 300 R 50 50 1 1 P
X G2 5 750 -200 300 L 50 50 1 1 P
X S2 6 750 -75 300 L 50 50 1 1 P
X S2 7 750 75 300 L 50 50 1 1 P
X D 8 750 200 300 L 50 50 1 1 P
ENDDRAW
ENDDEF
#
# stm8s105board
#
DEF stm8s105board X 0 40 Y Y 1 F N
F0 "X" 0 1050 60 H V C CNN
F1 "stm8s105board" 0 -650 60 H V C CNN
F2 "devboard_pins-9-14" 0 0 60 H I C CNN
F3 "" 0 0 60 H V C CNN
$FPLIST
stm8s105board
$ENDFPLIST
DRAW
S -1100 950 1100 -550 0 1 0 N
X VDD(3.3-5v) 1 -1400 850 300 R 50 50 1 1 W
X GND 2 -1400 750 300 R 50 50 1 1 W
X NRST 3 -1400 650 300 R 50 50 1 1 I
X OSCIN/PA1 4 -1400 550 300 R 50 50 1 1 T
X OSCOUT/PA2 5 -1400 450 300 R 50 50 1 1 T
X PF4/AIN12 6 -1400 350 300 R 50 50 1 1 T
X PB5/AIN5[I2X_SDA] 7 -1400 250 300 R 50 50 1 1 T
X PB4/AIN4[I2C_SCL] 8 -1400 150 300 R 50 50 1 1 T
X PB3/AIN3[TIM1_ETR] 9 -1400 50 300 R 50 50 1 1 T
X PB2/AIN2[TIM1_CH3N] 10 -1400 -50 300 R 50 50 1 1 T
X PC7(HS)/SPI_MISO 20 1400 50 300 L 50 50 1 1 T
X PB1/AIN1_[TIM1_CH2N] 11 -1400 -150 300 R 50 50 1 1 T
X PD0(HS)/TIM3_CH2[TIM1_BKIN][CLK_CCO] 21 1400 150 300 L 50 39 1 1 T
X PB0/AIN0_[TIM1_CH1N] 12 -1400 -250 300 R 50 50 1 1 T
X PD1(HS)/SWIM 22 1400 250 300 L 50 50 1 1 T
X PE5/SPI_NSS 13 -1400 -350 300 R 50 50 1 1 T
X PD2(HS)/TIM3_CH1[TIM2_CH3] 23 1400 350 300 L 50 50 1 1 T
X PC1(HS)/TIM1_CH1 14 -1400 -450 300 R 50 50 1 1 T
X PD3(HS)/TIM2_CH2[ADC_ETR] 24 1400 450 300 L 50 50 1 1 T
X PC2(HS)/TIM1_CH2 15 1400 -450 300 L 50 50 1 1 T
X PD4(HS)/TIM2_CH1[BEEP] 25 1400 550 300 L 50 50 1 1 T
X PC3(HS)/TIM1_CH3 16 1400 -350 300 L 50 50 1 1 T
X PD5/UART2_TX 26 1400 650 300 L 50 50 1 1 T
X PC4(HS)/TIM1_CH4 17 1400 -250 300 L 50 50 1 1 T
X PD6/UART2_RX 27 1400 750 300 L 50 50 1 1 T
X PC5(HS)/SPI_SCK 18 1400 -150 300 L 50 50 1 1 T
X PD7/TLI[TIM1_CH4] 28 1400 850 300 L 50 50 1 1 T
X PC6(HS)/SPI_MOSI 19 1400 -50 300 L 50 50 1 1 T
ENDDRAW
ENDDEF
#
#End Library

View File

@ -0,0 +1,361 @@
EESchema-LIBRARY Version 2.3
#encoding utf-8
#
# +12V
#
DEF +12V #PWR 0 0 N Y 1 F P
F0 "#PWR" 0 -50 20 H I C CNN
F1 "+12V" 0 100 30 H V C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
DRAW
X +12V 1 0 0 0 U 20 30 0 0 W N
C 0 60 20 0 1 0 N
P 3 0 1 0 0 0 0 40 0 40 N
ENDDRAW
ENDDEF
#
# +3.3V
#
DEF +3.3V #PWR 0 0 Y Y 1 F P
F0 "#PWR" 0 -40 30 H I C CNN
F1 "+3.3V" 0 110 30 H V C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
ALIAS +3,3V
DRAW
X +3.3V 1 0 0 0 U 30 30 0 0 W N
C 0 60 20 0 1 0 N
P 3 0 1 0 0 0 0 40 0 40 N
ENDDRAW
ENDDEF
#
# +5V
#
DEF +5V #PWR 0 40 Y Y 1 F P
F0 "#PWR" 0 90 20 H I C CNN
F1 "+5V" 0 90 30 H V C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
DRAW
X +5V 1 0 0 0 U 20 20 0 0 W N
C 0 50 20 0 1 0 N
P 4 0 1 0 0 0 0 30 0 30 0 30 N
ENDDRAW
ENDDEF
#
# C
#
DEF C C 0 10 N Y 1 F N
F0 "C" 0 100 40 H V L CNN
F1 "C" 6 -85 40 H V L CNN
F2 "" 38 -150 30 H V C CNN
F3 "" 0 0 60 H V C CNN
$FPLIST
SM*
C?
C1-1
$ENDFPLIST
DRAW
P 2 0 1 20 -80 -30 80 -30 N
P 2 0 1 20 -80 30 80 30 N
X ~ 1 0 200 170 D 40 40 1 1 P
X ~ 2 0 -200 170 U 40 40 1 1 P
ENDDRAW
ENDDEF
#
# CONN_1
#
DEF ~CONN_1 P 0 30 N N 1 F N
F0 "P" 80 0 40 H V L CNN
F1 "CONN_1" 0 55 30 H I C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
DRAW
C 0 0 31 0 1 0 N
P 2 0 1 0 -30 0 -50 0 N
X 1 1 -150 0 100 R 60 60 1 1 P
ENDDRAW
ENDDEF
#
# CONN_2
#
DEF CONN_2 P 0 40 Y N 1 F N
F0 "P" -50 0 40 V V C CNN
F1 "CONN_2" 50 0 40 V V C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
DRAW
S -100 150 100 -150 0 1 0 N
X P1 1 -350 100 250 R 60 60 1 1 P I
X PM 2 -350 -100 250 R 60 60 1 1 P I
ENDDRAW
ENDDEF
#
# CONN_3
#
DEF CONN_3 K 0 40 Y N 1 F N
F0 "K" -50 0 50 V V C CNN
F1 "CONN_3" 50 0 40 V V C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
DRAW
S -100 150 100 -150 0 1 0 N
X P1 1 -350 100 250 R 60 60 1 1 P I
X PM 2 -350 0 250 R 60 60 1 1 P I
X P3 3 -350 -100 250 R 60 60 1 1 P I
ENDDRAW
ENDDEF
#
# CONN_4
#
DEF CONN_4 P 0 40 Y N 1 F N
F0 "P" -50 0 50 V V C CNN
F1 "CONN_4" 50 0 50 V V C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
DRAW
S -100 200 100 -200 0 1 0 N
X P1 1 -350 150 250 R 50 50 1 1 P I
X P2 2 -350 50 250 R 50 50 1 1 P I
X P3 3 -350 -50 250 R 50 50 1 1 P I
X P4 4 -350 -150 250 R 50 50 1 1 P I
ENDDRAW
ENDDEF
#
# CP1
#
DEF CP1 C 0 10 N N 1 F N
F0 "C" 50 100 50 H V L CNN
F1 "CP1" 50 -100 50 H V L CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
$FPLIST
CP*
SM*
$ENDFPLIST
DRAW
T 0 -50 100 80 0 0 0 + Normal 0 C C
A 0 -200 180 563 1236 0 1 15 N 100 -50 -100 -50
P 4 0 1 15 -100 50 100 50 50 50 50 50 N
X ~ 1 0 200 150 D 40 40 1 1 P
X ~ 2 0 -200 180 U 40 40 1 1 P
ENDDRAW
ENDDEF
#
# DIODESCH
#
DEF DIODESCH D 0 40 N N 1 F N
F0 "D" 0 100 40 H V C CNN
F1 "DIODESCH" 0 -100 40 H V C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
$FPLIST
D?
S*
$ENDFPLIST
DRAW
P 3 0 1 0 -50 50 50 0 -50 -50 F
P 6 0 1 8 75 25 75 50 50 50 50 -50 25 -50 25 -25 N
X A 1 -200 0 150 R 40 40 1 1 P
X K 2 200 0 150 L 40 40 1 1 P
ENDDRAW
ENDDEF
#
# GND
#
DEF ~GND #PWR 0 0 Y Y 1 F P
F0 "#PWR" 0 0 30 H I C CNN
F1 "GND" 0 -70 30 H I C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
DRAW
P 4 0 1 0 -50 0 0 -50 50 0 -50 0 N
X GND 1 0 0 0 U 30 30 1 1 W N
ENDDRAW
ENDDEF
#
# L9110
#
DEF L9110 DA 0 40 Y Y 1 F N
F0 "DA" 0 -300 50 H V C CNN
F1 "L9110" 0 300 50 H V C CNN
F2 "" 0 0 50 H I C CNN
F3 "" 0 0 50 H I C CNN
$FPLIST
DIP8*
DIP-8*
SOP8*
SOP-8*
$ENDFPLIST
DRAW
S -300 250 300 -250 0 1 0 N
X OA 1 -600 150 300 R 50 50 1 1 O
X VCC 2 -600 50 300 R 50 50 1 1 W
X VCC 3 -600 -50 300 R 50 50 1 1 W
X OB 4 -600 -150 300 R 50 50 1 1 O
X GND 5 600 -150 300 L 50 50 1 1 W
X IA 6 600 -50 300 L 50 50 1 1 I
X IB 7 600 50 300 L 50 50 1 1 I
X GND 8 600 150 300 L 50 50 1 1 W
ENDDRAW
ENDDEF
#
# LM1117MPX-3.3
#
DEF LM1117MPX-3.3 U 0 40 Y Y 1 F N
F0 "U" -200 200 40 H V C CNN
F1 "LM1117MPX-3.3" 0 200 40 H V L CNN
F2 "SOT223" 0 100 30 H I C CIN
F3 "" 0 0 60 H V C CNN
ALIAS LM317AEMP
$FPLIST
SOT223*
$ENDFPLIST
DRAW
S -250 150 250 -150 0 1 10 f
X GND 1 0 -250 100 U 40 40 1 1 W
X OUT 2 400 50 150 L 40 40 1 1 w
X IN 3 -400 50 150 R 40 40 1 1 W
ENDDRAW
ENDDEF
#
# PWR_FLAG
#
DEF PWR_FLAG #FLG 0 0 N N 1 F P
F0 "#FLG" 0 95 30 H I C CNN
F1 "PWR_FLAG" 0 180 30 H V C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
DRAW
X pwr 1 0 0 0 U 20 20 0 0 w
P 6 0 1 0 0 0 0 50 -75 100 0 150 75 100 0 50 N
ENDDRAW
ENDDEF
#
# R
#
DEF R R 0 0 N Y 1 F N
F0 "R" 80 0 40 V V C CNN
F1 "R" 7 1 40 V V C CNN
F2 "" -70 0 30 V V C CNN
F3 "" 0 0 30 H V C CNN
$FPLIST
R?
SM0603
SM0805
R?-*
SM1206
$ENDFPLIST
DRAW
S -40 150 40 -150 0 1 12 N
X ~ 1 0 250 100 D 60 60 1 1 P
X ~ 2 0 -250 100 U 60 60 1 1 P
ENDDRAW
ENDDEF
#
# S8205A
#
DEF S8205A VT 0 0 N Y 1 F N
F0 "VT" 75 -375 60 H V R CNN
F1 "S8205A" 150 350 60 H V R CNN
F2 "TSSOP-8" -50 -300 60 H I C CNN
F3 "" 150 0 60 H V C CNN
$FPLIST
TSSOP8*
TSSOP-8*
$ENDFPLIST
DRAW
C -200 0 180 0 1 12 N
C 200 0 180 0 1 12 N
S -450 300 450 -300 0 1 12 N
P 2 0 1 0 -315 65 -265 65 N
P 2 0 1 0 -290 -100 -250 -100 N
P 2 0 1 0 -290 100 -290 -100 N
P 2 0 1 6 -290 100 -290 200 N
P 2 0 1 0 -290 100 -250 100 N
P 2 0 1 0 -250 -100 -150 -100 N
P 2 0 1 0 -250 100 -150 100 N
P 2 0 1 12 -150 -60 -150 -140 N
P 2 0 1 12 -150 40 -150 -40 N
P 2 0 1 12 -150 140 -150 60 N
P 2 0 1 8 -100 -100 -100 100 N
P 2 0 1 8 100 -100 100 100 N
P 2 0 1 12 150 -60 150 -140 N
P 2 0 1 12 150 40 150 -40 N
P 2 0 1 12 150 140 150 60 N
P 2 0 1 0 250 -100 150 -100 N
P 2 0 1 0 250 100 150 100 N
P 2 0 1 0 250 100 290 100 N
P 2 0 1 0 265 65 315 65 N
P 2 0 1 0 290 -100 250 -100 N
P 2 0 1 0 290 100 290 -100 N
P 2 0 1 6 290 100 290 200 N
P 2 0 1 6 450 200 -450 200 N
P 3 0 1 8 -290 -100 -410 -100 -410 -75 N
P 3 0 1 8 -250 -100 -250 0 -200 0 N
P 3 0 1 8 250 -100 250 0 200 0 N
P 3 0 1 8 410 -75 410 -100 290 -100 N
P 4 0 1 8 -450 -200 -25 -200 -25 -100 -100 -100 N
P 4 0 1 8 -450 75 -410 75 -410 -75 -450 -75 N
P 4 0 1 0 -290 65 -315 25 -265 25 -290 65 F
P 4 0 1 0 290 65 265 25 315 25 290 65 F
P 4 0 1 8 450 -200 25 -200 25 -100 100 -100 N
P 4 0 1 8 450 -75 410 -75 410 75 450 75 N
P 5 0 1 8 -200 30 -200 -30 -150 0 -200 30 -200 30 F
P 5 0 1 8 200 30 200 -30 150 0 200 30 200 30 F
X D 1 -750 200 300 R 50 50 1 1 P
X S1 2 -750 75 300 R 50 50 1 1 P
X S1 3 -750 -75 300 R 50 50 1 1 P
X G1 4 -750 -200 300 R 50 50 1 1 P
X G2 5 750 -200 300 L 50 50 1 1 P
X S2 6 750 -75 300 L 50 50 1 1 P
X S2 7 750 75 300 L 50 50 1 1 P
X D 8 750 200 300 L 50 50 1 1 P
ENDDRAW
ENDDEF
#
# stm8s105board
#
DEF stm8s105board X 0 40 Y Y 1 F N
F0 "X" 0 1050 60 H V C CNN
F1 "stm8s105board" 0 -650 60 H V C CNN
F2 "devboard_pins-9-14" 0 0 60 H I C CNN
F3 "" 0 0 60 H V C CNN
$FPLIST
stm8s105board
$ENDFPLIST
DRAW
S -1100 950 1100 -550 0 1 0 N
X VDD(3.3-5v) 1 -1400 850 300 R 50 50 1 1 W
X GND 2 -1400 750 300 R 50 50 1 1 W
X NRST 3 -1400 650 300 R 50 50 1 1 I
X OSCIN/PA1 4 -1400 550 300 R 50 50 1 1 T
X OSCOUT/PA2 5 -1400 450 300 R 50 50 1 1 T
X PF4/AIN12 6 -1400 350 300 R 50 50 1 1 T
X PB5/AIN5[I2X_SDA] 7 -1400 250 300 R 50 50 1 1 T
X PB4/AIN4[I2C_SCL] 8 -1400 150 300 R 50 50 1 1 T
X PB3/AIN3[TIM1_ETR] 9 -1400 50 300 R 50 50 1 1 T
X PB2/AIN2[TIM1_CH3N] 10 -1400 -50 300 R 50 50 1 1 T
X PC7(HS)/SPI_MISO 20 1400 50 300 L 50 50 1 1 T
X PB1/AIN1_[TIM1_CH2N] 11 -1400 -150 300 R 50 50 1 1 T
X PD0(HS)/TIM3_CH2[TIM1_BKIN][CLK_CCO] 21 1400 150 300 L 50 39 1 1 T
X PB0/AIN0_[TIM1_CH1N] 12 -1400 -250 300 R 50 50 1 1 T
X PD1(HS)/SWIM 22 1400 250 300 L 50 50 1 1 T
X PE5/SPI_NSS 13 -1400 -350 300 R 50 50 1 1 T
X PD2(HS)/TIM3_CH1[TIM2_CH3] 23 1400 350 300 L 50 50 1 1 T
X PC1(HS)/TIM1_CH1 14 -1400 -450 300 R 50 50 1 1 T
X PD3(HS)/TIM2_CH2[ADC_ETR] 24 1400 450 300 L 50 50 1 1 T
X PC2(HS)/TIM1_CH2 15 1400 -450 300 L 50 50 1 1 T
X PD4(HS)/TIM2_CH1[BEEP] 25 1400 550 300 L 50 50 1 1 T
X PC3(HS)/TIM1_CH3 16 1400 -350 300 L 50 50 1 1 T
X PD5/UART2_TX 26 1400 650 300 L 50 50 1 1 T
X PC4(HS)/TIM1_CH4 17 1400 -250 300 L 50 50 1 1 T
X PD6/UART2_RX 27 1400 750 300 L 50 50 1 1 T
X PC5(HS)/SPI_SCK 18 1400 -150 300 L 50 50 1 1 T
X PD7/TLI[TIM1_CH4] 28 1400 850 300 L 50 50 1 1 T
X PC6(HS)/SPI_MOSI 19 1400 -50 300 L 50 50 1 1 T
ENDDRAW
ENDDEF
#
#End Library

View File

@ -0,0 +1,211 @@
EESchema-LIBRARY Version 2.4
#encoding utf-8
#
# +12V
#
DEF +12V #PWR 0 0 N Y 1 F P
F0 "#PWR" 0 -50 20 H I C CNN
F1 "+12V" 0 100 30 H V C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
DRAW
C 0 60 20 0 1 0 N
P 3 0 1 0 0 0 0 40 0 40 N
X +12V 1 0 0 0 U 20 30 0 0 W N
ENDDRAW
ENDDEF
#
# +3.3V
#
DEF +3.3V #PWR 0 0 Y Y 1 F P
F0 "#PWR" 0 -40 30 H I C CNN
F1 "+3.3V" 0 110 30 H V C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
DRAW
C 0 60 20 0 1 0 N
P 3 0 1 0 0 0 0 40 0 40 N
X +3.3V 1 0 0 0 U 30 30 0 0 W N
ENDDRAW
ENDDEF
#
# +5V
#
DEF +5V #PWR 0 40 Y Y 1 F P
F0 "#PWR" 0 90 20 H I C CNN
F1 "+5V" 0 90 30 H V C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
DRAW
C 0 50 20 0 1 0 N
P 4 0 1 0 0 0 0 30 0 30 0 30 N
X +5V 1 0 0 0 U 20 20 0 0 W N
ENDDRAW
ENDDEF
#
# C
#
DEF C C 0 10 N Y 1 F N
F0 "C" 0 100 40 H V L CNN
F1 "C" 6 -85 40 H V L CNN
F2 "" 38 -150 30 H V C CNN
F3 "" 0 0 60 H V C CNN
$FPLIST
SM*
C?
C1-1
$ENDFPLIST
DRAW
P 2 0 1 20 -80 -30 80 -30 N
P 2 0 1 20 -80 30 80 30 N
X ~ 1 0 200 170 D 40 40 1 1 P
X ~ 2 0 -200 170 U 40 40 1 1 P
ENDDRAW
ENDDEF
#
# CONN_1
#
DEF ~CONN_1 P 0 30 N N 1 F N
F0 "P" 80 0 40 H V L CNN
F1 "CONN_1" 0 55 30 H I C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
DRAW
C 0 0 31 0 1 0 N
P 2 0 1 0 -30 0 -50 0 N
X 1 1 -150 0 100 R 60 60 1 1 P
ENDDRAW
ENDDEF
#
# CONN_2
#
DEF CONN_2 P 0 40 Y N 1 F N
F0 "P" -50 0 40 V V C CNN
F1 "CONN_2" 50 0 40 V V C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
DRAW
S -100 150 100 -150 0 1 0 N
X P1 1 -350 100 250 R 60 60 1 1 P I
X PM 2 -350 -100 250 R 60 60 1 1 P I
ENDDRAW
ENDDEF
#
# CONN_3
#
DEF CONN_3 K 0 40 Y N 1 F N
F0 "K" -50 0 50 V V C CNN
F1 "CONN_3" 50 0 40 V V C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
DRAW
S -100 150 100 -150 0 1 0 N
X P1 1 -350 100 250 R 60 60 1 1 P I
X PM 2 -350 0 250 R 60 60 1 1 P I
X P3 3 -350 -100 250 R 60 60 1 1 P I
ENDDRAW
ENDDEF
#
# CONN_4
#
DEF CONN_4 P 0 40 Y N 1 F N
F0 "P" -50 0 50 V V C CNN
F1 "CONN_4" 50 0 50 V V C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
DRAW
S -100 200 100 -200 0 1 0 N
X P1 1 -350 150 250 R 50 50 1 1 P I
X P2 2 -350 50 250 R 50 50 1 1 P I
X P3 3 -350 -50 250 R 50 50 1 1 P I
X P4 4 -350 -150 250 R 50 50 1 1 P I
ENDDRAW
ENDDEF
#
# CP1
#
DEF CP1 C 0 10 N N 1 F N
F0 "C" 50 100 50 H V L CNN
F1 "CP1" 50 -100 50 H V L CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
$FPLIST
CP*
SM*
$ENDFPLIST
DRAW
A 0 -200 180 563 1236 0 1 15 N 100 -50 -100 -50
T 0 -50 100 80 0 0 0 + Normal 0 C C
P 4 0 1 15 -100 50 100 50 50 50 50 50 N
X ~ 1 0 200 150 D 40 40 1 1 P
X ~ 2 0 -200 180 U 40 40 1 1 P
ENDDRAW
ENDDEF
#
# DIODESCH
#
DEF DIODESCH D 0 40 N N 1 F N
F0 "D" 0 100 40 H V C CNN
F1 "DIODESCH" 0 -100 40 H V C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
$FPLIST
D?
S*
$ENDFPLIST
DRAW
P 3 0 1 0 -50 50 50 0 -50 -50 F
P 6 0 1 8 75 25 75 50 50 50 50 -50 25 -50 25 -25 N
X A 1 -200 0 150 R 40 40 1 1 P
X K 2 200 0 150 L 40 40 1 1 P
ENDDRAW
ENDDEF
#
# GND
#
DEF ~GND #PWR 0 0 Y Y 1 F P
F0 "#PWR" 0 0 30 H I C CNN
F1 "GND" 0 -70 30 H I C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
DRAW
P 4 0 1 0 -50 0 0 -50 50 0 -50 0 N
X GND 1 0 0 0 U 30 30 1 1 W N
ENDDRAW
ENDDEF
#
# PWR_FLAG
#
DEF PWR_FLAG #FLG 0 0 N N 1 F P
F0 "#FLG" 0 95 30 H I C CNN
F1 "PWR_FLAG" 0 180 30 H V C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
DRAW
P 6 0 1 0 0 0 0 50 -75 100 0 150 75 100 0 50 N
X pwr 1 0 0 0 U 20 20 0 0 w
ENDDRAW
ENDDEF
#
# R
#
DEF R R 0 0 N Y 1 F N
F0 "R" 80 0 40 V V C CNN
F1 "R" 7 1 40 V V C CNN
F2 "" -70 0 30 V V C CNN
F3 "" 0 0 30 H V C CNN
$FPLIST
R?
SM0603
SM0805
R?-*
SM1206
$ENDFPLIST
DRAW
S -40 150 40 -150 0 1 12 N
X ~ 1 0 250 100 D 60 60 1 1 P
X ~ 2 0 -250 100 U 60 60 1 1 P
ENDDRAW
ENDDEF
#
#End Library

View File

@ -0,0 +1,33 @@
update=22/05/2015 07:44:53
version=1
last_client=kicad
[general]
version=1
RootSch=
BoardNm=
[pcbnew]
version=1
LastNetListRead=
UseCmpFile=1
PadDrill=0.600000000000
PadDrillOvalY=0.600000000000
PadSizeH=1.500000000000
PadSizeV=1.500000000000
PcbTextSizeV=1.500000000000
PcbTextSizeH=1.500000000000
PcbTextThickness=0.300000000000
ModuleTextSizeV=1.000000000000
ModuleTextSizeH=1.000000000000
ModuleTextSizeThickness=0.150000000000
SolderMaskClearance=0.000000000000
SolderMaskMinWidth=0.000000000000
DrawSegmentWidth=0.200000000000
BoardOutlineThickness=0.100000000000
ModuleOutlineThickness=0.150000000000
[cvpcb]
version=1
NetIExt=net
[eeschema]
version=1
LibDir=
[eeschema/libraries]

View File

@ -0,0 +1,204 @@
EESchema Schematic File Version 2
LIBS:power
LIBS:device
LIBS:transistors
LIBS:conn
LIBS:linear
LIBS:regul
LIBS:74xx
LIBS:cmos4000
LIBS:adc-dac
LIBS:memory
LIBS:xilinx
LIBS:special
LIBS:microcontrollers
LIBS:dsp
LIBS:microchip
LIBS:analog_switches
LIBS:motorola
LIBS:texas
LIBS:intel
LIBS:audio
LIBS:interface
LIBS:digital-audio
LIBS:philips
LIBS:display
LIBS:cypress
LIBS:siliconi
LIBS:opto
LIBS:atmel
LIBS:contrib
LIBS:valves
LIBS:stm8s105k4t6c
LIBS:L9110
LIBS:LM1117
LIBS:s8205a
LIBS:MCU_module-cache
EELAYER 24 0
EELAYER END
$Descr A4 11693 8268
encoding utf-8
Sheet 2 2
Title ""
Date "14 nov 2014"
Rev ""
Comp ""
Comment1 ""
Comment2 ""
Comment3 ""
Comment4 ""
$EndDescr
Text Notes 5525 3150 0 60 ~ 0
Motor
$Comp
L GND #PWR016
U 1 1 53E67E30
P 4700 5700
F 0 "#PWR016" H 4700 5700 30 0001 C CNN
F 1 "GND" H 4700 5630 30 0001 C CNN
F 2 "" H 4700 5700 60 0000 C CNN
F 3 "" H 4700 5700 60 0000 C CNN
1 4700 5700
1 0 0 -1
$EndComp
$Comp
L R R5
U 1 1 53E67E8A
P 4700 5350
F 0 "R5" V 4780 5350 50 0000 C CNN
F 1 "0.33R" V 4700 5350 50 0000 C CNN
F 2 "SM2512" H 4700 5350 60 0001 C CNN
F 3 "" H 4700 5350 60 0000 C CNN
1 4700 5350
1 0 0 -1
$EndComp
$Comp
L +12V #PWR017
U 1 1 53E67FAE
P 5375 3200
F 0 "#PWR017" H 5375 3150 20 0001 C CNN
F 1 "+12V" H 5375 3300 30 0000 C CNN
F 2 "" H 5375 3200 60 0000 C CNN
F 3 "" H 5375 3200 60 0000 C CNN
1 5375 3200
1 0 0 -1
$EndComp
$Comp
L R R4
U 1 1 53E680EF
P 4350 5100
F 0 "R4" V 4430 5100 50 0000 C CNN
F 1 "47k" V 4350 5100 50 0000 C CNN
F 2 "" H 4350 5100 60 0000 C CNN
F 3 "" H 4350 5100 60 0000 C CNN
1 4350 5100
0 -1 -1 0
$EndComp
$Comp
L DIODESCH D3
U 1 1 53E68EA1
P 5600 3400
F 0 "D3" H 5600 3500 40 0000 C CNN
F 1 "DIODESCH" H 5600 3300 40 0000 C CNN
F 2 "" H 5600 3400 60 0000 C CNN
F 3 "" H 5600 3400 60 0000 C CNN
1 5600 3400
0 -1 -1 0
$EndComp
Text HLabel 3200 4350 0 60 Input ~ 0
PWM_in
Text HLabel 3150 5100 0 60 Output ~ 0
Sence
$Comp
L S8205A VT1
U 1 1 53F123C0
P 5300 4150
F 0 "VT1" H 5375 3775 60 0000 R CNN
F 1 "S8205A" H 5450 4500 60 0000 R CNN
F 2 "TSSOP-8" H 5250 3850 60 0001 C CNN
F 3 "~" H 5450 4150 60 0000 C CNN
1 5300 4150
1 0 0 -1
$EndComp
$Comp
L GND #PWR018
U 1 1 53F35910
P 4000 5700
F 0 "#PWR018" H 4000 5700 30 0001 C CNN
F 1 "GND" H 4000 5630 30 0001 C CNN
F 2 "" H 4000 5700 60 0000 C CNN
F 3 "" H 4000 5700 60 0000 C CNN
1 4000 5700
1 0 0 -1
$EndComp
$Comp
L CP1 C6
U 1 1 53F36070
P 4000 5400
F 0 "C6" H 4050 5500 50 0000 L CNN
F 1 "0.1u" H 4050 5300 50 0000 L CNN
F 2 "SM0603" H 4000 5400 60 0001 C CNN
F 3 "" H 4000 5400 60 0000 C CNN
1 4000 5400
1 0 0 -1
$EndComp
Wire Wire Line
3200 3200 5600 3200
Connection ~ 5375 3200
Wire Wire Line
3200 3600 5600 3600
Connection ~ 5375 3600
Wire Wire Line
3150 5100 4100 5100
Wire Wire Line
4550 4350 3200 4350
Connection ~ 4550 4350
Wire Wire Line
4550 4350 4550 4600
Wire Wire Line
4550 4600 6050 4600
Wire Wire Line
6050 4600 6050 4350
Wire Wire Line
4550 4075 4550 4225
Wire Wire Line
6050 4225 6050 4075
Wire Wire Line
4475 5000 6175 5000
Wire Wire Line
4475 5000 4475 4225
Wire Wire Line
4475 4225 4550 4225
Wire Wire Line
6175 5000 6175 4225
Wire Wire Line
6175 4225 6050 4225
Connection ~ 6050 4225
Connection ~ 4550 4225
Wire Wire Line
4550 3950 4550 3700
Wire Wire Line
4550 3700 6050 3700
Wire Wire Line
6050 3700 6050 3950
Connection ~ 5375 3700
Wire Wire Line
4000 5700 4000 5600
Wire Wire Line
4000 5200 4000 5100
Connection ~ 4000 5100
Wire Wire Line
4700 5700 4700 5600
Wire Wire Line
4700 5100 4600 5100
Wire Wire Line
4650 5100 4650 5000
Connection ~ 4650 5000
Connection ~ 4650 5100
Wire Wire Line
5375 3700 5375 3600
Text HLabel 3200 3200 0 60 Output ~ 0
DRILL+
Text HLabel 3200 3600 0 60 Output ~ 0
DRILL-
$EndSCHEMATC

View File

@ -0,0 +1,204 @@
EESchema Schematic File Version 2
LIBS:power
LIBS:device
LIBS:transistors
LIBS:conn
LIBS:linear
LIBS:regul
LIBS:74xx
LIBS:cmos4000
LIBS:adc-dac
LIBS:memory
LIBS:xilinx
LIBS:special
LIBS:microcontrollers
LIBS:dsp
LIBS:microchip
LIBS:analog_switches
LIBS:motorola
LIBS:texas
LIBS:intel
LIBS:audio
LIBS:interface
LIBS:digital-audio
LIBS:philips
LIBS:display
LIBS:cypress
LIBS:siliconi
LIBS:opto
LIBS:atmel
LIBS:contrib
LIBS:valves
LIBS:stm8s105k4t6c
LIBS:L9110
LIBS:LM1117
LIBS:s8205a
LIBS:MCU_module-cache
EELAYER 24 0
EELAYER END
$Descr A4 11693 8268
encoding utf-8
Sheet 2 2
Title ""
Date "14 nov 2014"
Rev ""
Comp ""
Comment1 ""
Comment2 ""
Comment3 ""
Comment4 ""
$EndDescr
Text Notes 5525 3150 0 60 ~ 0
Motor
$Comp
L GND #PWR016
U 1 1 53E67E30
P 4700 5700
F 0 "#PWR016" H 4700 5700 30 0001 C CNN
F 1 "GND" H 4700 5630 30 0001 C CNN
F 2 "" H 4700 5700 60 0000 C CNN
F 3 "" H 4700 5700 60 0000 C CNN
1 4700 5700
1 0 0 -1
$EndComp
$Comp
L R R5
U 1 1 53E67E8A
P 4700 5350
F 0 "R5" V 4780 5350 50 0000 C CNN
F 1 "0.33R" V 4700 5350 50 0000 C CNN
F 2 "SM2512" H 4700 5350 60 0001 C CNN
F 3 "" H 4700 5350 60 0000 C CNN
1 4700 5350
1 0 0 -1
$EndComp
$Comp
L +12V #PWR017
U 1 1 53E67FAE
P 5375 3200
F 0 "#PWR017" H 5375 3150 20 0001 C CNN
F 1 "+12V" H 5375 3300 30 0000 C CNN
F 2 "" H 5375 3200 60 0000 C CNN
F 3 "" H 5375 3200 60 0000 C CNN
1 5375 3200
1 0 0 -1
$EndComp
$Comp
L R R4
U 1 1 53E680EF
P 4350 5100
F 0 "R4" V 4430 5100 50 0000 C CNN
F 1 "47k" V 4350 5100 50 0000 C CNN
F 2 "" H 4350 5100 60 0000 C CNN
F 3 "" H 4350 5100 60 0000 C CNN
1 4350 5100
0 -1 -1 0
$EndComp
$Comp
L DIODESCH D3
U 1 1 53E68EA1
P 5600 3400
F 0 "D3" H 5600 3500 40 0000 C CNN
F 1 "DIODESCH" H 5600 3300 40 0000 C CNN
F 2 "" H 5600 3400 60 0000 C CNN
F 3 "" H 5600 3400 60 0000 C CNN
1 5600 3400
0 -1 -1 0
$EndComp
Text HLabel 3200 4350 0 60 Input ~ 0
PWM_in
Text HLabel 3150 5100 0 60 Output ~ 0
Sence
$Comp
L S8205A VT1
U 1 1 53F123C0
P 5300 4150
F 0 "VT1" H 5375 3775 60 0000 R CNN
F 1 "S8205A" H 5450 4500 60 0000 R CNN
F 2 "TSSOP-8" H 5250 3850 60 0001 C CNN
F 3 "~" H 5450 4150 60 0000 C CNN
1 5300 4150
1 0 0 -1
$EndComp
$Comp
L GND #PWR018
U 1 1 53F35910
P 4000 5700
F 0 "#PWR018" H 4000 5700 30 0001 C CNN
F 1 "GND" H 4000 5630 30 0001 C CNN
F 2 "" H 4000 5700 60 0000 C CNN
F 3 "" H 4000 5700 60 0000 C CNN
1 4000 5700
1 0 0 -1
$EndComp
$Comp
L CP1 C6
U 1 1 53F36070
P 4000 5400
F 0 "C6" H 4050 5500 50 0000 L CNN
F 1 "0.1u" H 4050 5300 50 0000 L CNN
F 2 "SM0603" H 4000 5400 60 0001 C CNN
F 3 "" H 4000 5400 60 0000 C CNN
1 4000 5400
1 0 0 -1
$EndComp
Wire Wire Line
3200 3200 5600 3200
Connection ~ 5375 3200
Wire Wire Line
3200 3600 5600 3600
Connection ~ 5375 3600
Wire Wire Line
3150 5100 4100 5100
Wire Wire Line
4550 4350 3200 4350
Connection ~ 4550 4350
Wire Wire Line
4550 4350 4550 4600
Wire Wire Line
4550 4600 6050 4600
Wire Wire Line
6050 4600 6050 4350
Wire Wire Line
4550 4075 4550 4225
Wire Wire Line
6050 4225 6050 4075
Wire Wire Line
4475 5000 6175 5000
Wire Wire Line
4475 5000 4475 4225
Wire Wire Line
4475 4225 4550 4225
Wire Wire Line
6175 5000 6175 4225
Wire Wire Line
6175 4225 6050 4225
Connection ~ 6050 4225
Connection ~ 4550 4225
Wire Wire Line
4550 3950 4550 3700
Wire Wire Line
4550 3700 6050 3700
Wire Wire Line
6050 3700 6050 3950
Connection ~ 5375 3700
Wire Wire Line
4000 5700 4000 5600
Wire Wire Line
4000 5200 4000 5100
Connection ~ 4000 5100
Wire Wire Line
4700 5700 4700 5600
Wire Wire Line
4700 5100 4600 5100
Wire Wire Line
4650 5100 4650 5000
Connection ~ 4650 5000
Connection ~ 4650 5100
Wire Wire Line
5375 3700 5375 3600
Text HLabel 3200 3200 0 60 Output ~ 0
DRILL+
Text HLabel 3200 3600 0 60 Output ~ 0
DRILL-
$EndSCHEMATC

View File

@ -0,0 +1,204 @@
EESchema Schematic File Version 2
LIBS:power
LIBS:device
LIBS:transistors
LIBS:conn
LIBS:linear
LIBS:regul
LIBS:74xx
LIBS:cmos4000
LIBS:adc-dac
LIBS:memory
LIBS:xilinx
LIBS:special
LIBS:microcontrollers
LIBS:dsp
LIBS:microchip
LIBS:analog_switches
LIBS:motorola
LIBS:texas
LIBS:intel
LIBS:audio
LIBS:interface
LIBS:digital-audio
LIBS:philips
LIBS:display
LIBS:cypress
LIBS:siliconi
LIBS:opto
LIBS:atmel
LIBS:contrib
LIBS:valves
LIBS:stm8s105k4t6c
LIBS:L9110
LIBS:LM1117
LIBS:s8205a
LIBS:MCU_module-cache
EELAYER 24 0
EELAYER END
$Descr A4 11693 8268
encoding utf-8
Sheet 2 2
Title ""
Date "14 nov 2014"
Rev ""
Comp ""
Comment1 ""
Comment2 ""
Comment3 ""
Comment4 ""
$EndDescr
Text Notes 5525 3150 0 60 ~ 0
Motor
$Comp
L GND #PWR016
U 1 1 53E67E30
P 4700 5700
F 0 "#PWR016" H 4700 5700 30 0001 C CNN
F 1 "GND" H 4700 5630 30 0001 C CNN
F 2 "" H 4700 5700 60 0000 C CNN
F 3 "" H 4700 5700 60 0000 C CNN
1 4700 5700
1 0 0 -1
$EndComp
$Comp
L R R5
U 1 1 53E67E8A
P 4700 5350
F 0 "R5" V 4780 5350 50 0000 C CNN
F 1 "0.33R" V 4700 5350 50 0000 C CNN
F 2 "SM2512" H 4700 5350 60 0001 C CNN
F 3 "" H 4700 5350 60 0000 C CNN
1 4700 5350
1 0 0 -1
$EndComp
$Comp
L +12V #PWR017
U 1 1 53E67FAE
P 5375 3200
F 0 "#PWR017" H 5375 3150 20 0001 C CNN
F 1 "+12V" H 5375 3300 30 0000 C CNN
F 2 "" H 5375 3200 60 0000 C CNN
F 3 "" H 5375 3200 60 0000 C CNN
1 5375 3200
1 0 0 -1
$EndComp
$Comp
L R R4
U 1 1 53E680EF
P 4350 5100
F 0 "R4" V 4430 5100 50 0000 C CNN
F 1 "47k" V 4350 5100 50 0000 C CNN
F 2 "" H 4350 5100 60 0000 C CNN
F 3 "" H 4350 5100 60 0000 C CNN
1 4350 5100
0 -1 -1 0
$EndComp
$Comp
L DIODESCH D3
U 1 1 53E68EA1
P 5600 3400
F 0 "D3" H 5600 3500 40 0000 C CNN
F 1 "DIODESCH" H 5600 3300 40 0000 C CNN
F 2 "" H 5600 3400 60 0000 C CNN
F 3 "" H 5600 3400 60 0000 C CNN
1 5600 3400
0 -1 -1 0
$EndComp
Text HLabel 3200 4350 0 60 Input ~ 0
PWM_in
Text HLabel 3150 5100 0 60 Output ~ 0
Sence
$Comp
L S8205A VT1
U 1 1 53F123C0
P 5300 4150
F 0 "VT1" H 5375 3775 60 0000 R CNN
F 1 "S8205A" H 5450 4500 60 0000 R CNN
F 2 "TSSOP-8" H 5250 3850 60 0001 C CNN
F 3 "~" H 5450 4150 60 0000 C CNN
1 5300 4150
1 0 0 -1
$EndComp
$Comp
L GND #PWR018
U 1 1 53F35910
P 4000 5700
F 0 "#PWR018" H 4000 5700 30 0001 C CNN
F 1 "GND" H 4000 5630 30 0001 C CNN
F 2 "" H 4000 5700 60 0000 C CNN
F 3 "" H 4000 5700 60 0000 C CNN
1 4000 5700
1 0 0 -1
$EndComp
$Comp
L CP1 C6
U 1 1 53F36070
P 4000 5400
F 0 "C6" H 4050 5500 50 0000 L CNN
F 1 "0.1u" H 4050 5300 50 0000 L CNN
F 2 "SM0603" H 4000 5400 60 0001 C CNN
F 3 "" H 4000 5400 60 0000 C CNN
1 4000 5400
1 0 0 -1
$EndComp
Wire Wire Line
3200 3200 5600 3200
Connection ~ 5375 3200
Wire Wire Line
3200 3600 5600 3600
Connection ~ 5375 3600
Wire Wire Line
3150 5100 4100 5100
Wire Wire Line
4550 4350 3200 4350
Connection ~ 4550 4350
Wire Wire Line
4550 4350 4550 4600
Wire Wire Line
4550 4600 6050 4600
Wire Wire Line
6050 4600 6050 4350
Wire Wire Line
4550 4075 4550 4225
Wire Wire Line
6050 4225 6050 4075
Wire Wire Line
4475 5000 6175 5000
Wire Wire Line
4475 5000 4475 4225
Wire Wire Line
4475 4225 4550 4225
Wire Wire Line
6175 5000 6175 4225
Wire Wire Line
6175 4225 6050 4225
Connection ~ 6050 4225
Connection ~ 4550 4225
Wire Wire Line
4550 3950 4550 3700
Wire Wire Line
4550 3700 6050 3700
Wire Wire Line
6050 3700 6050 3950
Connection ~ 5375 3700
Wire Wire Line
4000 5700 4000 5600
Wire Wire Line
4000 5200 4000 5100
Connection ~ 4000 5100
Wire Wire Line
4700 5700 4700 5600
Wire Wire Line
4700 5100 4600 5100
Wire Wire Line
4650 5100 4650 5000
Connection ~ 4650 5000
Connection ~ 4650 5100
Wire Wire Line
5375 3700 5375 3600
Text HLabel 3200 3200 0 60 Output ~ 0
DRILL+
Text HLabel 3200 3600 0 60 Output ~ 0
DRILL-
$EndSCHEMATC

View File

@ -0,0 +1,166 @@
EESchema-LIBRARY Version 2.3 Date: Вт 19 авг 2014 18:00:45
#encoding utf-8
#
# +12V
#
DEF +12V #PWR 0 0 N Y 1 F P
F0 "#PWR" 0 -50 20 H I C CNN
F1 "+12V" 0 100 30 H V C CNN
F2 "~" 0 0 60 H V C CNN
F3 "~" 0 0 60 H V C CNN
DRAW
X +12V 1 0 0 0 U 20 30 0 0 W N
C 0 60 20 0 1 0 N
P 3 0 1 0 0 0 0 40 0 40 N
ENDDRAW
ENDDEF
#
# C
#
DEF C C 0 10 N Y 1 F N
F0 "C" 50 100 50 H V L CNN
F1 "C" 50 -100 50 H V L CNN
F2 "~" 0 0 60 H V C CNN
F3 "~" 0 0 60 H V C CNN
$FPLIST
SM*
C?
C1-1
$ENDFPLIST
DRAW
P 2 0 1 20 -100 -30 100 -30 N
P 2 0 1 20 -100 30 100 30 N
X ~ 1 0 200 170 D 40 40 1 1 P
X ~ 2 0 -200 170 U 40 40 1 1 P
ENDDRAW
ENDDEF
#
# CONN_2
#
DEF CONN_2 P 0 40 Y N 1 F N
F0 "P" -50 0 40 V V C CNN
F1 "CONN_2" 50 0 40 V V C CNN
F2 "~" 0 0 60 H V C CNN
F3 "~" 0 0 60 H V C CNN
DRAW
S -100 150 100 -150 0 1 0 N
X P1 1 -350 100 250 R 60 60 1 1 P I
X PM 2 -350 -100 250 R 60 60 1 1 P I
ENDDRAW
ENDDEF
#
# DIODESCH
#
DEF DIODESCH D 0 40 N N 1 F N
F0 "D" 0 100 40 H V C CNN
F1 "DIODESCH" 0 -100 40 H V C CNN
F2 "~" 0 0 60 H V C CNN
F3 "~" 0 0 60 H V C CNN
$FPLIST
D?
S*
$ENDFPLIST
DRAW
P 3 0 1 0 -50 50 50 0 -50 -50 F
P 6 0 1 8 75 25 75 50 50 50 50 -50 25 -50 25 -25 N
X A 1 -200 0 150 R 40 40 1 1 P
X K 2 200 0 150 L 40 40 1 1 P
ENDDRAW
ENDDEF
#
# GND
#
DEF ~GND #PWR 0 0 Y Y 1 F P
F0 "#PWR" 0 0 30 H I C CNN
F1 "GND" 0 -70 30 H I C CNN
F2 "~" 0 0 60 H V C CNN
F3 "~" 0 0 60 H V C CNN
DRAW
P 4 0 1 0 -50 0 0 -50 50 0 -50 0 N
X GND 1 0 0 0 U 30 30 1 1 W N
ENDDRAW
ENDDEF
#
# R
#
DEF R R 0 0 N Y 1 F N
F0 "R" 80 0 50 V V C CNN
F1 "R" 0 0 50 V V C CNN
F2 "~" 0 0 60 H V C CNN
F3 "~" 0 0 60 H V C CNN
$FPLIST
R?
SM0603
SM0805
R?-*
SM1206
$ENDFPLIST
DRAW
S -40 150 40 -150 0 1 12 N
X ~ 1 0 250 100 D 60 60 1 1 P
X ~ 2 0 -250 100 U 60 60 1 1 P
ENDDRAW
ENDDEF
#
# S8205A
#
DEF S8205A VT 0 0 N Y 1 F N
F0 "VT" 75 -375 60 H V R CNN
F1 "S8205A" 150 350 60 H V R CNN
F2 "TSSOP-8" -50 -300 60 H I C CNN
F3 "~" 150 0 60 H V C CNN
$FPLIST
TSSOP8*
TSSOP-8*
$ENDFPLIST
DRAW
C -200 0 180 0 1 12 N
C 200 0 180 0 1 12 N
S -450 300 450 -300 0 1 12 N
P 2 0 1 0 -315 65 -265 65 N
P 2 0 1 0 -290 -100 -250 -100 N
P 2 0 1 0 -290 100 -290 -100 N
P 2 0 1 6 -290 100 -290 200 N
P 2 0 1 0 -290 100 -250 100 N
P 2 0 1 0 -250 -100 -150 -100 N
P 2 0 1 0 -250 100 -150 100 N
P 2 0 1 12 -150 -60 -150 -140 N
P 2 0 1 12 -150 40 -150 -40 N
P 2 0 1 12 -150 140 -150 60 N
P 2 0 1 8 -100 -100 -100 100 N
P 2 0 1 8 100 -100 100 100 N
P 2 0 1 12 150 -60 150 -140 N
P 2 0 1 12 150 40 150 -40 N
P 2 0 1 12 150 140 150 60 N
P 2 0 1 0 250 -100 150 -100 N
P 2 0 1 0 250 100 150 100 N
P 2 0 1 0 250 100 290 100 N
P 2 0 1 0 265 65 315 65 N
P 2 0 1 0 290 -100 250 -100 N
P 2 0 1 0 290 100 290 -100 N
P 2 0 1 6 290 100 290 200 N
P 2 0 1 6 450 200 -450 200 N
P 3 0 1 8 -290 -100 -410 -100 -410 -75 N
P 3 0 1 8 -250 -100 -250 0 -200 0 N
P 3 0 1 8 250 -100 250 0 200 0 N
P 3 0 1 8 410 -75 410 -100 290 -100 N
P 4 0 1 8 -450 -200 -25 -200 -25 -100 -100 -100 N
P 4 0 1 8 -450 75 -410 75 -410 -75 -450 -75 N
P 4 0 1 0 -290 65 -315 25 -265 25 -290 65 F
P 4 0 1 0 290 65 265 25 315 25 290 65 F
P 4 0 1 8 450 -200 25 -200 25 -100 100 -100 N
P 4 0 1 8 450 -75 410 -75 410 75 450 75 N
P 5 0 1 8 -200 30 -200 -30 -150 0 -200 30 -200 30 F
P 5 0 1 8 200 30 200 -30 150 0 200 30 200 30 F
X D 1 -750 200 300 R 50 50 1 1 P
X S1 2 -750 75 300 R 50 50 1 1 P
X S1 3 -750 -75 300 R 50 50 1 1 P
X G1 4 -750 -200 300 R 50 50 1 1 P
X G2 5 750 -200 300 L 50 50 1 1 P
X S2 5 750 -75 300 L 50 50 1 1 P
X S2 7 750 75 300 L 50 50 1 1 P
X D 8 750 200 300 L 50 50 1 1 P
ENDDRAW
ENDDEF
#
#End Library

View File

@ -0,0 +1,3 @@
(sym_lib_table
(lib (name drill-rescue)(type Legacy)(uri ${KIPRJMOD}/drill-rescue.lib)(options "")(descr ""))
)

View File

@ -0,0 +1,7 @@
(sym_lib_table
(lib (name MCU_module-rescue)(type Legacy)(uri ${KIPRJMOD}/MCU_module-rescue.lib)(options "")(descr ""))
(lib (name stm8s105k4t6c)(type Legacy)(uri ${KIPRJMOD}/stm8s105k4t6c.lib)(options "")(descr ""))
(lib (name L9110)(type Legacy)(uri ${KIPRJMOD}/L9110.lib)(options "")(descr ""))
(lib (name LM1117)(type Legacy)(uri ${KIPRJMOD}/LM1117.lib)(options "")(descr ""))
(lib (name s8205a)(type Legacy)(uri ${KIPRJMOD}/s8205a.lib)(options "")(descr ""))
)

View File

@ -0,0 +1,3 @@
(sym_lib_table
(lib (name MCU_module-rescue)(type Legacy)(uri ${KIPRJMOD}/MCU_module-rescue.lib)(options "")(descr ""))
)

View File

@ -0,0 +1,30 @@
EESchema-LIBRARY Version 2.3 Date: Вс 17 авг 2014 22:02:27
#encoding utf-8
#
# L9110
#
DEF L9110 DA 0 40 Y Y 1 F N
F0 "DA" 0 -300 50 H V C CNN
F1 "L9110" 0 300 50 H V C CNN
F2 "~" 0 0 50 H I C CNN
F3 "~" 0 0 50 H I C CNN
$FPLIST
DIP8*
DIP-8*
SOP8*
SOP-8*
$ENDFPLIST
DRAW
S -300 250 300 -250 0 1 0 N
X OA 1 -600 150 300 R 50 50 1 1 O
X VCC 2 -600 50 300 R 50 50 1 1 W
X VCC 3 -600 -50 300 R 50 50 1 1 W
X OB 4 -600 -150 300 R 50 50 1 1 O
X GND 5 600 -150 300 L 50 50 1 1 W
X IA 6 600 -50 300 L 50 50 1 1 I
X IB 7 600 50 300 L 50 50 1 1 I
X GND 8 600 150 300 L 50 50 1 1 W
ENDDRAW
ENDDEF
#
#End Library

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,408 @@
EESchema-LIBRARY Version 2.4
#encoding utf-8
#
# +12V
#
DEF +12V #PWR 0 0 N Y 1 F P
F0 "#PWR" 0 -50 20 H I C CNN
F1 "+12V" 0 100 30 H V C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
DRAW
C 0 60 20 0 1 0 N
P 3 0 1 0 0 0 0 40 0 40 N
X +12V 1 0 0 0 U 20 30 0 0 W N
ENDDRAW
ENDDEF
#
# +3.3V
#
DEF +3.3V #PWR 0 0 Y Y 1 F P
F0 "#PWR" 0 -40 30 H I C CNN
F1 "+3.3V" 0 110 30 H V C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
DRAW
C 0 60 20 0 1 0 N
P 3 0 1 0 0 0 0 40 0 40 N
X +3.3V 1 0 0 0 U 30 30 0 0 W N
ENDDRAW
ENDDEF
#
# +5V
#
DEF +5V #PWR 0 40 Y Y 1 F P
F0 "#PWR" 0 90 20 H I C CNN
F1 "+5V" 0 90 30 H V C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
DRAW
C 0 50 20 0 1 0 N
P 4 0 1 0 0 0 0 30 0 30 0 30 N
X +5V 1 0 0 0 U 20 20 0 0 W N
ENDDRAW
ENDDEF
#
# C
#
DEF C C 0 10 N Y 1 F N
F0 "C" 0 100 40 H V L CNN
F1 "C" 6 -85 40 H V L CNN
F2 "" 38 -150 30 H V C CNN
F3 "" 0 0 60 H V C CNN
$FPLIST
SM*
C?
C1-1
$ENDFPLIST
DRAW
P 2 0 1 20 -80 -30 80 -30 N
P 2 0 1 20 -80 30 80 30 N
X ~ 1 0 200 170 D 40 40 1 1 P
X ~ 2 0 -200 170 U 40 40 1 1 P
ENDDRAW
ENDDEF
#
# CONN_1
#
DEF ~CONN_1 P 0 30 N N 1 F N
F0 "P" 80 0 40 H V L CNN
F1 "CONN_1" 0 55 30 H I C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
DRAW
C 0 0 31 0 1 0 N
P 2 0 1 0 -30 0 -50 0 N
X 1 1 -150 0 100 R 60 60 1 1 P
ENDDRAW
ENDDEF
#
# CONN_2
#
DEF CONN_2 P 0 40 Y N 1 F N
F0 "P" -50 0 40 V V C CNN
F1 "CONN_2" 50 0 40 V V C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
DRAW
S -100 150 100 -150 0 1 0 N
X P1 1 -350 100 250 R 60 60 1 1 P I
X PM 2 -350 -100 250 R 60 60 1 1 P I
ENDDRAW
ENDDEF
#
# CONN_3
#
DEF CONN_3 K 0 40 Y N 1 F N
F0 "K" -50 0 50 V V C CNN
F1 "CONN_3" 50 0 40 V V C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
DRAW
S -100 150 100 -150 0 1 0 N
X P1 1 -350 100 250 R 60 60 1 1 P I
X PM 2 -350 0 250 R 60 60 1 1 P I
X P3 3 -350 -100 250 R 60 60 1 1 P I
ENDDRAW
ENDDEF
#
# CONN_4
#
DEF CONN_4 P 0 40 Y N 1 F N
F0 "P" -50 0 50 V V C CNN
F1 "CONN_4" 50 0 50 V V C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
DRAW
S -100 200 100 -200 0 1 0 N
X P1 1 -350 150 250 R 50 50 1 1 P I
X P2 2 -350 50 250 R 50 50 1 1 P I
X P3 3 -350 -50 250 R 50 50 1 1 P I
X P4 4 -350 -150 250 R 50 50 1 1 P I
ENDDRAW
ENDDEF
#
# CP1
#
DEF CP1 C 0 10 N N 1 F N
F0 "C" 50 100 50 H V L CNN
F1 "CP1" 50 -100 50 H V L CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
$FPLIST
CP*
SM*
$ENDFPLIST
DRAW
A 0 -200 180 563 1236 0 1 15 N 100 -50 -100 -50
T 0 -50 100 80 0 0 0 + Normal 0 C C
P 4 0 1 15 -100 50 100 50 50 50 50 50 N
X ~ 1 0 200 150 D 40 40 1 1 P
X ~ 2 0 -200 180 U 40 40 1 1 P
ENDDRAW
ENDDEF
#
# Conn_01x03_Female-Connector_Generic
#
DEF Conn_01x03_Female-Connector_Generic J 0 40 Y N 1 F N
F0 "J" 0 200 50 H V C CNN
F1 "Conn_01x03_Female-Connector_Generic" 0 -200 50 H V C CNN
F2 "" 0 0 50 H I C CNN
F3 "" 0 0 50 H I C CNN
$FPLIST
Connector*:*_1x??_*
$ENDFPLIST
DRAW
A 0 -100 20 901 -901 1 1 6 N 0 -80 0 -120
A 0 0 20 901 -901 1 1 6 N 0 20 0 -20
A 0 100 20 901 -901 1 1 6 N 0 120 0 80
P 2 1 1 6 -50 -100 -20 -100 N
P 2 1 1 6 -50 0 -20 0 N
P 2 1 1 6 -50 100 -20 100 N
X Pin_1 1 -200 100 150 R 50 50 1 1 P
X Pin_2 2 -200 0 150 R 50 50 1 1 P
X Pin_3 3 -200 -100 150 R 50 50 1 1 P
ENDDRAW
ENDDEF
#
# Conn_01x04_Female-Connector_Generic
#
DEF Conn_01x04_Female-Connector_Generic J 0 40 Y N 1 F N
F0 "J" 0 200 50 H V C CNN
F1 "Conn_01x04_Female-Connector_Generic" 0 -300 50 H V C CNN
F2 "" 0 0 50 H I C CNN
F3 "" 0 0 50 H I C CNN
$FPLIST
Connector*:*_1x??_*
$ENDFPLIST
DRAW
A 0 -200 20 901 -901 1 1 6 N 0 -180 0 -220
A 0 -100 20 901 -901 1 1 6 N 0 -80 0 -120
A 0 0 20 901 -901 1 1 6 N 0 20 0 -20
A 0 100 20 901 -901 1 1 6 N 0 120 0 80
P 2 1 1 6 -50 -200 -20 -200 N
P 2 1 1 6 -50 -100 -20 -100 N
P 2 1 1 6 -50 0 -20 0 N
P 2 1 1 6 -50 100 -20 100 N
X Pin_1 1 -200 100 150 R 50 50 1 1 P
X Pin_2 2 -200 0 150 R 50 50 1 1 P
X Pin_3 3 -200 -100 150 R 50 50 1 1 P
X Pin_4 4 -200 -200 150 R 50 50 1 1 P
ENDDRAW
ENDDEF
#
# DIODESCH
#
DEF DIODESCH D 0 40 N N 1 F N
F0 "D" 0 100 40 H V C CNN
F1 "DIODESCH" 0 -100 40 H V C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
$FPLIST
D?
S*
$ENDFPLIST
DRAW
P 3 0 1 0 -50 50 50 0 -50 -50 F
P 6 0 1 8 75 25 75 50 50 50 50 -50 25 -50 25 -25 N
X A 1 -200 0 150 R 40 40 1 1 P
X K 2 200 0 150 L 40 40 1 1 P
ENDDRAW
ENDDEF
#
# GND
#
DEF ~GND #PWR 0 0 Y Y 1 F P
F0 "#PWR" 0 0 30 H I C CNN
F1 "GND" 0 -70 30 H I C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
DRAW
P 4 0 1 0 -50 0 0 -50 50 0 -50 0 N
X GND 1 0 0 0 U 30 30 1 1 W N
ENDDRAW
ENDDEF
#
# L9110
#
DEF L9110 DA 0 40 Y Y 1 F N
F0 "DA" 0 -300 50 H V C CNN
F1 "L9110" 0 300 50 H V C CNN
F2 "" 0 0 50 H I C CNN
F3 "" 0 0 50 H I C CNN
$FPLIST
DIP8*
DIP-8*
SOP8*
SOP-8*
$ENDFPLIST
DRAW
S -300 250 300 -250 0 1 0 N
X OA 1 -600 150 300 R 50 50 1 1 O
X VCC 2 -600 50 300 R 50 50 1 1 W
X VCC 3 -600 -50 300 R 50 50 1 1 W
X OB 4 -600 -150 300 R 50 50 1 1 O
X GND 5 600 -150 300 L 50 50 1 1 W
X IA 6 600 -50 300 L 50 50 1 1 I
X IB 7 600 50 300 L 50 50 1 1 I
X GND 8 600 150 300 L 50 50 1 1 W
ENDDRAW
ENDDEF
#
# LM1117MPX-3.3
#
DEF LM1117MPX-3.3 U 0 40 Y Y 1 F N
F0 "U" -200 200 40 H V C CNN
F1 "LM1117MPX-3.3" 0 200 40 H V L CNN
F2 "SOT223" 0 100 30 H I C CIN
F3 "" 0 0 60 H V C CNN
$FPLIST
SOT223*
$ENDFPLIST
DRAW
S -250 150 250 -150 0 1 10 f
X GND 1 0 -250 100 U 40 40 1 1 W
X OUT 2 400 50 150 L 40 40 1 1 w
X IN 3 -400 50 150 R 40 40 1 1 W
ENDDRAW
ENDDEF
#
# PWR_FLAG
#
DEF PWR_FLAG #FLG 0 0 N N 1 F P
F0 "#FLG" 0 95 30 H I C CNN
F1 "PWR_FLAG" 0 180 30 H V C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
DRAW
P 6 0 1 0 0 0 0 50 -75 100 0 150 75 100 0 50 N
X pwr 1 0 0 0 U 20 20 0 0 w
ENDDRAW
ENDDEF
#
# R
#
DEF R R 0 0 N Y 1 F N
F0 "R" 80 0 40 V V C CNN
F1 "R" 7 1 40 V V C CNN
F2 "" -70 0 30 V V C CNN
F3 "" 0 0 30 H V C CNN
$FPLIST
R?
SM0603
SM0805
R?-*
SM1206
$ENDFPLIST
DRAW
S -40 150 40 -150 0 1 12 N
X ~ 1 0 250 100 D 60 60 1 1 P
X ~ 2 0 -250 100 U 60 60 1 1 P
ENDDRAW
ENDDEF
#
# S8205A
#
DEF S8205A VT 0 0 N Y 1 F N
F0 "VT" 75 -375 60 H V R CNN
F1 "S8205A" 150 350 60 H V R CNN
F2 "TSSOP-8" -50 -300 60 H I C CNN
F3 "" 150 0 60 H V C CNN
$FPLIST
TSSOP8*
TSSOP-8*
$ENDFPLIST
DRAW
C -200 0 180 0 1 12 N
C 200 0 180 0 1 12 N
S -450 300 450 -300 0 1 12 N
P 2 0 1 0 -315 65 -265 65 N
P 2 0 1 0 -290 -100 -250 -100 N
P 2 0 1 0 -290 100 -290 -100 N
P 2 0 1 6 -290 100 -290 200 N
P 2 0 1 0 -290 100 -250 100 N
P 2 0 1 0 -250 -100 -150 -100 N
P 2 0 1 0 -250 100 -150 100 N
P 2 0 1 12 -150 -60 -150 -140 N
P 2 0 1 12 -150 40 -150 -40 N
P 2 0 1 12 -150 140 -150 60 N
P 2 0 1 8 -100 -100 -100 100 N
P 2 0 1 8 100 -100 100 100 N
P 2 0 1 12 150 -60 150 -140 N
P 2 0 1 12 150 40 150 -40 N
P 2 0 1 12 150 140 150 60 N
P 2 0 1 0 250 -100 150 -100 N
P 2 0 1 0 250 100 150 100 N
P 2 0 1 0 250 100 290 100 N
P 2 0 1 0 265 65 315 65 N
P 2 0 1 0 290 -100 250 -100 N
P 2 0 1 0 290 100 290 -100 N
P 2 0 1 6 290 100 290 200 N
P 2 0 1 6 450 200 -450 200 N
P 3 0 1 8 -290 -100 -410 -100 -410 -75 N
P 3 0 1 8 -250 -100 -250 0 -200 0 N
P 3 0 1 8 250 -100 250 0 200 0 N
P 3 0 1 8 410 -75 410 -100 290 -100 N
P 4 0 1 8 -450 -200 -25 -200 -25 -100 -100 -100 N
P 4 0 1 8 -450 75 -410 75 -410 -75 -450 -75 N
P 4 0 1 0 -290 65 -315 25 -265 25 -290 65 F
P 4 0 1 0 290 65 265 25 315 25 290 65 F
P 4 0 1 8 450 -200 25 -200 25 -100 100 -100 N
P 4 0 1 8 450 -75 410 -75 410 75 450 75 N
P 5 0 1 8 -200 30 -200 -30 -150 0 -200 30 -200 30 F
P 5 0 1 8 200 30 200 -30 150 0 200 30 200 30 F
X D 1 -750 200 300 R 50 50 1 1 P
X S1 2 -750 75 300 R 50 50 1 1 P
X S1 3 -750 -75 300 R 50 50 1 1 P
X G1 4 -750 -200 300 R 50 50 1 1 P
X G2 5 750 -200 300 L 50 50 1 1 P
X S2 6 750 -75 300 L 50 50 1 1 P
X S2 7 750 75 300 L 50 50 1 1 P
X D 8 750 200 300 L 50 50 1 1 P
ENDDRAW
ENDDEF
#
# stm8s105board
#
DEF stm8s105board X 0 40 Y Y 1 F N
F0 "X" 0 1050 60 H V C CNN
F1 "stm8s105board" 0 -650 60 H V C CNN
F2 "devboard_pins-9-14" 0 0 60 H I C CNN
F3 "" 0 0 60 H V C CNN
$FPLIST
stm8s105board
$ENDFPLIST
DRAW
S -1100 950 1100 -550 0 1 0 N
X VDD(3.3-5v) 1 -1400 850 300 R 50 50 1 1 W
X PB2/AIN2[TIM1_CH3N] 10 -1400 -50 300 R 50 50 1 1 T
X PB1/AIN1_[TIM1_CH2N] 11 -1400 -150 300 R 50 50 1 1 T
X PB0/AIN0_[TIM1_CH1N] 12 -1400 -250 300 R 50 50 1 1 T
X PE5/SPI_NSS 13 -1400 -350 300 R 50 50 1 1 T
X PC1(HS)/TIM1_CH1 14 -1400 -450 300 R 50 50 1 1 T
X PC2(HS)/TIM1_CH2 15 1400 -450 300 L 50 50 1 1 T
X PC3(HS)/TIM1_CH3 16 1400 -350 300 L 50 50 1 1 T
X PC4(HS)/TIM1_CH4 17 1400 -250 300 L 50 50 1 1 T
X PC5(HS)/SPI_SCK 18 1400 -150 300 L 50 50 1 1 T
X PC6(HS)/SPI_MOSI 19 1400 -50 300 L 50 50 1 1 T
X GND 2 -1400 750 300 R 50 50 1 1 W
X PC7(HS)/SPI_MISO 20 1400 50 300 L 50 50 1 1 T
X PD0(HS)/TIM3_CH2[TIM1_BKIN][CLK_CCO] 21 1400 150 300 L 50 39 1 1 T
X PD1(HS)/SWIM 22 1400 250 300 L 50 50 1 1 T
X PD2(HS)/TIM3_CH1[TIM2_CH3] 23 1400 350 300 L 50 50 1 1 T
X PD3(HS)/TIM2_CH2[ADC_ETR] 24 1400 450 300 L 50 50 1 1 T
X PD4(HS)/TIM2_CH1[BEEP] 25 1400 550 300 L 50 50 1 1 T
X PD5/UART2_TX 26 1400 650 300 L 50 50 1 1 T
X PD6/UART2_RX 27 1400 750 300 L 50 50 1 1 T
X PD7/TLI[TIM1_CH4] 28 1400 850 300 L 50 50 1 1 T
X NRST 3 -1400 650 300 R 50 50 1 1 I
X OSCIN/PA1 4 -1400 550 300 R 50 50 1 1 T
X OSCOUT/PA2 5 -1400 450 300 R 50 50 1 1 T
X PF4/AIN12 6 -1400 350 300 R 50 50 1 1 T
X PB5/AIN5[I2X_SDA] 7 -1400 250 300 R 50 50 1 1 T
X PB4/AIN4[I2C_SCL] 8 -1400 150 300 R 50 50 1 1 T
X PB3/AIN3[TIM1_ETR] 9 -1400 50 300 R 50 50 1 1 T
ENDDRAW
ENDDEF
#
#End Library

View File

@ -0,0 +1,171 @@
Cmp-Mod V01 Created by CvPcb (2013-may-18)-stable date = Ср 12 ноя 2014 00:15:14
BeginCmp
TimeStamp = /54628F3E;
Reference = BTN1;
ValeurCmp = CONN_1;
IdModule = PINTST;
EndCmp
BeginCmp
TimeStamp = /54628FEC;
Reference = BTN2;
ValeurCmp = CONN_1;
IdModule = PINTST;
EndCmp
BeginCmp
TimeStamp = /53F0F83E;
Reference = C4;
ValeurCmp = 0.1u;
IdModule = SM0603;
EndCmp
BeginCmp
TimeStamp = /53F0F88C;
Reference = C5;
ValeurCmp = 47u;
IdModule = SM1206POL;
EndCmp
BeginCmp
TimeStamp = /53EF036E/53F36070;
Reference = C6;
ValeurCmp = 0.1u;
IdModule = SM0603;
EndCmp
BeginCmp
TimeStamp = /53EF036E/53E68EA1;
Reference = D3;
ValeurCmp = DIODESCH;
IdModule = D4;
EndCmp
BeginCmp
TimeStamp = /53F0EE9F;
Reference = DA1;
ValeurCmp = L9110;
IdModule = so-8;
EndCmp
BeginCmp
TimeStamp = /53F0EF24;
Reference = DA2;
ValeurCmp = L9110;
IdModule = so-8;
EndCmp
BeginCmp
TimeStamp = /53F0EF3C;
Reference = DA3;
ValeurCmp = L9110;
IdModule = so-8;
EndCmp
BeginCmp
TimeStamp = /54628F38;
Reference = DOWN1;
ValeurCmp = CONN_1;
IdModule = PINTST;
EndCmp
BeginCmp
TimeStamp = /54629D60;
Reference = DRILL+1;
ValeurCmp = CONN_1;
IdModule = PINTST;
EndCmp
BeginCmp
TimeStamp = /54629E20;
Reference = DRILL-1;
ValeurCmp = CONN_1;
IdModule = PINTST;
EndCmp
BeginCmp
TimeStamp = /5462B0E5;
Reference = DRILLSW1;
ValeurCmp = CONN_1;
IdModule = PINTST;
EndCmp
BeginCmp
TimeStamp = /5462B0EB;
Reference = GND1;
ValeurCmp = CONN_1;
IdModule = PINTST;
EndCmp
BeginCmp
TimeStamp = /53F0FD67;
Reference = K1;
ValeurCmp = POWER;
IdModule = PIN_ARRAY_3X1;
EndCmp
BeginCmp
TimeStamp = /53F0F09A;
Reference = P3;
ValeurCmp = Stepper;
IdModule = PIN_ARRAY_4x1;
EndCmp
BeginCmp
TimeStamp = /53F1169C;
Reference = P4;
ValeurCmp = Slide;
IdModule = PIN_ARRAY_2X1;
EndCmp
BeginCmp
TimeStamp = /54628FF2;
Reference = POT1;
ValeurCmp = CONN_1;
IdModule = PINTST;
EndCmp
BeginCmp
TimeStamp = /53EF036E/53E680EF;
Reference = R4;
ValeurCmp = 47k;
IdModule = SM0603;
EndCmp
BeginCmp
TimeStamp = /53EF036E/53E67E8A;
Reference = R5;
ValeurCmp = 0.33R;
IdModule = r_2512;
EndCmp
BeginCmp
TimeStamp = /53F0F811;
Reference = U2;
ValeurCmp = LM1117MPX-3.3;
IdModule = SOT223;
EndCmp
BeginCmp
TimeStamp = /54628F0D;
Reference = UP1;
ValeurCmp = CONN_1;
IdModule = PINTST;
EndCmp
BeginCmp
TimeStamp = /53EF036E/53F123C0;
Reference = VT1;
ValeurCmp = S8205A;
IdModule = TSSOP-8;
EndCmp
BeginCmp
TimeStamp = /54626F55;
Reference = X1;
ValeurCmp = STM8S105BOARD;
IdModule = devboard_pins-9-14;
EndCmp
EndListe

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,602 @@
(export (version D)
(design
(source /Big/Data/00__Electronics/STM8/microdrill/schematics/MCU_module.sch)
(date "Ср 12 дек 2018 23:33:03")
(tool "Eeschema 5.0.0")
(sheet (number 1) (name /) (tstamps /)
(title_block
(title)
(company)
(rev)
(date "14 nov 2014")
(source MCU_module.sch)
(comment (number 1) (value ""))
(comment (number 2) (value ""))
(comment (number 3) (value ""))
(comment (number 4) (value "")))))
(components
(comp (ref DA3)
(value L9110)
(footprint Package_SOIC:SOIC-8_3.9x4.9mm_P1.27mm)
(libsource (lib MCU_module-rescue) (part L9110) (description ""))
(sheetpath (names /) (tstamps /))
(tstamp 53F0EF3C))
(comp (ref P3)
(value Stepper)
(footprint modules:4PIN)
(libsource (lib MCU_module-rescue) (part CONN_4) (description ""))
(sheetpath (names /) (tstamps /))
(tstamp 53F0F09A))
(comp (ref K1)
(value POWER)
(footprint modules:3PIN_Pwr)
(libsource (lib MCU_module-rescue) (part CONN_3) (description ""))
(sheetpath (names /) (tstamps /))
(tstamp 53F0FD67))
(comp (ref P4)
(value Slide)
(footprint modules:2PIN)
(libsource (lib MCU_module-rescue) (part CONN_2) (description ""))
(sheetpath (names /) (tstamps /))
(tstamp 53F1169C))
(comp (ref UP1)
(value CONN_1)
(footprint modules:1PIN)
(libsource (lib MCU_module-rescue) (part CONN_1) (description ""))
(sheetpath (names /) (tstamps /))
(tstamp 54628F0D))
(comp (ref DOWN1)
(value CONN_1)
(footprint modules:1PIN)
(libsource (lib MCU_module-rescue) (part CONN_1) (description ""))
(sheetpath (names /) (tstamps /))
(tstamp 54628F38))
(comp (ref BTN1)
(value CONN_1)
(footprint modules:1PIN)
(libsource (lib MCU_module-rescue) (part CONN_1) (description ""))
(sheetpath (names /) (tstamps /))
(tstamp 54628F3E))
(comp (ref BTN2)
(value CONN_1)
(footprint modules:1PIN)
(libsource (lib MCU_module-rescue) (part CONN_1) (description ""))
(sheetpath (names /) (tstamps /))
(tstamp 54628FEC))
(comp (ref POT1)
(value CONN_1)
(footprint modules:1PIN)
(libsource (lib MCU_module-rescue) (part CONN_1) (description ""))
(sheetpath (names /) (tstamps /))
(tstamp 54628FF2))
(comp (ref R3)
(value 0.33R)
(footprint Resistor_SMD:R_2512_6332Metric_Pad1.34x3.40mm_HandSolder)
(libsource (lib MCU_module-rescue) (part R) (description ""))
(sheetpath (names /) (tstamps /))
(tstamp 5C118D6A))
(comp (ref R2)
(value 1k)
(footprint Resistor_SMD:R_0805_2012Metric_Pad1.15x1.50mm_HandSolder)
(libsource (lib MCU_module-rescue) (part R) (description ""))
(sheetpath (names /) (tstamps /))
(tstamp 5C118D77))
(comp (ref VT1)
(value S8205A)
(footprint Package_SSOP:TSSOP-8_4.4x3mm_P0.65mm)
(datasheet ~)
(libsource (lib MCU_module-rescue) (part S8205A) (description ""))
(sheetpath (names /) (tstamps /))
(tstamp 5C118D85))
(comp (ref C1)
(value 0.1u)
(footprint Capacitor_SMD:C_0603_1608Metric_Pad0.84x1.00mm_HandSolder)
(libsource (lib MCU_module-rescue) (part CP1) (description ""))
(sheetpath (names /) (tstamps /))
(tstamp 5C118D92))
(comp (ref DA1)
(value L9110)
(footprint Package_SOIC:SOIC-8_3.9x4.9mm_P1.27mm)
(libsource (lib MCU_module-rescue) (part L9110) (description ""))
(sheetpath (names /) (tstamps /))
(tstamp 53F0EE9F))
(comp (ref DA2)
(value L9110)
(footprint Package_SOIC:SOIC-8_3.9x4.9mm_P1.27mm)
(libsource (lib MCU_module-rescue) (part L9110) (description ""))
(sheetpath (names /) (tstamps /))
(tstamp 53F0EF24))
(comp (ref R1)
(value 1k)
(footprint Resistor_SMD:R_0805_2012Metric_Pad1.15x1.50mm_HandSolder)
(libsource (lib MCU_module-rescue) (part R) (description ""))
(sheetpath (names /) (tstamps /))
(tstamp 5C12E7DD))
(comp (ref U1)
(value STM8S105K4T6C)
(footprint Package_QFP:LQFP-32_7x7mm_P0.8mm)
(libsource (lib stm8s105k4t6c) (part STM8S105K4T6C) (description ""))
(sheetpath (names /) (tstamps /))
(tstamp 5C18CB8D))
(comp (ref C3)
(value 1u)
(footprint Capacitor_SMD:C_0805_2012Metric_Pad1.15x1.50mm_HandSolder)
(libsource (lib Device) (part C) (description "Unpolarized capacitor"))
(sheetpath (names /) (tstamps /))
(tstamp 5C1B7788))
(comp (ref C2)
(value 0.1u)
(footprint Capacitor_SMD:C_0805_2012Metric_Pad1.15x1.50mm_HandSolder)
(libsource (lib Device) (part C) (description "Unpolarized capacitor"))
(sheetpath (names /) (tstamps /))
(tstamp 5C1B78B0))
(comp (ref J2)
(value SWIM)
(footprint Connector_PinSocket_2.54mm:PinSocket_1x03_P2.54mm_Horizontal)
(datasheet ~)
(libsource (lib Connector_Generic) (part Conn_01x03_Female) (description "Generic connector, single row, 01x03, script generated (kicad-library-utils/schlib/autogen/connector/)"))
(sheetpath (names /) (tstamps /))
(tstamp 5C1E4FE5))
(comp (ref J1)
(value USART)
(footprint Connector_PinSocket_2.54mm:PinSocket_1x04_P2.54mm_Horizontal)
(datasheet ~)
(libsource (lib Connector_Generic) (part Conn_01x04_Female) (description "Generic connector, single row, 01x04, script generated (kicad-library-utils/schlib/autogen/connector/)"))
(sheetpath (names /) (tstamps /))
(tstamp 5C1E50FC))
(comp (ref R11)
(value 10k)
(footprint Resistor_SMD:R_0805_2012Metric_Pad1.15x1.50mm_HandSolder)
(libsource (lib Device) (part R) (description Resistor))
(sheetpath (names /) (tstamps /))
(tstamp 5C1F0359))
(comp (ref C4)
(value 0.1u)
(footprint Capacitor_SMD:C_0805_2012Metric_Pad1.15x1.50mm_HandSolder)
(libsource (lib Device) (part C) (description "Unpolarized capacitor"))
(sheetpath (names /) (tstamps /))
(tstamp 5C1F3F3B))
(comp (ref +5V1)
(value CONN_1)
(footprint modules:1PIN)
(libsource (lib MCU_module-rescue) (part CONN_1) (description ""))
(sheetpath (names /) (tstamps /))
(tstamp 5C21A65A))
(comp (ref GND1)
(value CONN_1)
(footprint modules:1PIN)
(libsource (lib MCU_module-rescue) (part CONN_1) (description ""))
(sheetpath (names /) (tstamps /))
(tstamp 5C21A6B0))
(comp (ref P1)
(value Drill)
(footprint modules:2PIN_Pwr)
(libsource (lib MCU_module-rescue) (part CONN_2) (description ""))
(sheetpath (names /) (tstamps /))
(tstamp 5C225621))
(comp (ref P2)
(value DrillSW)
(footprint modules:2PIN)
(libsource (lib MCU_module-rescue) (part CONN_2) (description ""))
(sheetpath (names /) (tstamps /))
(tstamp 5C225C07))
(comp (ref Q1)
(value IRML2502)
(footprint Package_TO_SOT_SMD:SOT-23_Handsoldering)
(libsource (lib Device) (part Q_NMOS_GSD) (description "Transistor N-MOSFETwith substrate diode (general)"))
(sheetpath (names /) (tstamps /))
(tstamp 5C240531))
(comp (ref Q2)
(value IRML2502)
(footprint Package_TO_SOT_SMD:SOT-23_Handsoldering)
(libsource (lib Device) (part Q_NMOS_GSD) (description "Transistor N-MOSFETwith substrate diode (general)"))
(sheetpath (names /) (tstamps /))
(tstamp 5C240A56))
(comp (ref LED0)
(value CONN_1)
(footprint modules:1PIN)
(libsource (lib MCU_module-rescue) (part CONN_1) (description ""))
(sheetpath (names /) (tstamps /))
(tstamp 5C24396A))
(comp (ref LED1)
(value CONN_1)
(footprint modules:1PIN)
(libsource (lib MCU_module-rescue) (part CONN_1) (description ""))
(sheetpath (names /) (tstamps /))
(tstamp 5C244A64))
(comp (ref LED2)
(value CONN_1)
(footprint modules:1PIN)
(libsource (lib MCU_module-rescue) (part CONN_1) (description ""))
(sheetpath (names /) (tstamps /))
(tstamp 5C244D2E))
(comp (ref INPUT0)
(value CONN_1)
(footprint modules:1PIN)
(libsource (lib MCU_module-rescue) (part CONN_1) (description ""))
(sheetpath (names /) (tstamps /))
(tstamp 5C244E64))
(comp (ref INPUT1)
(value CONN_1)
(footprint modules:1PIN)
(libsource (lib MCU_module-rescue) (part CONN_1) (description ""))
(sheetpath (names /) (tstamps /))
(tstamp 5C244EC8))
(comp (ref R4)
(value 10k)
(footprint Resistor_SMD:R_0805_2012Metric_Pad1.15x1.50mm_HandSolder)
(libsource (lib Device) (part R) (description Resistor))
(sheetpath (names /) (tstamps /))
(tstamp 5C246B91))
(comp (ref R5)
(value 10k)
(footprint Resistor_SMD:R_0805_2012Metric_Pad1.15x1.50mm_HandSolder)
(libsource (lib Device) (part R) (description Resistor))
(sheetpath (names /) (tstamps /))
(tstamp 5C25359A))
(comp (ref R8)
(value 510)
(footprint Resistor_SMD:R_0805_2012Metric_Pad1.15x1.50mm_HandSolder)
(libsource (lib Device) (part R) (description Resistor))
(sheetpath (names /) (tstamps /))
(tstamp 5C265BE1)))
(libparts
(libpart (lib Connector_Generic) (part Conn_01x03_Female)
(description "Generic connector, single row, 01x03, script generated (kicad-library-utils/schlib/autogen/connector/)")
(docs ~)
(footprints
(fp Connector*:*_1x??_*))
(fields
(field (name Reference) J)
(field (name Value) Conn_01x03_Female))
(pins
(pin (num 1) (name Pin_1) (type passive))
(pin (num 2) (name Pin_2) (type passive))
(pin (num 3) (name Pin_3) (type passive))))
(libpart (lib Connector_Generic) (part Conn_01x04_Female)
(description "Generic connector, single row, 01x04, script generated (kicad-library-utils/schlib/autogen/connector/)")
(docs ~)
(footprints
(fp Connector*:*_1x??_*))
(fields
(field (name Reference) J)
(field (name Value) Conn_01x04_Female))
(pins
(pin (num 1) (name Pin_1) (type passive))
(pin (num 2) (name Pin_2) (type passive))
(pin (num 3) (name Pin_3) (type passive))
(pin (num 4) (name Pin_4) (type passive))))
(libpart (lib Device) (part C)
(description "Unpolarized capacitor")
(footprints
(fp C_*))
(fields
(field (name Reference) C)
(field (name Value) C))
(pins
(pin (num 1) (name ~) (type passive))
(pin (num 2) (name ~) (type passive))))
(libpart (lib Device) (part Q_NMOS_GSD)
(description "Transistor N-MOSFETwith substrate diode (general)")
(fields
(field (name Reference) Q)
(field (name Value) Q_NMOS_GSD))
(pins
(pin (num 1) (name G) (type input))
(pin (num 2) (name S) (type passive))
(pin (num 3) (name D) (type passive))))
(libpart (lib Device) (part R)
(description Resistor)
(footprints
(fp R_*)
(fp R_*))
(fields
(field (name Reference) R)
(field (name Value) R))
(pins
(pin (num 1) (name ~) (type passive))
(pin (num 2) (name ~) (type passive))))
(libpart (lib MCU_module-rescue) (part CONN_1)
(fields
(field (name Reference) P)
(field (name Value) CONN_1))
(pins
(pin (num 1) (name 1) (type passive))))
(libpart (lib MCU_module-rescue) (part CONN_2)
(fields
(field (name Reference) P)
(field (name Value) CONN_2))
(pins
(pin (num 1) (name P1) (type passive))
(pin (num 2) (name PM) (type passive))))
(libpart (lib MCU_module-rescue) (part CONN_3)
(fields
(field (name Reference) K)
(field (name Value) CONN_3))
(pins
(pin (num 1) (name P1) (type passive))
(pin (num 2) (name PM) (type passive))
(pin (num 3) (name P3) (type passive))))
(libpart (lib MCU_module-rescue) (part CONN_4)
(fields
(field (name Reference) P)
(field (name Value) CONN_4))
(pins
(pin (num 1) (name P1) (type passive))
(pin (num 2) (name P2) (type passive))
(pin (num 3) (name P3) (type passive))
(pin (num 4) (name P4) (type passive))))
(libpart (lib MCU_module-rescue) (part CP1)
(footprints
(fp CP*)
(fp SM*))
(fields
(field (name Reference) C)
(field (name Value) CP1))
(pins
(pin (num 1) (name ~) (type passive))
(pin (num 2) (name ~) (type passive))))
(libpart (lib MCU_module-rescue) (part L9110)
(footprints
(fp DIP8*)
(fp DIP-8*)
(fp SOP8*)
(fp SOP-8*))
(fields
(field (name Reference) DA)
(field (name Value) L9110))
(pins
(pin (num 1) (name OA) (type output))
(pin (num 2) (name VCC) (type power_in))
(pin (num 3) (name VCC) (type power_in))
(pin (num 4) (name OB) (type output))
(pin (num 5) (name GND) (type power_in))
(pin (num 6) (name IA) (type input))
(pin (num 7) (name IB) (type input))
(pin (num 8) (name GND) (type power_in))))
(libpart (lib MCU_module-rescue) (part R)
(footprints
(fp R?)
(fp SM0603)
(fp SM0805)
(fp R?-*)
(fp SM1206))
(fields
(field (name Reference) R)
(field (name Value) R))
(pins
(pin (num 1) (name ~) (type passive))
(pin (num 2) (name ~) (type passive))))
(libpart (lib MCU_module-rescue) (part S8205A)
(footprints
(fp TSSOP8*)
(fp TSSOP-8*))
(fields
(field (name Reference) VT)
(field (name Value) S8205A)
(field (name Footprint) TSSOP-8))
(pins
(pin (num 1) (name D) (type passive))
(pin (num 2) (name S1) (type passive))
(pin (num 3) (name S1) (type passive))
(pin (num 4) (name G1) (type passive))
(pin (num 5) (name G2) (type passive))
(pin (num 6) (name S2) (type passive))
(pin (num 7) (name S2) (type passive))
(pin (num 8) (name D) (type passive))))
(libpart (lib stm8s105k4t6c) (part STM8S105K4T6C)
(aliases
(alias stm8s105*))
(footprints
(fp lqfp32*))
(fields
(field (name Reference) U)
(field (name Value) STM8S105K4T6C))
(pins
(pin (num 1) (name NRST) (type input))
(pin (num 2) (name OSCIN/PA1) (type 3state))
(pin (num 3) (name OSCOUT/PA2) (type 3state))
(pin (num 4) (name VSS) (type power_in))
(pin (num 5) (name VCAP) (type passive))
(pin (num 6) (name "VDD(3.3-5v)") (type power_in))
(pin (num 7) (name VDDio) (type power_in))
(pin (num 8) (name PF4/AIN12) (type 3state))
(pin (num 9) (name VDDA) (type power_in))
(pin (num 10) (name VSSA) (type power_in))
(pin (num 11) (name PB5/AIN5[I2X_SDA]) (type 3state))
(pin (num 12) (name PB4/AIN4[I2C_SCL]) (type 3state))
(pin (num 13) (name PB3/AIN3[TIM1_ETR]) (type 3state))
(pin (num 14) (name PB2/AIN2[TIM1_CH3N]) (type 3state))
(pin (num 15) (name PB1/AIN1_[TIM1_CH2N]) (type 3state))
(pin (num 16) (name PB0/AIN0_[TIM1_CH1N]) (type 3state))
(pin (num 17) (name PE5/SPI_NSS) (type 3state))
(pin (num 18) (name "PC1(HS)/TIM1_CH1") (type 3state))
(pin (num 19) (name "PC2(HS)/TIM1_CH2") (type 3state))
(pin (num 20) (name "PC3(HS)/TIM1_CH3") (type 3state))
(pin (num 21) (name "PC4(HS)/TIM1_CH4") (type 3state))
(pin (num 22) (name "PC5(HS)/SPI_SCK") (type 3state))
(pin (num 23) (name "PC6(HS)/SPI_MOSI") (type 3state))
(pin (num 24) (name "PC7(HS)/SPI_MISO") (type 3state))
(pin (num 25) (name "PD0(HS)/TIM3_CH2[TIM1_BKIN][CLK_CCO]") (type 3state))
(pin (num 26) (name "PD1(HS)/SWIM") (type 3state))
(pin (num 27) (name "PD2(HS)/TIM3_CH1[TIM2_CH3]") (type 3state))
(pin (num 28) (name "PD3(HS)/TIM2_CH2[ADC_ETR]") (type 3state))
(pin (num 29) (name "PD4(HS)/TIM2_CH1[BEEP]") (type 3state))
(pin (num 30) (name PD5/UART2_TX) (type 3state))
(pin (num 31) (name PD6/UART2_RX) (type 3state))
(pin (num 32) (name PD7/TLI[TIM1_CH4]) (type 3state)))))
(libraries
(library (logical Connector_Generic)
(uri /usr/share/kicad/library/Connector_Generic.lib))
(library (logical Device)
(uri /usr/share/kicad/library/Device.lib))
(library (logical MCU_module-rescue)
(uri /Big/Data/00__Electronics/STM8/microdrill/schematics/MCU_module-rescue.lib))
(library (logical stm8s105k4t6c)
(uri /Big/Data/00__Electronics/STM8/microdrill/schematics/stm8s105k4t6c.lib)))
(nets
(net (code 1) (name /PF4)
(node (ref R2) (pin 1))
(node (ref C1) (pin 1))
(node (ref U1) (pin 8)))
(net (code 2) (name /PB5)
(node (ref C3) (pin 1))
(node (ref U1) (pin 5))
(node (ref U1) (pin 11)))
(net (code 3) (name /SWIM/PD1)
(node (ref J2) (pin 2))
(node (ref U1) (pin 26)))
(net (code 4) (name GND)
(node (ref R4) (pin 1))
(node (ref K1) (pin 1))
(node (ref R5) (pin 1))
(node (ref R3) (pin 2))
(node (ref U1) (pin 10))
(node (ref P2) (pin 2))
(node (ref C4) (pin 2))
(node (ref Q1) (pin 2))
(node (ref J1) (pin 4))
(node (ref Q2) (pin 2))
(node (ref GND1) (pin 1))
(node (ref C1) (pin 2))
(node (ref U1) (pin 4))
(node (ref DA1) (pin 5))
(node (ref J2) (pin 3))
(node (ref C2) (pin 2))
(node (ref DA1) (pin 8))
(node (ref DA2) (pin 8))
(node (ref DA2) (pin 5))
(node (ref DA3) (pin 8))
(node (ref C3) (pin 2))
(node (ref DA3) (pin 5)))
(net (code 5) (name +12V)
(node (ref K1) (pin 3))
(node (ref P1) (pin 1)))
(net (code 6) (name +5V)
(node (ref DA2) (pin 2))
(node (ref DA2) (pin 3))
(node (ref DA3) (pin 3))
(node (ref DA3) (pin 2))
(node (ref K1) (pin 2))
(node (ref DA1) (pin 3))
(node (ref DA1) (pin 2))
(node (ref +5V1) (pin 1))
(node (ref U1) (pin 6))
(node (ref C2) (pin 1))
(node (ref U1) (pin 9))
(node (ref U1) (pin 7))
(node (ref J1) (pin 1))
(node (ref R11) (pin 2)))
(net (code 7) (name /PB1)
(node (ref DA1) (pin 7))
(node (ref U1) (pin 15)))
(net (code 8) (name /PC7)
(node (ref U1) (pin 24)))
(net (code 9) (name /PC6)
(node (ref U1) (pin 23)))
(net (code 10) (name /PC1)
(node (ref R1) (pin 1))
(node (ref U1) (pin 18)))
(net (code 11) (name /PB0)
(node (ref DA1) (pin 6))
(node (ref U1) (pin 16)))
(net (code 12) (name /PD5)
(node (ref U1) (pin 30))
(node (ref J1) (pin 2)))
(net (code 13) (name /PB2)
(node (ref U1) (pin 14))
(node (ref DA2) (pin 6)))
(net (code 14) (name /PB3)
(node (ref U1) (pin 13))
(node (ref DA2) (pin 7)))
(net (code 15) (name /OSC2IN)
(node (ref U1) (pin 3))
(node (ref R5) (pin 2))
(node (ref Q2) (pin 1)))
(net (code 16) (name /OSC1IN)
(node (ref Q1) (pin 1))
(node (ref U1) (pin 2))
(node (ref R4) (pin 2)))
(net (code 17) (name "Net-(LED2-Pad1)")
(node (ref R8) (pin 1))
(node (ref LED2) (pin 1)))
(net (code 18) (name "Net-(LED0-Pad1)")
(node (ref Q1) (pin 3))
(node (ref LED0) (pin 1)))
(net (code 19) (name /PD7)
(node (ref U1) (pin 32))
(node (ref INPUT1) (pin 1)))
(net (code 20) (name /PD4)
(node (ref INPUT0) (pin 1))
(node (ref U1) (pin 29)))
(net (code 21) (name /PE5)
(node (ref U1) (pin 17))
(node (ref R8) (pin 2)))
(net (code 22) (name "Net-(LED1-Pad1)")
(node (ref Q2) (pin 3))
(node (ref LED1) (pin 1)))
(net (code 23) (name /PD6)
(node (ref J1) (pin 3))
(node (ref U1) (pin 31)))
(net (code 24) (name /NRST)
(node (ref J2) (pin 1))
(node (ref U1) (pin 1))
(node (ref C4) (pin 1))
(node (ref R11) (pin 1)))
(net (code 25) (name "Net-(DA3-Pad4)")
(node (ref P4) (pin 1))
(node (ref DA3) (pin 4)))
(net (code 26) (name /PC3)
(node (ref UP1) (pin 1))
(node (ref U1) (pin 20)))
(net (code 27) (name /PC2)
(node (ref U1) (pin 19))
(node (ref DOWN1) (pin 1)))
(net (code 28) (name /PC4)
(node (ref U1) (pin 21))
(node (ref BTN1) (pin 1)))
(net (code 29) (name /PC5)
(node (ref U1) (pin 22))
(node (ref BTN2) (pin 1)))
(net (code 30) (name /PB4)
(node (ref U1) (pin 12))
(node (ref POT1) (pin 1)))
(net (code 31) (name /PD0)
(node (ref U1) (pin 25))
(node (ref P2) (pin 1)))
(net (code 32) (name "Net-(DA3-Pad1)")
(node (ref P4) (pin 2))
(node (ref DA3) (pin 1)))
(net (code 33) (name /PD2)
(node (ref DA3) (pin 7))
(node (ref U1) (pin 27)))
(net (code 34) (name /PD3)
(node (ref U1) (pin 28))
(node (ref DA3) (pin 6)))
(net (code 35) (name "Net-(DA1-Pad4)")
(node (ref DA1) (pin 4))
(node (ref P3) (pin 1)))
(net (code 36) (name "Net-(DA1-Pad1)")
(node (ref P3) (pin 2))
(node (ref DA1) (pin 1)))
(net (code 37) (name "Net-(DA2-Pad1)")
(node (ref P3) (pin 4))
(node (ref DA2) (pin 1)))
(net (code 38) (name "Net-(DA2-Pad4)")
(node (ref DA2) (pin 4))
(node (ref P3) (pin 3)))
(net (code 39) (name "Net-(R1-Pad2)")
(node (ref VT1) (pin 4))
(node (ref R1) (pin 2))
(node (ref VT1) (pin 5)))
(net (code 40) (name "Net-(P1-Pad2)")
(node (ref VT1) (pin 8))
(node (ref VT1) (pin 1))
(node (ref P1) (pin 2)))
(net (code 41) (name "Net-(R2-Pad2)")
(node (ref VT1) (pin 3))
(node (ref VT1) (pin 2))
(node (ref R2) (pin 2))
(node (ref VT1) (pin 6))
(node (ref R3) (pin 1))
(node (ref VT1) (pin 7)))))

View File

@ -0,0 +1,87 @@
update=Вт 01 янв 2019 14:38:47
last_client=kicad
[cvpcb]
version=1
NetIExt=net
[cvpcb/libraries]
EquName1=devcms
[general]
version=1
[eeschema]
version=1
LibDir=
[pcbnew]
version=1
PageLayoutDescrFile=
LastNetListRead=MCU_module.net
CopperLayerCount=2
BoardThickness=2
AllowMicroVias=0
AllowBlindVias=0
RequireCourtyardDefinitions=0
ProhibitOverlappingCourtyards=1
MinTrackWidth=0.25
MinViaDiameter=1.5
MinViaDrill=0.7999999999999999
MinMicroViaDiameter=0.508
MinMicroViaDrill=0.127
MinHoleToHole=0.25
TrackWidth1=0.25
TrackWidth2=0.25
TrackWidth3=0.5
TrackWidth4=1
ViaDiameter1=1.5
ViaDrill1=0.8
ViaDiameter2=1.5
ViaDrill2=0.8
ViaDiameter3=2.5
ViaDrill3=0.8
dPairWidth1=0.3
dPairGap1=0.25
dPairViaGap1=0.25
SilkLineWidth=0.15
SilkTextSizeV=1
SilkTextSizeH=1
SilkTextSizeThickness=0.15
SilkTextItalic=0
SilkTextUpright=1
CopperLineWidth=0.2
CopperTextSizeV=1.5
CopperTextSizeH=1.5
CopperTextThickness=0.3
CopperTextItalic=0
CopperTextUpright=1
EdgeCutLineWidth=0.09999999999999999
CourtyardLineWidth=0.05
OthersLineWidth=0.15
OthersTextSizeV=1
OthersTextSizeH=1
OthersTextSizeThickness=0.15
OthersTextItalic=0
OthersTextUpright=1
SolderMaskClearance=0
SolderMaskMinWidth=0.25
SolderPasteClearance=0
SolderPasteRatio=-0
[pcbnew/Netclasses]
[pcbnew/Netclasses/1]
Name=power
Clearance=0.5
TrackWidth=1
ViaDiameter=2.5
ViaDrill=0.8
uViaDiameter=0.508
uViaDrill=0.127
dPairWidth=0.3
dPairGap=0.25
dPairViaGap=0.25
[schematic_editor]
version=1
PageLayoutDescrFile=
PlotDirectoryName=
SubpartIdSeparator=0
SubpartFirstId=65
NetFmtName=
SpiceAjustPassiveValues=0
LabSize=50
ERC_TestSimilarLabels=1

File diff suppressed because it is too large Load Diff

Binary file not shown.

View File

@ -0,0 +1,740 @@
<?xml version="1.0" encoding="UTF-8"?>
<export version="D">
<design>
<source>/tmp/schematics_new/MCU_module.sch</source>
<date>Вт 01 янв 2019 14:48:37</date>
<tool>Eeschema 6.0.0-rc1-unknown</tool>
<sheet number="1" name="/" tstamps="/">
<title_block>
<title/>
<company/>
<rev/>
<date>14 nov 2014</date>
<source>MCU_module.sch</source>
<comment number="1" value=""/>
<comment number="2" value=""/>
<comment number="3" value=""/>
<comment number="4" value=""/>
</title_block>
</sheet>
</design>
<components>
<comp ref="DA3">
<value>L9110</value>
<footprint>Package_SOIC:SOIC-8_3.9x4.9mm_P1.27mm</footprint>
<libsource lib="MCU_module-rescue" part="L9110" description=""/>
<sheetpath names="/" tstamps="/"/>
<tstamp>53F0EF3C</tstamp>
</comp>
<comp ref="P3">
<value>Stepper</value>
<footprint>modules:4PIN</footprint>
<libsource lib="MCU_module-rescue" part="CONN_4" description=""/>
<sheetpath names="/" tstamps="/"/>
<tstamp>53F0F09A</tstamp>
</comp>
<comp ref="K1">
<value>POWER</value>
<footprint>modules:3PIN_Pwr</footprint>
<libsource lib="MCU_module-rescue" part="CONN_3" description=""/>
<sheetpath names="/" tstamps="/"/>
<tstamp>53F0FD67</tstamp>
</comp>
<comp ref="P4">
<value>Slide</value>
<footprint>modules:2PIN</footprint>
<libsource lib="MCU_module-rescue" part="CONN_2" description=""/>
<sheetpath names="/" tstamps="/"/>
<tstamp>53F1169C</tstamp>
</comp>
<comp ref="UP1">
<value>CONN_1</value>
<footprint>modules:1PIN</footprint>
<libsource lib="MCU_module-rescue" part="CONN_1" description=""/>
<sheetpath names="/" tstamps="/"/>
<tstamp>54628F0D</tstamp>
</comp>
<comp ref="DOWN1">
<value>CONN_1</value>
<footprint>modules:1PIN</footprint>
<libsource lib="MCU_module-rescue" part="CONN_1" description=""/>
<sheetpath names="/" tstamps="/"/>
<tstamp>54628F38</tstamp>
</comp>
<comp ref="BTN1">
<value>CONN_1</value>
<footprint>modules:1PIN</footprint>
<libsource lib="MCU_module-rescue" part="CONN_1" description=""/>
<sheetpath names="/" tstamps="/"/>
<tstamp>54628F3E</tstamp>
</comp>
<comp ref="BTN2">
<value>CONN_1</value>
<footprint>modules:1PIN</footprint>
<libsource lib="MCU_module-rescue" part="CONN_1" description=""/>
<sheetpath names="/" tstamps="/"/>
<tstamp>54628FEC</tstamp>
</comp>
<comp ref="POT1">
<value>CONN_1</value>
<footprint>modules:1PIN</footprint>
<libsource lib="MCU_module-rescue" part="CONN_1" description=""/>
<sheetpath names="/" tstamps="/"/>
<tstamp>54628FF2</tstamp>
</comp>
<comp ref="R3">
<value>0.33R</value>
<footprint>Resistor_SMD:R_2512_6332Metric_Pad1.34x3.40mm_HandSolder</footprint>
<libsource lib="MCU_module-rescue" part="R" description=""/>
<sheetpath names="/" tstamps="/"/>
<tstamp>5C118D6A</tstamp>
</comp>
<comp ref="R2">
<value>1k</value>
<footprint>Resistor_SMD:R_0805_2012Metric_Pad1.15x1.50mm_HandSolder</footprint>
<libsource lib="MCU_module-rescue" part="R" description=""/>
<sheetpath names="/" tstamps="/"/>
<tstamp>5C118D77</tstamp>
</comp>
<comp ref="VT1">
<value>S8205A</value>
<footprint>Package_SSOP:TSSOP-8_4.4x3mm_P0.65mm</footprint>
<datasheet>~</datasheet>
<libsource lib="MCU_module-rescue" part="S8205A" description=""/>
<sheetpath names="/" tstamps="/"/>
<tstamp>5C118D85</tstamp>
</comp>
<comp ref="C1">
<value>0.1u</value>
<footprint>Capacitor_SMD:C_0603_1608Metric_Pad0.84x1.00mm_HandSolder</footprint>
<libsource lib="MCU_module-rescue" part="CP1" description=""/>
<sheetpath names="/" tstamps="/"/>
<tstamp>5C118D92</tstamp>
</comp>
<comp ref="DA1">
<value>L9110</value>
<footprint>Package_SOIC:SOIC-8_3.9x4.9mm_P1.27mm</footprint>
<libsource lib="MCU_module-rescue" part="L9110" description=""/>
<sheetpath names="/" tstamps="/"/>
<tstamp>53F0EE9F</tstamp>
</comp>
<comp ref="DA2">
<value>L9110</value>
<footprint>Package_SOIC:SOIC-8_3.9x4.9mm_P1.27mm</footprint>
<libsource lib="MCU_module-rescue" part="L9110" description=""/>
<sheetpath names="/" tstamps="/"/>
<tstamp>53F0EF24</tstamp>
</comp>
<comp ref="R1">
<value>1k</value>
<footprint>Resistor_SMD:R_0805_2012Metric_Pad1.15x1.50mm_HandSolder</footprint>
<libsource lib="MCU_module-rescue" part="R" description=""/>
<sheetpath names="/" tstamps="/"/>
<tstamp>5C12E7DD</tstamp>
</comp>
<comp ref="U1">
<value>STM8S105K4T6C</value>
<footprint>Package_QFP:LQFP-32_7x7mm_P0.8mm</footprint>
<libsource lib="stm8s105k4t6c" part="STM8S105K4T6C" description=""/>
<sheetpath names="/" tstamps="/"/>
<tstamp>5C18CB8D</tstamp>
</comp>
<comp ref="C3">
<value>1u</value>
<footprint>Capacitor_SMD:C_0805_2012Metric_Pad1.15x1.50mm_HandSolder</footprint>
<libsource lib="Device" part="C" description="Unpolarized capacitor"/>
<sheetpath names="/" tstamps="/"/>
<tstamp>5C1B7788</tstamp>
</comp>
<comp ref="C2">
<value>0.1u</value>
<footprint>Capacitor_SMD:C_0805_2012Metric_Pad1.15x1.50mm_HandSolder</footprint>
<libsource lib="Device" part="C" description="Unpolarized capacitor"/>
<sheetpath names="/" tstamps="/"/>
<tstamp>5C1B78B0</tstamp>
</comp>
<comp ref="J2">
<value>SWIM</value>
<footprint>Connector_PinSocket_2.54mm:PinSocket_1x03_P2.54mm_Horizontal</footprint>
<datasheet>~</datasheet>
<libsource lib="MCU_module-rescue" part="Conn_01x03_Female-Connector_Generic" description=""/>
<sheetpath names="/" tstamps="/"/>
<tstamp>5C1E4FE5</tstamp>
</comp>
<comp ref="J1">
<value>USART</value>
<footprint>Connector_PinSocket_2.54mm:PinSocket_1x04_P2.54mm_Horizontal</footprint>
<datasheet>~</datasheet>
<libsource lib="MCU_module-rescue" part="Conn_01x04_Female-Connector_Generic" description=""/>
<sheetpath names="/" tstamps="/"/>
<tstamp>5C1E50FC</tstamp>
</comp>
<comp ref="R11">
<value>10k</value>
<footprint>Resistor_SMD:R_0805_2012Metric_Pad1.15x1.50mm_HandSolder</footprint>
<libsource lib="Device" part="R" description="Resistor"/>
<sheetpath names="/" tstamps="/"/>
<tstamp>5C1F0359</tstamp>
</comp>
<comp ref="C4">
<value>0.1u</value>
<footprint>Capacitor_SMD:C_0805_2012Metric_Pad1.15x1.50mm_HandSolder</footprint>
<libsource lib="Device" part="C" description="Unpolarized capacitor"/>
<sheetpath names="/" tstamps="/"/>
<tstamp>5C1F3F3B</tstamp>
</comp>
<comp ref="+5V1">
<value>CONN_1</value>
<footprint>modules:1PIN</footprint>
<libsource lib="MCU_module-rescue" part="CONN_1" description=""/>
<sheetpath names="/" tstamps="/"/>
<tstamp>5C21A65A</tstamp>
</comp>
<comp ref="GND1">
<value>CONN_1</value>
<footprint>modules:1PIN</footprint>
<libsource lib="MCU_module-rescue" part="CONN_1" description=""/>
<sheetpath names="/" tstamps="/"/>
<tstamp>5C21A6B0</tstamp>
</comp>
<comp ref="P1">
<value>Drill</value>
<footprint>modules:2PIN_Pwr</footprint>
<libsource lib="MCU_module-rescue" part="CONN_2" description=""/>
<sheetpath names="/" tstamps="/"/>
<tstamp>5C225621</tstamp>
</comp>
<comp ref="P2">
<value>DrillSW</value>
<footprint>modules:2PIN</footprint>
<libsource lib="MCU_module-rescue" part="CONN_2" description=""/>
<sheetpath names="/" tstamps="/"/>
<tstamp>5C225C07</tstamp>
</comp>
<comp ref="Q1">
<value>IRML2502</value>
<footprint>Package_TO_SOT_SMD:SOT-23_Handsoldering</footprint>
<libsource lib="Device" part="Q_NMOS_GSD" description="Transistor N-MOSFETwith substrate diode (general)"/>
<sheetpath names="/" tstamps="/"/>
<tstamp>5C240531</tstamp>
</comp>
<comp ref="Q2">
<value>IRML2502</value>
<footprint>Package_TO_SOT_SMD:SOT-23_Handsoldering</footprint>
<libsource lib="Device" part="Q_NMOS_GSD" description="Transistor N-MOSFETwith substrate diode (general)"/>
<sheetpath names="/" tstamps="/"/>
<tstamp>5C240A56</tstamp>
</comp>
<comp ref="LED0">
<value>CONN_1</value>
<footprint>modules:1PIN</footprint>
<libsource lib="MCU_module-rescue" part="CONN_1" description=""/>
<sheetpath names="/" tstamps="/"/>
<tstamp>5C24396A</tstamp>
</comp>
<comp ref="LED1">
<value>CONN_1</value>
<footprint>modules:1PIN</footprint>
<libsource lib="MCU_module-rescue" part="CONN_1" description=""/>
<sheetpath names="/" tstamps="/"/>
<tstamp>5C244A64</tstamp>
</comp>
<comp ref="LED2">
<value>CONN_1</value>
<footprint>modules:1PIN</footprint>
<libsource lib="MCU_module-rescue" part="CONN_1" description=""/>
<sheetpath names="/" tstamps="/"/>
<tstamp>5C244D2E</tstamp>
</comp>
<comp ref="INPUT0">
<value>CONN_1</value>
<footprint>modules:1PIN</footprint>
<libsource lib="MCU_module-rescue" part="CONN_1" description=""/>
<sheetpath names="/" tstamps="/"/>
<tstamp>5C244E64</tstamp>
</comp>
<comp ref="INPUT1">
<value>CONN_1</value>
<footprint>modules:1PIN</footprint>
<libsource lib="MCU_module-rescue" part="CONN_1" description=""/>
<sheetpath names="/" tstamps="/"/>
<tstamp>5C244EC8</tstamp>
</comp>
<comp ref="R4">
<value>10k</value>
<footprint>Resistor_SMD:R_0805_2012Metric_Pad1.15x1.50mm_HandSolder</footprint>
<libsource lib="Device" part="R" description="Resistor"/>
<sheetpath names="/" tstamps="/"/>
<tstamp>5C246B91</tstamp>
</comp>
<comp ref="R5">
<value>10k</value>
<footprint>Resistor_SMD:R_0805_2012Metric_Pad1.15x1.50mm_HandSolder</footprint>
<libsource lib="Device" part="R" description="Resistor"/>
<sheetpath names="/" tstamps="/"/>
<tstamp>5C25359A</tstamp>
</comp>
<comp ref="R8">
<value>510</value>
<footprint>Resistor_SMD:R_0805_2012Metric_Pad1.15x1.50mm_HandSolder</footprint>
<libsource lib="Device" part="R" description="Resistor"/>
<sheetpath names="/" tstamps="/"/>
<tstamp>5C265BE1</tstamp>
</comp>
</components>
<libparts>
<libpart lib="Device" part="C">
<description>Unpolarized capacitor</description>
<docs>~</docs>
<footprints>
<fp>C_*</fp>
</footprints>
<fields>
<field name="Reference">C</field>
<field name="Value">C</field>
</fields>
<pins>
<pin num="1" name="~" type="passive"/>
<pin num="2" name="~" type="passive"/>
</pins>
</libpart>
<libpart lib="Device" part="Q_NMOS_GSD">
<description>Transistor N-MOSFETwith substrate diode (general)</description>
<docs>~</docs>
<fields>
<field name="Reference">Q</field>
<field name="Value">Q_NMOS_GSD</field>
</fields>
<pins>
<pin num="1" name="G" type="input"/>
<pin num="2" name="S" type="passive"/>
<pin num="3" name="D" type="passive"/>
</pins>
</libpart>
<libpart lib="Device" part="R">
<description>Resistor</description>
<docs>~</docs>
<footprints>
<fp>R_*</fp>
</footprints>
<fields>
<field name="Reference">R</field>
<field name="Value">R</field>
</fields>
<pins>
<pin num="1" name="~" type="passive"/>
<pin num="2" name="~" type="passive"/>
</pins>
</libpart>
<libpart lib="MCU_module-rescue" part="CONN_1">
<fields>
<field name="Reference">P</field>
<field name="Value">CONN_1</field>
</fields>
<pins>
<pin num="1" name="1" type="passive"/>
</pins>
</libpart>
<libpart lib="MCU_module-rescue" part="CONN_2">
<fields>
<field name="Reference">P</field>
<field name="Value">CONN_2</field>
</fields>
<pins>
<pin num="1" name="P1" type="passive"/>
<pin num="2" name="PM" type="passive"/>
</pins>
</libpart>
<libpart lib="MCU_module-rescue" part="CONN_3">
<fields>
<field name="Reference">K</field>
<field name="Value">CONN_3</field>
</fields>
<pins>
<pin num="1" name="P1" type="passive"/>
<pin num="2" name="PM" type="passive"/>
<pin num="3" name="P3" type="passive"/>
</pins>
</libpart>
<libpart lib="MCU_module-rescue" part="CONN_4">
<fields>
<field name="Reference">P</field>
<field name="Value">CONN_4</field>
</fields>
<pins>
<pin num="1" name="P1" type="passive"/>
<pin num="2" name="P2" type="passive"/>
<pin num="3" name="P3" type="passive"/>
<pin num="4" name="P4" type="passive"/>
</pins>
</libpart>
<libpart lib="MCU_module-rescue" part="CP1">
<footprints>
<fp>CP*</fp>
<fp>SM*</fp>
</footprints>
<fields>
<field name="Reference">C</field>
<field name="Value">CP1</field>
</fields>
<pins>
<pin num="1" name="~" type="passive"/>
<pin num="2" name="~" type="passive"/>
</pins>
</libpart>
<libpart lib="MCU_module-rescue" part="Conn_01x03_Female-Connector_Generic">
<footprints>
<fp>Connector*:*_1x??_*</fp>
</footprints>
<fields>
<field name="Reference">J</field>
<field name="Value">Conn_01x03_Female-Connector_Generic</field>
</fields>
<pins>
<pin num="1" name="Pin_1" type="passive"/>
<pin num="2" name="Pin_2" type="passive"/>
<pin num="3" name="Pin_3" type="passive"/>
</pins>
</libpart>
<libpart lib="MCU_module-rescue" part="Conn_01x04_Female-Connector_Generic">
<footprints>
<fp>Connector*:*_1x??_*</fp>
</footprints>
<fields>
<field name="Reference">J</field>
<field name="Value">Conn_01x04_Female-Connector_Generic</field>
</fields>
<pins>
<pin num="1" name="Pin_1" type="passive"/>
<pin num="2" name="Pin_2" type="passive"/>
<pin num="3" name="Pin_3" type="passive"/>
<pin num="4" name="Pin_4" type="passive"/>
</pins>
</libpart>
<libpart lib="MCU_module-rescue" part="L9110">
<footprints>
<fp>DIP8*</fp>
<fp>DIP-8*</fp>
<fp>SOP8*</fp>
<fp>SOP-8*</fp>
</footprints>
<fields>
<field name="Reference">DA</field>
<field name="Value">L9110</field>
</fields>
<pins>
<pin num="1" name="OA" type="output"/>
<pin num="2" name="VCC" type="power_in"/>
<pin num="3" name="VCC" type="power_in"/>
<pin num="4" name="OB" type="output"/>
<pin num="5" name="GND" type="power_in"/>
<pin num="6" name="IA" type="input"/>
<pin num="7" name="IB" type="input"/>
<pin num="8" name="GND" type="power_in"/>
</pins>
</libpart>
<libpart lib="MCU_module-rescue" part="R">
<footprints>
<fp>R?</fp>
<fp>SM0603</fp>
<fp>SM0805</fp>
<fp>R?-*</fp>
<fp>SM1206</fp>
</footprints>
<fields>
<field name="Reference">R</field>
<field name="Value">R</field>
</fields>
<pins>
<pin num="1" name="~" type="passive"/>
<pin num="2" name="~" type="passive"/>
</pins>
</libpart>
<libpart lib="MCU_module-rescue" part="S8205A">
<footprints>
<fp>TSSOP8*</fp>
<fp>TSSOP-8*</fp>
</footprints>
<fields>
<field name="Reference">VT</field>
<field name="Value">S8205A</field>
<field name="Footprint">TSSOP-8</field>
</fields>
<pins>
<pin num="1" name="D" type="passive"/>
<pin num="2" name="S1" type="passive"/>
<pin num="3" name="S1" type="passive"/>
<pin num="4" name="G1" type="passive"/>
<pin num="5" name="G2" type="passive"/>
<pin num="6" name="S2" type="passive"/>
<pin num="7" name="S2" type="passive"/>
<pin num="8" name="D" type="passive"/>
</pins>
</libpart>
<libpart lib="stm8s105k4t6c" part="STM8S105K4T6C">
<aliases>
<alias>stm8s105*</alias>
</aliases>
<footprints>
<fp>lqfp32*</fp>
</footprints>
<fields>
<field name="Reference">U</field>
<field name="Value">STM8S105K4T6C</field>
</fields>
<pins>
<pin num="1" name="NRST" type="input"/>
<pin num="2" name="OSCIN/PA1" type="3state"/>
<pin num="3" name="OSCOUT/PA2" type="3state"/>
<pin num="4" name="VSS" type="power_in"/>
<pin num="5" name="VCAP" type="passive"/>
<pin num="6" name="VDD(3.3-5v)" type="power_in"/>
<pin num="7" name="VDDio" type="power_in"/>
<pin num="8" name="PF4/AIN12" type="3state"/>
<pin num="9" name="VDDA" type="power_in"/>
<pin num="10" name="VSSA" type="power_in"/>
<pin num="11" name="PB5/AIN5[I2X_SDA]" type="3state"/>
<pin num="12" name="PB4/AIN4[I2C_SCL]" type="3state"/>
<pin num="13" name="PB3/AIN3[TIM1_ETR]" type="3state"/>
<pin num="14" name="PB2/AIN2[TIM1_CH3N]" type="3state"/>
<pin num="15" name="PB1/AIN1_[TIM1_CH2N]" type="3state"/>
<pin num="16" name="PB0/AIN0_[TIM1_CH1N]" type="3state"/>
<pin num="17" name="PE5/SPI_NSS" type="3state"/>
<pin num="18" name="PC1(HS)/TIM1_CH1" type="3state"/>
<pin num="19" name="PC2(HS)/TIM1_CH2" type="3state"/>
<pin num="20" name="PC3(HS)/TIM1_CH3" type="3state"/>
<pin num="21" name="PC4(HS)/TIM1_CH4" type="3state"/>
<pin num="22" name="PC5(HS)/SPI_SCK" type="3state"/>
<pin num="23" name="PC6(HS)/SPI_MOSI" type="3state"/>
<pin num="24" name="PC7(HS)/SPI_MISO" type="3state"/>
<pin num="25" name="PD0(HS)/TIM3_CH2[TIM1_BKIN][CLK_CCO]" type="3state"/>
<pin num="26" name="PD1(HS)/SWIM" type="3state"/>
<pin num="27" name="PD2(HS)/TIM3_CH1[TIM2_CH3]" type="3state"/>
<pin num="28" name="PD3(HS)/TIM2_CH2[ADC_ETR]" type="3state"/>
<pin num="29" name="PD4(HS)/TIM2_CH1[BEEP]" type="3state"/>
<pin num="30" name="PD5/UART2_TX" type="3state"/>
<pin num="31" name="PD6/UART2_RX" type="3state"/>
<pin num="32" name="PD7/TLI[TIM1_CH4]" type="3state"/>
</pins>
</libpart>
</libparts>
<libraries>
<library logical="Device">
<uri>/usr/share/kicad/kicad-symbols//Device.lib</uri>
</library>
<library logical="MCU_module-rescue">
<uri>/tmp/schematics_new/MCU_module-rescue.lib</uri>
</library>
<library logical="stm8s105k4t6c">
<uri>/tmp/schematics_new/stm8s105k4t6c.lib</uri>
</library>
</libraries>
<nets>
<net code="1" name="/PF4">
<node ref="R2" pin="1"/>
<node ref="C1" pin="1"/>
<node ref="U1" pin="8"/>
</net>
<net code="2" name="/PB5">
<node ref="C3" pin="1"/>
<node ref="U1" pin="5"/>
<node ref="U1" pin="11"/>
</net>
<net code="3" name="/SWIM/PD1">
<node ref="J2" pin="2"/>
<node ref="U1" pin="26"/>
</net>
<net code="4" name="GND">
<node ref="R4" pin="1"/>
<node ref="K1" pin="1"/>
<node ref="R5" pin="1"/>
<node ref="R3" pin="2"/>
<node ref="U1" pin="10"/>
<node ref="P2" pin="2"/>
<node ref="C4" pin="2"/>
<node ref="Q1" pin="2"/>
<node ref="J1" pin="4"/>
<node ref="Q2" pin="2"/>
<node ref="GND1" pin="1"/>
<node ref="C1" pin="2"/>
<node ref="U1" pin="4"/>
<node ref="DA1" pin="5"/>
<node ref="J2" pin="3"/>
<node ref="C2" pin="2"/>
<node ref="DA1" pin="8"/>
<node ref="DA2" pin="8"/>
<node ref="DA2" pin="5"/>
<node ref="DA3" pin="8"/>
<node ref="C3" pin="2"/>
<node ref="DA3" pin="5"/>
</net>
<net code="5" name="+12V">
<node ref="K1" pin="3"/>
<node ref="P1" pin="1"/>
</net>
<net code="6" name="+5V">
<node ref="DA2" pin="2"/>
<node ref="DA2" pin="3"/>
<node ref="DA3" pin="3"/>
<node ref="DA3" pin="2"/>
<node ref="K1" pin="2"/>
<node ref="DA1" pin="3"/>
<node ref="DA1" pin="2"/>
<node ref="+5V1" pin="1"/>
<node ref="U1" pin="6"/>
<node ref="C2" pin="1"/>
<node ref="U1" pin="9"/>
<node ref="U1" pin="7"/>
<node ref="J1" pin="1"/>
<node ref="R11" pin="2"/>
</net>
<net code="7" name="/PB1">
<node ref="DA1" pin="7"/>
<node ref="U1" pin="15"/>
</net>
<net code="8" name="/PC7">
<node ref="U1" pin="24"/>
</net>
<net code="9" name="/PC6">
<node ref="U1" pin="23"/>
</net>
<net code="10" name="/PC1">
<node ref="R1" pin="1"/>
<node ref="U1" pin="18"/>
</net>
<net code="11" name="/PB0">
<node ref="DA1" pin="6"/>
<node ref="U1" pin="16"/>
</net>
<net code="12" name="/PD5">
<node ref="U1" pin="30"/>
<node ref="J1" pin="2"/>
</net>
<net code="13" name="/PB2">
<node ref="U1" pin="14"/>
<node ref="DA2" pin="6"/>
</net>
<net code="14" name="/PB3">
<node ref="U1" pin="13"/>
<node ref="DA2" pin="7"/>
</net>
<net code="15" name="/OSC2IN">
<node ref="U1" pin="3"/>
<node ref="R5" pin="2"/>
<node ref="Q2" pin="1"/>
</net>
<net code="16" name="/OSC1IN">
<node ref="Q1" pin="1"/>
<node ref="U1" pin="2"/>
<node ref="R4" pin="2"/>
</net>
<net code="17" name="Net-(LED2-Pad1)">
<node ref="R8" pin="1"/>
<node ref="LED2" pin="1"/>
</net>
<net code="18" name="Net-(LED0-Pad1)">
<node ref="Q1" pin="3"/>
<node ref="LED0" pin="1"/>
</net>
<net code="19" name="/PD7">
<node ref="U1" pin="32"/>
<node ref="INPUT1" pin="1"/>
</net>
<net code="20" name="/PD4">
<node ref="INPUT0" pin="1"/>
<node ref="U1" pin="29"/>
</net>
<net code="21" name="/PE5">
<node ref="U1" pin="17"/>
<node ref="R8" pin="2"/>
</net>
<net code="22" name="Net-(LED1-Pad1)">
<node ref="Q2" pin="3"/>
<node ref="LED1" pin="1"/>
</net>
<net code="23" name="/PD6">
<node ref="J1" pin="3"/>
<node ref="U1" pin="31"/>
</net>
<net code="24" name="/NRST">
<node ref="J2" pin="1"/>
<node ref="U1" pin="1"/>
<node ref="C4" pin="1"/>
<node ref="R11" pin="1"/>
</net>
<net code="25" name="Net-(DA3-Pad4)">
<node ref="P4" pin="1"/>
<node ref="DA3" pin="4"/>
</net>
<net code="26" name="/PC3">
<node ref="UP1" pin="1"/>
<node ref="U1" pin="20"/>
</net>
<net code="27" name="/PC2">
<node ref="U1" pin="19"/>
<node ref="DOWN1" pin="1"/>
</net>
<net code="28" name="/PC4">
<node ref="U1" pin="21"/>
<node ref="BTN1" pin="1"/>
</net>
<net code="29" name="/PC5">
<node ref="U1" pin="22"/>
<node ref="BTN2" pin="1"/>
</net>
<net code="30" name="/PB4">
<node ref="U1" pin="12"/>
<node ref="POT1" pin="1"/>
</net>
<net code="31" name="/PD0">
<node ref="U1" pin="25"/>
<node ref="P2" pin="1"/>
</net>
<net code="32" name="Net-(DA3-Pad1)">
<node ref="P4" pin="2"/>
<node ref="DA3" pin="1"/>
</net>
<net code="33" name="/PD2">
<node ref="DA3" pin="7"/>
<node ref="U1" pin="27"/>
</net>
<net code="34" name="/PD3">
<node ref="U1" pin="28"/>
<node ref="DA3" pin="6"/>
</net>
<net code="35" name="Net-(DA1-Pad4)">
<node ref="DA1" pin="4"/>
<node ref="P3" pin="1"/>
</net>
<net code="36" name="Net-(DA1-Pad1)">
<node ref="P3" pin="2"/>
<node ref="DA1" pin="1"/>
</net>
<net code="37" name="Net-(DA2-Pad1)">
<node ref="P3" pin="4"/>
<node ref="DA2" pin="1"/>
</net>
<net code="38" name="Net-(DA2-Pad4)">
<node ref="DA2" pin="4"/>
<node ref="P3" pin="3"/>
</net>
<net code="39" name="Net-(R1-Pad2)">
<node ref="VT1" pin="4"/>
<node ref="R1" pin="2"/>
<node ref="VT1" pin="5"/>
</net>
<net code="40" name="Net-(P1-Pad2)">
<node ref="VT1" pin="8"/>
<node ref="VT1" pin="1"/>
<node ref="P1" pin="2"/>
</net>
<net code="41" name="Net-(R2-Pad2)">
<node ref="VT1" pin="3"/>
<node ref="VT1" pin="2"/>
<node ref="R2" pin="2"/>
<node ref="VT1" pin="6"/>
<node ref="R3" pin="1"/>
<node ref="VT1" pin="7"/>
</net>
</nets>
</export>

View File

@ -0,0 +1 @@
0

View File

@ -0,0 +1,3 @@
(fp_lib_table
(lib (name modules)(type KiCad)(uri ${KIPRJMOD}/modules.pretty)(options "")(descr ""))
)

View File

@ -0,0 +1,11 @@
(module 1PIN (layer F.Cu) (tedit 5C113A97)
(fp_text reference J5 (at 0 5.5) (layer F.SilkS)
(effects (font (size 1 1) (thickness 0.15)))
)
(fp_text value Load_12V (at 0 4) (layer F.Fab)
(effects (font (size 1 1) (thickness 0.15)))
)
(pad "" np_thru_hole circle (at 0 -7) (size 2 2) (drill 0.6) (layers *.Cu *.Mask))
(pad 1 connect rect (at 0 0) (size 1.5 6) (layers F.Cu F.Mask))
(pad "" np_thru_hole circle (at 0 -4.5) (size 2 2) (drill 0.6) (layers *.Cu *.Mask))
)

View File

@ -0,0 +1,14 @@
(module 2PIN (layer F.Cu) (tedit 5C113A43)
(fp_text reference REF** (at 0 5.5) (layer F.SilkS)
(effects (font (size 1 1) (thickness 0.15)))
)
(fp_text value 2PIN (at 0 4) (layer F.Fab)
(effects (font (size 1 1) (thickness 0.15)))
)
(pad "" np_thru_hole circle (at 1.25 -7) (size 2 2) (drill 0.6) (layers *.Cu *.Mask))
(pad "" np_thru_hole circle (at 1.25 -4.5) (size 2 2) (drill 0.6) (layers *.Cu *.Mask))
(pad "" np_thru_hole circle (at -1.25 -4.5) (size 2 2) (drill 0.6) (layers *.Cu *.Mask))
(pad "" np_thru_hole circle (at -1.25 -7) (size 2 2) (drill 0.6) (layers *.Cu *.Mask))
(pad 2 connect rect (at 1.25 0) (size 1.5 6) (layers F.Cu F.Mask))
(pad 1 connect rect (at -1.25 0) (size 1.5 6) (layers F.Cu F.Mask))
)

View File

@ -0,0 +1,14 @@
(module 2PIN_Pwr (layer F.Cu) (tedit 5C1139F4)
(fp_text reference REF** (at 0 5.5) (layer F.SilkS)
(effects (font (size 1 1) (thickness 0.15)))
)
(fp_text value 2PIN (at 0 4) (layer F.Fab)
(effects (font (size 1 1) (thickness 0.15)))
)
(pad "" np_thru_hole circle (at 1.5 -5) (size 2.5 2.5) (drill 0.6) (layers *.Cu *.Mask))
(pad "" np_thru_hole circle (at 1.5 -8) (size 2.5 2.5) (drill 0.6) (layers *.Cu *.Mask))
(pad "" np_thru_hole circle (at -1.5 -5) (size 2.5 2.5) (drill 0.6) (layers *.Cu *.Mask))
(pad 2 connect rect (at 1.5 0) (size 2 6) (layers F.Cu F.Mask))
(pad "" np_thru_hole circle (at -1.5 -8) (size 2.5 2.5) (drill 0.6) (layers *.Cu *.Mask))
(pad 1 connect rect (at -1.5 0) (size 2 6) (layers F.Cu F.Mask))
)

View File

@ -0,0 +1,17 @@
(module 3PIN_Pwr (layer F.Cu) (tedit 5C113C21)
(fp_text reference REF** (at 0 5.5) (layer F.SilkS)
(effects (font (size 1 1) (thickness 0.15)))
)
(fp_text value 3PIN (at 0 4) (layer F.Fab)
(effects (font (size 1 1) (thickness 0.15)))
)
(pad "" np_thru_hole circle (at 0 -5) (size 2.5 2.5) (drill 0.6) (layers *.Cu *.Mask))
(pad "" np_thru_hole circle (at 0 -8) (size 2.5 2.5) (drill 0.6) (layers *.Cu *.Mask))
(pad "" np_thru_hole circle (at -3 -5) (size 2.5 2.5) (drill 0.6) (layers *.Cu *.Mask))
(pad 2 connect rect (at 0 0) (size 2 6) (layers F.Cu F.Mask))
(pad "" np_thru_hole circle (at -3 -8) (size 2.5 2.5) (drill 0.6) (layers *.Cu *.Mask))
(pad 1 connect rect (at -3 0) (size 2 6) (layers F.Cu F.Mask))
(pad 3 connect rect (at 3 0) (size 2 6) (layers F.Cu F.Mask))
(pad "" np_thru_hole circle (at 3 -8) (size 2.5 2.5) (drill 0.6) (layers *.Cu *.Mask))
(pad "" np_thru_hole circle (at 3 -5) (size 2.5 2.5) (drill 0.6) (layers *.Cu *.Mask))
)

View File

@ -0,0 +1,20 @@
(module 4PIN (layer F.Cu) (tedit 5C113B86)
(fp_text reference REF** (at 0 5.5) (layer F.SilkS)
(effects (font (size 1 1) (thickness 0.15)))
)
(fp_text value 4PIN (at 0 4) (layer F.Fab)
(effects (font (size 1 1) (thickness 0.15)))
)
(pad "" np_thru_hole circle (at -3.75 -4.5) (size 2 2) (drill 0.6) (layers *.Cu *.Mask))
(pad 4 connect rect (at 3.75 0) (size 1.5 6) (layers F.Cu F.Mask))
(pad 3 connect rect (at 1.25 0) (size 1.5 6) (layers F.Cu F.Mask))
(pad 2 connect rect (at -1.25 0) (size 1.5 6) (layers F.Cu F.Mask))
(pad 1 connect rect (at -3.75 0) (size 1.5 6) (layers F.Cu F.Mask))
(pad "" np_thru_hole circle (at -1.25 -4.5) (size 2 2) (drill 0.6) (layers *.Cu *.Mask))
(pad "" np_thru_hole circle (at 1.25 -4.5) (size 2 2) (drill 0.6) (layers *.Cu *.Mask))
(pad "" np_thru_hole circle (at 3.75 -4.5) (size 2 2) (drill 0.6) (layers *.Cu *.Mask))
(pad "" np_thru_hole circle (at 3.75 -7) (size 2 2) (drill 0.6) (layers *.Cu *.Mask))
(pad "" np_thru_hole circle (at 1.25 -7) (size 2 2) (drill 0.6) (layers *.Cu *.Mask))
(pad "" np_thru_hole circle (at -3.75 -7) (size 2 2) (drill 0.6) (layers *.Cu *.Mask))
(pad "" np_thru_hole circle (at -1.25 -7) (size 2 2) (drill 0.6) (layers *.Cu *.Mask))
)

View File

@ -0,0 +1,12 @@
(module Via locked (layer F.Cu) (tedit 5C117865)
(fp_text reference REF** (at 0 2.25) (layer F.SilkS) hide
(effects (font (size 1 1) (thickness 0.15)))
)
(fp_text value Via (at 0 -2.75) (layer F.Fab) hide
(effects (font (size 1 1) (thickness 0.15)))
)
(fp_line (start -2.5 -2) (end 3.25 -2) (layer F.SilkS) (width 0.15))
(fp_line (start 3.25 -2) (end 3.25 1.25) (layer F.SilkS) (width 0.15))
(pad 1 thru_hole circle (at 0 0) (size 1.5 1.5) (drill 0.8) (layers *.Cu)
(zone_connect 1))
)

View File

@ -0,0 +1,51 @@
update=Вс 09 дек 2018 19:19:29
last_client=eeschema
[cvpcb]
version=1
NetIExt=net
[cvpcb/libraries]
EquName1=devcms
[pcbnew]
version=1
LastNetListRead=
UseCmpFile=1
PadDrill=" 0.000000"
PadDrillOvalY=" 0.000000"
PadSizeH=" 1.100000"
PadSizeV=" 0.300000"
PcbTextSizeV=" 1.500000"
PcbTextSizeH=" 1.500000"
PcbTextThickness=" 0.300000"
ModuleTextSizeV=" 1.000000"
ModuleTextSizeH=" 1.000000"
ModuleTextSizeThickness=" 0.150000"
SolderMaskClearance=" 0.000000"
SolderMaskMinWidth=" 0.000000"
DrawSegmentWidth=" 0.200000"
BoardOutlineThickness=" 0.100000"
ModuleOutlineThickness=" 0.150000"
[pcbnew/libraries]
LibDir=
LibName1=sockets
LibName2=connect
LibName3=discret
LibName4=pin_array
LibName5=divers
LibName6=smd_capacitors
LibName7=smd_resistors
LibName8=smd_dil
LibName9=smd_transistors
LibName10=libcms
LibName11=display
LibName12=led
LibName13=dip_sockets
LibName14=pga_sockets
LibName15=valves
LibName16=SOP8
LibName17=devboard_pins
LibName18=tssop-8
[general]
version=1
[eeschema]
version=1
LibDir=

View File

@ -0,0 +1,751 @@
EESchema Schematic File Version 2
LIBS:power
LIBS:device
LIBS:transistors
LIBS:conn
LIBS:linear
LIBS:regul
LIBS:74xx
LIBS:cmos4000
LIBS:adc-dac
LIBS:memory
LIBS:xilinx
LIBS:special
LIBS:microcontrollers
LIBS:dsp
LIBS:microchip
LIBS:analog_switches
LIBS:motorola
LIBS:texas
LIBS:intel
LIBS:audio
LIBS:interface
LIBS:digital-audio
LIBS:philips
LIBS:display
LIBS:cypress
LIBS:siliconi
LIBS:opto
LIBS:atmel
LIBS:contrib
LIBS:valves
LIBS:stm8s105k4t6c
LIBS:L9110
LIBS:LM1117
LIBS:s8205a
LIBS:MCU_module-cache
EELAYER 24 0
EELAYER END
$Descr A3 16535 11693
encoding utf-8
Sheet 1 2
Title ""
Date "14 nov 2014"
Rev ""
Comp ""
Comment1 ""
Comment2 ""
Comment3 ""
Comment4 ""
$EndDescr
$Comp
L GND #PWR01
U 1 1 52FB03EF
P 1600 1650
F 0 "#PWR01" H 1600 1650 30 0001 C CNN
F 1 "GND" H 1600 1580 30 0001 C CNN
F 2 "" H 1600 1650 60 0000 C CNN
F 3 "" H 1600 1650 60 0000 C CNN
1 1600 1650
1 0 0 -1
$EndComp
Text Label 2150 1700 2 60 ~ 0
NRST
Text Label 2150 1800 2 60 ~ 0
OSC1IN
Text Label 2150 1900 2 60 ~ 0
OSC2IN
Text Label 2150 2000 2 60 ~ 0
PF4
Text Label 2150 2100 2 60 ~ 0
PB5
Text Label 2150 2200 2 60 ~ 0
PB4
Text Label 2150 2300 2 60 ~ 0
PB3
Text Label 2150 2400 2 60 ~ 0
PB2
Text Label 2150 2500 2 60 ~ 0
PB1
Text Label 2150 2600 2 60 ~ 0
PB0
Text Label 2150 2700 2 60 ~ 0
PE5
Text Label 2150 2800 2 60 ~ 0
PC1
Text Label 4950 2800 0 60 ~ 0
PC2
Text Label 4950 2700 0 60 ~ 0
PC3
Text Label 4950 2600 0 60 ~ 0
PC4
Text Label 4950 2500 0 60 ~ 0
PC5
Text Label 4950 2400 0 60 ~ 0
PC6
Text Label 4950 2300 0 60 ~ 0
PC7
Text Label 4950 2200 0 60 ~ 0
PD0
Text Label 4950 2100 0 60 ~ 0
SWIM/PD1
Text Label 4950 2000 0 60 ~ 0
PD2
Text Label 4950 1900 0 60 ~ 0
PD3
Text Label 4950 1800 0 60 ~ 0
PD4
Text Label 4950 1700 0 60 ~ 0
PD5
Text Label 4950 1600 0 60 ~ 0
PD6
Text Label 4950 1500 0 60 ~ 0
PD7
Text Label 1200 5850 2 60 ~ 0
PC1
Text Label 4000 6200 2 60 ~ 0
PB3
Text Label 4000 6300 2 60 ~ 0
PB2
Text Label 4000 5450 2 60 ~ 0
PB1
Text Label 4000 5550 2 60 ~ 0
PB0
$Sheet
S 1350 5600 750 650
U 53EF036E
F0 "Drill motor" 50
F1 "drill.sch" 50
F2 "PWM_in" I L 1350 5850 60
F3 "Sence" O L 1350 6000 60
F4 "DRILL+" O R 2100 5700 60
F5 "DRILL-" O R 2100 6100 60
$EndSheet
Wire Wire Line
1200 5850 1350 5850
Text Label 1200 6000 2 60 ~ 0
PF4
Wire Wire Line
1200 6000 1350 6000
$Comp
L L9110 DA1
U 1 1 53F0EE9F
P 4600 5500
F 0 "DA1" H 4600 5200 50 0000 C CNN
F 1 "L9110" H 4600 5800 50 0000 C CNN
F 2 "" H 4600 5500 50 0001 C CNN
F 3 "" H 4600 5500 50 0001 C CNN
1 4600 5500
-1 0 0 -1
$EndComp
$Comp
L L9110 DA2
U 1 1 53F0EF24
P 4600 6250
F 0 "DA2" H 4600 5950 50 0000 C CNN
F 1 "L9110" H 4600 6550 50 0000 C CNN
F 2 "" H 4600 6250 50 0001 C CNN
F 3 "" H 4600 6250 50 0001 C CNN
1 4600 6250
-1 0 0 -1
$EndComp
$Comp
L L9110 DA3
U 1 1 53F0EF3C
P 4600 7650
F 0 "DA3" H 4600 7350 50 0000 C CNN
F 1 "L9110" H 4600 7950 50 0000 C CNN
F 2 "" H 4600 7650 50 0001 C CNN
F 3 "" H 4600 7650 50 0001 C CNN
1 4600 7650
-1 0 0 -1
$EndComp
$Comp
L CONN_4 P3
U 1 1 53F0F09A
P 6100 5850
F 0 "P3" V 6050 5850 50 0000 C CNN
F 1 "Stepper" V 6150 5850 50 0000 C CNN
F 2 "" H 6100 5850 60 0000 C CNN
F 3 "" H 6100 5850 60 0000 C CNN
1 6100 5850
1 0 0 -1
$EndComp
Wire Wire Line
5200 5450 5200 5550
Wire Wire Line
5200 6200 5200 6300
Wire Wire Line
3700 6400 4000 6400
Wire Wire Line
3700 6400 3700 6100
Wire Wire Line
3700 6100 4000 6100
Wire Wire Line
4000 6100 4000 5650
Wire Wire Line
4000 5650 3700 5650
Wire Wire Line
3700 5650 3700 5350
Wire Wire Line
3700 5350 4000 5350
$Comp
L GND #PWR02
U 1 1 53F0F2B8
P 4000 6500
F 0 "#PWR02" H 4000 6500 30 0001 C CNN
F 1 "GND" H 4000 6430 30 0001 C CNN
F 2 "" H 4000 6500 60 0000 C CNN
F 3 "" H 4000 6500 60 0000 C CNN
1 4000 6500
1 0 0 -1
$EndComp
Wire Wire Line
4000 6400 4000 6500
Connection ~ 4000 6400
Connection ~ 4000 6100
Connection ~ 4000 5650
Connection ~ 4000 5350
Wire Wire Line
5200 5500 5350 5500
Wire Wire Line
5350 5500 5350 6250
Wire Wire Line
5350 6250 5200 6250
Connection ~ 5200 6250
Connection ~ 5200 5500
Wire Wire Line
5100 5900 5350 5900
Connection ~ 5350 5900
$Comp
L +5V #PWR03
U 1 1 53F0F5FC
P 5100 5900
F 0 "#PWR03" H 5100 5990 20 0001 C CNN
F 1 "+5V" H 5100 5990 30 0000 C CNN
F 2 "" H 5100 5900 60 0000 C CNN
F 3 "" H 5100 5900 60 0000 C CNN
1 5100 5900
1 0 0 -1
$EndComp
$Comp
L LM1117MPX-3.3 U2
U 1 1 53F0F811
P 9450 2950
F 0 "U2" H 9250 3150 40 0000 C CNN
F 1 "LM1117MPX-3.3" H 9450 3150 40 0000 L CNN
F 2 "SOT223" H 9450 3050 30 0001 C CIN
F 3 "~" H 9450 2950 60 0000 C CNN
1 9450 2950
1 0 0 -1
$EndComp
$Comp
L C C4
U 1 1 53F0F83E
P 8800 3100
F 0 "C4" H 8800 3200 40 0000 L CNN
F 1 "0.1u" H 8806 3015 40 0000 L CNN
F 2 "SM0603" H 8838 2950 30 0001 C CNN
F 3 "~" H 8800 3100 60 0000 C CNN
1 8800 3100
1 0 0 -1
$EndComp
$Comp
L CP1 C5
U 1 1 53F0F88C
P 10000 3100
F 0 "C5" H 10050 3200 50 0000 L CNN
F 1 "47u" H 10050 3000 50 0000 L CNN
F 2 "SM1206" H 10000 3100 60 0001 C CNN
F 3 "~" H 10000 3100 60 0000 C CNN
1 10000 3100
1 0 0 -1
$EndComp
Wire Wire Line
8300 2900 9050 2900
Wire Wire Line
9850 2900 10200 2900
Wire Wire Line
8800 3300 10000 3300
Wire Wire Line
9450 3200 9450 3400
Connection ~ 9450 3300
$Comp
L GND #PWR04
U 1 1 53F0FCF1
P 9450 3400
F 0 "#PWR04" H 9450 3400 30 0001 C CNN
F 1 "GND" H 9450 3330 30 0001 C CNN
F 2 "" H 9450 3400 60 0000 C CNN
F 3 "" H 9450 3400 60 0000 C CNN
1 9450 3400
1 0 0 -1
$EndComp
$Comp
L CONN_3 K1
U 1 1 53F0FD67
P 7950 2900
F 0 "K1" V 7900 2900 50 0000 C CNN
F 1 "POWER" V 8000 2900 40 0000 C CNN
F 2 "" H 7950 2900 60 0000 C CNN
F 3 "" H 7950 2900 60 0000 C CNN
1 7950 2900
-1 0 0 1
$EndComp
$Comp
L GND #PWR05
U 1 1 53F0FD7A
P 8350 3100
F 0 "#PWR05" H 8350 3100 30 0001 C CNN
F 1 "GND" H 8350 3030 30 0001 C CNN
F 2 "" H 8350 3100 60 0000 C CNN
F 3 "" H 8350 3100 60 0000 C CNN
1 8350 3100
1 0 0 -1
$EndComp
Wire Wire Line
8300 3000 8550 3000
Wire Wire Line
8350 3000 8350 3100
Connection ~ 8800 2900
$Comp
L +5V #PWR06
U 1 1 53F0FE51
P 8800 2850
F 0 "#PWR06" H 8800 2940 20 0001 C CNN
F 1 "+5V" H 8800 2940 30 0000 C CNN
F 2 "" H 8800 2850 60 0000 C CNN
F 3 "" H 8800 2850 60 0000 C CNN
1 8800 2850
1 0 0 -1
$EndComp
Wire Wire Line
8800 2900 8800 2850
$Comp
L +12V #PWR07
U 1 1 53F0FEBE
P 8350 2750
F 0 "#PWR07" H 8350 2700 20 0001 C CNN
F 1 "+12V" H 8350 2850 30 0000 C CNN
F 2 "" H 8350 2750 60 0000 C CNN
F 3 "" H 8350 2750 60 0000 C CNN
1 8350 2750
1 0 0 -1
$EndComp
Wire Wire Line
8350 2750 8350 2800
Wire Wire Line
8350 2800 8300 2800
$Comp
L +3.3V #PWR08
U 1 1 53F1006E
P 10200 2850
F 0 "#PWR08" H 10200 2810 30 0001 C CNN
F 1 "+3.3V" H 10200 2960 30 0000 C CNN
F 2 "" H 10200 2850 60 0000 C CNN
F 3 "" H 10200 2850 60 0000 C CNN
1 10200 2850
1 0 0 -1
$EndComp
Wire Wire Line
10200 2900 10200 2850
Connection ~ 10000 2900
Wire Wire Line
5500 5350 5500 5800
Wire Wire Line
5500 5350 5200 5350
Wire Wire Line
5200 5650 5250 5650
Wire Wire Line
5450 6100 5200 6100
Wire Wire Line
5600 5900 5600 6400
Wire Wire Line
5600 6400 5200 6400
Text Label 4000 7700 2 60 ~ 0
PD2
Text Label 4000 7600 2 60 ~ 0
PD3
Wire Wire Line
4000 7800 3700 7800
Wire Wire Line
3700 7800 3700 7500
Wire Wire Line
3700 7500 4000 7500
Wire Wire Line
5200 7600 5200 7700
Wire Wire Line
4000 7900 4000 7800
Connection ~ 4000 7800
$Comp
L +5V #PWR09
U 1 1 53F11209
P 5300 7650
F 0 "#PWR09" H 5300 7740 20 0001 C CNN
F 1 "+5V" H 5300 7740 30 0000 C CNN
F 2 "" H 5300 7650 60 0000 C CNN
F 3 "" H 5300 7650 60 0000 C CNN
1 5300 7650
1 0 0 -1
$EndComp
Wire Wire Line
5200 7650 5300 7650
Connection ~ 5200 7650
Text Notes 5700 5500 0 60 ~ 0
Stepper motor module
$Comp
L CONN_2 P4
U 1 1 53F1169C
P 6100 7650
F 0 "P4" V 6050 7650 40 0000 C CNN
F 1 "Slide" V 6150 7650 40 0000 C CNN
F 2 "" H 6100 7650 60 0000 C CNN
F 3 "" H 6100 7650 60 0000 C CNN
1 6100 7650
1 0 0 -1
$EndComp
Wire Wire Line
5200 7500 5500 7500
Wire Wire Line
5500 7500 5500 7550
Wire Wire Line
5500 7550 5750 7550
Wire Wire Line
5200 7800 5500 7800
Wire Wire Line
5500 7800 5500 7750
Wire Wire Line
5500 7750 5750 7750
Wire Notes Line
5700 7050 5700 8850
$Comp
L PWR_FLAG #FLG010
U 1 1 53F11FC5
P 8550 2750
F 0 "#FLG010" H 8550 2845 30 0001 C CNN
F 1 "PWR_FLAG" H 8550 2930 30 0000 C CNN
F 2 "" H 8550 2750 60 0000 C CNN
F 3 "" H 8550 2750 60 0000 C CNN
1 8550 2750
1 0 0 -1
$EndComp
Wire Wire Line
8550 2750 8350 2750
$Comp
L PWR_FLAG #FLG011
U 1 1 53F12233
P 8550 3000
F 0 "#FLG011" H 8550 3095 30 0001 C CNN
F 1 "PWR_FLAG" H 8550 3180 30 0000 C CNN
F 2 "" H 8550 3000 60 0000 C CNN
F 3 "" H 8550 3000 60 0000 C CNN
1 8550 3000
-1 0 0 1
$EndComp
Connection ~ 8350 3000
$Comp
L PWR_FLAG #FLG012
U 1 1 53F122D9
P 9000 2800
F 0 "#FLG012" H 9000 2895 30 0001 C CNN
F 1 "PWR_FLAG" H 9000 2980 30 0000 C CNN
F 2 "" H 9000 2800 60 0000 C CNN
F 3 "" H 9000 2800 60 0000 C CNN
1 9000 2800
1 0 0 -1
$EndComp
Wire Wire Line
9000 2800 9000 2900
Connection ~ 9000 2900
Text Label 5500 8150 2 60 ~ 0
PC3
Text Label 5500 8000 2 60 ~ 0
PC4
Text Label 800 5650 2 60 ~ 0
PC5
Wire Notes Line
2350 4750 750 4750
Text Notes 1050 5000 0 60 ~ 0
Drill motor + pedal
Text Notes 950 4250 0 60 ~ 0
"DRILLSW" is foot-switch.\nPress it to move drill down,\nrelease to return it to start position.\nDouble-click turns drill motor on/off.\n
Text Notes 6600 7150 0 60 ~ 0
Two buttons on tray have following functionality:\nBTN1 - setup zero point (move slowly + set coordinate\n to 0 after footswitch released); next pressing returns\n device to normal state;\nBTN2 - switch between regulation of drill speed/stepper speed;\nBTN1+BTN2 (simultaneously) - move tray up/down.\n\n"volume" varistor allows to regulate motor speed.\nDefault is max drill speed, varistor regulates stepper speed.
Text Notes 1750 2800 2 60 ~ 0
Drill PWM
Text Notes 1700 2000 2 60 ~ 0
Drill sense
Text Notes 5300 2550 0 60 ~ 0
Drill SW
Wire Notes Line
2000 2600 1950 2600
Wire Notes Line
1950 2600 1950 2250
Text Notes 1900 2450 2 60 ~ 0
Stepper phases
Text Notes 5300 1950 0 60 ~ 0
Tray bridge
Text Notes 5300 2450 0 60 ~ 0
BTN1
Text Notes 5300 2350 0 60 ~ 0
BTN2
Text Notes 1950 2200 2 60 ~ 0
Rvar
Text Label 5500 8600 2 60 ~ 0
PB4
Text Notes 5250 2750 0 60 ~ 0
Tray Down
Text Notes 5300 2650 0 60 ~ 0
Tray Up
Text Label 5500 8450 2 60 ~ 0
PC7
Text Label 5500 8300 2 60 ~ 0
PC6
Text Notes 6450 4500 0 60 ~ 0
All MCU inputs connected to switches\nshould be in "pull-up input" mode.
Text Notes 5250 2850 0 60 ~ 0
LED onbrd
Wire Notes Line
5250 1700 5300 1700
Wire Notes Line
5300 1700 5300 1550
Text Notes 5350 1650 0 60 ~ 0
UART
Wire Notes Line
5250 2000 5300 2000
Wire Notes Line
5300 2000 5300 1850
Wire Wire Line
1600 1650 1600 1600
Wire Wire Line
1600 1600 2150 1600
$Comp
L +3.3V #PWR013
U 1 1 54627FDB
P 2150 1400
F 0 "#PWR013" H 2150 1360 30 0001 C CNN
F 1 "+3.3V" H 2150 1510 30 0000 C CNN
F 2 "" H 2150 1400 60 0000 C CNN
F 3 "" H 2150 1400 60 0000 C CNN
1 2150 1400
1 0 0 -1
$EndComp
Wire Wire Line
2150 1400 2150 1500
$Comp
L CONN_1 UP1
U 1 1 54628F0D
P 5950 8000
F 0 "UP1" H 6030 8000 40 0000 L CNN
F 1 "CONN_1" H 5950 8055 30 0001 C CNN
F 2 "" H 5950 8000 60 0000 C CNN
F 3 "" H 5950 8000 60 0000 C CNN
1 5950 8000
1 0 0 -1
$EndComp
$Comp
L CONN_1 DOWN1
U 1 1 54628F38
P 5950 8150
F 0 "DOWN1" H 6030 8150 40 0000 L CNN
F 1 "CONN_1" H 5950 8205 30 0001 C CNN
F 2 "" H 5950 8150 60 0000 C CNN
F 3 "" H 5950 8150 60 0000 C CNN
1 5950 8150
1 0 0 -1
$EndComp
$Comp
L CONN_1 BTN1
U 1 1 54628F3E
P 5950 8300
F 0 "BTN1" H 6030 8300 40 0000 L CNN
F 1 "CONN_1" H 5950 8355 30 0001 C CNN
F 2 "" H 5950 8300 60 0000 C CNN
F 3 "" H 5950 8300 60 0000 C CNN
1 5950 8300
1 0 0 -1
$EndComp
$Comp
L CONN_1 BTN2
U 1 1 54628FEC
P 5950 8450
F 0 "BTN2" H 6030 8450 40 0000 L CNN
F 1 "CONN_1" H 5950 8505 30 0001 C CNN
F 2 "" H 5950 8450 60 0000 C CNN
F 3 "" H 5950 8450 60 0000 C CNN
1 5950 8450
1 0 0 -1
$EndComp
$Comp
L CONN_1 POT1
U 1 1 54628FF2
P 5950 8600
F 0 "POT1" H 6030 8600 40 0000 L CNN
F 1 "CONN_1" H 5950 8655 30 0001 C CNN
F 2 "" H 5950 8600 60 0000 C CNN
F 3 "" H 5950 8600 60 0000 C CNN
1 5950 8600
1 0 0 -1
$EndComp
Wire Wire Line
5500 8000 5800 8000
Wire Wire Line
5500 8150 5800 8150
Wire Wire Line
5500 8300 5800 8300
Wire Wire Line
5500 8450 5800 8450
Wire Wire Line
5500 8600 5800 8600
Wire Notes Line
5700 8850 6300 8850
Wire Notes Line
6300 8850 6300 7050
Wire Notes Line
6300 7050 5700 7050
Text Notes 5900 7200 0 60 ~ 0
Tray
$Comp
L CONN_1 DRILL+1
U 1 1 54629D60
P 1900 5350
F 0 "DRILL+1" H 1980 5350 40 0000 L CNN
F 1 "CONN_1" H 1900 5405 30 0001 C CNN
F 2 "" H 1900 5350 60 0000 C CNN
F 3 "" H 1900 5350 60 0000 C CNN
1 1900 5350
-1 0 0 1
$EndComp
$Comp
L CONN_1 DRILL-1
U 1 1 54629E20
P 1900 5150
F 0 "DRILL-1" H 1980 5150 40 0000 L CNN
F 1 "CONN_1" H 1900 5205 30 0001 C CNN
F 2 "" H 1900 5150 60 0000 C CNN
F 3 "" H 1900 5150 60 0000 C CNN
1 1900 5150
-1 0 0 1
$EndComp
Wire Wire Line
2050 5350 2150 5350
Wire Wire Line
2150 5350 2150 5700
Wire Wire Line
2150 5700 2100 5700
Wire Wire Line
2100 6100 2200 6100
Wire Wire Line
2200 6100 2200 5150
Wire Wire Line
2200 5150 2050 5150
Wire Notes Line
2350 5400 750 5400
Wire Notes Line
2350 5400 2350 4750
Wire Notes Line
750 5400 750 4750
$Comp
L CONN_1 DRILLSW1
U 1 1 5462B0E5
P 1100 5150
F 0 "DRILLSW1" H 1180 5150 40 0000 L CNN
F 1 "CONN_1" H 1100 5205 30 0001 C CNN
F 2 "" H 1100 5150 60 0000 C CNN
F 3 "" H 1100 5150 60 0000 C CNN
1 1100 5150
1 0 0 -1
$EndComp
$Comp
L CONN_1 GND1
U 1 1 5462B0EB
P 1100 5300
F 0 "GND1" H 1180 5300 40 0000 L CNN
F 1 "CONN_1" H 1100 5355 30 0001 C CNN
F 2 "" H 1100 5300 60 0000 C CNN
F 3 "" H 1100 5300 60 0000 C CNN
1 1100 5300
1 0 0 -1
$EndComp
$Comp
L GND #PWR014
U 1 1 5462B234
P 950 5500
F 0 "#PWR014" H 950 5500 30 0001 C CNN
F 1 "GND" H 950 5430 30 0001 C CNN
F 2 "" H 950 5500 60 0000 C CNN
F 3 "" H 950 5500 60 0000 C CNN
1 950 5500
1 0 0 -1
$EndComp
Wire Wire Line
950 5500 950 5300
Wire Wire Line
800 5650 800 5150
Wire Wire Line
800 5150 950 5150
Wire Notes Line
5650 5350 5650 6100
Wire Notes Line
5650 6100 6800 6100
Wire Notes Line
6800 6100 6800 5350
Wire Notes Line
6800 5350 5650 5350
NoConn ~ 2150 1700
NoConn ~ 2150 1800
NoConn ~ 2150 1900
NoConn ~ 2150 2100
NoConn ~ 2150 2700
NoConn ~ 4950 1500
NoConn ~ 4950 1800
NoConn ~ 4950 2100
NoConn ~ 4950 2200
NoConn ~ 4950 2800
$Comp
L GND #PWR015
U 1 1 5462CB9D
P 4000 7900
F 0 "#PWR015" H 4000 7900 30 0001 C CNN
F 1 "GND" H 4000 7830 30 0001 C CNN
F 2 "" H 4000 7900 60 0000 C CNN
F 3 "" H 4000 7900 60 0000 C CNN
1 4000 7900
1 0 0 -1
$EndComp
NoConn ~ 4950 1600
NoConn ~ 4950 1700
Wire Wire Line
5500 5800 5750 5800
Wire Wire Line
5250 5650 5250 5700
Wire Wire Line
5250 5700 5750 5700
Wire Wire Line
5600 5900 5750 5900
Wire Wire Line
5450 6100 5450 6000
Wire Wire Line
5450 6000 5750 6000
$Comp
L stm8s105board X1
U 1 1 549FF443
P 3550 2350
F 0 "X1" H 3550 3400 60 0000 C CNN
F 1 "stm8s105board" H 3550 1700 60 0000 C CNN
F 2 "devboard_pins-9-14" H 3550 2350 60 0001 C CNN
F 3 "" H 3550 2350 60 0000 C CNN
1 3550 2350
1 0 0 -1
$EndComp
$EndSCHEMATC

View File

@ -0,0 +1,361 @@
EESchema-LIBRARY Version 2.3
#encoding utf-8
#
# +12V
#
DEF +12V #PWR 0 0 N Y 1 F P
F0 "#PWR" 0 -50 20 H I C CNN
F1 "+12V" 0 100 30 H V C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
DRAW
X +12V 1 0 0 0 U 20 30 0 0 W N
C 0 60 20 0 1 0 N
P 3 0 1 0 0 0 0 40 0 40 N
ENDDRAW
ENDDEF
#
# +3.3V
#
DEF +3.3V #PWR 0 0 Y Y 1 F P
F0 "#PWR" 0 -40 30 H I C CNN
F1 "+3.3V" 0 110 30 H V C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
ALIAS +3,3V
DRAW
X +3.3V 1 0 0 0 U 30 30 0 0 W N
C 0 60 20 0 1 0 N
P 3 0 1 0 0 0 0 40 0 40 N
ENDDRAW
ENDDEF
#
# +5V
#
DEF +5V #PWR 0 40 Y Y 1 F P
F0 "#PWR" 0 90 20 H I C CNN
F1 "+5V" 0 90 30 H V C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
DRAW
X +5V 1 0 0 0 U 20 20 0 0 W N
C 0 50 20 0 1 0 N
P 4 0 1 0 0 0 0 30 0 30 0 30 N
ENDDRAW
ENDDEF
#
# C
#
DEF C C 0 10 N Y 1 F N
F0 "C" 0 100 40 H V L CNN
F1 "C" 6 -85 40 H V L CNN
F2 "" 38 -150 30 H V C CNN
F3 "" 0 0 60 H V C CNN
$FPLIST
SM*
C?
C1-1
$ENDFPLIST
DRAW
P 2 0 1 20 -80 -30 80 -30 N
P 2 0 1 20 -80 30 80 30 N
X ~ 1 0 200 170 D 40 40 1 1 P
X ~ 2 0 -200 170 U 40 40 1 1 P
ENDDRAW
ENDDEF
#
# CONN_1
#
DEF ~CONN_1 P 0 30 N N 1 F N
F0 "P" 80 0 40 H V L CNN
F1 "CONN_1" 0 55 30 H I C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
DRAW
C 0 0 31 0 1 0 N
P 2 0 1 0 -30 0 -50 0 N
X 1 1 -150 0 100 R 60 60 1 1 P
ENDDRAW
ENDDEF
#
# CONN_2
#
DEF CONN_2 P 0 40 Y N 1 F N
F0 "P" -50 0 40 V V C CNN
F1 "CONN_2" 50 0 40 V V C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
DRAW
S -100 150 100 -150 0 1 0 N
X P1 1 -350 100 250 R 60 60 1 1 P I
X PM 2 -350 -100 250 R 60 60 1 1 P I
ENDDRAW
ENDDEF
#
# CONN_3
#
DEF CONN_3 K 0 40 Y N 1 F N
F0 "K" -50 0 50 V V C CNN
F1 "CONN_3" 50 0 40 V V C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
DRAW
S -100 150 100 -150 0 1 0 N
X P1 1 -350 100 250 R 60 60 1 1 P I
X PM 2 -350 0 250 R 60 60 1 1 P I
X P3 3 -350 -100 250 R 60 60 1 1 P I
ENDDRAW
ENDDEF
#
# CONN_4
#
DEF CONN_4 P 0 40 Y N 1 F N
F0 "P" -50 0 50 V V C CNN
F1 "CONN_4" 50 0 50 V V C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
DRAW
S -100 200 100 -200 0 1 0 N
X P1 1 -350 150 250 R 50 50 1 1 P I
X P2 2 -350 50 250 R 50 50 1 1 P I
X P3 3 -350 -50 250 R 50 50 1 1 P I
X P4 4 -350 -150 250 R 50 50 1 1 P I
ENDDRAW
ENDDEF
#
# CP1
#
DEF CP1 C 0 10 N N 1 F N
F0 "C" 50 100 50 H V L CNN
F1 "CP1" 50 -100 50 H V L CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
$FPLIST
CP*
SM*
$ENDFPLIST
DRAW
T 0 -50 100 80 0 0 0 + Normal 0 C C
A 0 -200 180 563 1236 0 1 15 N 100 -50 -100 -50
P 4 0 1 15 -100 50 100 50 50 50 50 50 N
X ~ 1 0 200 150 D 40 40 1 1 P
X ~ 2 0 -200 180 U 40 40 1 1 P
ENDDRAW
ENDDEF
#
# DIODESCH
#
DEF DIODESCH D 0 40 N N 1 F N
F0 "D" 0 100 40 H V C CNN
F1 "DIODESCH" 0 -100 40 H V C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
$FPLIST
D?
S*
$ENDFPLIST
DRAW
P 3 0 1 0 -50 50 50 0 -50 -50 F
P 6 0 1 8 75 25 75 50 50 50 50 -50 25 -50 25 -25 N
X A 1 -200 0 150 R 40 40 1 1 P
X K 2 200 0 150 L 40 40 1 1 P
ENDDRAW
ENDDEF
#
# GND
#
DEF ~GND #PWR 0 0 Y Y 1 F P
F0 "#PWR" 0 0 30 H I C CNN
F1 "GND" 0 -70 30 H I C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
DRAW
P 4 0 1 0 -50 0 0 -50 50 0 -50 0 N
X GND 1 0 0 0 U 30 30 1 1 W N
ENDDRAW
ENDDEF
#
# L9110
#
DEF L9110 DA 0 40 Y Y 1 F N
F0 "DA" 0 -300 50 H V C CNN
F1 "L9110" 0 300 50 H V C CNN
F2 "" 0 0 50 H I C CNN
F3 "" 0 0 50 H I C CNN
$FPLIST
DIP8*
DIP-8*
SOP8*
SOP-8*
$ENDFPLIST
DRAW
S -300 250 300 -250 0 1 0 N
X OA 1 -600 150 300 R 50 50 1 1 O
X VCC 2 -600 50 300 R 50 50 1 1 W
X VCC 3 -600 -50 300 R 50 50 1 1 W
X OB 4 -600 -150 300 R 50 50 1 1 O
X GND 5 600 -150 300 L 50 50 1 1 W
X IA 6 600 -50 300 L 50 50 1 1 I
X IB 7 600 50 300 L 50 50 1 1 I
X GND 8 600 150 300 L 50 50 1 1 W
ENDDRAW
ENDDEF
#
# LM1117MPX-3.3
#
DEF LM1117MPX-3.3 U 0 40 Y Y 1 F N
F0 "U" -200 200 40 H V C CNN
F1 "LM1117MPX-3.3" 0 200 40 H V L CNN
F2 "SOT223" 0 100 30 H I C CIN
F3 "" 0 0 60 H V C CNN
ALIAS LM317AEMP
$FPLIST
SOT223*
$ENDFPLIST
DRAW
S -250 150 250 -150 0 1 10 f
X GND 1 0 -250 100 U 40 40 1 1 W
X OUT 2 400 50 150 L 40 40 1 1 w
X IN 3 -400 50 150 R 40 40 1 1 W
ENDDRAW
ENDDEF
#
# PWR_FLAG
#
DEF PWR_FLAG #FLG 0 0 N N 1 F P
F0 "#FLG" 0 95 30 H I C CNN
F1 "PWR_FLAG" 0 180 30 H V C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
DRAW
X pwr 1 0 0 0 U 20 20 0 0 w
P 6 0 1 0 0 0 0 50 -75 100 0 150 75 100 0 50 N
ENDDRAW
ENDDEF
#
# R
#
DEF R R 0 0 N Y 1 F N
F0 "R" 80 0 40 V V C CNN
F1 "R" 7 1 40 V V C CNN
F2 "" -70 0 30 V V C CNN
F3 "" 0 0 30 H V C CNN
$FPLIST
R?
SM0603
SM0805
R?-*
SM1206
$ENDFPLIST
DRAW
S -40 150 40 -150 0 1 12 N
X ~ 1 0 250 100 D 60 60 1 1 P
X ~ 2 0 -250 100 U 60 60 1 1 P
ENDDRAW
ENDDEF
#
# S8205A
#
DEF S8205A VT 0 0 N Y 1 F N
F0 "VT" 75 -375 60 H V R CNN
F1 "S8205A" 150 350 60 H V R CNN
F2 "TSSOP-8" -50 -300 60 H I C CNN
F3 "" 150 0 60 H V C CNN
$FPLIST
TSSOP8*
TSSOP-8*
$ENDFPLIST
DRAW
C -200 0 180 0 1 12 N
C 200 0 180 0 1 12 N
S -450 300 450 -300 0 1 12 N
P 2 0 1 0 -315 65 -265 65 N
P 2 0 1 0 -290 -100 -250 -100 N
P 2 0 1 0 -290 100 -290 -100 N
P 2 0 1 6 -290 100 -290 200 N
P 2 0 1 0 -290 100 -250 100 N
P 2 0 1 0 -250 -100 -150 -100 N
P 2 0 1 0 -250 100 -150 100 N
P 2 0 1 12 -150 -60 -150 -140 N
P 2 0 1 12 -150 40 -150 -40 N
P 2 0 1 12 -150 140 -150 60 N
P 2 0 1 8 -100 -100 -100 100 N
P 2 0 1 8 100 -100 100 100 N
P 2 0 1 12 150 -60 150 -140 N
P 2 0 1 12 150 40 150 -40 N
P 2 0 1 12 150 140 150 60 N
P 2 0 1 0 250 -100 150 -100 N
P 2 0 1 0 250 100 150 100 N
P 2 0 1 0 250 100 290 100 N
P 2 0 1 0 265 65 315 65 N
P 2 0 1 0 290 -100 250 -100 N
P 2 0 1 0 290 100 290 -100 N
P 2 0 1 6 290 100 290 200 N
P 2 0 1 6 450 200 -450 200 N
P 3 0 1 8 -290 -100 -410 -100 -410 -75 N
P 3 0 1 8 -250 -100 -250 0 -200 0 N
P 3 0 1 8 250 -100 250 0 200 0 N
P 3 0 1 8 410 -75 410 -100 290 -100 N
P 4 0 1 8 -450 -200 -25 -200 -25 -100 -100 -100 N
P 4 0 1 8 -450 75 -410 75 -410 -75 -450 -75 N
P 4 0 1 0 -290 65 -315 25 -265 25 -290 65 F
P 4 0 1 0 290 65 265 25 315 25 290 65 F
P 4 0 1 8 450 -200 25 -200 25 -100 100 -100 N
P 4 0 1 8 450 -75 410 -75 410 75 450 75 N
P 5 0 1 8 -200 30 -200 -30 -150 0 -200 30 -200 30 F
P 5 0 1 8 200 30 200 -30 150 0 200 30 200 30 F
X D 1 -750 200 300 R 50 50 1 1 P
X S1 2 -750 75 300 R 50 50 1 1 P
X S1 3 -750 -75 300 R 50 50 1 1 P
X G1 4 -750 -200 300 R 50 50 1 1 P
X G2 5 750 -200 300 L 50 50 1 1 P
X S2 6 750 -75 300 L 50 50 1 1 P
X S2 7 750 75 300 L 50 50 1 1 P
X D 8 750 200 300 L 50 50 1 1 P
ENDDRAW
ENDDEF
#
# stm8s105board
#
DEF stm8s105board X 0 40 Y Y 1 F N
F0 "X" 0 1050 60 H V C CNN
F1 "stm8s105board" 0 -650 60 H V C CNN
F2 "devboard_pins-9-14" 0 0 60 H I C CNN
F3 "" 0 0 60 H V C CNN
$FPLIST
stm8s105board
$ENDFPLIST
DRAW
S -1100 950 1100 -550 0 1 0 N
X VDD(3.3-5v) 1 -1400 850 300 R 50 50 1 1 W
X GND 2 -1400 750 300 R 50 50 1 1 W
X NRST 3 -1400 650 300 R 50 50 1 1 I
X OSCIN/PA1 4 -1400 550 300 R 50 50 1 1 T
X OSCOUT/PA2 5 -1400 450 300 R 50 50 1 1 T
X PF4/AIN12 6 -1400 350 300 R 50 50 1 1 T
X PB5/AIN5[I2X_SDA] 7 -1400 250 300 R 50 50 1 1 T
X PB4/AIN4[I2C_SCL] 8 -1400 150 300 R 50 50 1 1 T
X PB3/AIN3[TIM1_ETR] 9 -1400 50 300 R 50 50 1 1 T
X PB2/AIN2[TIM1_CH3N] 10 -1400 -50 300 R 50 50 1 1 T
X PC7(HS)/SPI_MISO 20 1400 50 300 L 50 50 1 1 T
X PB1/AIN1_[TIM1_CH2N] 11 -1400 -150 300 R 50 50 1 1 T
X PD0(HS)/TIM3_CH2[TIM1_BKIN][CLK_CCO] 21 1400 150 300 L 50 39 1 1 T
X PB0/AIN0_[TIM1_CH1N] 12 -1400 -250 300 R 50 50 1 1 T
X PD1(HS)/SWIM 22 1400 250 300 L 50 50 1 1 T
X PE5/SPI_NSS 13 -1400 -350 300 R 50 50 1 1 T
X PD2(HS)/TIM3_CH1[TIM2_CH3] 23 1400 350 300 L 50 50 1 1 T
X PC1(HS)/TIM1_CH1 14 -1400 -450 300 R 50 50 1 1 T
X PD3(HS)/TIM2_CH2[ADC_ETR] 24 1400 450 300 L 50 50 1 1 T
X PC2(HS)/TIM1_CH2 15 1400 -450 300 L 50 50 1 1 T
X PD4(HS)/TIM2_CH1[BEEP] 25 1400 550 300 L 50 50 1 1 T
X PC3(HS)/TIM1_CH3 16 1400 -350 300 L 50 50 1 1 T
X PD5/UART2_TX 26 1400 650 300 L 50 50 1 1 T
X PC4(HS)/TIM1_CH4 17 1400 -250 300 L 50 50 1 1 T
X PD6/UART2_RX 27 1400 750 300 L 50 50 1 1 T
X PC5(HS)/SPI_SCK 18 1400 -150 300 L 50 50 1 1 T
X PD7/TLI[TIM1_CH4] 28 1400 850 300 L 50 50 1 1 T
X PC6(HS)/SPI_MOSI 19 1400 -50 300 L 50 50 1 1 T
ENDDRAW
ENDDEF
#
#End Library

View File

@ -0,0 +1,211 @@
EESchema-LIBRARY Version 2.4
#encoding utf-8
#
# +12V
#
DEF +12V #PWR 0 0 N Y 1 F P
F0 "#PWR" 0 -50 20 H I C CNN
F1 "+12V" 0 100 30 H V C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
DRAW
C 0 60 20 0 1 0 N
P 3 0 1 0 0 0 0 40 0 40 N
X +12V 1 0 0 0 U 20 30 0 0 W N
ENDDRAW
ENDDEF
#
# +3.3V
#
DEF +3.3V #PWR 0 0 Y Y 1 F P
F0 "#PWR" 0 -40 30 H I C CNN
F1 "+3.3V" 0 110 30 H V C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
DRAW
C 0 60 20 0 1 0 N
P 3 0 1 0 0 0 0 40 0 40 N
X +3.3V 1 0 0 0 U 30 30 0 0 W N
ENDDRAW
ENDDEF
#
# +5V
#
DEF +5V #PWR 0 40 Y Y 1 F P
F0 "#PWR" 0 90 20 H I C CNN
F1 "+5V" 0 90 30 H V C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
DRAW
C 0 50 20 0 1 0 N
P 4 0 1 0 0 0 0 30 0 30 0 30 N
X +5V 1 0 0 0 U 20 20 0 0 W N
ENDDRAW
ENDDEF
#
# C
#
DEF C C 0 10 N Y 1 F N
F0 "C" 0 100 40 H V L CNN
F1 "C" 6 -85 40 H V L CNN
F2 "" 38 -150 30 H V C CNN
F3 "" 0 0 60 H V C CNN
$FPLIST
SM*
C?
C1-1
$ENDFPLIST
DRAW
P 2 0 1 20 -80 -30 80 -30 N
P 2 0 1 20 -80 30 80 30 N
X ~ 1 0 200 170 D 40 40 1 1 P
X ~ 2 0 -200 170 U 40 40 1 1 P
ENDDRAW
ENDDEF
#
# CONN_1
#
DEF ~CONN_1 P 0 30 N N 1 F N
F0 "P" 80 0 40 H V L CNN
F1 "CONN_1" 0 55 30 H I C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
DRAW
C 0 0 31 0 1 0 N
P 2 0 1 0 -30 0 -50 0 N
X 1 1 -150 0 100 R 60 60 1 1 P
ENDDRAW
ENDDEF
#
# CONN_2
#
DEF CONN_2 P 0 40 Y N 1 F N
F0 "P" -50 0 40 V V C CNN
F1 "CONN_2" 50 0 40 V V C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
DRAW
S -100 150 100 -150 0 1 0 N
X P1 1 -350 100 250 R 60 60 1 1 P I
X PM 2 -350 -100 250 R 60 60 1 1 P I
ENDDRAW
ENDDEF
#
# CONN_3
#
DEF CONN_3 K 0 40 Y N 1 F N
F0 "K" -50 0 50 V V C CNN
F1 "CONN_3" 50 0 40 V V C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
DRAW
S -100 150 100 -150 0 1 0 N
X P1 1 -350 100 250 R 60 60 1 1 P I
X PM 2 -350 0 250 R 60 60 1 1 P I
X P3 3 -350 -100 250 R 60 60 1 1 P I
ENDDRAW
ENDDEF
#
# CONN_4
#
DEF CONN_4 P 0 40 Y N 1 F N
F0 "P" -50 0 50 V V C CNN
F1 "CONN_4" 50 0 50 V V C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
DRAW
S -100 200 100 -200 0 1 0 N
X P1 1 -350 150 250 R 50 50 1 1 P I
X P2 2 -350 50 250 R 50 50 1 1 P I
X P3 3 -350 -50 250 R 50 50 1 1 P I
X P4 4 -350 -150 250 R 50 50 1 1 P I
ENDDRAW
ENDDEF
#
# CP1
#
DEF CP1 C 0 10 N N 1 F N
F0 "C" 50 100 50 H V L CNN
F1 "CP1" 50 -100 50 H V L CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
$FPLIST
CP*
SM*
$ENDFPLIST
DRAW
A 0 -200 180 563 1236 0 1 15 N 100 -50 -100 -50
T 0 -50 100 80 0 0 0 + Normal 0 C C
P 4 0 1 15 -100 50 100 50 50 50 50 50 N
X ~ 1 0 200 150 D 40 40 1 1 P
X ~ 2 0 -200 180 U 40 40 1 1 P
ENDDRAW
ENDDEF
#
# DIODESCH
#
DEF DIODESCH D 0 40 N N 1 F N
F0 "D" 0 100 40 H V C CNN
F1 "DIODESCH" 0 -100 40 H V C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
$FPLIST
D?
S*
$ENDFPLIST
DRAW
P 3 0 1 0 -50 50 50 0 -50 -50 F
P 6 0 1 8 75 25 75 50 50 50 50 -50 25 -50 25 -25 N
X A 1 -200 0 150 R 40 40 1 1 P
X K 2 200 0 150 L 40 40 1 1 P
ENDDRAW
ENDDEF
#
# GND
#
DEF ~GND #PWR 0 0 Y Y 1 F P
F0 "#PWR" 0 0 30 H I C CNN
F1 "GND" 0 -70 30 H I C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
DRAW
P 4 0 1 0 -50 0 0 -50 50 0 -50 0 N
X GND 1 0 0 0 U 30 30 1 1 W N
ENDDRAW
ENDDEF
#
# PWR_FLAG
#
DEF PWR_FLAG #FLG 0 0 N N 1 F P
F0 "#FLG" 0 95 30 H I C CNN
F1 "PWR_FLAG" 0 180 30 H V C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
DRAW
P 6 0 1 0 0 0 0 50 -75 100 0 150 75 100 0 50 N
X pwr 1 0 0 0 U 20 20 0 0 w
ENDDRAW
ENDDEF
#
# R
#
DEF R R 0 0 N Y 1 F N
F0 "R" 80 0 40 V V C CNN
F1 "R" 7 1 40 V V C CNN
F2 "" -70 0 30 V V C CNN
F3 "" 0 0 30 H V C CNN
$FPLIST
R?
SM0603
SM0805
R?-*
SM1206
$ENDFPLIST
DRAW
S -40 150 40 -150 0 1 12 N
X ~ 1 0 250 100 D 60 60 1 1 P
X ~ 2 0 -250 100 U 60 60 1 1 P
ENDDRAW
ENDDEF
#
#End Library

View File

@ -0,0 +1,204 @@
EESchema Schematic File Version 2
LIBS:power
LIBS:device
LIBS:transistors
LIBS:conn
LIBS:linear
LIBS:regul
LIBS:74xx
LIBS:cmos4000
LIBS:adc-dac
LIBS:memory
LIBS:xilinx
LIBS:special
LIBS:microcontrollers
LIBS:dsp
LIBS:microchip
LIBS:analog_switches
LIBS:motorola
LIBS:texas
LIBS:intel
LIBS:audio
LIBS:interface
LIBS:digital-audio
LIBS:philips
LIBS:display
LIBS:cypress
LIBS:siliconi
LIBS:opto
LIBS:atmel
LIBS:contrib
LIBS:valves
LIBS:stm8s105k4t6c
LIBS:L9110
LIBS:LM1117
LIBS:s8205a
LIBS:MCU_module-cache
EELAYER 24 0
EELAYER END
$Descr A4 11693 8268
encoding utf-8
Sheet 2 2
Title ""
Date "14 nov 2014"
Rev ""
Comp ""
Comment1 ""
Comment2 ""
Comment3 ""
Comment4 ""
$EndDescr
Text Notes 5525 3150 0 60 ~ 0
Motor
$Comp
L GND #PWR016
U 1 1 53E67E30
P 4700 5700
F 0 "#PWR016" H 4700 5700 30 0001 C CNN
F 1 "GND" H 4700 5630 30 0001 C CNN
F 2 "" H 4700 5700 60 0000 C CNN
F 3 "" H 4700 5700 60 0000 C CNN
1 4700 5700
1 0 0 -1
$EndComp
$Comp
L R R5
U 1 1 53E67E8A
P 4700 5350
F 0 "R5" V 4780 5350 50 0000 C CNN
F 1 "0.33R" V 4700 5350 50 0000 C CNN
F 2 "SM2512" H 4700 5350 60 0001 C CNN
F 3 "" H 4700 5350 60 0000 C CNN
1 4700 5350
1 0 0 -1
$EndComp
$Comp
L +12V #PWR017
U 1 1 53E67FAE
P 5375 3200
F 0 "#PWR017" H 5375 3150 20 0001 C CNN
F 1 "+12V" H 5375 3300 30 0000 C CNN
F 2 "" H 5375 3200 60 0000 C CNN
F 3 "" H 5375 3200 60 0000 C CNN
1 5375 3200
1 0 0 -1
$EndComp
$Comp
L R R4
U 1 1 53E680EF
P 4350 5100
F 0 "R4" V 4430 5100 50 0000 C CNN
F 1 "47k" V 4350 5100 50 0000 C CNN
F 2 "" H 4350 5100 60 0000 C CNN
F 3 "" H 4350 5100 60 0000 C CNN
1 4350 5100
0 -1 -1 0
$EndComp
$Comp
L DIODESCH D3
U 1 1 53E68EA1
P 5600 3400
F 0 "D3" H 5600 3500 40 0000 C CNN
F 1 "DIODESCH" H 5600 3300 40 0000 C CNN
F 2 "" H 5600 3400 60 0000 C CNN
F 3 "" H 5600 3400 60 0000 C CNN
1 5600 3400
0 -1 -1 0
$EndComp
Text HLabel 3200 4350 0 60 Input ~ 0
PWM_in
Text HLabel 3150 5100 0 60 Output ~ 0
Sence
$Comp
L S8205A VT1
U 1 1 53F123C0
P 5300 4150
F 0 "VT1" H 5375 3775 60 0000 R CNN
F 1 "S8205A" H 5450 4500 60 0000 R CNN
F 2 "TSSOP-8" H 5250 3850 60 0001 C CNN
F 3 "~" H 5450 4150 60 0000 C CNN
1 5300 4150
1 0 0 -1
$EndComp
$Comp
L GND #PWR018
U 1 1 53F35910
P 4000 5700
F 0 "#PWR018" H 4000 5700 30 0001 C CNN
F 1 "GND" H 4000 5630 30 0001 C CNN
F 2 "" H 4000 5700 60 0000 C CNN
F 3 "" H 4000 5700 60 0000 C CNN
1 4000 5700
1 0 0 -1
$EndComp
$Comp
L CP1 C6
U 1 1 53F36070
P 4000 5400
F 0 "C6" H 4050 5500 50 0000 L CNN
F 1 "0.1u" H 4050 5300 50 0000 L CNN
F 2 "SM0603" H 4000 5400 60 0001 C CNN
F 3 "" H 4000 5400 60 0000 C CNN
1 4000 5400
1 0 0 -1
$EndComp
Wire Wire Line
3200 3200 5600 3200
Connection ~ 5375 3200
Wire Wire Line
3200 3600 5600 3600
Connection ~ 5375 3600
Wire Wire Line
3150 5100 4100 5100
Wire Wire Line
4550 4350 3200 4350
Connection ~ 4550 4350
Wire Wire Line
4550 4350 4550 4600
Wire Wire Line
4550 4600 6050 4600
Wire Wire Line
6050 4600 6050 4350
Wire Wire Line
4550 4075 4550 4225
Wire Wire Line
6050 4225 6050 4075
Wire Wire Line
4475 5000 6175 5000
Wire Wire Line
4475 5000 4475 4225
Wire Wire Line
4475 4225 4550 4225
Wire Wire Line
6175 5000 6175 4225
Wire Wire Line
6175 4225 6050 4225
Connection ~ 6050 4225
Connection ~ 4550 4225
Wire Wire Line
4550 3950 4550 3700
Wire Wire Line
4550 3700 6050 3700
Wire Wire Line
6050 3700 6050 3950
Connection ~ 5375 3700
Wire Wire Line
4000 5700 4000 5600
Wire Wire Line
4000 5200 4000 5100
Connection ~ 4000 5100
Wire Wire Line
4700 5700 4700 5600
Wire Wire Line
4700 5100 4600 5100
Wire Wire Line
4650 5100 4650 5000
Connection ~ 4650 5000
Connection ~ 4650 5100
Wire Wire Line
5375 3700 5375 3600
Text HLabel 3200 3200 0 60 Output ~ 0
DRILL+
Text HLabel 3200 3600 0 60 Output ~ 0
DRILL-
$EndSCHEMATC

View File

@ -0,0 +1,7 @@
(sym_lib_table
(lib (name MCU_module-rescue)(type Legacy)(uri ${KIPRJMOD}/MCU_module-rescue.lib)(options "")(descr ""))
(lib (name stm8s105k4t6c)(type Legacy)(uri ${KIPRJMOD}/stm8s105k4t6c.lib)(options "")(descr ""))
(lib (name L9110)(type Legacy)(uri ${KIPRJMOD}/L9110.lib)(options "")(descr ""))
(lib (name LM1117)(type Legacy)(uri ${KIPRJMOD}/LM1117.lib)(options "")(descr ""))
(lib (name s8205a)(type Legacy)(uri ${KIPRJMOD}/s8205a.lib)(options "")(descr ""))
)

View File

@ -0,0 +1,65 @@
EESchema-LIBRARY Version 2.3 Date: Вс 16 ноя 2014 01:24:45
#encoding utf-8
#
# S8205A
#
DEF S8205A VT 0 0 N Y 1 F N
F0 "VT" 75 -375 60 H V R CNN
F1 "S8205A" 150 350 60 H V R CNN
F2 "TSSOP-8" -50 -300 60 H I C CNN
F3 "~" 150 0 60 H V C CNN
$FPLIST
TSSOP8*
TSSOP-8*
$ENDFPLIST
DRAW
C -200 0 180 0 1 12 N
C 200 0 180 0 1 12 N
S -450 300 450 -300 0 1 12 N
P 2 0 1 0 -315 65 -265 65 N
P 2 0 1 0 -290 -100 -250 -100 N
P 2 0 1 0 -290 100 -290 -100 N
P 2 0 1 6 -290 100 -290 200 N
P 2 0 1 0 -290 100 -250 100 N
P 2 0 1 0 -250 -100 -150 -100 N
P 2 0 1 0 -250 100 -150 100 N
P 2 0 1 12 -150 -60 -150 -140 N
P 2 0 1 12 -150 40 -150 -40 N
P 2 0 1 12 -150 140 -150 60 N
P 2 0 1 8 -100 -100 -100 100 N
P 2 0 1 8 100 -100 100 100 N
P 2 0 1 12 150 -60 150 -140 N
P 2 0 1 12 150 40 150 -40 N
P 2 0 1 12 150 140 150 60 N
P 2 0 1 0 250 -100 150 -100 N
P 2 0 1 0 250 100 150 100 N
P 2 0 1 0 250 100 290 100 N
P 2 0 1 0 265 65 315 65 N
P 2 0 1 0 290 -100 250 -100 N
P 2 0 1 0 290 100 290 -100 N
P 2 0 1 6 290 100 290 200 N
P 2 0 1 6 450 200 -450 200 N
P 3 0 1 8 -290 -100 -410 -100 -410 -75 N
P 3 0 1 8 -250 -100 -250 0 -200 0 N
P 3 0 1 8 250 -100 250 0 200 0 N
P 3 0 1 8 410 -75 410 -100 290 -100 N
P 4 0 1 8 -450 -200 -25 -200 -25 -100 -100 -100 N
P 4 0 1 8 -450 75 -410 75 -410 -75 -450 -75 N
P 4 0 1 0 -290 65 -315 25 -265 25 -290 65 F
P 4 0 1 0 290 65 265 25 315 25 290 65 F
P 4 0 1 8 450 -200 25 -200 25 -100 100 -100 N
P 4 0 1 8 450 -75 410 -75 410 75 450 75 N
P 5 0 1 8 -200 30 -200 -30 -150 0 -200 30 -200 30 F
P 5 0 1 8 200 30 200 -30 150 0 200 30 200 30 F
X D 1 -750 200 300 R 50 50 1 1 P
X S1 2 -750 75 300 R 50 50 1 1 P
X S1 3 -750 -75 300 R 50 50 1 1 P
X G1 4 -750 -200 300 R 50 50 1 1 P
X G2 5 750 -200 300 L 50 50 1 1 P
X S2 6 750 -75 300 L 50 50 1 1 P
X S2 7 750 75 300 L 50 50 1 1 P
X D 8 750 200 300 L 50 50 1 1 P
ENDDRAW
ENDDEF
#
#End Library

View File

@ -0,0 +1,142 @@
EESchema-LIBRARY Version 2.4
#encoding utf-8
#
# STM8S003K3T
#
DEF STM8S003K3T IC 0 40 Y Y 1 F N
F0 "IC" -800 1150 60 H V C CNN
F1 "STM8S003K3T" 550 -1100 60 H V C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
$FPLIST
LQFP32*
$ENDFPLIST
DRAW
S -850 1100 850 -1050 0 1 10 f
X NRST 1 -1000 1000 149 R 40 40 1 1 I
X PB6 10 1000 50 149 L 40 40 1 1 B
X I2C_SDA/PB5 11 1000 150 149 L 40 40 1 1 B
X I2C_SCL/PB4 12 1000 250 149 L 40 40 1 1 B
X TIM1_ETR/AIN3/PB3 13 1000 350 149 L 40 40 1 1 B
X TIM1_CH3N/AIN2/PB2 14 1000 450 149 L 40 40 1 1 B
X TIM1_CH2N/AIN1/PB1 15 1000 550 149 L 40 40 1 1 B
X TIM1_CH1N/AIN0/PB0 16 1000 650 149 L 40 40 1 1 B
X PE5/SPI_NSS 17 -1000 -200 148 R 40 40 1 1 B
X UART1_CK/TIM1_CH1/PC1 18 1000 -200 149 L 40 40 1 1 B
X TIM1_CH2/PC2 19 1000 -300 149 L 40 40 1 1 B
X OSCI/PA1 2 1000 1000 149 L 40 40 1 1 B
X TIM1_CH3/PC3 20 1000 -400 149 L 40 40 1 1 B
X CLK_CCO/TIM1_CH4/PC4 21 1000 -500 149 L 40 40 1 1 B
X SPI_SCK/PC5 22 1000 -600 149 L 40 40 1 1 B
X PI_MOSI/PC6 23 1000 -700 149 L 40 40 1 1 B
X PI_MISO/PC7 24 1000 -800 149 L 40 40 1 1 B
X PD0/TIM1_BKIN[CLK_CCO] 25 -1000 650 148 R 40 40 1 1 B
X PD1/SWIM 26 -1000 550 149 R 40 40 1 1 B
X PD2[TIM2_CH3] 27 -1000 450 149 R 40 40 1 1 B
X PD3/ADC_ETR/TIM2_CH2 28 -1000 350 149 R 40 40 1 1 B
X PD4/BEEP/TIM2_CH1 29 -1000 250 149 R 40 40 1 1 B
X OSCOUT/PA2 3 1000 900 149 L 40 40 1 1 B
X PD5/UART1_TX 30 -1000 150 149 R 40 40 1 1 B
X PD6/UART1_RX 31 -1000 50 149 R 40 40 1 1 B
X PD7/TLI[TIM1_CH4] 32 -1000 -50 148 R 40 40 1 1 B
X VSS 4 0 -1200 149 U 40 40 1 1 W
X Vcap 5 -1000 -950 149 R 40 40 1 1 I
X VDD 6 0 1250 149 D 40 40 1 1 W
X [SPI_NSS]TIM2_CH3/PA3 7 1000 800 149 L 40 40 1 1 B
X PF4 8 -1000 -350 149 R 40 40 1 1 B
X PB7 9 1000 -50 149 L 40 40 1 1 B
ENDDRAW
ENDDEF
#
# STM8S105K4T6C
#
DEF STM8S105K4T6C U 0 40 Y Y 1 F N
F0 "U" 0 1050 60 H V C CNN
F1 "STM8S105K4T6C" 50 -850 60 H V C CNN
F2 "" 0 0 60 H V C CNN
F3 "" 0 0 60 H V C CNN
ALIAS stm8s105*
$FPLIST
lqfp32*
$ENDFPLIST
DRAW
S -1100 950 1100 -750 0 1 0 N
X NRST 1 -1400 850 300 R 50 50 1 1 I
X VSSA 10 -1400 -50 300 R 50 50 1 1 W
X PB5/AIN5[I2X_SDA] 11 -1400 -150 300 R 50 50 1 1 T
X PB4/AIN4[I2C_SCL] 12 -1400 -250 300 R 50 50 1 1 T
X PB3/AIN3[TIM1_ETR] 13 -1400 -350 300 R 50 50 1 1 T
X PB2/AIN2[TIM1_CH3N] 14 -1400 -450 300 R 50 50 1 1 T
X PB1/AIN1_[TIM1_CH2N] 15 -1400 -550 300 R 50 50 1 1 T
X PB0/AIN0_[TIM1_CH1N] 16 -1400 -650 300 R 50 50 1 1 T
X PE5/SPI_NSS 17 1400 -650 300 L 50 50 1 1 T
X PC1(HS)/TIM1_CH1 18 1400 -550 300 L 50 50 1 1 T
X PC2(HS)/TIM1_CH2 19 1400 -450 300 L 50 50 1 1 T
X OSCIN/PA1 2 -1400 750 300 R 50 50 1 1 T
X PC3(HS)/TIM1_CH3 20 1400 -350 300 L 50 50 1 1 T
X PC4(HS)/TIM1_CH4 21 1400 -250 300 L 50 50 1 1 T
X PC5(HS)/SPI_SCK 22 1400 -150 300 L 50 50 1 1 T
X PC6(HS)/SPI_MOSI 23 1400 -50 300 L 50 50 1 1 T
X PC7(HS)/SPI_MISO 24 1400 50 300 L 50 50 1 1 T
X PD0(HS)/TIM3_CH2[TIM1_BKIN][CLK_CCO] 25 1400 150 300 L 50 50 1 1 T
X PD1(HS)/SWIM 26 1400 250 300 L 50 50 1 1 T
X PD2(HS)/TIM3_CH1[TIM2_CH3] 27 1400 350 300 L 50 50 1 1 T
X PD3(HS)/TIM2_CH2[ADC_ETR] 28 1400 450 300 L 50 50 1 1 T
X PD4(HS)/TIM2_CH1[BEEP] 29 1400 550 300 L 50 50 1 1 T
X OSCOUT/PA2 3 -1400 650 300 R 50 50 1 1 T
X PD5/UART2_TX 30 1400 650 300 L 50 50 1 1 T
X PD6/UART2_RX 31 1400 750 300 L 50 50 1 1 T
X PD7/TLI[TIM1_CH4] 32 1400 850 300 L 50 50 1 1 T
X VSS 4 -1400 550 300 R 50 50 1 1 W
X VCAP 5 -1400 450 300 R 50 50 1 1 P
X VDD(3.3-5v) 6 -1400 350 300 R 50 50 1 1 W
X VDDio 7 -1400 250 300 R 50 50 1 1 W
X PF4/AIN12 8 -1400 150 300 R 50 50 1 1 T
X VDDA 9 -1400 50 300 R 50 50 1 1 W
ENDDRAW
ENDDEF
#
# stm8s105board
#
DEF stm8s105board X 0 40 Y Y 1 F N
F0 "X" 0 1050 60 H V C CNN
F1 "stm8s105board" 0 -650 60 H V C CNN
F2 "devboard_pins-9-14" 0 0 60 H I C CNN
F3 "" 0 0 60 H V C CNN
$FPLIST
stm8s105board
$ENDFPLIST
DRAW
S -1100 950 1100 -550 0 1 0 N
X VDD(3.3-5v) 1 -1400 850 300 R 50 50 1 1 W
X PB2/AIN2[TIM1_CH3N] 10 -1400 -50 300 R 50 50 1 1 T
X PB1/AIN1_[TIM1_CH2N] 11 -1400 -150 300 R 50 50 1 1 T
X PB0/AIN0_[TIM1_CH1N] 12 -1400 -250 300 R 50 50 1 1 T
X PE5/SPI_NSS 13 -1400 -350 300 R 50 50 1 1 T
X PC1(HS)/TIM1_CH1 14 -1400 -450 300 R 50 50 1 1 T
X PC2(HS)/TIM1_CH2 15 1400 -450 300 L 50 50 1 1 T
X PC3(HS)/TIM1_CH3 16 1400 -350 300 L 50 50 1 1 T
X PC4(HS)/TIM1_CH4 17 1400 -250 300 L 50 50 1 1 T
X PC5(HS)/SPI_SCK 18 1400 -150 300 L 50 50 1 1 T
X PC6(HS)/SPI_MOSI 19 1400 -50 300 L 50 50 1 1 T
X GND 2 -1400 750 300 R 50 50 1 1 W
X PC7(HS)/SPI_MISO 20 1400 50 300 L 50 50 1 1 T
X PD0(HS)/TIM3_CH2[TIM1_BKIN][CLK_CCO] 21 1400 150 300 L 50 39 1 1 T
X PD1(HS)/SWIM 22 1400 250 300 L 50 50 1 1 T
X PD2(HS)/TIM3_CH1[TIM2_CH3] 23 1400 350 300 L 50 50 1 1 T
X PD3(HS)/TIM2_CH2[ADC_ETR] 24 1400 450 300 L 50 50 1 1 T
X PD4(HS)/TIM2_CH1[BEEP] 25 1400 550 300 L 50 50 1 1 T
X PD5/UART2_TX 26 1400 650 300 L 50 50 1 1 T
X PD6/UART2_RX 27 1400 750 300 L 50 50 1 1 T
X PD7/TLI[TIM1_CH4] 28 1400 850 300 L 50 50 1 1 T
X NRST 3 -1400 650 300 R 50 50 1 1 I
X OSCIN/PA1 4 -1400 550 300 R 50 50 1 1 T
X OSCOUT/PA2 5 -1400 450 300 R 50 50 1 1 T
X PF4/AIN12 6 -1400 350 300 R 50 50 1 1 T
X PB5/AIN5[I2X_SDA] 7 -1400 250 300 R 50 50 1 1 T
X PB4/AIN4[I2C_SCL] 8 -1400 150 300 R 50 50 1 1 T
X PB3/AIN3[TIM1_ETR] 9 -1400 50 300 R 50 50 1 1 T
ENDDRAW
ENDDEF
#
#End Library

View File

@ -0,0 +1,4 @@
(sym_lib_table
(lib (name MCU_module-rescue)(type Legacy)(uri ${KIPRJMOD}/MCU_module-rescue.lib)(options "")(descr ""))
(lib (name stm8s105k4t6c)(type Legacy)(uri ${KIPRJMOD}/stm8s105k4t6c.lib)(options "")(descr ""))
)

355
microdrill/statemachine.c Normal file
View File

@ -0,0 +1,355 @@
/*
* This file is part of the microdrill project.
* Copyright 2019 Edward V. Emelianov <edward.emelianoff@gmail.com>, <eddy@sao.ru>.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "main.h"
#include "statemachine.h"
#include "stepper.h"
drill_state curstate = DRL_RELAX; // spindle state
U8 drill_maxspeed = 100;
static pot_state potstate = POT_RELAX; // potentiometer state
stepper_state stpstate = STPR_STOPPED, ostpstate = STPR_STOPPED; // stepper
static U8 set_to_zero = 0; // flag showing that motor is in state of zero point setting up
// bitfield structure for buttons
#define FOOTSBIT (1<<0)
#define INP0BIT (1<<1)
#define INP1BIT (1<<2)
#define TRAYTOPBIT (1<<3)
#define TRAYBTMBIT (1<<4)
#define TRAYBTN1BIT (1<<5)
#define TRAYBTN2BIT (1<<6)
void check_buttons(){
static U8 old_buttons_state = 0xff; // default buttons state - none pressed
#ifdef EBUG
U8 pr = 0; // 0 - nothing, 1 - press, 2 - release
#endif
U8 btn_state = 0, btns_changed, twobuttons = 0;
if(FOOTSWITCH) btn_state |= FOOTSBIT;
if(INPUT0) btn_state |= INP0BIT;
if(INPUT1) btn_state |= INP1BIT;
if(TRAY_TOP_SW) btn_state |= TRAYTOPBIT;
if(TRAY_BTM_SW) btn_state |= TRAYBTMBIT;
if(TRAY_BTN1) btn_state |= TRAYBTN1BIT;
if(TRAY_BTN2) btn_state |= TRAYBTN2BIT;
if(btn_state == old_buttons_state) return; // none changed
btns_changed = btn_state ^ old_buttons_state; // XOR -> 1 on changed states
if(btns_changed & FOOTSBIT){
DBG("Footswitch");
if(btn_state & FOOTSBIT){ // released -> move drill up (if it works)
if(curstate != DRL_RELAX) move_fast(MOVEUP_STEPS);
#ifdef EBUG
pr = 2;
#endif
}else{ // pressed
if((btn_state & TRAYBTN1BIT) == 0 || (btn_state & TRAYBTN2BIT) == 0 ){ // move tray up/down
stop_motor();
DRILL_OFF();
if((btn_state & TRAYBTMBIT) == 0){ // move up when tray is down
TRAY_UP();
}else{ // else move DOWN
TRAY_DOWN();
}
}else{ // turn ON drill & move motor down
if(curstate == DRL_RELAX) DRILL_ON();
move_motor(-FULL_SCALE_STEPS);
}
#ifdef EBUG
pr = 1;
#endif
}
}
if(btns_changed & INP0BIT){
DBG("Input0");
if(btn_state & INP0BIT){ // released
#ifdef EBUG
pr = 2;
#endif
;
}else{ // pressed
#ifdef EBUG
pr = 1;
#endif
}
}
if(btns_changed & INP1BIT){
DBG("Input1");
if(btn_state & INP1BIT){ // released
#ifdef EBUG
pr = 2;
#endif
;
}else{ // pressed
#ifdef EBUG
pr = 1;
#endif
}
}
if(btns_changed & TRAYTOPBIT){
DBG("Tray top");
if(btn_state & TRAYTOPBIT){ // released
#ifdef EBUG
pr = 2;
#endif
;
}else{ // pressed
TRAY_STOP();
#ifdef EBUG
pr = 1;
#endif
}
}
if(btns_changed & TRAYBTMBIT){
DBG("Tray bottom");
if(btn_state & TRAYBTMBIT){ // released
#ifdef EBUG
pr = 2;
#endif
;
}else{ // pressed
TRAY_STOP();
#ifdef EBUG
pr = 1;
#endif
}
}
if(btns_changed & TRAYBTN1BIT){ // left button -> potentiometer change drill speed
DBG("Tray button left");
if(btn_state & TRAYBTN1BIT){ // released
potstate = POT_RELAX;
#ifdef EBUG
pr = 2;
#endif
;
}else{ // pressed
if((btn_state & TRAYBTN2BIT) == 0){ // press 2 buttons together
potstate = POT_RELAX;
DBG(" with right");
twobuttons = 1;
}else potstate = POT_DRLSPEED;
#ifdef EBUG
pr = 1;
#endif
}
}
if(btns_changed & TRAYBTN2BIT){ // right button -> potentiometer change stepper speed
DBG("Tray button right");
if(btn_state & TRAYBTN2BIT){ // released
potstate = POT_RELAX;
#ifdef EBUG
pr = 2;
#endif
;
}else{ // pressed
if((btn_state & TRAYBTN1BIT) == 0){ // press 2 buttons together
potstate = POT_RELAX;
DBG(" with left");
twobuttons = 1;
}else potstate = POT_STPSPEED;
#ifdef EBUG
pr = 1;
#endif
}
}
#ifdef EBUG
switch(pr){
case 1:
uart_write(" pressed\n");
break;
case 2:
uart_write(" released\n");
break;
default:
}
#endif
if(twobuttons){ // both buttons pressed together -> turn OFF drill
stop_motor();
DRILL_OFF();
}
#if 0
// check for footswitch
if(!FOOTSWITCH && !TRAY_BTM_SW){ // move only when tray is down!
if(!FOOTSW_TEST(btn_state)){ // pedal switch pressed - connect to ground!
if(curstate != DRL_WORK){
DRILL_ON();
}
add_steps(-5000); // this is a trick to move more than stage allows
uart_write("move down\n");
}else{
if(set_to_zero){
set_to_zero = 0;
stop_motor();
}else{
add_steps(-5000); // return to previous state (this function moves RELATIVELY)
uart_write("move up\n");
}
}
}
// check for tray endswitches. We don't care for their off state, so only check ON
if(TRAYSW_TEST(btns_changed) && TRAYSW_PRSD(btn_state)){
uart_write("tray stop\n");
TRAY_STOP(); // stop tray motor in any moving direction
if(!TRAY_BTM_SW) stp_pause_resume(); // restore stepper speed in down position
}
// check for user buttons pressed (the same - only pressed)
if(BTN12_TEST(btns_changed) && !BTN12_TEST(btn_state)){ // pressed both buttons
uart_write("move tray ");
DRILL_OFF();
if(!TRAY_TOP_SW){ // tray is up -> move it down & stepper up
uart_write("down\n");
move_motor(-FULL_SCALE_STEPS);
while(Nsteps); // wait until it moves
TRAY_DOWN();
}else{ // move tray up & stepper down
uart_write("up\n");
set_stepper_speed(100); // move as faster as possible
move_motor(FULL_SCALE_STEPS);
while(Nsteps); // wait until it moves
TRAY_UP();
}
}else if(BTN1_TEST(btns_changed) && !BTN1_TEST(btn_state)){ // btn1
uart_write("button 1\n");
set_stepper_speed(100);
move_motor(-FULL_SCALE_STEPS);
while(Nsteps); // wait until it moves
set_stepper_speed(10);
set_to_zero = 1;
}else if(BTN2_TEST(btns_changed) && !BTN2_TEST(btn_state)){ // btn2
uart_write("button 2\n");
potstate = POT_DRLSPEED;
}
#endif
old_buttons_state = btn_state;
}
// return absolute difference of two values
static vdiff(U16 a, U16 b){
if(a > b) return a - b;
else return b - a;
}
static inline void procVpot(){
static U16 oVpot = 0;
U32 spd;
#ifdef EBUG
U8 p = 0;
#endif
if(vdiff(oVpot, Vpot) < ADC_THRESHOLD) return;
// calculate speed in %%
spd = 101L * Vpot;
spd >>= 10;
switch(potstate){
case POT_DRLSPEED: // Vpot is spindle speed
if(spd != drill_maxspeed){
drill_maxspeed = spd;
DBG("Drill: ");
#ifdef EBUG
p = 1;
#endif
}
break;
case POT_STPSPEED: // Vpot is stepper speed
if(Stepper_speed != spd){
set_stepper_speed(spd);
DBG("Stepper: ");
#ifdef EBUG
p = 1;
#endif
}
break;
default:
}
#ifdef EBUG
if(p){
printUint((U8*)&spd, 4);
}
#endif
oVpot = Vpot;
}
static inline void procVcap(){
static U16 oVcap = 0;
if(vdiff(oVcap, Vcap) < ADC_THRESHOLD) return;
/*
#ifdef EBUG
uart_write("Vcap: ");
printUint((U8*)&Vcap, 2);
newline();
#endif
*/
oVcap = Vcap;
}
static inline void procVshunt(){
static U16 oVshunt = 0;
if(vdiff(oVshunt, Vshunt) < ADC_THRESHOLD) return;
if(Vshunt > MAX_DRILL_CURRENT){ // big current -> stepper should do a pause
DBG("big current: ");
printUint((U8*)&Vshunt, 2);
stp_pause_resume();
}else if(Vshunt < NORMAL_DRILL_CURRENT){ // all OK, move further
if(stpstate == STPR_PAUSED){
DBG("resume stepper\n");
stp_pause_resume();
}
}
oVshunt = Vshunt;
}
/**
* @brief process_ADC - check ADC values (Vpot Vcap Vshunt) for further actions
*/
static inline void process_ADC(){
static U16 val = 0; // mean
static U8 ctr = 0; // counter in val
U16 v;
U8 chnl;
if(!(ADC_CSR & 0x80)) return; // no EOC flag
v = ADC_DRL; // in right-alignment mode we should first read LSB
chnl = ADC_CSR & 0x0f; // current channel converted
v |= ADC_DRH << 8;
val += v;
if(++ctr == 10){
val /= 10;
switch(chnl){
case 4: // Rpot
Vpot = val;
procVpot();
chnl = 0x05; // clear irq flags & next will be Vcap
break;
case 5: // Vcap
Vcap = val;
procVcap();
chnl = 0x0c; // clear irq flags & next will be motor shunt
break;
//case 12: // motor schunt
default:
Vshunt = val;
procVshunt();
chnl = 0x04; // clear irq flags & next will be potentiometer
}
val = 0;
ctr = 0;
}
ADC_CSR = chnl; // clear EOC flag & change channel if need
ADC_CR1 = 0x71; // turn on ADC after everything processed
}
void process_state(){
process_ADC();
}

49
microdrill/statemachine.h Normal file
View File

@ -0,0 +1,49 @@
/*
* This file is part of the microdrill project.
* Copyright 2019 Edward V. Emelianov <edward.emelianoff@gmail.com>, <eddy@sao.ru>.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
#ifndef __STATEMACHINE_H__
#define __STATEMACHINE_H__
#include "ports_definition.h"
typedef enum{
DRL_RELAX // relax: no moving etc
,DRL_ACCEL // acceleration
,DRL_WORK // working
} drill_state;
typedef enum{
POT_RELAX // do nothing
,POT_DRLSPEED // potentiometer regulates drill spindle speed
,POT_STPSPEED // -//- stepper speed
} pot_state;
typedef enum{
STPR_STOPPED // stepper not moving
,STPR_PAUSED // little pause
,STPR_NORMAL // normal work
,STPR_FAST // fast moving up
} stepper_state;
extern drill_state curstate;
extern stepper_state stpstate;
void process_state();
void check_buttons();
#endif // __STATEMACHINE_H__

View File

@ -21,10 +21,11 @@
#include "ports_definition.h"
#include "stepper.h"
#include "statemachine.h"
volatile long Nsteps = 0; // Number of steps
volatile char Dir = 0; // direction of moving: 0/1
U16 Stepper_speed = 0; // length of one MICROstep in us
U8 Stepper_speed = 95; // length of one MICROstep in %
/**
* Setup pins of stepper motor (all - PP out)
@ -37,19 +38,35 @@ void setup_stepper_pins(){
/**
* Set speed of stepper motor
* @param Sps - period (in us) of one MICROstep
* @param Sps - speed in %%
*/
void set_stepper_speed(U16 SpS){
Stepper_speed = SpS;
// Configure timer 2 to generate signals for CLK
TIM2_PSCR = 4; // 1MHz
TIM2_ARRH = SpS >> 8; // set speed
TIM2_ARRL = SpS & 0xff;
TIM2_IER = TIM_IER_UIE; // update interrupt enable
TIM2_CR1 |= TIM_CR1_APRE | TIM_CR1_URS; // auto reload + interrupt on overflow & RUN
void set_stepper_speed(U8 SpS){
U16 tmp;
if(SpS > 100) return;
Stepper_speed = SpS;
SpS = 100 - SpS; // reverse (convert period into speed)
tmp = SpS * (U16)(MAX_STEPPER_PERIOD - MIN_STEPPER_PERIOD);
tmp /= 100;
tmp += MIN_STEPPER_PERIOD;
if(tmp > MAX_STEPPER_PERIOD) tmp = MAX_STEPPER_PERIOD;
else if(tmp < MIN_STEPPER_PERIOD) tmp = MIN_STEPPER_PERIOD;
TIM2_ARRH = tmp >> 8; // set speed
TIM2_ARRL = tmp & 0xff;
}
void move_fast(int Steps){
stpstate = STPR_FAST;
TIM2_ARRH = 0;
TIM2_ARRL = MIN_STEPPER_PERIOD;
move_motor(Steps);
}
void move_motor(int Steps){
if(stpstate != STPR_FAST){ // !fast -> check speed & set state
stpstate = STPR_NORMAL;
if(TIM2_ARRH == 0 && TIM2_ARRL == MIN_STEPPER_PERIOD && Stepper_speed != 100)
set_stepper_speed(Stepper_speed); // change speed to previous after max speed moving
}
if(Steps < 0){
Dir = 1;
Steps *= -1;
@ -60,20 +77,24 @@ void move_motor(int Steps){
}
void stop_motor(){
stpstate = STPR_STOPPED;
TIM2_CR1 &= ~TIM_CR1_CEN; // Turn off timer
Nsteps = 0;
PORT(STP_PORT, ODR) &= 0xf0; // turn off power
uart_write("stop\n");
}
void pause_resume(){
if(Nsteps == 0) return; // motor is stopped
if(TIM2_CR1 & TIM_CR1_CEN){ // pause
void stp_pause_resume(){
if(stpstate == STPR_STOPPED) return; // motor is stopped
DBG("Stepper ");
if(stpstate != STPR_PAUSED){ // pause
stpstate = STPR_PAUSED;
TIM2_CR1 &= ~TIM_CR1_CEN;
uart_write("pause\n");
DBG("pause\n");
}else{ // resume
stpstate = STPR_NORMAL;
TIM2_CR1 |= TIM_CR1_CEN;
uart_write("resume\n");
DBG("resume\n");
}
}
@ -89,7 +110,7 @@ void add_steps(int Steps){
Nsteps += S;
// now change direction
if(Nsteps < 0){
uart_write("reverce\n");
uart_write("reverse\n");
Dir = !Dir; // invert direction
Nsteps *= -1L;
}

View File

@ -27,14 +27,15 @@
#include "main.h"
extern volatile long Nsteps;
extern U16 Stepper_speed;
extern U8 Stepper_speed;
extern volatile char Dir;
void setup_stepper_pins();
void set_stepper_speed(U16 SpS);
void set_stepper_speed(U8 SpS);
void move_motor(int Steps);
void move_fast(int Steps);
void stop_motor();
void pause_resume();
void stp_pause_resume();
void add_steps(int Steps);
#endif // __STEPPER_H__

Binary file not shown.

View File

@ -1,142 +0,0 @@
:2080A000AE5007F6AA0FAE5007F7AE5008F6AA0FAE5008F7815202160590CF000EAE530CF4
:2080C000A604F7909E0F01AE530DF74FAE530E909FF7AE5301A601F7AE5300F6AA84AE5372
:2080E00000F75B02811E03A300002E0B3501000D1E03501F032004725F000D16035F905D71
:208100002A015A90CF000BCF0009AE5300F6AA01AE5300F781AE5300F6A4FEAE5300F7727A
:208120005F000C725F000B725F000A725F0009AE5005F6A4F0AE5005F7AE820C89CD84D5D1
:208140005B0281CE000B2607CE0009272D2000AE5300F6959EA5012711A4FEAE5300F7AEA0
:20816000821289CD84D55B0220109EAA01AE5300F7AE821989CD84D55B0281AE5300F6A47D
:20818000FEAE5300F7CE000B2610CE0009260B1E0389CD80E55B02CC820B16035F905D2AB1
:2081A000015A909F909772B9000B9FC9000A979EC900099590CF000BCF0009CE000BA3000C
:2081C00000C6000AA200C60009A2002E2AAE822189CD84D55B02C6000DA0014F49C7000D27
:2081E00090CE000B90504FC2000A974FC200099590CF000BCF0009CE000B2605CE00092791
:208200000AAE5300F6AA01AE5300F78173746F700A0070617573650A00726573756D650AA6
:0A82200000726576657263650A005E
:0790DC00000000000000008D
:20822A008080808080AE500E7F356400198080808080805202AE5302F66B027B02442503D4
:20824A00CC82D97B02A4FEAE5302F7AE5005F6A4F06B01AE00229FCB0011979EA90095F627
:20826A001A01AE5005F7725D000D272C725C0011C60011A1072D4B725F001190CE000B721D
:20828A00A20001C6000AA20097C60009A2009590CF000BCF0009202A725A0011C60011A141
:2082AA00002E1F3507001190CE000B72A20001C6000AA20097C60009A2009590CF000BCF54
:2082CA000009CE000B2608CE00092603CD81155B028080808080805204AE5240F66B047B4E
:2082EA0004A5202750AE5241F66B017B04A4804D27FDAE52417B01F7AE00011F02C6002112
:20830A0097C600214CC700214F9572FB027B01F7C60020C100212612C600204CC70020C6FC
:20832A000020A1082604725F0020C60021A1082604725F00215B04805208AE5405F65F9777
:20834A001F03AE5400F6A40F9095AE5404F65F9758585858585858589F1A046B089E1A0384
:20836A006B017B086B02909EA10C2703CC83EC7B02C7002B7B01C7002A725D001C275A729D
:20838A005D001E27541E01A30032230EAE5266F64D27464AAE5266F7203F1E01A3000324B3
:2083AA0023AE526DF6A47FAE526DF7AE500AF6A4FDAE500AF7725F001CAE84B789CD84D583
:2083CA005B0220151E01A3001E240EAE5266F6C1001424054CAE5266F7AE5400A624F7CC5D
:2083EA00848C1E01C300122408CE001272F001200C7B02C00013977B01C2001295A3000560
:20840A002403CC84867B02C700137B01C70012725D001F272616015F9089894B645F894B74
:20842A0000CD8F775B08A60A4D27069054564A26FA9FC70014AE5266F7204116015F908967
:20844A00894BE04B015F89CD8F775B08A60A4D27069054564A26FA1C00141F051E05A3010B
:20846A00F423191E05A3001423127B06C7002D7B05C7002C1E0589CD80B55B02AE5400A618
:20848A002CF75B0880AE5342F644241B90CE001772A90001C60016A90097C60015A900954A
:1D84AA0090CF0017CF0015AE53427F80804E6F206472696C6C206D6F746F723F0015
:0590E300000000006424
:2080000082008083820000008200822A8200822B8200822C8200822D8200822E8200822F36
:20802000820082388200823982000000820000008200823A8200823B8200823C8200823DC5
:20804000820082DC820082DD820082DE8200000082000000820082DF820082E0820082E1CD
:20806000820083428200848F820084B68200000082000000820000008200000082000000DE
:1D808300AE00082707724F00005A26F9AE00262709D690DBD700085A26F7CC80805B
:03808000CC88E8C1
:2084C700AE5240F64824F9AE52417B03F781160390F64D271BAE5240F64824F9AE5245F6BF
:2084E700AA08AE5245F790F6905CAE5241F720E0815202C60021C1002026034F2027160566
:20850700AE00011F01C6002097C600204CC700204F9572FB01F690F7C60020A108260472F5
:208527005F0020A6015B0281521C5F1F101F0E7B21A1042303CC86057B21A1032603CC868E
:20854700050D212603CC8605965C1F1B4F5F9772FB1B7F4CA10C25F51E1B1C000AA60AF7D0
:208567007B21A101270E7B21A102271C7B21A104272120301E1FF66B1A5F0F171F0F7B1A26
:208587006B117B176B0E201C161F90FE5F17101F0E20111E1FE6036B16E602FE6B101F0E35
:2085A7007B166B11A6096B0D4B0A5F894B001E14891E1489CD8E5B5B089F887B0E6B1384B7
:2085C7000A0D5F417B124172FB1BAB30F74B0A5F894B001E14891E1489CD8ED85B081F10F2
:2085E700170E1E1026041E0E27067B0DA1FF2CB87B0D4C5F9772FB1B89CD84D55B025B1CBD
:2086070081521ACE00171F03CE00151F015F1F071F050F0C0F0A0F09961C000B89CD84F8D8
:208627005B024D2603CC86AC7B0BA12D260E1E07260A1E052606A6016B0C20697B0BA13038
:208647002403CC86CE7B0BA1392303CC86CEA6016B0A1E07891E07894B0A5F894B00CD8FCA
:20866700775B081F11170F7B0B0F155F90977B15909572F9119F1910979E190F9572A20094
:20868700309FA2006B189EA20017076B057B186B06AE7FFF13074F12064F120524075F1F51
:2086A700071F050F0990CE001772F203C60016120295C6001512019790A327109EA2009F41
:2086C700A2002403CC861F0D0926040D0A26034F201A7B07887B096B0F846B0D0D0C270507
:2086E7001E0D501F0D1E1D160DFFA6015B1A81AE8CF989CD84D55B021E0389CD84D55B0266
:208707004B0ACD84C784815202AE500BF6959EA4F86B027B02C1002E2603CC88DF7B02C844
:20872700002E6B017B01A52027549EA508264F7B02A5202628725D001C260EAE526DF6AA60
:2087470080AE526DF73501001C4B784BECCD817B5B02AE8D0289CD84D55B022021725D0063
:208767001D2709725F001DCD811520124B784BECCD817B5B02AE8D0D89CD84D55B027B0132
:20878700A518272E7B02A418A1182726AE8D1689CD84D55B02AE500FF6A4F3AE500FF7AED8
:2087A700500BF6A508260B3B002D3B002CCD80B55B027B01A4C0A1C02703CC887D7B02A4F8
:2087C700C0A1C02603CC887DAE8D2189CD84D55B02AE526DF6A47FAE526DF7AE500AF6A483
:2087E700FDAE500AF7725F001CAE500BF6A510263EAE8D2C89CD84D55B024B484BF4CD80DF
:20880700E55B02CE000B26FBCE000926F6AE500BF6A5082703CC88DAAE500FF6A4F3AE5086
:208827000FF7AE500AF6AA08AE500AF7CC88DAAE8D3289CD84D55B024BF44B01CD80B55BED
:20884700024BB84B0BCD80E55B02CE000B26FBCE000926F6AE500BF6A5102703CC88DAAE80
:20886700500FF6A4F3AE500FF7AE500AF6AA04AE500AF7CC88DA7B01A540273A7B02A54004
:208887002634AE8D3689CD84D55B024BF44B01CD80B55B024B484BF4CD80E55B02CE000BD6
:2088A70026FBCE000926F64B144B00CD80B55B023501001D201D7B014824187B0248251307
:2088C700AE8D4089CD84D55B02C6001FA0014F49C7001F7B02C7002EAE500EA6F8F75B0296
:2088E7008152115F1F0B1F095F1F071F05AE7F60F6AA01AE7F60F7AE50C67FAE5345A6074B
:20890700F7AE5346A67DF7AE5341A601F7AE5340A685F7AE52607FAE5261A603F7AE526273
:208927007FAE5263A664F7AE52657FAE5266A60AF7AE5258A660F7AE525CA601F7AE5254B9
:208947007FAE5250A685F7AE5400A62CF7AE5406A610F7AE5407A610F7AE5402A608F7AE92
:208967005401A673F7AE5401A673F7AE50A0A630F7AE500DF6AAF8AE500DF7AE500EA6F8BE
:20898700F7AE500CF6AA02AE500CF7AE526DF6A47FAE526DF7AE500AF6A4FDAE500AF77232
:2089A7005F001CAE500CF6AA04AE500CF7AE500DF6AA04AE500DF7AE5011F6AA20AE5011F7
:2089C700F7AE5012F6AA20AE5012F7AE5242A611F7AE5243A606F7AE5245A62CF79A3B0009
:2089E7002D3B002CCD80B55B02CD80A01E07C3001726071E05C300152727CE00171F07CE42
:208A070000151F05C60019A1002D09C600194AC70019200D725D0019260735FF0019CD8774
:208A27000ECE001772F00B1F0FC60016120A6B0EC600151209CE001A905F881310909F1277
:208A47000F909E12015B012511CE0017130BC60016120AC6001512092414CE00171F0BCE27
:208A670000151F09AE500AF6A804AE500AF7965C5C89CD84F85B024D2603CC89F37B026BE6
:208A8700117B11A12B2603CC8B487B11A12D2603CC8B677B11A1302603CC8C3F7B11A131E2
:208AA7002603CC8C5A7B11A13C2603CC8C7F7B11A13E2603CC8C6B7B11A1482603CC8B3CE3
:208AC7007B11A14D2603CC8BCD7B11A1532603CC8B867B11A1612603CC8C177B11A1632666
:208AE70003CC8CD57B11A1642603CC8CB37B11A1672603CC8CE37B11A16827397B11A16DF3
:208B07002603CC8BBF7B11A1702603CC8C117B11A1732603CC8BB17B11A1752603CC8C915B
:208B27007B11A1782603CC8C0B7B11A17A2603CC8CDCCC89F3AE8D4A89CD84D55B02CC89CB
:208B4700F3CE001A1C0064CF001ACE001AA327102203CC89F335F4001B3501001ACC89F3BF
:208B6700CE001A1D0064CF001ACE001AA300642503CC89F33564001B725F001ACC89F396C0
:208B87001C000389CD86085B024D27121E03A3007D2D0B1E0389CD80B55B02CC89F3AE8EE2
:208BA7003489CD86F65B02CC89F3AE000E4B0289CD852F5B03CC89F3AE00094B0489CD8569
:208BC7002F5B03CC89F3CE000B2605CE0009270CAE8E3E89CD86F65B02CC89F3961C000305
:208BE70089CD86085B024D270F1E03270B1E0389CD80E55B02CC89F3AE8E4689CD86F65B27
:208C070002CC89F3CD8115CC89F3CD8143CC89F3961C000389CD86085B024D270F1E0327BE
:208C27000B1E0389CD817B5B02CC89F3AE8E5189CD86F65B02CC89F3AE526DF6A47FAE5280
:208C47006DF7AE500AF6A4FDAE500AF7725F001CCC89F3AE526DF6AA80AE526DF7350100AF
:208C67001CCC89F3AE5266F6C100142503CC89F34CAE5266F7CC89F3AE5266F64D2603CC59
:208C870089F34AAE5266F7CC89F3AE500BF6A5102703CC89F3AE500FF6A4F3AE500FF7AEF0
:208CA700500AF6AA04AE500AF7CC89F3AE500BF6A5082703CC89F3AE500FF6A4F3AE500FA3
:208CC700F7AE500AF6AA08AE500AF7CC89F3725F001ECC89F33501001ECC89F3AE5266F670
:208CE7006B01965C4B0189CD852F5B03CC89F35B11810A4552524F523A20006D6F76652061
:208D0700646F776E0A006D6F76652075700A00747261792073746F700A006D6F76652074C9
:208D27007261792000646F776E0A0075700A00627574746F6E20310A00627574746F6E205C
:208D4700320A000A50524F544F3A0A2B2F2D094C454420706572696F640A532F7309736506
:208D6700742F676574204D73706565640A6D096765742073746570730A780973746F700A21
:208D8700700970617573652F726573756D650A4D096D6F7665206D6F746F720A61096164D4
:208DA70064204E737470730A30097475726E206472696C6C204F46460A31097475726E20A5
:208DC7006472696C6C204F4E0A3E09726F74617465206661737465720A3C09726F746174BA
:208DE7006520736C6F7765720A7509747261792075700A64097472617920646F776E0A6382
:208E0700096175746F207370656564206F66660A7A096175746F207370656564206F6E0A7F
:208E270067096765742073706565640A00626164207370656564006D6F76696E67210062D5
:148E47006164204E7374657073006261642076616C75650051
:1A90E80000000000FF01F4000000000000080A02060405010900000032F823
:208E5B0052040F020F017B0B484F494D262E160D1E0B905859170D1F0B1E09130D7B0812C2
:208E7B000C7B07120B240D160D1E0B549056170D1F0B20080C017B016B0220CA7B026B0433
:208E9B001E09130D7B08120C7B07120B2513160972F20D7B08120C977B07120B9517091FBD
:208EBB0007160D1E0B549056170D1F0B7B046B030A040D0326CA1E0916075B048152125FDA
:208EDB001F051F03A6206B027B15484F496B0116171E1590585917171F157B036B0F1E0405
:208EFB00887B076B1384081259090F1F047B126B067B0F6B030D01271A7B06AA016B0A7B3C
:208F1B00056B097B046B087B036B0716091705160717031E05131B7B04121A7B031219259F
:208F3B002B160572F21B7B04121A6B0C7B03121917056B037B0C6B047B18AA0190977B170F
:208F5B0090957B16977B159517171F150A020D022703CC8EE31E1716155B1281524090969A
:208F7B00905C961C00431F0B1E0BE603961C00471F151E151F171E171F3F1E3F88E601972D
:208F9B00844290FF72A900021E0BE6031E151F111E111F131E131F191E1988E60397844200
:208FBB0090FF965C1F1B1E1BF66B1D1E0BF697161590E603429F1B1D1E1BF71E1BF66B1EC9
:208FDB001E0BE60197161590E602429F1B1E1E1BF79096905C93FE1F1F1E0BE6011E151F9F
:208FFB00211E211F231E231F251E2588E60397844272FB1F90FF93FE1F271E0BE6021E15E8
:20901B001F291E291F2B1E2B1F2F1E2F88E60297844272FB2790FF160B1E0BE6021E151F04
:20903B00311E311F331E331F351E3588E6019784429F90F71E0B5C1F371E0BE60290971E28
:20905B0015E60390421E37FF16151E0BE6031E151F3D1E3D1F051E0588F69784429F90F762
:20907B001E155C1F2D1E0BE60390971E15E60290421E2DFF1E151C00037F1E0B1C00037FF2
:20909B00965CE6036B0AE6026B09E6016B08F61643170D164572F909173B887B09190F6B7C
:2090BB003B84190D6B39163BEF021639FFFE16491E4772F93B9F193A979E193995515B401A
:0190DB008113
:00000001FF

View File

@ -59,21 +59,21 @@ const U8 UART_devNUM = THIS_DEVICE_NUM; // device number, master sais it
* @param byte - data to send
*/
void UART_send_byte(U8 byte){
if(!UART_is_our) return; // don't use UART when we have no right!
//UART2_CR2 |= UART_CR2_TEN; // enable transmitter
UART2_DR = byte;
while(!(UART2_SR & UART_SR_TC));
//UART2_CR2 &= ~UART_CR2_TEN; // disable transmitter
if(!UART_is_our) return; // don't use UART when we have no right!
//UART2_CR2 |= UART_CR2_TEN; // enable transmitter
UART2_DR = byte;
while(!(UART2_SR & UART_SR_TC));
//UART2_CR2 &= ~UART_CR2_TEN; // disable transmitter
}
void uart_write(char *str){
if(!UART_is_our) return; // don't use UART when we have no right!
//UART2_CR2 |= UART_CR2_TEN; // enable transmitter
while(*str){
UART2_DR = *str++;
while(!(UART2_SR & UART_SR_TC));
}
//UART2_CR2 &= ~UART_CR2_TEN; // disable transmitter
if(!UART_is_our) return; // don't use UART when we have no right!
//UART2_CR2 |= UART_CR2_TEN; // enable transmitter
while(*str){
UART2_DR = *str++;
while(!(UART2_SR & UART_SR_TC));
}
//UART2_CR2 &= ~UART_CR2_TEN; // disable transmitter
}
@ -83,90 +83,90 @@ void uart_write(char *str){
* @return 1 in case of non-empty buffer
*/
U8 UART_read_byte(U8 *byte){
if(UART_rx_start_i == UART_rx_cur_i) // buffer is empty
return 0;
*byte = UART_rx[UART_rx_start_i++];
check_UART_pointer(UART_rx_start_i);
return 1;
if(UART_rx_start_i == UART_rx_cur_i) // buffer is empty
return 0;
*byte = UART_rx[UART_rx_start_i++];
check_UART_pointer(UART_rx_start_i);
return 1;
}
void printUint(U8 *val, U8 len){
unsigned long Number = 0;
U8 i = len;
char ch;
U8 decimal_buff[12]; // max len of U32 == 10 + \n + \0
if(len > 4 || len == 3 || len == 0) return;
for(i = 0; i < 12; i++)
decimal_buff[i] = 0;
decimal_buff[10] = '\n';
ch = 9;
switch(len){
case 1:
Number = *((U8*)val);
break;
case 2:
Number = *((U16*)val);
break;
case 4:
Number = *((unsigned long*)val);
break;
}
do{
i = Number % 10L;
decimal_buff[ch--] = i + '0';
Number /= 10L;
}while(Number && ch > -1);
uart_write((char*)&decimal_buff[ch+1]);
unsigned long Number = 0;
U8 i = len;
char ch;
U8 decimal_buff[12]; // max len of U32 == 10 + \n + \0
if(len > 4 || len == 3 || len == 0) return;
for(i = 0; i < 12; i++)
decimal_buff[i] = 0;
decimal_buff[10] = '\n';
ch = 9;
switch(len){
case 1:
Number = *((U8*)val);
break;
case 2:
Number = *((U16*)val);
break;
case 4:
Number = *((unsigned long*)val);
break;
}
do{
i = Number % 10L;
decimal_buff[ch--] = i + '0';
Number /= 10L;
}while(Number && ch > -1);
uart_write((char*)&decimal_buff[ch+1]);
}
/*
U8 U8toHEX(U8 val){
val &= 0x0f;
if(val < 10) val += '0';
else val += 'a' - 10;
return val;
val &= 0x0f;
if(val < 10) val += '0';
else val += 'a' - 10;
return val;
}
void printUintHEX(U8 *val, U8 len){
U8 i, V;
uart_write("0x");
for(i = 0; i < len; i++){
V = *val++;
UART_send_byte(U8toHEX(V>>4)); // MSB
UART_send_byte(U8toHEX(V)); // LSB
}
UART_send_byte('\n');
U8 i, V;
uart_write("0x");
for(i = 0; i < len; i++){
V = *val++;
UART_send_byte(U8toHEX(V>>4)); // MSB
UART_send_byte(U8toHEX(V)); // LSB
}
UART_send_byte('\n');
}*/
U8 readInt(int *val){
unsigned long T = Global_time;
unsigned long R = 0;
int readed;
U8 sign = 0, rb, ret = 0, bad = 0;
do{
if(!UART_read_byte(&rb)) continue;
if(rb == '-' && R == 0){ // negative number
sign = 1;
continue;
}
if(rb < '0' || rb > '9') break; // number ends with any non-digit symbol that will be omitted
ret = 1; // there's at least one digit
R = R * 10L + rb - '0';
if(R > 0x7fff){ // bad value
R = 0;
bad = 0;
}
}while(Global_time - T < 10000); // wait no longer than 10s
if(bad || !ret) return 0;
readed = (int) R;
if(sign) readed *= -1;
*val = readed;
return 1;
unsigned long T = Global_time;
unsigned long R = 0;
int readed;
U8 sign = 0, rb, ret = 0, bad = 0;
do{
if(!UART_read_byte(&rb)) continue;
if(rb == '-' && R == 0){ // negative number
sign = 1;
continue;
}
if(rb < '0' || rb > '9') break; // number ends with any non-digit symbol that will be omitted
ret = 1; // there's at least one digit
R = R * 10L + rb - '0';
if(R > 0x7fff){ // bad value
R = 0;
bad = 0;
}
}while(Global_time - T < 10000); // wait no longer than 10s
if(bad || !ret) return 0;
readed = (int) R;
if(sign) readed *= -1;
*val = readed;
return 1;
}
void error_msg(char *msg){
uart_write("\nERROR: ");
uart_write(msg);
UART_send_byte('\n');
uart_write("\nERROR: ");
uart_write(msg);
UART_send_byte('\n');
}
/**
@ -175,20 +175,20 @@ void error_msg(char *msg){
* @return 0 in case of error
*/
U8 get_motor_number(U8 *N){
int Ival;
if(readInt(&Ival) && Ival > -1 && Ival < 3){
*N = (U8) Ival;
UART_send_byte('*'); // OK
return 1;
}else{
error_msg("bad motor");
return 0;
}
int Ival;
if(readInt(&Ival) && Ival > -1 && Ival < 3){
*N = (U8) Ival;
UART_send_byte('*'); // OK
return 1;
}else{
error_msg("bad motor");
return 0;
}
}
void show_uid(){
uart_write("\nMCU ID:\n");
printUintHEX(U_ID00, 12);
uart_write("\nMCU ID:\n");
printUintHEX(U_ID00, 12);
}
/**
@ -199,194 +199,194 @@ void show_uid(){
* @return 0 in case of error
*/
U8 change_progmem_value(U8 *addr, U8 val){
// unlock memory
FLASH_PUKR = EEPROM_KEY2;
FLASH_PUKR = EEPROM_KEY1;
// check bit PUL=1 in FLASH_IAPSR
if(!FLASH_IAPSR & 0x02)
return 0;
*addr = val;
// clear PUL to lock write
FLASH_IAPSR &= ~0x02;
return 1;
// unlock memory
FLASH_PUKR = EEPROM_KEY2;
FLASH_PUKR = EEPROM_KEY1;
// check bit PUL=1 in FLASH_IAPSR
if(!FLASH_IAPSR & 0x02)
return 0;
*addr = val;
// clear PUL to lock write
FLASH_IAPSR &= ~0x02;
return 1;
}
/*
U8 change_eeprom_value(U8 *addr, U8 val){
// unlock memory
FLASH_DUKR = EEPROM_KEY1;
FLASH_DUKR = EEPROM_KEY2;
// check bit DUL=1 in FLASH_IAPSR
if(!FLASH_IAPSR & 0x08)
return 0;
*addr = val;
// clear DUL to lock write
FLASH_IAPSR &= ~0x08;
return 1;
// unlock memory
FLASH_DUKR = EEPROM_KEY1;
FLASH_DUKR = EEPROM_KEY2;
// check bit DUL=1 in FLASH_IAPSR
if(!FLASH_IAPSR & 0x08)
return 0;
*addr = val;
// clear DUL to lock write
FLASH_IAPSR &= ~0x08;
return 1;
}
*/
int main() {
unsigned long T = 0L;
int Ival;
U8 rb, Num;
unsigned long T = 0L;
int Ival;
U8 rb, Num;
CFG_GCR |= 1; // disable SWIM
CFG_GCR |= 1; // disable SWIM
// Configure clocking
CLK_CKDIVR = 0; // F_HSI = 16MHz, f_CPU = 16MHz
// Configure clocking
CLK_CKDIVR = 0; // F_HSI = 16MHz, f_CPU = 16MHz
// Timer 4 (8 bit) used as system tick timer
// prescaler == 128 (2^7), Tfreq = 125kHz
// period = 1ms, so ARR = 125
TIM4_PSCR = 7;
TIM4_ARR = 125;
// interrupts: update
TIM4_IER = TIM_IER_UIE;
// auto-reload + interrupt on overflow + enable
TIM4_CR1 = TIM_CR1_APRE | TIM_CR1_URS | TIM_CR1_CEN;
// Timer 4 (8 bit) used as system tick timer
// prescaler == 128 (2^7), Tfreq = 125kHz
// period = 1ms, so ARR = 125
TIM4_PSCR = 7;
TIM4_ARR = 125;
// interrupts: update
TIM4_IER = TIM_IER_UIE;
// auto-reload + interrupt on overflow + enable
TIM4_CR1 = TIM_CR1_APRE | TIM_CR1_URS | TIM_CR1_CEN;
// Configure pins
// PC2 - PP output (on-board LED)
PORT(LED_PORT, DDR) |= LED_PIN;
PORT(LED_PORT, CR1) |= LED_PIN;
// PD5 - UART2_TX -- pseudo open-drain output; don't forget an pullup resistor!
PORT(UART_PORT, DDR) |= UART_TX_PIN;
PORT(UART_PORT, ODR) |= UART_TX_PIN; // torn off N push-down
//PORT(UART_PORT, CR1) |= UART_TX_PIN;
// Configure pins
// PC2 - PP output (on-board LED)
PORT(LED_PORT, DDR) |= LED_PIN;
PORT(LED_PORT, CR1) |= LED_PIN;
// PD5 - UART2_TX -- pseudo open-drain output; don't forget an pullup resistor!
PORT(UART_PORT, DDR) |= UART_TX_PIN;
PORT(UART_PORT, ODR) |= UART_TX_PIN; // torn off N push-down ???
//PORT(UART_PORT, CR1) |= UART_TX_PIN;
// Configure UART
// 9 bit, no parity, 1 stop (UART_CR3 = 0 - reset value)
// 57600 on 16MHz: BRR1=0x11, BRR2=0x06
UART2_BRR1 = 0x11; UART2_BRR2 = 0x06;
UART2_CR1 = UART_CR1_M; // M = 1 -- 9bits
UART2_CR2 = UART_CR2_REN | UART_CR2_RIEN; // Allow RX, generate ints on rx
// Configure UART
// 9 bit, no parity, 1 stop (UART_CR3 = 0 - reset value)
// 57600 on 16MHz: BRR1=0x11, BRR2=0x06
UART2_BRR1 = 0x11; UART2_BRR2 = 0x06;
UART2_CR1 = UART_CR1_M; // M = 1 -- 9bits
UART2_CR2 = UART_CR2_REN | UART_CR2_RIEN; // Allow RX, generate ints on rx
setup_stepper_pins();
setup_stepper_pins();
// enable all interrupts
enableInterrupts();
// Loop
do{
if((Global_time - T > paused_val) || (T > Global_time)){
T = Global_time;
PORT(LED_PORT, ODR) ^= LED_PIN; // blink on-board LED
}
if(UART_read_byte(&rb)){ // buffer isn't empty
switch(rb){
case 'h': // help
case 'H':
uart_write("\nPROTO:\n"
"+/-\tLED period\n"
"Ex/ex\tset/get end-switches stored\n"
"p\tget HW end-switches\n"
"Mx\tstop on end-switch\n"
"Sx/sx\tset/get Mspeed\n"
"mx\tget steps\n"
"Px\tpause/resume\n"
"Xx\tstop\n"
"0..2N\tmove xth motor for N steps\n"
"=\tinfinity moving (after 0..2)"
"U/u\tset/get U-stepping\n"
"I\tget serial ID\n"
"N\tchange HW number\n"
"n\tshow HW number\n"
);
break;
case 'I': // get serial id
show_uid();
break;
case '+':
paused_val += 100;
if(paused_val > 10000)
paused_val = 500; // but not more than 10s
break;
case '-':
paused_val -= 100;
if(paused_val < 100) // but not less than 0.1s
paused_val = 500;
break;
case 'E': // set end-switches value
if(get_motor_number(&Num)){
if(readInt(&Ival) && (Ival == (Ival & 0x1f))){
if(Num)
EPs[Num] = Ival & 0x0f; // 4 bits in motors 1&2
else
EPs[0] = Ival; // all 5 bits in motor 0
}else
error_msg("bad EP");
}
break;
case 'e': // get stored end-switches value
if(get_motor_number(&Num)){
printUint(&EPs[Num], 1);
}
break;
case 'p': // get hardware end-switches value
if(get_motor_number(&Num)){
Num = get_ep_value(Num);
printUint(&Num, 1);
}
break;
case 'S': // set stepper speed
if(get_motor_number(&Num)){
if(readInt(&Ival) && Ival > MIN_STEP_LENGTH)
set_stepper_speed(Num, Ival);
else
error_msg("bad speed");
}
break;
case 's': // get stepper speed
if(get_motor_number(&Num))
printUint((U8*)&Stepper_speed[Num], 2);
break;
case 'M': // move till EP, you can call it before starting motor
if(get_motor_number(&Num))
Stop_on_EP[Num] = 1;
break;
case 'm': // how much steps there is to the end of moving
if(get_motor_number(&Num))
printUint((U8*)&Nsteps[Num], 2);
break;
case 'X': // stop
if(get_motor_number(&Num))
stop_motor(Num);
break;
case 'P': // pause/resume
if(get_motor_number(&Num))
pause_resume(Num);
break;
case 'N':
if(readInt(&Ival) && Ival > 0 && Ival < 256)
if(!change_progmem_value(&UART_devNUM, (unsigned int) Ival))
error_msg("can't change val");
break;
case 'n': // show HW num
printUint(&UART_devNUM, 1);
break;
case 'u': // show UStepping
printUint(&USteps, 1);
break;
case 'U': // set UStepping
if(readInt(&Ival) && Ival > 0 && Ival < 256)
USteps = Ival;
break;
case '=': // infinity moving: just don't decrement steps
StepperInfty = 1;
break;
default:
if(rb >= '0' && rb <= '2'){ // run motor
Num = rb - '0';
if(readInt(&Ival) && Ival)
move_motor(Num, Ival);
else{
error_msg("bad Nsteps");
}
}
}
}
}while(1);
// enable all interrupts
enableInterrupts();
// Loop
do{
if((Global_time - T > paused_val) || (T > Global_time)){
T = Global_time;
PORT(LED_PORT, ODR) ^= LED_PIN; // blink on-board LED
}
if(UART_read_byte(&rb)){ // buffer isn't empty
switch(rb){
case 'h': // help
case 'H':
uart_write("\nPROTO:\n"
"+/-\tLED period\n"
"Ex/ex\tset/get end-switches stored\n"
"p\tget HW end-switches\n"
"Mx\tstop on end-switch\n"
"Sx/sx\tset/get Mspeed\n"
"mx\tget steps\n"
"Px\tpause/resume\n"
"Xx\tstop\n"
"0..2N\tmove xth motor for N steps\n"
"=\tinfinity moving (after 0..2)"
"U/u\tset/get U-stepping\n"
"I\tget serial ID\n"
"N\tchange HW number\n"
"n\tshow HW number\n"
);
break;
case 'I': // get serial id
show_uid();
break;
case '+':
paused_val += 100;
if(paused_val > 10000)
paused_val = 500; // but not more than 10s
break;
case '-':
paused_val -= 100;
if(paused_val < 100) // but not less than 0.1s
paused_val = 500;
break;
case 'E': // set end-switches value
if(get_motor_number(&Num)){
if(readInt(&Ival) && (Ival == (Ival & 0x1f))){
if(Num)
EPs[Num] = Ival & 0x0f; // 4 bits in motors 1&2
else
EPs[0] = Ival; // all 5 bits in motor 0
}else
error_msg("bad EP");
}
break;
case 'e': // get stored end-switches value
if(get_motor_number(&Num)){
printUint(&EPs[Num], 1);
}
break;
case 'p': // get hardware end-switches value
if(get_motor_number(&Num)){
Num = get_ep_value(Num);
printUint(&Num, 1);
}
break;
case 'S': // set stepper speed
if(get_motor_number(&Num)){
if(readInt(&Ival) && Ival > MIN_STEP_LENGTH)
set_stepper_speed(Num, Ival);
else
error_msg("bad speed");
}
break;
case 's': // get stepper speed
if(get_motor_number(&Num))
printUint((U8*)&Stepper_speed[Num], 2);
break;
case 'M': // move till EP, you can call it before starting motor
if(get_motor_number(&Num))
Stop_on_EP[Num] = 1;
break;
case 'm': // how much steps there is to the end of moving
if(get_motor_number(&Num))
printUint((U8*)&Nsteps[Num], 2);
break;
case 'X': // stop
if(get_motor_number(&Num))
stop_motor(Num);
break;
case 'P': // pause/resume
if(get_motor_number(&Num))
pause_resume(Num);
break;
case 'N':
if(readInt(&Ival) && Ival > 0 && Ival < 256)
if(!change_progmem_value(&UART_devNUM, (unsigned int) Ival))
error_msg("can't change val");
break;
case 'n': // show HW num
printUint(&UART_devNUM, 1);
break;
case 'u': // show UStepping
printUint(&USteps, 1);
break;
case 'U': // set UStepping
if(readInt(&Ival) && Ival > 0 && Ival < 256)
USteps = Ival;
break;
case '=': // infinity moving: just don't decrement steps
StepperInfty = 1;
break;
default:
if(rb >= '0' && rb <= '2'){ // run motor
Num = rb - '0';
if(readInt(&Ival) && Ival)
move_motor(Num, Ival);
else{
error_msg("bad Nsteps");
}
}
}
}
}while(1);
}

View File

@ -155,6 +155,13 @@ typedef unsigned long U32;
#define IWDG_KR *(unsigned char*)0x50E0
#define IWDG_PR *(unsigned char*)0x50E1
#define IWDG_RLR *(unsigned char*)0x50E2
// enable Watchdog
#define KEY_ENABLE (0xCC)
// refresh Watchdog from IWDG_RLR
#define KEY_REFRESH (0xAA)
// modify IWDG_PR and IWDG_RLR
#define KEY_ACCESS (0x55)
/* ------------------- AWU, BEEP ------------------- */
#define AWU_CSR1 *(unsigned char*)0x50F0

568
stm8s.h Normal file
View File

@ -0,0 +1,568 @@
/*
* stm8l.h
*
* Copyright 2014 Edward V. Emelianoff <eddy@sao.ru>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
* MA 02110-1301, USA.
*/
#pragma once
#ifndef __STM8L_H__
#define __STM8L_H__
typedef unsigned char U8;
typedef unsigned int U16;
typedef unsigned long U32;
#define NULL (void*)0
/* functions */
#define enableInterrupts() {__asm__("rim\n");} // enable interrupts
#define disableInterrupts() {__asm__("sim\n");} // disable interrupts
#define iret() {__asm__("iret\n");} // Interrupt routine return
#define pop_ccr() {__asm__("pop cc\n");} // Pop CCR from the stack
#define push_ccr() {__asm__("push cc\n");}// Push CCR on the stack
#define rim() {__asm__("rim\n");} // enable interrupts
#define sim() {__asm__("sim\n");} // disable interrupts
#define nop() {__asm__("nop\n");} // No Operation
#define trap() {__asm__("trap\n");} // Trap (soft IT)
#define wfi() {__asm__("wfi\n");} // Wait For Interrupt
#define halt() {__asm__("halt\n");} // Halt
/*
* Registers map is shown in short datasheet, page 26
*/
/* GPIO */
#define PA_ODR *(unsigned char*)0x5000
#define PA_IDR *(unsigned char*)0x5001
#define PA_DDR *(unsigned char*)0x5002
#define PA_CR1 *(unsigned char*)0x5003
#define PA_CR2 *(unsigned char*)0x5004
#define PB_ODR *(unsigned char*)0x5005
#define PB_IDR *(unsigned char*)0x5006
#define PB_DDR *(unsigned char*)0x5007
#define PB_CR1 *(unsigned char*)0x5008
#define PB_CR2 *(unsigned char*)0x5009
#define PC_ODR *(unsigned char*)0x500A
#define PC_IDR *(unsigned char*)0x500B
#define PC_DDR *(unsigned char*)0x500C
#define PC_CR1 *(unsigned char*)0x500D
#define PC_CR2 *(unsigned char*)0x500E
#define PD_ODR *(unsigned char*)0x500F
#define PD_IDR *(unsigned char*)0x5010
#define PD_DDR *(unsigned char*)0x5011
#define PD_CR1 *(unsigned char*)0x5012
#define PD_CR2 *(unsigned char*)0x5013
#define PE_ODR *(unsigned char*)0x5014
#define PE_IDR *(unsigned char*)0x5015
#define PE_DDR *(unsigned char*)0x5016
#define PE_CR1 *(unsigned char*)0x5017
#define PE_CR2 *(unsigned char*)0x5018
#define PF_ODR *(unsigned char*)0x5019
#define PF_IDR *(unsigned char*)0x501A
#define PF_DDR *(unsigned char*)0x501B
#define PF_CR1 *(unsigned char*)0x501C
#define PF_CR2 *(unsigned char*)0x501D
#ifdef STM8S105
#define PG_ODR *(unsigned char*)0x501E
#define PG_IDR *(unsigned char*)0x501F
#define PG_DDR *(unsigned char*)0x5020
#define PG_CR1 *(unsigned char*)0x5021
#define PG_CR2 *(unsigned char*)0x5022
#define PH_ODR *(unsigned char*)0x5023
#define PH_IDR *(unsigned char*)0x5024
#define PH_DDR *(unsigned char*)0x5025
#define PH_CR1 *(unsigned char*)0x5026
#define PH_CR2 *(unsigned char*)0x5027
#define PI_ODR *(unsigned char*)0x5028
#define PI_IDR *(unsigned char*)0x5029
#define PI_DDR *(unsigned char*)0x502A
#define PI_CR1 *(unsigned char*)0x502B
#define PI_CR2 *(unsigned char*)0x502C
#endif // STM8S105
/* GPIO bits */
#define GPIO_PIN0 (1 << 0)
#define GPIO_PIN1 (1 << 1)
#define GPIO_PIN2 (1 << 2)
#define GPIO_PIN3 (1 << 3)
#define GPIO_PIN4 (1 << 4)
#define GPIO_PIN5 (1 << 5)
#define GPIO_PIN6 (1 << 6)
#define GPIO_PIN7 (1 << 7)
/* -------------------- FLASH/EEPROM -------------------- */
#define FLASH_CR1 *(unsigned char*)0x505A
#define FLASH_CR2 *(unsigned char*)0x505B
#define FLASH_NCR2 *(unsigned char*)0x505C
#define FLASH_FPR *(unsigned char*)0x505D
#define FLASH_NFPR *(unsigned char*)0x505E
#define FLASH_IAPSR *(unsigned char*)0x505F
#define FLASH_PUKR *(unsigned char*)0x5062 // progmem unprotection
#define FLASH_DUKR *(unsigned char*)0x5064 // EEPROM unprotection
#define EEPROM_KEY1 0xAE // keys to manage EEPROM's write access
#define EEPROM_KEY2 0x56
#define EEPROM_START_ADDR (unsigned char*)0x4000
/* ------------------- interrupts ------------------- */
#define EXTI_CR1 *(unsigned char*)0x50A0
#define EXTI_CR2 *(unsigned char*)0x50A1
#define INTERRUPT_HANDLER(fn, num) void fn() __interrupt(num)
#define INTERRUPT_DEFINITION(fn, num) extern void fn() __interrupt(num)
// Reset status register
#define RST_SR *(unsigned char*)0x50B3
/* ------------------- CLOCK ------------------- */
#define CLK_ICKR *(unsigned char*)0x50C0
#define CLK_ECKR *(unsigned char*)0x50C1
#define CLK_CMSR *(unsigned char*)0x50C3
#define CLK_SWR *(unsigned char*)0x50C4
#define CLK_SWCR *(unsigned char*)0x50C5
#define CLK_CKDIVR *(unsigned char*)0x50C6
#define CLK_SPCKENR1 *(unsigned char*)0x50C7
#define CLK_CSSR *(unsigned char*)0x50C8
#define CLK_CCOR *(unsigned char*)0x50C9
#define CLK_PCKENR2 *(unsigned char*)0x50CA
#define CLK_HSITRIMR *(unsigned char*)0x50CC
#define CLK_SWIMCCR *(unsigned char*)0x50CD
/* ------------------- Watchdog ------------------ */
#define WWDG_CR *(unsigned char*)0x50D1
#define WWDG_WR *(unsigned char*)0x50D2
#define IWDG_KR *(unsigned char*)0x50E0
#define IWDG_PR *(unsigned char*)0x50E1
#define IWDG_RLR *(unsigned char*)0x50E2
// enable Watchdog
#define KEY_ENABLE (0xCC)
// refresh Watchdog from IWDG_RLR
#define KEY_REFRESH (0xAA)
// modify IWDG_PR and IWDG_RLR
#define KEY_ACCESS (0x55)
/* ------------------- AWU, BEEP ------------------- */
#define AWU_CSR1 *(unsigned char*)0x50F0
#define AWU_APR *(unsigned char*)0x50F1
#define AWU_TBR *(unsigned char*)0x50F2
#define BEEP_CSR *(unsigned char*)0x50F3
/* ------------------- SPI ------------------- */
#define SPI_CR1 *(unsigned char*)0x5200
#define SPI_CR2 *(unsigned char*)0x5201
#define SPI_ICR *(unsigned char*)0x5202
#define SPI_SR *(unsigned char*)0x5203
#define SPI_DR *(unsigned char*)0x5204
#define SPI_CRCPR *(unsigned char*)0x5205
#define SPI_RXCRCR *(unsigned char*)0x5206
#define SPI_TXCRCR *(unsigned char*)0x5207
// SPI_CR1 (page 271): | LSBFIRST | SPE | BR[2:0] | MSTR | CPOL | CPHA |
#define SPI_CR1_LSBFIRST (1<<7)
#define SPI_CR1_SPE (1<<6)
#define SPI_CR1_BRMASK (0x38)
#define SPI_CR1_MSTR (1<<2)
#define SPI_CR1_CPOL (1<<1)
#define SPI_CR1_CPHA (1)
// SPI_CR2 (page 272): | BDM | BDOE | CRCEN | CRCNEXT | - | RXONLY | SSM | SSI |
#define SPI_CR2_BDM (1<<7)
#define SPI_CR2_BDOE (1<<6)
#define SPI_CR2_CRCEN (1<<5)
#define SPI_CR2_CRCNEXT (1<<4)
#define SPI_CR2_RXONLY (1<<2)
#define SPI_CR2_SSM (1<<1)
#define SPI_CR2_SSI (1)
// SPI_ICR (page 273): | TXIE | RXIE | ERRIE | WKIE | - | - | - | - |
#define SPI_ICR_TXIE (1<<7)
#define SPI_ICR_RXIE (1<<6)
#define SPI_ICR_ERRIE (1<<5)
#define SPI_ICR_WKIE (1<<4)
// SPI_SR (page 274): | BSY | OVR | MODF | CRCERR | WKUP | - | TXE | RXNE |
#define SPI_SR_BSY (1<<7)
#define SPI_SR_OVR (1<<6)
#define SPI_SR_MODF (1<<5)
#define SPI_SR_CRCERR (1<<4)
#define SPI_SR_WKUP (1<<3)
#define SPI_SR_TXE (1<<1)
#define SPI_SR_RXNE (1)
/* ------------------- I2C ------------------- */
#define I2C_CR1 *(unsigned char*)0x5210
#define I2C_CR2 *(unsigned char*)0x5211
#define I2C_FREQR *(unsigned char*)0x5212
#define I2C_OARL *(unsigned char*)0x5213
#define I2C_OARH *(unsigned char*)0x5214
#define I2C_DR *(unsigned char*)0x5216
#define I2C_SR1 *(unsigned char*)0x5217
#define I2C_SR2 *(unsigned char*)0x5218
#define I2C_SR3 *(unsigned char*)0x5219
#define I2C_ITR *(unsigned char*)0x521A
#define I2C_CCRL *(unsigned char*)0x521B
#define I2C_CCRH *(unsigned char*)0x521C
#define I2C_TRISER *(unsigned char*)0x521D
#define I2C_PECR *(unsigned char*)0x521E
/* ------------------- UART ------------------- */
#if defined STM8S003 || defined STM8S103
#define UART1_SR *(unsigned char*)0x5230
#define UART1_DR *(unsigned char*)0x5231
#define UART1_BRR1 *(unsigned char*)0x5232
#define UART1_BRR2 *(unsigned char*)0x5233
#define UART1_CR1 *(unsigned char*)0x5234
#define UART1_CR2 *(unsigned char*)0x5235
#define UART1_CR3 *(unsigned char*)0x5236
#define UART1_CR4 *(unsigned char*)0x5237
#define UART1_CR5 *(unsigned char*)0x5238
#define UART1_GTR *(unsigned char*)0x5239
#define UART1_PSCR *(unsigned char*)0x523A
#endif // STM8S003
#ifdef STM8S105
#define UART2_SR *(unsigned char*)0x5240
#define UART2_DR *(unsigned char*)0x5241
#define UART2_BRR1 *(unsigned char*)0x5242
#define UART2_BRR2 *(unsigned char*)0x5243
#define UART2_CR1 *(unsigned char*)0x5244
#define UART2_CR2 *(unsigned char*)0x5245
#define UART2_CR3 *(unsigned char*)0x5246
#define UART2_CR4 *(unsigned char*)0x5247
#define UART2_CR5 *(unsigned char*)0x5248
#define UART2_CR6 *(unsigned char*)0x5249
#define UART2_GTR *(unsigned char*)0x524A
#define UART2_PSCR *(unsigned char*)0x524B
#endif // STM8S105
/* UART_CR1 bits */
#define UART_CR1_R8 (1 << 7)
#define UART_CR1_T8 (1 << 6)
#define UART_CR1_UARTD (1 << 5)
#define UART_CR1_M (1 << 4)
#define UART_CR1_WAKE (1 << 3)
#define UART_CR1_PCEN (1 << 2)
#define UART_CR1_PS (1 << 1)
#define UART_CR1_PIEN (1 << 0)
/* UART_CR2 bits */
#define UART_CR2_TIEN (1 << 7)
#define UART_CR2_TCIEN (1 << 6)
#define UART_CR2_RIEN (1 << 5)
#define UART_CR2_ILIEN (1 << 4)
#define UART_CR2_TEN (1 << 3)
#define UART_CR2_REN (1 << 2)
#define UART_CR2_RWU (1 << 1)
#define UART_CR2_SBK (1 << 0)
/* USART_CR3 bits */
#define UART_CR3_LINEN (1 << 6)
#define UART_CR3_STOP2 (1 << 5)
#define UART_CR3_STOP1 (1 << 4)
#define UART_CR3_CLKEN (1 << 3)
#define UART_CR3_CPOL (1 << 2)
#define UART_CR3_CPHA (1 << 1)
#define UART_CR3_LBCL (1 << 0)
/* UART_SR bits */
#define UART_SR_TXE (1 << 7)
#define UART_SR_TC (1 << 6)
#define UART_SR_RXNE (1 << 5)
#define UART_SR_IDLE (1 << 4)
#define UART_SR_OR (1 << 3)
#define UART_SR_NF (1 << 2)
#define UART_SR_FE (1 << 1)
#define UART_SR_PE (1 << 0)
/* ------------------- TIMERS ------------------- */
/* TIM1 */
#define TIM1_CR1 *(unsigned char*)0x5250
#define TIM1_CR2 *(unsigned char*)0x5251
#define TIM1_SMCR *(unsigned char*)0x5252
#define TIM1_ETR *(unsigned char*)0x5253
#define TIM1_IER *(unsigned char*)0x5254
#define TIM1_SR1 *(unsigned char*)0x5255
#define TIM1_SR2 *(unsigned char*)0x5256
#define TIM1_EGR *(unsigned char*)0x5257
#define TIM1_CCMR1 *(unsigned char*)0x5258
#define TIM1_CCMR2 *(unsigned char*)0x5259
#define TIM1_CCMR3 *(unsigned char*)0x525A
#define TIM1_CCMR4 *(unsigned char*)0x525B
#define TIM1_CCER1 *(unsigned char*)0x525C
#define TIM1_CCER2 *(unsigned char*)0x525D
#define TIM1_CNTRH *(unsigned char*)0x525E
#define TIM1_CNTRL *(unsigned char*)0x525F
#define TIM1_PSCRH *(unsigned char*)0x5260
#define TIM1_PSCRL *(unsigned char*)0x5261
#define TIM1_ARRH *(unsigned char*)0x5262
#define TIM1_ARRL *(unsigned char*)0x5263
#define TIM1_RCR *(unsigned char*)0x5264
#define TIM1_CCR1H *(unsigned char*)0x5265
#define TIM1_CCR1L *(unsigned char*)0x5266
#define TIM1_CCR2H *(unsigned char*)0x5267
#define TIM1_CCR2L *(unsigned char*)0x5268
#define TIM1_CCR3H *(unsigned char*)0x5269
#define TIM1_CCR3L *(unsigned char*)0x526A
#define TIM1_CCR4H *(unsigned char*)0x526B
#define TIM1_CCR4L *(unsigned char*)0x526C
#define TIM1_BKR *(unsigned char*)0x526D
#define TIM1_DTR *(unsigned char*)0x526E
#define TIM1_OISR *(unsigned char*)0x526F
/* TIM_IER bits */
#define TIM_IER_BIE (1 << 7)
#define TIM_IER_TIE (1 << 6)
#define TIM_IER_COMIE (1 << 5)
#define TIM_IER_CC4IE (1 << 4)
#define TIM_IER_CC3IE (1 << 3)
#define TIM_IER_CC2IE (1 << 2)
#define TIM_IER_CC1IE (1 << 1)
#define TIM_IER_UIE (1 << 0)
/* TIM_CR1 bits */
#define TIM_CR1_APRE (1 << 7)
#define TIM_CR1_CMSH (1 << 6)
#define TIM_CR1_CMSL (1 << 5)
#define TIM_CR1_DIR (1 << 4)
#define TIM_CR1_OPM (1 << 3)
#define TIM_CR1_URS (1 << 2)
#define TIM_CR1_UDIS (1 << 1)
#define TIM_CR1_CEN (1 << 0)
/* TIM_SR1 bits */
#define TIM_SR1_BIF (1 << 7)
#define TIM_SR1_TIF (1 << 6)
#define TIM_SR1_COMIF (1 << 5)
#define TIM_SR1_CC4IF (1 << 4)
#define TIM_SR1_CC3IF (1 << 3)
#define TIM_SR1_CC2IF (1 << 2)
#define TIM_SR1_CC1IF (1 << 1)
#define TIM_SR1_UIF (1 << 0)
/* TIM_EGR bits */
#define TIM_EGR_BG (1 << 7)
#define TIM_EGR_TG (1 << 6)
#define TIM_EGR_COMG (1 << 5)
#define TIM_EGR_CC4G (1 << 4)
#define TIM_EGR_CC3G (1 << 3)
#define TIM_EGR_CC2G (1 << 2)
#define TIM_EGR_CC1G (1 << 1)
#define TIM_EGR_UG (1 << 0)
/* TIM2 */
#define TIM2_CR1 *(unsigned char*)0x5300
#if defined STM8S105 || defined STM8S103
#define TIM2_IER *(unsigned char*)0x5301
#define TIM2_SR1 *(unsigned char*)0x5302
#define TIM2_SR2 *(unsigned char*)0x5303
#define TIM2_EGR *(unsigned char*)0x5304
#define TIM2_CCMR1 *(unsigned char*)0x5305
#define TIM2_CCMR2 *(unsigned char*)0x5306
#define TIM2_CCMR3 *(unsigned char*)0x5307
#define TIM2_CCER1 *(unsigned char*)0x5308
#define TIM2_CCER2 *(unsigned char*)0x5309
#define TIM2_CNTRH *(unsigned char*)0x530A
#define TIM2_CNTRL *(unsigned char*)0x530B
#define TIM2_PSCR *(unsigned char*)0x530C
#define TIM2_ARRH *(unsigned char*)0x530D
#define TIM2_ARRL *(unsigned char*)0x530E
#define TIM2_CCR1H *(unsigned char*)0x530F
#define TIM2_CCR1L *(unsigned char*)0x5310
#define TIM2_CCR2H *(unsigned char*)0x5311
#define TIM2_CCR2L *(unsigned char*)0x5312
#define TIM2_CCR3H *(unsigned char*)0x5313
#define TIM2_CCR3L *(unsigned char*)0x5314
#elif defined STM8S003
#define TIM2_IER *(unsigned char*)0x5303
#define TIM2_SR1 *(unsigned char*)0x5304
#define TIM2_SR2 *(unsigned char*)0x5305
#define TIM2_EGR *(unsigned char*)0x5306
#define TIM2_CCMR1 *(unsigned char*)0x5307
#define TIM2_CCMR2 *(unsigned char*)0x5308
#define TIM2_CCMR3 *(unsigned char*)0x5309
#define TIM2_CCER1 *(unsigned char*)0x530A
#define TIM2_CCER2 *(unsigned char*)0x530B
#define TIM2_CNTRH *(unsigned char*)0x530C
#define TIM2_CNTRL *(unsigned char*)0x530D
#define TIM2_PSCR *(unsigned char*)0x530E
#define TIM2_ARRH *(unsigned char*)0x530F
#define TIM2_ARRL *(unsigned char*)0x5310
#define TIM2_CCR1H *(unsigned char*)0x5311
#define TIM2_CCR1L *(unsigned char*)0x5312
#define TIM2_CCR2H *(unsigned char*)0x5313
#define TIM2_CCR2L *(unsigned char*)0x5314
#define TIM2_CCR3H *(unsigned char*)0x5315
#define TIM2_CCR3L *(unsigned char*)0x5316
#endif
/* TIM3 */
#if defined STM8S105 || defined STM8S103
#define TIM3_CR1 *(unsigned char*)0x5320
#define TIM3_IER *(unsigned char*)0x5321
#define TIM3_SR1 *(unsigned char*)0x5322
#define TIM3_SR2 *(unsigned char*)0x5323
#define TIM3_EGR *(unsigned char*)0x5324
#define TIM3_CCMR1 *(unsigned char*)0x5325
#define TIM3_CCMR2 *(unsigned char*)0x5326
#define TIM3_CCER1 *(unsigned char*)0x5327
#define TIM3_CNTRH *(unsigned char*)0x5328
#define TIM3_CNTRL *(unsigned char*)0x5329
#define TIM3_PSCR *(unsigned char*)0x532A
#define TIM3_ARRH *(unsigned char*)0x532B
#define TIM3_ARRL *(unsigned char*)0x532C
#define TIM3_CCR1H *(unsigned char*)0x532D
#define TIM3_CCR1L *(unsigned char*)0x532E
#define TIM3_CCR2H *(unsigned char*)0x532F
#define TIM3_CCR2L *(unsigned char*)0x5330
#endif
/* TIM4 */
#define TIM4_CR1 *(unsigned char*)0x5340
#if defined STM8S105 || defined STM8S103
#define TIM4_IER *(unsigned char*)0x5341
#define TIM4_SR *(unsigned char*)0x5342
#define TIM4_EGR *(unsigned char*)0x5343
#define TIM4_CNTR *(unsigned char*)0x5344
#define TIM4_PSCR *(unsigned char*)0x5345
#define TIM4_ARR *(unsigned char*)0x5346
#elif defined STM8S003
#define TIM4_IER *(unsigned char*)0x5343
#define TIM4_SR *(unsigned char*)0x5344
#define TIM4_EGR *(unsigned char*)0x5345
#define TIM4_CNTR *(unsigned char*)0x5346
#define TIM4_PSCR *(unsigned char*)0x5347
#define TIM4_ARR *(unsigned char*)0x5348
#endif
/* ------------------- ADC ------------------- */
#define ADC_DB0RH *(unsigned char*)0x53E0
#define ADC_DB0RL *(unsigned char*)0x53E1
#define ADC_DB1RH *(unsigned char*)0x53E2
#define ADC_DB1RL *(unsigned char*)0x53E3
#define ADC_DB2RH *(unsigned char*)0x53E4
#define ADC_DB2RL *(unsigned char*)0x53E5
#define ADC_DB3RH *(unsigned char*)0x53E6
#define ADC_DB3RL *(unsigned char*)0x53E7
#define ADC_DB4RH *(unsigned char*)0x53E8
#define ADC_DB4RL *(unsigned char*)0x53E9
#define ADC_DB5RH *(unsigned char*)0x53EA
#define ADC_DB5RL *(unsigned char*)0x53EB
#define ADC_DB6RH *(unsigned char*)0x53EC
#define ADC_DB6RL *(unsigned char*)0x53ED
#define ADC_DB7RH *(unsigned char*)0x53EE
#define ADC_DB7RL *(unsigned char*)0x53EF
#define ADC_DB8RH *(unsigned char*)0x53F0
#define ADC_DB8RL *(unsigned char*)0x53F1
#define ADC_DB9RH *(unsigned char*)0x53F2
#define ADC_DB9RL *(unsigned char*)0x53F3
#define ADC_CSR *(unsigned char*)0x5400
#define ADC_CR1 *(unsigned char*)0x5401
#define ADC_CR2 *(unsigned char*)0x5402
#define ADC_CR3 *(unsigned char*)0x5403
#define ADC_DRH *(unsigned char*)0x5404
#define ADC_DRL *(unsigned char*)0x5405
#define ADC_TDRH *(unsigned char*)0x5406
#define ADC_TDRL *(unsigned char*)0x5407
#define ADC_HTRH *(unsigned char*)0x5408
#define ADC_HTRL *(unsigned char*)0x5409
#define ADC_LTRH *(unsigned char*)0x540A
#define ADC_LTRL *(unsigned char*)0x540B
#define ADC_AWSRH *(unsigned char*)0x540C
#define ADC_AWSRL *(unsigned char*)0x540D
#define ADC_AWCRH *(unsigned char*)0x540E
#define ADC_AWCRL *(unsigned char*)0x540F
/* ------------------- swim control ------------------- */
#define CFG_GCR *(unsigned char*)0x7F60
#define SWIM_CSR *(unsigned char*)0x7F80
/* ------------------- ITC ------------------- */
#define ITC_SPR1 *(unsigned char*)0x7F70
#define ITC_SPR2 *(unsigned char*)0x7F71
#define ITC_SPR3 *(unsigned char*)0x7F72
#define ITC_SPR4 *(unsigned char*)0x7F73
#define ITC_SPR5 *(unsigned char*)0x7F74
#define ITC_SPR6 *(unsigned char*)0x7F75
#define ITC_SPR7 *(unsigned char*)0x7F76
#define ITC_SPR8 *(unsigned char*)0x7F77
/* -------------------- UNIQUE ID -------------------- */
#if defined STM8S105 || defined STM8S103 // maybe some other MCU have this too???
#define U_ID00 (unsigned char*)0x48CD
#define U_ID01 (unsigned char*)0x48CE
#define U_ID02 (unsigned char*)0x48CF
#define U_ID03 (unsigned char*)0x48D0
#define U_ID04 (unsigned char*)0x48D1
#define U_ID05 (unsigned char*)0x48D2
#define U_ID06 (unsigned char*)0x48D3
#define U_ID07 (unsigned char*)0x48D4
#define U_ID08 (unsigned char*)0x48D5
#define U_ID09 (unsigned char*)0x48D6
#define U_ID10 (unsigned char*)0x48D7
#define U_ID11 (unsigned char*)0x48D8
#endif // defined STM8S105 || defined STM8S103
// CCR REGISTER: bits 3&5 should be 1 if you wanna change EXTI_CRx
#define CCR *(unsigned char*)0x7F0A
/* -------------------- OPTION BYTES -------------------- */
#if defined STM8S105
// readout protection
#define OPT0 *(unsigned char*)0x4800
// user boot code
#define OPT1 *(unsigned char*)0x4801
#define NOPT1 *(unsigned char*)0x4802
// alternate functions remapping
// | AFR7 | ... | AFR0 |
// AFR7 - PD4 = BEEP; AFR6 - PB4/PB5 = I2C; AFR5 - PB0..3 - TIM1
// AFR4 - PD7 = TIM1_CH4; AFR3 - PD0 = TIM1_BKIN
// AFR2 - PD0 = CLK_CCO; AFR1 - PA3 = TIM3_CH1, PD2 = TIM2_CH3
// AFR0 - PD3 = ADC_ETR
#define OPT2 *(unsigned char*)0x4803
#define NOPT2 *(unsigned char*)0x4804
// trim, watchdog
#define OPT3 *(unsigned char*)0x4805
#define NOPT3 *(unsigned char*)0x4806
// extclc, awu
#define OPT4 *(unsigned char*)0x4807
#define NOPT4 *(unsigned char*)0x4808
// HSE stab time
#define OPT5 *(unsigned char*)0x4809
#define NOPT5 *(unsigned char*)0x480a
// none
#define OPT6 *(unsigned char*)0x480b
#define NOPT6 *(unsigned char*)0x480c
// none
#define OPT7 *(unsigned char*)0x480d
#define NOPT7 *(unsigned char*)0x480e
// bootloader opt byte
#define OPTBL *(unsigned char*)0x487e
#define NOPTBL *(unsigned char*)0x487f
#endif
#endif // __STM8L_H__
// #define *(unsigned char*)0x