├── CAD
└── images
│ └── Feeder_End_Radius.PNG
├── Datasheets
├── Detector_Switch.pdf
├── K20P64M50SF0RM.pdf
├── LED_orange.pdf
├── NXP_MK20DX128VFT5.pdf
├── Onsemi_tape.PDF
├── TC1262_VoltageReg.pdf
├── Taster_TL3360-1138484.pdf
├── alu_schiene4020.jpg
├── dcpower_jack.pdf
├── distanzbolzen_smt_15mm.pdf
├── drv8835_hbridge.pdf
├── encoder-ee_sx1350.pdf
├── feedingfrenzy_schematic.png
├── gg_gear_30.dxf
├── k22_datasheet.pdf
├── kemet paper tapes.pdf
├── n20_gearmotor.jpg
├── onsemi_tapereel.PDF
├── tape_distances.pdf
├── tinyK20 Schematics.pdf
├── tinyk22_circuit.pdf
├── vishay_tapereel.pdf
└── vishay_tapesizes.pdf
├── Documentation
├── 0_Abgabedokument
│ └── Abgabedokument_PAIND_S-Huber.pdf
├── 1_Projektmanagement
│ ├── Arbeitsjournal.pdf
│ ├── Aufgabenstellung-PAIND-E-FS18 PnP Simon Huber.pdf
│ ├── Kostenzusammenstellung.xlsx
│ ├── Projektmanagement.xlsx
│ └── Risikomanagement.xlsx
├── 2_Dokumente
│ ├── Bedienungsanleitung.pdf
│ ├── Montageanleitung.pdf
│ ├── Schema_Feeder.pdf
│ └── Schema_Master.pdf
├── 3_Datenblätter
│ ├── 10_Distanzbolzen_15mm.pdf
│ ├── 1_Vishay_Tape_Size.pdf
│ ├── 2_Kemet_Tape_Size.pdf
│ ├── 3_Polulo_N20_Gearmotor.pdf
│ ├── 4_TI_H-Bridge_DRV8835.pdf
│ ├── 5_Omron_EESX1350.pdf
│ ├── 6_NXP_MK20DX128VFT5.pdf
│ ├── 7_LED-Orange.pdf
│ ├── 8_LDO_TC1262.pdf
│ └── 9_Detector_Switch.pdf
├── 4_3D-Daten
│ ├── 0_Common
│ │ ├── Fine
│ │ │ ├── SprocGear_30.stl
│ │ │ ├── SprocWorm_L.stl
│ │ │ ├── SprocWorm_R.stl
│ │ │ ├── TapeWorm_L.stl
│ │ │ └── TapeWorm_R.stl
│ │ └── Normal
│ │ │ ├── Sproc_Bot_Motor.stl
│ │ │ ├── Sproc_Top_Motor.stl
│ │ │ ├── Tape_Bot_Motor.stl
│ │ │ ├── Tape_Spacer.stl
│ │ │ └── Tape_Top_Motor.stl
│ ├── 1_8MM
│ │ ├── BackWall_8MM.stl
│ │ ├── FrontWall_8MM.stl
│ │ ├── TapeGear_10_8MM.stl
│ │ └── TapeGear_11_8MM.stl
│ ├── 2_12MM
│ │ ├── BackWall_12MM.stl
│ │ ├── FrontWall_12MM.stl
│ │ ├── TapeGear_10_12MM.stl
│ │ └── TapeGear_11_12MM.stl
│ ├── 3_16MM
│ │ ├── BackWall_16MM.stl
│ │ ├── Distance_16.stl
│ │ ├── FrontWall_16MM.stl
│ │ ├── TapeGear_10_16mm.stl
│ │ └── TapeGear_11_16mm.stl
│ ├── 4_24MM
│ │ ├── 24mm_Spacer_1.stl
│ │ ├── 24mm_Spacer_2.stl
│ │ ├── BackWall_24MM.stl
│ │ ├── Distance_24.stl
│ │ ├── FrontWall_24MM.stl
│ │ ├── TG_10_24mm.stl
│ │ └── TG_11_24mm.stl
│ ├── 5_Mastergehäuse
│ │ ├── MasterBox_Bottom.stl
│ │ └── MasterBox_Top.stl
│ ├── Fine settings.txt
│ └── Normal settings.txt
├── 5_CAD
│ ├── Assemblies
│ │ ├── 12 mm.zip
│ │ ├── 16mm.zip
│ │ ├── 24mm.zip
│ │ ├── 8 mm.zip
│ │ └── readme.txt
│ ├── DXF
│ │ ├── FeederBank_Board.dxf
│ │ ├── FeederBank_Wall.dxf
│ │ ├── PCB_Sketch_B.dxf
│ │ ├── PCB_Sketch_F.dxf
│ │ └── Sprocket_62.dxf
│ └── Onshape_Projectlink.txt
├── 6_PCB-Daten
│ ├── Altium
│ │ ├── Sprocket_V3.zip
│ │ └── readme.txt
│ ├── CAM_Files
│ │ └── Sprocket
│ │ │ ├── Master_V1.cam
│ │ │ ├── Seitenwand_V3.cam
│ │ │ ├── Sprocket_V2.cam
│ │ │ ├── Sprocket_V3.cam
│ │ │ └── readme.txt
│ └── KiCAD
│ │ ├── H-Bridge_Board_V1.zip
│ │ ├── Master_Board.zip
│ │ ├── Wall-B_V5.zip
│ │ ├── Wall_F_V2.zip
│ │ ├── Wall_F_V3.zip
│ │ ├── Wall_F_V4.zip
│ │ ├── Wall_F_V5.zip
│ │ ├── enc_board_v0.zip
│ │ ├── enc_board_v1.zip
│ │ ├── enc_board_v2.zip
│ │ ├── enc_board_v3.zip
│ │ └── readme.txt
├── 7_Sonstiges
│ └── Sprocket_pyScript
│ │ ├── dxf_templates_b2.py
│ │ ├── dxf_templates_b2.pyc
│ │ ├── readme.txt
│ │ └── tapegear.py
└── 8_KDS
│ └── tinyk20_PNP_V1.zip
├── KiCad
├── 0_Enc_Board
│ ├── .gitignore
│ ├── DAC_Sumo_Gerber
│ │ ├── SumoBot-B.Cu.gbl
│ │ ├── SumoBot-B.Mask.gbs
│ │ ├── SumoBot-B.SilkS.gbo
│ │ ├── SumoBot-Edge.Cuts.gm1
│ │ ├── SumoBot-F.Cu.gtl
│ │ ├── SumoBot-F.Mask.gts
│ │ ├── SumoBot-F.SilkS.gto
│ │ ├── SumoBot-NPTH.drl
│ │ ├── SumoBot-bottom.pos
│ │ ├── SumoBot-top.pos
│ │ └── SumoBot.drl
│ ├── Enc_Board.kicad_pcb
│ ├── Enc_Board.pro
│ ├── Enc_Boardsch
│ ├── Enc_Boardsch.pro
│ ├── Enc_Output
│ │ ├── DruckAuftrag_V1.xps
│ │ ├── Enc_Board-B.Cu.gbl
│ │ ├── Enc_Board-Edge.Cuts.gm1
│ │ ├── Enc_Board-F.Cu.gtl
│ │ ├── Enc_Board.drl
│ │ └── Enc_Board_V1.cam
│ ├── Enc_PCB.txt
│ ├── Footprints
│ │ ├── Buttons_Switches.pretty
│ │ │ └── SW_SPDT_PCM12.kicad_mod
│ │ ├── Current_Sources.pretty
│ │ │ └── SOT343_BCR402W.kicad_mod
│ │ ├── Custom_Mounting_Holes.pretty
│ │ │ ├── MountingHole_2.5mm.kicad_mod
│ │ │ └── MountingHole_2.7mm_M2.5.kicad_mod
│ │ ├── Inductors.pretty
│ │ │ └── SRP7028A_Inductor_Bourns.kicad_mod
│ │ └── Sensors.pretty
│ │ │ ├── QRE1113GR.kicad_mod
│ │ │ └── TSSP77038.kicad_mod
│ ├── Libraries
│ │ ├── .gitignore
│ │ ├── MC_Board_Headers.dcm
│ │ ├── driver.dcm
│ │ ├── ic.dcm
│ │ ├── lipo.dcm
│ │ ├── logic.dcm
│ │ ├── sensors.dcm
│ │ ├── sources.dcm
│ │ ├── transistor.dcm
│ │ └── transistors.dcm
│ ├── SumoBot.pro
│ ├── SumoBot.sch
│ └── fp-lib-table
├── 1_H-Board
│ ├── H-Bridge_Proto.kicad_pcb
│ ├── H-Bridge_Proto.kicad_pcb-bak
│ ├── H-Bridge_Proto.net
│ ├── H-Bridge_Proto.pro
│ ├── H-Bridge_Proto.sch
│ └── Output
│ │ ├── H-Bridge_Proto-B.Cu.gbl
│ │ ├── H-Bridge_Proto-Edge.Cuts.gm1
│ │ ├── H-Bridge_Proto-F.Cu.gtl
│ │ ├── H-Bridge_Proto.drl
│ │ └── H-Proto.cam
├── 2_Sprockets
│ ├── Sprocket_Enc-B.Cu.gbl
│ ├── Sprocket_Enc-Edge.Cuts.gm1
│ ├── Sprocket_Enc-F.Cu.gtl
│ ├── Sprocket_Enc.kicad_pcb
│ ├── Sprocket_Enc.kicad_pcb-bak
│ ├── Sprocket_Enc.pro
│ └── Sprocket_Enc.sch
├── 3_Encoder
│ └── enc_list.net
├── 4_Wall
│ ├── Wall_F_V3_Fidi.zip
│ └── Wall_F_V4.zip
├── 5_Master
│ └── Master_Board.zip
└── z_MountNPTH_3.0mm.kicad_mod
└── Software
└── tinyk20_PNP_V1
└── tinyk20_PNP_V1
├── .cproject
├── .gitignore
├── .project
├── ProcessorExpert.pe
├── Project_Settings
├── Debugger
│ └── tinyk20_PNP_V1_Debug_Segger.launch
├── Linker_Files
│ └── ProcessorExpert.ld
└── Startup_Code
│ └── startup.c
├── Sources
├── Application.c
├── Application.h
├── Events.c
├── Events.h
├── buttons.c
├── buttons.h
├── comm.c
├── comm.h
├── encoder.c
├── encoder.h
├── main.c
├── motor.c
├── motor.h
├── platform.c
└── platform.h
└── Static_Code
├── IO_Map
└── MK20D5.h
└── PDD
├── ADC_PDD.h
├── CMP_PDD.h
├── CMT_PDD.h
├── CRC_PDD.h
├── DMAMUX_PDD.h
├── DMA_PDD.h
├── EWM_PDD.h
├── FMC_PDD.h
├── FTFL_PDD.h
├── FTM_PDD.h
├── GPIO_PDD.h
├── I2C_PDD.h
├── LPTMR_PDD.h
├── MCG_PDD.h
├── OSC_PDD.h
├── PDB_PDD.h
├── PDD_Types.h
├── PIT_PDD.h
├── PORT_PDD.h
├── RTC_PDD.h
├── SAI_PDD.h
├── SIM_PDD.h
├── SPI_PDD.h
├── SysTick_PDD.h
├── UART_PDD.h
├── USBDCD_PDD.h
├── USB_PDD.h
├── VREF_PDD.h
└── WDOG_PDD.h
/CAD/images/Feeder_End_Radius.PNG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Scavenger18/RepoPNP/e980bc18a5df81e3aeadb6f7054ebdd66c024168/CAD/images/Feeder_End_Radius.PNG
--------------------------------------------------------------------------------
/Datasheets/Detector_Switch.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Scavenger18/RepoPNP/e980bc18a5df81e3aeadb6f7054ebdd66c024168/Datasheets/Detector_Switch.pdf
--------------------------------------------------------------------------------
/Datasheets/K20P64M50SF0RM.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Scavenger18/RepoPNP/e980bc18a5df81e3aeadb6f7054ebdd66c024168/Datasheets/K20P64M50SF0RM.pdf
--------------------------------------------------------------------------------
/Datasheets/LED_orange.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Scavenger18/RepoPNP/e980bc18a5df81e3aeadb6f7054ebdd66c024168/Datasheets/LED_orange.pdf
--------------------------------------------------------------------------------
/Datasheets/NXP_MK20DX128VFT5.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Scavenger18/RepoPNP/e980bc18a5df81e3aeadb6f7054ebdd66c024168/Datasheets/NXP_MK20DX128VFT5.pdf
--------------------------------------------------------------------------------
/Datasheets/Onsemi_tape.PDF:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Scavenger18/RepoPNP/e980bc18a5df81e3aeadb6f7054ebdd66c024168/Datasheets/Onsemi_tape.PDF
--------------------------------------------------------------------------------
/Datasheets/TC1262_VoltageReg.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Scavenger18/RepoPNP/e980bc18a5df81e3aeadb6f7054ebdd66c024168/Datasheets/TC1262_VoltageReg.pdf
--------------------------------------------------------------------------------
/Datasheets/Taster_TL3360-1138484.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Scavenger18/RepoPNP/e980bc18a5df81e3aeadb6f7054ebdd66c024168/Datasheets/Taster_TL3360-1138484.pdf
--------------------------------------------------------------------------------
/Datasheets/alu_schiene4020.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Scavenger18/RepoPNP/e980bc18a5df81e3aeadb6f7054ebdd66c024168/Datasheets/alu_schiene4020.jpg
--------------------------------------------------------------------------------
/Datasheets/dcpower_jack.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Scavenger18/RepoPNP/e980bc18a5df81e3aeadb6f7054ebdd66c024168/Datasheets/dcpower_jack.pdf
--------------------------------------------------------------------------------
/Datasheets/distanzbolzen_smt_15mm.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Scavenger18/RepoPNP/e980bc18a5df81e3aeadb6f7054ebdd66c024168/Datasheets/distanzbolzen_smt_15mm.pdf
--------------------------------------------------------------------------------
/Datasheets/drv8835_hbridge.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Scavenger18/RepoPNP/e980bc18a5df81e3aeadb6f7054ebdd66c024168/Datasheets/drv8835_hbridge.pdf
--------------------------------------------------------------------------------
/Datasheets/encoder-ee_sx1350.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Scavenger18/RepoPNP/e980bc18a5df81e3aeadb6f7054ebdd66c024168/Datasheets/encoder-ee_sx1350.pdf
--------------------------------------------------------------------------------
/Datasheets/feedingfrenzy_schematic.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Scavenger18/RepoPNP/e980bc18a5df81e3aeadb6f7054ebdd66c024168/Datasheets/feedingfrenzy_schematic.png
--------------------------------------------------------------------------------
/Datasheets/k22_datasheet.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Scavenger18/RepoPNP/e980bc18a5df81e3aeadb6f7054ebdd66c024168/Datasheets/k22_datasheet.pdf
--------------------------------------------------------------------------------
/Datasheets/kemet paper tapes.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Scavenger18/RepoPNP/e980bc18a5df81e3aeadb6f7054ebdd66c024168/Datasheets/kemet paper tapes.pdf
--------------------------------------------------------------------------------
/Datasheets/n20_gearmotor.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Scavenger18/RepoPNP/e980bc18a5df81e3aeadb6f7054ebdd66c024168/Datasheets/n20_gearmotor.jpg
--------------------------------------------------------------------------------
/Datasheets/onsemi_tapereel.PDF:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Scavenger18/RepoPNP/e980bc18a5df81e3aeadb6f7054ebdd66c024168/Datasheets/onsemi_tapereel.PDF
--------------------------------------------------------------------------------
/Datasheets/tape_distances.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Scavenger18/RepoPNP/e980bc18a5df81e3aeadb6f7054ebdd66c024168/Datasheets/tape_distances.pdf
--------------------------------------------------------------------------------
/Datasheets/tinyK20 Schematics.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Scavenger18/RepoPNP/e980bc18a5df81e3aeadb6f7054ebdd66c024168/Datasheets/tinyK20 Schematics.pdf
--------------------------------------------------------------------------------
/Datasheets/tinyk22_circuit.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Scavenger18/RepoPNP/e980bc18a5df81e3aeadb6f7054ebdd66c024168/Datasheets/tinyk22_circuit.pdf
--------------------------------------------------------------------------------
/Datasheets/vishay_tapereel.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Scavenger18/RepoPNP/e980bc18a5df81e3aeadb6f7054ebdd66c024168/Datasheets/vishay_tapereel.pdf
--------------------------------------------------------------------------------
/Datasheets/vishay_tapesizes.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Scavenger18/RepoPNP/e980bc18a5df81e3aeadb6f7054ebdd66c024168/Datasheets/vishay_tapesizes.pdf
--------------------------------------------------------------------------------
/Documentation/0_Abgabedokument/Abgabedokument_PAIND_S-Huber.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Scavenger18/RepoPNP/e980bc18a5df81e3aeadb6f7054ebdd66c024168/Documentation/0_Abgabedokument/Abgabedokument_PAIND_S-Huber.pdf
--------------------------------------------------------------------------------
/Documentation/1_Projektmanagement/Arbeitsjournal.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Scavenger18/RepoPNP/e980bc18a5df81e3aeadb6f7054ebdd66c024168/Documentation/1_Projektmanagement/Arbeitsjournal.pdf
--------------------------------------------------------------------------------
/Documentation/1_Projektmanagement/Aufgabenstellung-PAIND-E-FS18 PnP Simon Huber.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Scavenger18/RepoPNP/e980bc18a5df81e3aeadb6f7054ebdd66c024168/Documentation/1_Projektmanagement/Aufgabenstellung-PAIND-E-FS18 PnP Simon Huber.pdf
--------------------------------------------------------------------------------
/Documentation/1_Projektmanagement/Kostenzusammenstellung.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Scavenger18/RepoPNP/e980bc18a5df81e3aeadb6f7054ebdd66c024168/Documentation/1_Projektmanagement/Kostenzusammenstellung.xlsx
--------------------------------------------------------------------------------
/Documentation/1_Projektmanagement/Projektmanagement.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Scavenger18/RepoPNP/e980bc18a5df81e3aeadb6f7054ebdd66c024168/Documentation/1_Projektmanagement/Projektmanagement.xlsx
--------------------------------------------------------------------------------
/Documentation/1_Projektmanagement/Risikomanagement.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Scavenger18/RepoPNP/e980bc18a5df81e3aeadb6f7054ebdd66c024168/Documentation/1_Projektmanagement/Risikomanagement.xlsx
--------------------------------------------------------------------------------
/Documentation/2_Dokumente/Bedienungsanleitung.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Scavenger18/RepoPNP/e980bc18a5df81e3aeadb6f7054ebdd66c024168/Documentation/2_Dokumente/Bedienungsanleitung.pdf
--------------------------------------------------------------------------------
/Documentation/2_Dokumente/Montageanleitung.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Scavenger18/RepoPNP/e980bc18a5df81e3aeadb6f7054ebdd66c024168/Documentation/2_Dokumente/Montageanleitung.pdf
--------------------------------------------------------------------------------
/Documentation/2_Dokumente/Schema_Feeder.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Scavenger18/RepoPNP/e980bc18a5df81e3aeadb6f7054ebdd66c024168/Documentation/2_Dokumente/Schema_Feeder.pdf
--------------------------------------------------------------------------------
/Documentation/2_Dokumente/Schema_Master.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Scavenger18/RepoPNP/e980bc18a5df81e3aeadb6f7054ebdd66c024168/Documentation/2_Dokumente/Schema_Master.pdf
--------------------------------------------------------------------------------
/Documentation/3_Datenblätter/10_Distanzbolzen_15mm.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Scavenger18/RepoPNP/e980bc18a5df81e3aeadb6f7054ebdd66c024168/Documentation/3_Datenblätter/10_Distanzbolzen_15mm.pdf
--------------------------------------------------------------------------------
/Documentation/3_Datenblätter/1_Vishay_Tape_Size.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Scavenger18/RepoPNP/e980bc18a5df81e3aeadb6f7054ebdd66c024168/Documentation/3_Datenblätter/1_Vishay_Tape_Size.pdf
--------------------------------------------------------------------------------
/Documentation/3_Datenblätter/2_Kemet_Tape_Size.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Scavenger18/RepoPNP/e980bc18a5df81e3aeadb6f7054ebdd66c024168/Documentation/3_Datenblätter/2_Kemet_Tape_Size.pdf
--------------------------------------------------------------------------------
/Documentation/3_Datenblätter/3_Polulo_N20_Gearmotor.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Scavenger18/RepoPNP/e980bc18a5df81e3aeadb6f7054ebdd66c024168/Documentation/3_Datenblätter/3_Polulo_N20_Gearmotor.pdf
--------------------------------------------------------------------------------
/Documentation/3_Datenblätter/4_TI_H-Bridge_DRV8835.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Scavenger18/RepoPNP/e980bc18a5df81e3aeadb6f7054ebdd66c024168/Documentation/3_Datenblätter/4_TI_H-Bridge_DRV8835.pdf
--------------------------------------------------------------------------------
/Documentation/3_Datenblätter/5_Omron_EESX1350.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Scavenger18/RepoPNP/e980bc18a5df81e3aeadb6f7054ebdd66c024168/Documentation/3_Datenblätter/5_Omron_EESX1350.pdf
--------------------------------------------------------------------------------
/Documentation/3_Datenblätter/6_NXP_MK20DX128VFT5.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Scavenger18/RepoPNP/e980bc18a5df81e3aeadb6f7054ebdd66c024168/Documentation/3_Datenblätter/6_NXP_MK20DX128VFT5.pdf
--------------------------------------------------------------------------------
/Documentation/3_Datenblätter/7_LED-Orange.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Scavenger18/RepoPNP/e980bc18a5df81e3aeadb6f7054ebdd66c024168/Documentation/3_Datenblätter/7_LED-Orange.pdf
--------------------------------------------------------------------------------
/Documentation/3_Datenblätter/8_LDO_TC1262.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Scavenger18/RepoPNP/e980bc18a5df81e3aeadb6f7054ebdd66c024168/Documentation/3_Datenblätter/8_LDO_TC1262.pdf
--------------------------------------------------------------------------------
/Documentation/3_Datenblätter/9_Detector_Switch.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Scavenger18/RepoPNP/e980bc18a5df81e3aeadb6f7054ebdd66c024168/Documentation/3_Datenblätter/9_Detector_Switch.pdf
--------------------------------------------------------------------------------
/Documentation/4_3D-Daten/0_Common/Fine/SprocGear_30.stl:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Scavenger18/RepoPNP/e980bc18a5df81e3aeadb6f7054ebdd66c024168/Documentation/4_3D-Daten/0_Common/Fine/SprocGear_30.stl
--------------------------------------------------------------------------------
/Documentation/4_3D-Daten/0_Common/Fine/SprocWorm_L.stl:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Scavenger18/RepoPNP/e980bc18a5df81e3aeadb6f7054ebdd66c024168/Documentation/4_3D-Daten/0_Common/Fine/SprocWorm_L.stl
--------------------------------------------------------------------------------
/Documentation/4_3D-Daten/0_Common/Fine/SprocWorm_R.stl:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Scavenger18/RepoPNP/e980bc18a5df81e3aeadb6f7054ebdd66c024168/Documentation/4_3D-Daten/0_Common/Fine/SprocWorm_R.stl
--------------------------------------------------------------------------------
/Documentation/4_3D-Daten/0_Common/Fine/TapeWorm_L.stl:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Scavenger18/RepoPNP/e980bc18a5df81e3aeadb6f7054ebdd66c024168/Documentation/4_3D-Daten/0_Common/Fine/TapeWorm_L.stl
--------------------------------------------------------------------------------
/Documentation/4_3D-Daten/0_Common/Fine/TapeWorm_R.stl:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Scavenger18/RepoPNP/e980bc18a5df81e3aeadb6f7054ebdd66c024168/Documentation/4_3D-Daten/0_Common/Fine/TapeWorm_R.stl
--------------------------------------------------------------------------------
/Documentation/4_3D-Daten/0_Common/Normal/Sproc_Bot_Motor.stl:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Scavenger18/RepoPNP/e980bc18a5df81e3aeadb6f7054ebdd66c024168/Documentation/4_3D-Daten/0_Common/Normal/Sproc_Bot_Motor.stl
--------------------------------------------------------------------------------
/Documentation/4_3D-Daten/0_Common/Normal/Sproc_Top_Motor.stl:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Scavenger18/RepoPNP/e980bc18a5df81e3aeadb6f7054ebdd66c024168/Documentation/4_3D-Daten/0_Common/Normal/Sproc_Top_Motor.stl
--------------------------------------------------------------------------------
/Documentation/4_3D-Daten/0_Common/Normal/Tape_Bot_Motor.stl:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Scavenger18/RepoPNP/e980bc18a5df81e3aeadb6f7054ebdd66c024168/Documentation/4_3D-Daten/0_Common/Normal/Tape_Bot_Motor.stl
--------------------------------------------------------------------------------
/Documentation/4_3D-Daten/0_Common/Normal/Tape_Spacer.stl:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Scavenger18/RepoPNP/e980bc18a5df81e3aeadb6f7054ebdd66c024168/Documentation/4_3D-Daten/0_Common/Normal/Tape_Spacer.stl
--------------------------------------------------------------------------------
/Documentation/4_3D-Daten/0_Common/Normal/Tape_Top_Motor.stl:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Scavenger18/RepoPNP/e980bc18a5df81e3aeadb6f7054ebdd66c024168/Documentation/4_3D-Daten/0_Common/Normal/Tape_Top_Motor.stl
--------------------------------------------------------------------------------
/Documentation/4_3D-Daten/1_8MM/BackWall_8MM.stl:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Scavenger18/RepoPNP/e980bc18a5df81e3aeadb6f7054ebdd66c024168/Documentation/4_3D-Daten/1_8MM/BackWall_8MM.stl
--------------------------------------------------------------------------------
/Documentation/4_3D-Daten/1_8MM/FrontWall_8MM.stl:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Scavenger18/RepoPNP/e980bc18a5df81e3aeadb6f7054ebdd66c024168/Documentation/4_3D-Daten/1_8MM/FrontWall_8MM.stl
--------------------------------------------------------------------------------
/Documentation/4_3D-Daten/1_8MM/TapeGear_10_8MM.stl:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Scavenger18/RepoPNP/e980bc18a5df81e3aeadb6f7054ebdd66c024168/Documentation/4_3D-Daten/1_8MM/TapeGear_10_8MM.stl
--------------------------------------------------------------------------------
/Documentation/4_3D-Daten/1_8MM/TapeGear_11_8MM.stl:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Scavenger18/RepoPNP/e980bc18a5df81e3aeadb6f7054ebdd66c024168/Documentation/4_3D-Daten/1_8MM/TapeGear_11_8MM.stl
--------------------------------------------------------------------------------
/Documentation/4_3D-Daten/2_12MM/BackWall_12MM.stl:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Scavenger18/RepoPNP/e980bc18a5df81e3aeadb6f7054ebdd66c024168/Documentation/4_3D-Daten/2_12MM/BackWall_12MM.stl
--------------------------------------------------------------------------------
/Documentation/4_3D-Daten/2_12MM/FrontWall_12MM.stl:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Scavenger18/RepoPNP/e980bc18a5df81e3aeadb6f7054ebdd66c024168/Documentation/4_3D-Daten/2_12MM/FrontWall_12MM.stl
--------------------------------------------------------------------------------
/Documentation/4_3D-Daten/2_12MM/TapeGear_10_12MM.stl:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Scavenger18/RepoPNP/e980bc18a5df81e3aeadb6f7054ebdd66c024168/Documentation/4_3D-Daten/2_12MM/TapeGear_10_12MM.stl
--------------------------------------------------------------------------------
/Documentation/4_3D-Daten/2_12MM/TapeGear_11_12MM.stl:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Scavenger18/RepoPNP/e980bc18a5df81e3aeadb6f7054ebdd66c024168/Documentation/4_3D-Daten/2_12MM/TapeGear_11_12MM.stl
--------------------------------------------------------------------------------
/Documentation/4_3D-Daten/3_16MM/BackWall_16MM.stl:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Scavenger18/RepoPNP/e980bc18a5df81e3aeadb6f7054ebdd66c024168/Documentation/4_3D-Daten/3_16MM/BackWall_16MM.stl
--------------------------------------------------------------------------------
/Documentation/4_3D-Daten/3_16MM/Distance_16.stl:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Scavenger18/RepoPNP/e980bc18a5df81e3aeadb6f7054ebdd66c024168/Documentation/4_3D-Daten/3_16MM/Distance_16.stl
--------------------------------------------------------------------------------
/Documentation/4_3D-Daten/3_16MM/FrontWall_16MM.stl:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Scavenger18/RepoPNP/e980bc18a5df81e3aeadb6f7054ebdd66c024168/Documentation/4_3D-Daten/3_16MM/FrontWall_16MM.stl
--------------------------------------------------------------------------------
/Documentation/4_3D-Daten/3_16MM/TapeGear_10_16mm.stl:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Scavenger18/RepoPNP/e980bc18a5df81e3aeadb6f7054ebdd66c024168/Documentation/4_3D-Daten/3_16MM/TapeGear_10_16mm.stl
--------------------------------------------------------------------------------
/Documentation/4_3D-Daten/3_16MM/TapeGear_11_16mm.stl:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Scavenger18/RepoPNP/e980bc18a5df81e3aeadb6f7054ebdd66c024168/Documentation/4_3D-Daten/3_16MM/TapeGear_11_16mm.stl
--------------------------------------------------------------------------------
/Documentation/4_3D-Daten/4_24MM/24mm_Spacer_1.stl:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Scavenger18/RepoPNP/e980bc18a5df81e3aeadb6f7054ebdd66c024168/Documentation/4_3D-Daten/4_24MM/24mm_Spacer_1.stl
--------------------------------------------------------------------------------
/Documentation/4_3D-Daten/4_24MM/24mm_Spacer_2.stl:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Scavenger18/RepoPNP/e980bc18a5df81e3aeadb6f7054ebdd66c024168/Documentation/4_3D-Daten/4_24MM/24mm_Spacer_2.stl
--------------------------------------------------------------------------------
/Documentation/4_3D-Daten/4_24MM/BackWall_24MM.stl:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Scavenger18/RepoPNP/e980bc18a5df81e3aeadb6f7054ebdd66c024168/Documentation/4_3D-Daten/4_24MM/BackWall_24MM.stl
--------------------------------------------------------------------------------
/Documentation/4_3D-Daten/4_24MM/Distance_24.stl:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Scavenger18/RepoPNP/e980bc18a5df81e3aeadb6f7054ebdd66c024168/Documentation/4_3D-Daten/4_24MM/Distance_24.stl
--------------------------------------------------------------------------------
/Documentation/4_3D-Daten/4_24MM/FrontWall_24MM.stl:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Scavenger18/RepoPNP/e980bc18a5df81e3aeadb6f7054ebdd66c024168/Documentation/4_3D-Daten/4_24MM/FrontWall_24MM.stl
--------------------------------------------------------------------------------
/Documentation/4_3D-Daten/4_24MM/TG_10_24mm.stl:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Scavenger18/RepoPNP/e980bc18a5df81e3aeadb6f7054ebdd66c024168/Documentation/4_3D-Daten/4_24MM/TG_10_24mm.stl
--------------------------------------------------------------------------------
/Documentation/4_3D-Daten/4_24MM/TG_11_24mm.stl:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Scavenger18/RepoPNP/e980bc18a5df81e3aeadb6f7054ebdd66c024168/Documentation/4_3D-Daten/4_24MM/TG_11_24mm.stl
--------------------------------------------------------------------------------
/Documentation/4_3D-Daten/5_Mastergehäuse/MasterBox_Bottom.stl:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Scavenger18/RepoPNP/e980bc18a5df81e3aeadb6f7054ebdd66c024168/Documentation/4_3D-Daten/5_Mastergehäuse/MasterBox_Bottom.stl
--------------------------------------------------------------------------------
/Documentation/4_3D-Daten/5_Mastergehäuse/MasterBox_Top.stl:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Scavenger18/RepoPNP/e980bc18a5df81e3aeadb6f7054ebdd66c024168/Documentation/4_3D-Daten/5_Mastergehäuse/MasterBox_Top.stl
--------------------------------------------------------------------------------
/Documentation/4_3D-Daten/Fine settings.txt:
--------------------------------------------------------------------------------
1 |
2 | Fine:
3 | layer height: 0.1 mm
4 | shell thickness: 0.8 mm
5 | bottom/top thickness: 0.8 mm
6 | fill density: 75%
--------------------------------------------------------------------------------
/Documentation/4_3D-Daten/Normal settings.txt:
--------------------------------------------------------------------------------
1 |
2 | Normal:
3 | layer height: 0.1 mm
4 | shell thickness: 0.4 mm
5 | bottom/top thickness: 0.4 mm
6 | fill density: 20%
--------------------------------------------------------------------------------
/Documentation/5_CAD/Assemblies/12 mm.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Scavenger18/RepoPNP/e980bc18a5df81e3aeadb6f7054ebdd66c024168/Documentation/5_CAD/Assemblies/12 mm.zip
--------------------------------------------------------------------------------
/Documentation/5_CAD/Assemblies/16mm.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Scavenger18/RepoPNP/e980bc18a5df81e3aeadb6f7054ebdd66c024168/Documentation/5_CAD/Assemblies/16mm.zip
--------------------------------------------------------------------------------
/Documentation/5_CAD/Assemblies/24mm.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Scavenger18/RepoPNP/e980bc18a5df81e3aeadb6f7054ebdd66c024168/Documentation/5_CAD/Assemblies/24mm.zip
--------------------------------------------------------------------------------
/Documentation/5_CAD/Assemblies/8 mm.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Scavenger18/RepoPNP/e980bc18a5df81e3aeadb6f7054ebdd66c024168/Documentation/5_CAD/Assemblies/8 mm.zip
--------------------------------------------------------------------------------
/Documentation/5_CAD/Assemblies/readme.txt:
--------------------------------------------------------------------------------
1 | The assemblies include all files used to create the 3D CAD models of the feeders.
2 | These were exported directly from the assemblies in the onshape project.
3 | These include more pieces than need to be printed, such as screws and motor parts.
4 |
--------------------------------------------------------------------------------
/Documentation/5_CAD/Onshape_Projectlink.txt:
--------------------------------------------------------------------------------
1 | Das OnShape Projekt kann unter dem Namen PnP-Feeder PAIND vom Benutzer s_h039 gefunden werden.
2 |
3 | https://cad.onshape.com/documents/ed19ce3a0a41ba7e1ba1ae9e/w/841fa937de2a0d8fdfc5e5b4/e/0f40a22ce323581e1e362835
--------------------------------------------------------------------------------
/Documentation/6_PCB-Daten/Altium/Sprocket_V3.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Scavenger18/RepoPNP/e980bc18a5df81e3aeadb6f7054ebdd66c024168/Documentation/6_PCB-Daten/Altium/Sprocket_V3.zip
--------------------------------------------------------------------------------
/Documentation/6_PCB-Daten/Altium/readme.txt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Scavenger18/RepoPNP/e980bc18a5df81e3aeadb6f7054ebdd66c024168/Documentation/6_PCB-Daten/Altium/readme.txt
--------------------------------------------------------------------------------
/Documentation/6_PCB-Daten/CAM_Files/Sprocket/Master_V1.cam:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Scavenger18/RepoPNP/e980bc18a5df81e3aeadb6f7054ebdd66c024168/Documentation/6_PCB-Daten/CAM_Files/Sprocket/Master_V1.cam
--------------------------------------------------------------------------------
/Documentation/6_PCB-Daten/CAM_Files/Sprocket/Seitenwand_V3.cam:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Scavenger18/RepoPNP/e980bc18a5df81e3aeadb6f7054ebdd66c024168/Documentation/6_PCB-Daten/CAM_Files/Sprocket/Seitenwand_V3.cam
--------------------------------------------------------------------------------
/Documentation/6_PCB-Daten/CAM_Files/Sprocket/Sprocket_V2.cam:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Scavenger18/RepoPNP/e980bc18a5df81e3aeadb6f7054ebdd66c024168/Documentation/6_PCB-Daten/CAM_Files/Sprocket/Sprocket_V2.cam
--------------------------------------------------------------------------------
/Documentation/6_PCB-Daten/CAM_Files/Sprocket/Sprocket_V3.cam:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Scavenger18/RepoPNP/e980bc18a5df81e3aeadb6f7054ebdd66c024168/Documentation/6_PCB-Daten/CAM_Files/Sprocket/Sprocket_V3.cam
--------------------------------------------------------------------------------
/Documentation/6_PCB-Daten/CAM_Files/Sprocket/readme.txt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Scavenger18/RepoPNP/e980bc18a5df81e3aeadb6f7054ebdd66c024168/Documentation/6_PCB-Daten/CAM_Files/Sprocket/readme.txt
--------------------------------------------------------------------------------
/Documentation/6_PCB-Daten/KiCAD/H-Bridge_Board_V1.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Scavenger18/RepoPNP/e980bc18a5df81e3aeadb6f7054ebdd66c024168/Documentation/6_PCB-Daten/KiCAD/H-Bridge_Board_V1.zip
--------------------------------------------------------------------------------
/Documentation/6_PCB-Daten/KiCAD/Master_Board.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Scavenger18/RepoPNP/e980bc18a5df81e3aeadb6f7054ebdd66c024168/Documentation/6_PCB-Daten/KiCAD/Master_Board.zip
--------------------------------------------------------------------------------
/Documentation/6_PCB-Daten/KiCAD/Wall-B_V5.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Scavenger18/RepoPNP/e980bc18a5df81e3aeadb6f7054ebdd66c024168/Documentation/6_PCB-Daten/KiCAD/Wall-B_V5.zip
--------------------------------------------------------------------------------
/Documentation/6_PCB-Daten/KiCAD/Wall_F_V2.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Scavenger18/RepoPNP/e980bc18a5df81e3aeadb6f7054ebdd66c024168/Documentation/6_PCB-Daten/KiCAD/Wall_F_V2.zip
--------------------------------------------------------------------------------
/Documentation/6_PCB-Daten/KiCAD/Wall_F_V3.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Scavenger18/RepoPNP/e980bc18a5df81e3aeadb6f7054ebdd66c024168/Documentation/6_PCB-Daten/KiCAD/Wall_F_V3.zip
--------------------------------------------------------------------------------
/Documentation/6_PCB-Daten/KiCAD/Wall_F_V4.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Scavenger18/RepoPNP/e980bc18a5df81e3aeadb6f7054ebdd66c024168/Documentation/6_PCB-Daten/KiCAD/Wall_F_V4.zip
--------------------------------------------------------------------------------
/Documentation/6_PCB-Daten/KiCAD/Wall_F_V5.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Scavenger18/RepoPNP/e980bc18a5df81e3aeadb6f7054ebdd66c024168/Documentation/6_PCB-Daten/KiCAD/Wall_F_V5.zip
--------------------------------------------------------------------------------
/Documentation/6_PCB-Daten/KiCAD/enc_board_v0.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Scavenger18/RepoPNP/e980bc18a5df81e3aeadb6f7054ebdd66c024168/Documentation/6_PCB-Daten/KiCAD/enc_board_v0.zip
--------------------------------------------------------------------------------
/Documentation/6_PCB-Daten/KiCAD/enc_board_v1.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Scavenger18/RepoPNP/e980bc18a5df81e3aeadb6f7054ebdd66c024168/Documentation/6_PCB-Daten/KiCAD/enc_board_v1.zip
--------------------------------------------------------------------------------
/Documentation/6_PCB-Daten/KiCAD/enc_board_v2.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Scavenger18/RepoPNP/e980bc18a5df81e3aeadb6f7054ebdd66c024168/Documentation/6_PCB-Daten/KiCAD/enc_board_v2.zip
--------------------------------------------------------------------------------
/Documentation/6_PCB-Daten/KiCAD/enc_board_v3.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Scavenger18/RepoPNP/e980bc18a5df81e3aeadb6f7054ebdd66c024168/Documentation/6_PCB-Daten/KiCAD/enc_board_v3.zip
--------------------------------------------------------------------------------
/Documentation/6_PCB-Daten/KiCAD/readme.txt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Scavenger18/RepoPNP/e980bc18a5df81e3aeadb6f7054ebdd66c024168/Documentation/6_PCB-Daten/KiCAD/readme.txt
--------------------------------------------------------------------------------
/Documentation/7_Sonstiges/Sprocket_pyScript/dxf_templates_b2.py:
--------------------------------------------------------------------------------
1 | # DXF Templates (dxf_templates_b2.py) modified for 'Better Better DXF'
2 | # The strings below (at least r14_header) are not complete sections! Necessary since b2DXF inserts content in the TABLES block.
3 | # The 0 \n ENDSEC end-of-section must be added by the script once all tables have been added.
4 |
5 | r14_header = ''' 0
6 | SECTION
7 | 2
8 | HEADER
9 | 9
10 | $ACADVER
11 | 1
12 | AC1014
13 | 9
14 | $HANDSEED
15 | 5
16 | FFFF
17 | 0
18 | ENDSEC
19 | 0
20 | SECTION
21 | 2
22 | TABLES
23 | 0
24 | TABLE
25 | 2
26 | VPORT
27 | 5
28 | 8
29 | 330
30 | 0
31 | 100
32 | AcDbSymbolTable
33 | 70
34 | 4
35 | 0
36 | VPORT
37 | 5
38 | 2E
39 | 330
40 | 8
41 | 100
42 | AcDbSymbolTableRecord
43 | 100
44 | AcDbViewportTableRecord
45 | 2
46 | *ACTIVE
47 | 70
48 | 0
49 | 10
50 | 0.0
51 | 20
52 | 0.0
53 | 11
54 | 1.0
55 | 21
56 | 1.0
57 | 12
58 | 4.25
59 | 22
60 | 5.5
61 | 13
62 | 0.0
63 | 23
64 | 0.0
65 | 14
66 | 10.0
67 | 24
68 | 10.0
69 | 15
70 | 10.0
71 | 25
72 | 10.0
73 | 16
74 | 0.0
75 | 26
76 | 0.0
77 | 36
78 | 1.0
79 | 17
80 | 0.0
81 | 27
82 | 0.0
83 | 37
84 | 0.0
85 | 40
86 | 11
87 | 41
88 | 1.24
89 | 42
90 | 50.0
91 | 43
92 | 0.0
93 | 44
94 | 0.0
95 | 50
96 | 0.0
97 | 51
98 | 0.0
99 | 71
100 | 0
101 | 72
102 | 100
103 | 73
104 | 1
105 | 74
106 | 3
107 | 75
108 | 0
109 | 76
110 | 0
111 | 77
112 | 0
113 | 78
114 | 0
115 | 0
116 | ENDTAB
117 | 0
118 | TABLE
119 | 2
120 | LTYPE
121 | 5
122 | 5
123 | 330
124 | 0
125 | 100
126 | AcDbSymbolTable
127 | 70
128 | 1
129 | 0
130 | LTYPE
131 | 5
132 | 14
133 | 330
134 | 5
135 | 100
136 | AcDbSymbolTableRecord
137 | 100
138 | AcDbLinetypeTableRecord
139 | 2
140 | BYBLOCK
141 | 70
142 | 0
143 | 3
144 |
145 | 72
146 | 65
147 | 73
148 | 0
149 | 40
150 | 0.0
151 | 0
152 | LTYPE
153 | 5
154 | 15
155 | 330
156 | 5
157 | 100
158 | AcDbSymbolTableRecord
159 | 100
160 | AcDbLinetypeTableRecord
161 | 2
162 | BYLAYER
163 | 70
164 | 0
165 | 3
166 |
167 | 72
168 | 65
169 | 73
170 | 0
171 | 40
172 | 0.0
173 | 0
174 | LTYPE
175 | 5
176 | 16
177 | 330
178 | 5
179 | 100
180 | AcDbSymbolTableRecord
181 | 100
182 | AcDbLinetypeTableRecord
183 | 2
184 | CONTINUOUS
185 | 70
186 | 0
187 | 3
188 | Solid line
189 | 72
190 | 65
191 | 73
192 | 0
193 | 40
194 | 0.0
195 | 0
196 | ENDTAB
197 | 0
198 | TABLE
199 | 2
200 | STYLE
201 | 5
202 | 3
203 | 330
204 | 0
205 | 100
206 | AcDbSymbolTable
207 | 70
208 | 1
209 | 0
210 | STYLE
211 | 5
212 | 11
213 | 330
214 | 3
215 | 100
216 | AcDbSymbolTableRecord
217 | 100
218 | AcDbTextStyleTableRecord
219 | 2
220 | STANDARD
221 | 70
222 | 0
223 | 40
224 | 0.0
225 | 41
226 | 1.0
227 | 50
228 | 0.0
229 | 71
230 | 0
231 | 42
232 | 2.5
233 | 3
234 | txt
235 | 4
236 |
237 | 0
238 | ENDTAB
239 | 0
240 | TABLE
241 | 2
242 | VIEW
243 | 5
244 | 6
245 | 330
246 | 0
247 | 100
248 | AcDbSymbolTable
249 | 70
250 | 0
251 | 0
252 | ENDTAB
253 | 0
254 | TABLE
255 | 2
256 | UCS
257 | 5
258 | 7
259 | 330
260 | 0
261 | 100
262 | AcDbSymbolTable
263 | 70
264 | 0
265 | 0
266 | ENDTAB
267 | 0
268 | TABLE
269 | 2
270 | APPID
271 | 5
272 | 9
273 | 330
274 | 0
275 | 100
276 | AcDbSymbolTable
277 | 70
278 | 2
279 | 0
280 | APPID
281 | 5
282 | 12
283 | 330
284 | 9
285 | 100
286 | AcDbSymbolTableRecord
287 | 100
288 | AcDbRegAppTableRecord
289 | 2
290 | ACAD
291 | 70
292 | 0
293 | 0
294 | ENDTAB
295 | 0
296 | TABLE
297 | 2
298 | DIMSTYLE
299 | 5
300 | A
301 | 330
302 | 0
303 | 100
304 | AcDbSymbolTable
305 | 70
306 | 1
307 | 0
308 | DIMSTYLE
309 | 105
310 | 27
311 | 330
312 | A
313 | 100
314 | AcDbSymbolTableRecord
315 | 100
316 | AcDbDimStyleTableRecord
317 | 2
318 | ISO-25
319 | 70
320 | 0
321 | 3
322 |
323 | 4
324 |
325 | 5
326 |
327 | 6
328 |
329 | 7
330 |
331 | 40
332 | 1.0
333 | 41
334 | 2.5
335 | 42
336 | 0.625
337 | 43
338 | 3.75
339 | 44
340 | 1.25
341 | 45
342 | 0.0
343 | 46
344 | 0.0
345 | 47
346 | 0.0
347 | 48
348 | 0.0
349 | 140
350 | 2.5
351 | 141
352 | 2.5
353 | 142
354 | 0.0
355 | 143
356 | 0.03937007874016
357 | 144
358 | 1.0
359 | 145
360 | 0.0
361 | 146
362 | 1.0
363 | 147
364 | 0.625
365 | 71
366 | 0
367 | 72
368 | 0
369 | 73
370 | 0
371 | 74
372 | 0
373 | 75
374 | 0
375 | 76
376 | 0
377 | 77
378 | 1
379 | 78
380 | 8
381 | 170
382 | 0
383 | 171
384 | 3
385 | 172
386 | 1
387 | 173
388 | 0
389 | 174
390 | 0
391 | 175
392 | 0
393 | 176
394 | 0
395 | 177
396 | 0
397 | 178
398 | 0
399 | 270
400 | 2
401 | 271
402 | 2
403 | 272
404 | 2
405 | 273
406 | 2
407 | 274
408 | 3
409 | 340
410 | 11
411 | 275
412 | 0
413 | 280
414 | 0
415 | 281
416 | 0
417 | 282
418 | 0
419 | 283
420 | 0
421 | 284
422 | 8
423 | 285
424 | 0
425 | 286
426 | 0
427 | 287
428 | 3
429 | 288
430 | 0
431 | 0
432 | ENDTAB
433 | 0
434 | TABLE
435 | 2
436 | BLOCK_RECORD
437 | 5
438 | 1
439 | 330
440 | 0
441 | 100
442 | AcDbSymbolTable
443 | 70
444 | 1
445 | 0
446 | BLOCK_RECORD
447 | 5
448 | 1F
449 | 330
450 | 1
451 | 100
452 | AcDbSymbolTableRecord
453 | 100
454 | AcDbBlockTableRecord
455 | 2
456 | *MODEL_SPACE
457 | 0
458 | BLOCK_RECORD
459 | 5
460 | 1B
461 | 330
462 | 1
463 | 100
464 | AcDbSymbolTableRecord
465 | 100
466 | AcDbBlockTableRecord
467 | 2
468 | *PAPER_SPACE
469 | 0
470 | ENDTAB
471 | '''
472 |
473 | # 0
474 | #ENDSEC
475 | #'''
476 |
477 | # Not ending the section yet since we will be generating additional tables here
478 |
479 | r14_blocks=''' 0
480 | SECTION
481 | 2
482 | BLOCKS
483 | 0
484 | BLOCK
485 | 5
486 | 20
487 | 330
488 | 1F
489 | 100
490 | AcDbEntity
491 | 8
492 | 0
493 | 100
494 | AcDbBlockBegin
495 | 2
496 | *MODEL_SPACE
497 | 70
498 | 0
499 | 10
500 | 0.0
501 | 20
502 | 0.0
503 | 30
504 | 0.0
505 | 3
506 | *MODEL_SPACE
507 | 1
508 |
509 | 0
510 | ENDBLK
511 | 5
512 | 21
513 | 330
514 | 1F
515 | 100
516 | AcDbEntity
517 | 8
518 | 0
519 | 100
520 | AcDbBlockEnd
521 | 0
522 | BLOCK
523 | 5
524 | 1C
525 | 330
526 | 1B
527 | 100
528 | AcDbEntity
529 | 67
530 | 1
531 | 8
532 | 0
533 | 100
534 | AcDbBlockBegin
535 | 2
536 | *PAPER_SPACE
537 | 1
538 |
539 | 0
540 | ENDBLK
541 | 5
542 | 1D
543 | 330
544 | 1B
545 | 100
546 | AcDbEntity
547 | 67
548 | 1
549 | 8
550 | 0
551 | 100
552 | AcDbBlockEnd
553 | 0
554 | ENDSEC
555 | 0
556 | SECTION
557 | 2
558 | ENTITIES
559 | '''
560 |
561 |
562 | r14_footer = ''' 0
563 | ENDSEC
564 | 0
565 | SECTION
566 | 2
567 | OBJECTS
568 | 0
569 | DICTIONARY
570 | 5
571 | C
572 | 330
573 | 0
574 | 100
575 | AcDbDictionary
576 | 3
577 | ACAD_GROUP
578 | 350
579 | D
580 | 3
581 | ACAD_MLINESTYLE
582 | 350
583 | 17
584 | 0
585 | DICTIONARY
586 | 5
587 | D
588 | 330
589 | C
590 | 100
591 | AcDbDictionary
592 | 0
593 | DICTIONARY
594 | 5
595 | 1A
596 | 330
597 | C
598 | 100
599 | AcDbDictionary
600 | 0
601 | DICTIONARY
602 | 5
603 | 17
604 | 330
605 | C
606 | 100
607 | AcDbDictionary
608 | 3
609 | STANDARD
610 | 350
611 | 18
612 | 0
613 | DICTIONARY
614 | 5
615 | 19
616 | 330
617 | C
618 | 100
619 | AcDbDictionary
620 | 0
621 | ENDSEC
622 | 0
623 | EOF'''
624 |
--------------------------------------------------------------------------------
/Documentation/7_Sonstiges/Sprocket_pyScript/dxf_templates_b2.pyc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Scavenger18/RepoPNP/e980bc18a5df81e3aeadb6f7054ebdd66c024168/Documentation/7_Sonstiges/Sprocket_pyScript/dxf_templates_b2.pyc
--------------------------------------------------------------------------------
/Documentation/7_Sonstiges/Sprocket_pyScript/readme.txt:
--------------------------------------------------------------------------------
1 | Tape Sprocket Creator
2 |
3 | This is a free (open source) Python script for creating feeder sprockets for e.g. perforated tape or film advance. I wrote it for myself to generate SMD tape-and-reel feed sprockets, but it might also be useful for making replacement sprockets for 8/16/35mm film, microfilm and paper-tape systems whose original reader hardware no longer exists or is difficult to find replacement parts for. The output is a .DXF template suitable for laser cutting, 3D printing or CNC machining.
4 |
5 |
6 | Sprocket design goals / differences from other sprocket types
7 |
8 | The drive sprocket's dimensions are specified mainly by the number of teeth, width (or diameter) of the sprocket holes, and the pitch (distance between sprocket hole centers). The tape is usually advanced either tangentally to the sprocket, or partially wrapped around the sprocket. Thus the distance between the outside edges of any two teeth at any point, either tangent to the sprocket or along the circumference of the sprocket, should never exceed the distance between the outer edges of any two sprocket holes (the taper of the teeth is computed to counteract the radial splay of the teeth). Additionally, a landing area (flank) is cut at the base of the teeth matching the thickness of the tape, giving it a place to 'catch' when pressed against the sprocket's inner diameter. Unlike e.g. roller chain sprockets or spur gears, no undercut (cuts below the inner diameter) is provided for rollers or a mating gear's teeth, and no special geometry is needed along the sides of the teeth.
9 |
10 |
11 |
12 |
13 | Some Terminology:
14 |
15 | Pitch: The center-to-center distance between sprocket holes, and thus the sprocket teeth.
16 |
17 | Tooth Face: The tapered portion of the tooth. In this application, the tooth taper is calculated to smoothly slide into the sprocket holes as the sprocket rotates.
18 |
19 | Tooth Flank: The 'upright' (or slightly concave) base of the tooth. In this application, it should be the same height as (or slightly taller than) the tape thickness so that the tape sprockets rest fully within the flank.
20 |
21 | Tooth Land: This is the surface left if the tip of the tooth has been blunted or "cut off". This might be done to fit the sprocket into a particular diameter. I'm an EE; I don't know what other dis/advantages pointy vs. blunted teeth would have in this application.
22 |
23 |
24 |
25 |
26 | Basic usage:
27 |
28 | Fill in all the values called for in 'Basic Parameters'. Aside from angles, which are in degrees, use any unit of measurement you prefer (inch/mm/etc.), as long as it is consistent; output will be in the same units. If you desire a specific tooth taper angle, enter it, otherwise just press "Compute / auto angle" to suggest an angle and generate the sprocket.
29 |
30 | Mostly, the pitch and sprocket hole width are dictated by the tape to be fed, and also drive the important diameters. You can get closer to a desired sprocket diameter by adjusting the number of teeth. The important diameters are:
31 |
32 | Inner diameter: This is the diameter at the base of the teeth, where the bottom of the tape rests.
33 |
34 | "Design diameter": This is the most important diameter as far as the program is concerned, and is fully dictated by the pitch and number of teeth. The design diameter is the diameter at the top of the tooth flanks, which is the top of the tape. You could also think of this as the outside diameter of the tape if wrapped around the sprocket.
35 |
36 | Outer diameter: This is the diameter at the tips of the teeth. By playing with the tooth angle and cutting off the tips (tooth length %), there is some leeway to constrain the outer diameter to fit the available space.
37 |
38 | Note that the angle auto-suggest feature is currently broken (will return incorrect results). It will (usually) calculate an angle that will allow the tape to *wrap around* the sprocket at any radius from the base of the teeth, but what you really want is the tape to fit at an arbitrary angle across the teeth (specifically, the outer edges of whatever teeth it intersects while tangent to the sprocket should not exceed the outsides of the sprocket holes). For now you might have to cut a few gears and experiment, or just set the angle arbitrarily high.
39 |
40 |
41 | Extra Options:
42 | If you will be cutting out the sprocket on a CNC mill, outside pocketing will leave some material at the base of each tooth flank due to the diameter of the round cutter. Enabling 'Remove cutter leftovers' and entering the cutter diameter will add DXF points (drill hits) near the tooth edges to remove this material. Users of other fabrication methods can probably ignore this option.
43 |
44 | If designing a sprocket in one measurement system for use in another, you can optionally select a unit conversion to be applied when writing out the DXF file. E.g. if your tape is specced in mm but your CAD/CAM software expects inches, select 'mm to inches' before saving the DXF.
45 |
46 |
47 |
48 | CAVEATS:
49 | I wrote this to solve a very specific need for one of my own projects; so very little time and debugging went into it. There is no idiot-checking. Expect errors or bizarre output if you leave necessary fields blank, mix & match units (inch/mm) arbitrarily, enter a negative number of teeth or any other physically impossible geometry. Even if you do everything correctly, there is no guarantee the output will be correct or meet your needs. Please check the results very carefully before you lay out any $$$ to have anything professionally made by a fabrication service!
50 |
51 | Right now the arc between teeth is output as a straight line, not an arc or series of tiny lines approximating one. This should not be a huge problem for a reasonable number of teeth, but something to be aware of.
52 |
53 |
54 |
55 | Other notes:
56 |
57 | "Auto angle" calculation is only done if the angle field is blank: if there is a number there (including a previous auto-calculation), it will be left alone. If you have changed any parameters and want to redo "auto angle", please delete the contents of this box.
58 |
59 | The sprocket image shown in the program window is not to scale - it is automatically scaled to fit inside the window. It is not unusual for the sprocket to appear to change size dramatically when parameters are modified.
60 |
61 | Square Pegs and Round Holes:
62 | Unless you have some fancy software sweeping the sprocket teeth into 3D, you are probably making a flat gear out of flat stock, and it will have flat edges. If the sprocket holes are round, the tooth edges will contact somewhere earlier than the outside diameter of the hole, and so may need to be tweaked - especially if the material is thick relative to the holes. Use this simple formula to calculate the effective tooth width that will exactly fit the hole:
63 |
64 | w = sqrt(d^2 - t^2)
65 |
66 | where d is the sprocket hole diameter and t is the stock thickness.
67 |
68 |
69 |
70 |
71 |
72 |
73 |
--------------------------------------------------------------------------------
/Documentation/8_KDS/tinyk20_PNP_V1.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Scavenger18/RepoPNP/e980bc18a5df81e3aeadb6f7054ebdd66c024168/Documentation/8_KDS/tinyk20_PNP_V1.zip
--------------------------------------------------------------------------------
/KiCad/0_Enc_Board/.gitignore:
--------------------------------------------------------------------------------
1 | # For PCBs designed using KiCad: http://www.kicad-pcb.org/
2 |
3 | # Temporary files
4 | *.000
5 | *.bak
6 | *.bck
7 | *.kicad_pcb-bak
8 | *~
9 | _autosave-*
10 | *.tmp
11 |
12 | # Netlist files (exported from Eeschema)
13 | *.net
14 |
15 | # Autorouter files (exported from Pcbnew)
16 | *.dsn
17 | *.ses
18 |
19 | # Exported BOM files
20 | *.xml
21 | *.csv
--------------------------------------------------------------------------------
/KiCad/0_Enc_Board/DAC_Sumo_Gerber/SumoBot-B.Mask.gbs:
--------------------------------------------------------------------------------
1 | G04 #@! TF.FileFunction,Soldermask,Bot*
2 | %FSLAX46Y46*%
3 | G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
4 | G04 Created by KiCad (PCBNEW 4.0.7-e2-6376~58~ubuntu16.04.1) date Mon Nov 13 19:48:04 2017*
5 | %MOMM*%
6 | %LPD*%
7 | G01*
8 | G04 APERTURE LIST*
9 | %ADD10C,0.100000*%
10 | %ADD11R,1.190000X2.060000*%
11 | %ADD12C,2.400000*%
12 | %ADD13R,2.150000X2.150000*%
13 | %ADD14C,2.150000*%
14 | %ADD15R,2.100000X2.100000*%
15 | %ADD16O,2.100000X2.100000*%
16 | %ADD17C,1.300000*%
17 | %ADD18C,2.900000*%
18 | %ADD19C,5.400000*%
19 | G04 APERTURE END LIST*
20 | D10*
21 | D11*
22 | X190754000Y-134543800D03*
23 | X190754000Y-130543800D03*
24 | X192554000Y-130543800D03*
25 | X192554000Y-134543800D03*
26 | D12*
27 | X160020000Y-72593200D03*
28 | X160020000Y-65074800D03*
29 | X139192000Y-72593200D03*
30 | X139192000Y-65074800D03*
31 | D13*
32 | X140690600Y-56997600D03*
33 | D14*
34 | X138190600Y-56997600D03*
35 | D15*
36 | X154686000Y-118110000D03*
37 | D16*
38 | X154686000Y-120650000D03*
39 | X152146000Y-118110000D03*
40 | X152146000Y-120650000D03*
41 | X149606000Y-118110000D03*
42 | X149606000Y-120650000D03*
43 | X147066000Y-118110000D03*
44 | X147066000Y-120650000D03*
45 | X144526000Y-118110000D03*
46 | X144526000Y-120650000D03*
47 | D15*
48 | X113588800Y-113055400D03*
49 | D16*
50 | X116128800Y-113055400D03*
51 | X118668800Y-113055400D03*
52 | X121208800Y-113055400D03*
53 | X123748800Y-113055400D03*
54 | X126288800Y-113055400D03*
55 | X128828800Y-113055400D03*
56 | X131368800Y-113055400D03*
57 | X133908800Y-113055400D03*
58 | X136448800Y-113055400D03*
59 | X138988800Y-113055400D03*
60 | X141528800Y-113055400D03*
61 | X144068800Y-113055400D03*
62 | X146608800Y-113055400D03*
63 | X149148800Y-113055400D03*
64 | D15*
65 | X113588800Y-97815400D03*
66 | D16*
67 | X116128800Y-97815400D03*
68 | X118668800Y-97815400D03*
69 | X121208800Y-97815400D03*
70 | X123748800Y-97815400D03*
71 | X126288800Y-97815400D03*
72 | X128828800Y-97815400D03*
73 | X131368800Y-97815400D03*
74 | X133908800Y-97815400D03*
75 | X136448800Y-97815400D03*
76 | X138988800Y-97815400D03*
77 | X141528800Y-97815400D03*
78 | X144068800Y-97815400D03*
79 | X146608800Y-97815400D03*
80 | X149148800Y-97815400D03*
81 | D11*
82 | X160528000Y-130556000D03*
83 | X160528000Y-134556000D03*
84 | X158728000Y-134556000D03*
85 | X158728000Y-130556000D03*
86 | X138811000Y-134543800D03*
87 | X138811000Y-130543800D03*
88 | X140611000Y-130543800D03*
89 | X140611000Y-134543800D03*
90 | X108458000Y-130556000D03*
91 | X108458000Y-134556000D03*
92 | X106658000Y-134556000D03*
93 | X106658000Y-130556000D03*
94 | D15*
95 | X177546000Y-120624600D03*
96 | D16*
97 | X175006000Y-120624600D03*
98 | X172466000Y-120624600D03*
99 | D17*
100 | X161304100Y-54915000D03*
101 | X158304100Y-54915000D03*
102 | D18*
103 | X107596940Y-126809500D03*
104 | X191597280Y-126809500D03*
105 | X169095420Y-58811160D03*
106 | X130096260Y-58811160D03*
107 | X130096260Y-78811120D03*
108 | X169095420Y-78811120D03*
109 | D19*
110 | X107596940Y-91810840D03*
111 | X191597280Y-91810840D03*
112 | M02*
113 |
--------------------------------------------------------------------------------
/KiCad/0_Enc_Board/DAC_Sumo_Gerber/SumoBot-B.SilkS.gbo:
--------------------------------------------------------------------------------
1 | G04 #@! TF.FileFunction,Legend,Bot*
2 | %FSLAX46Y46*%
3 | G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
4 | G04 Created by KiCad (PCBNEW 4.0.7-e2-6376~58~ubuntu16.04.1) date Mon Nov 13 19:48:04 2017*
5 | %MOMM*%
6 | %LPD*%
7 | G01*
8 | G04 APERTURE LIST*
9 | %ADD10C,0.100000*%
10 | %ADD11C,0.150000*%
11 | G04 APERTURE END LIST*
12 | D10*
13 | D11*
14 | X193154000Y-135543800D02*
15 | X193154000Y-129543800D01*
16 | X193154000Y-129543800D02*
17 | X190154000Y-129543800D01*
18 | X190154000Y-129543800D02*
19 | X190154000Y-135543800D01*
20 | X190154000Y-135543800D02*
21 | X193154000Y-135543800D01*
22 | X158128000Y-129556000D02*
23 | X158128000Y-135556000D01*
24 | X158128000Y-135556000D02*
25 | X161128000Y-135556000D01*
26 | X161128000Y-135556000D02*
27 | X161128000Y-129556000D01*
28 | X161128000Y-129556000D02*
29 | X158128000Y-129556000D01*
30 | X141211000Y-135543800D02*
31 | X141211000Y-129543800D01*
32 | X141211000Y-129543800D02*
33 | X138211000Y-129543800D01*
34 | X138211000Y-129543800D02*
35 | X138211000Y-135543800D01*
36 | X138211000Y-135543800D02*
37 | X141211000Y-135543800D01*
38 | X106058000Y-129556000D02*
39 | X106058000Y-135556000D01*
40 | X106058000Y-135556000D02*
41 | X109058000Y-135556000D01*
42 | X109058000Y-135556000D02*
43 | X109058000Y-129556000D01*
44 | X109058000Y-129556000D02*
45 | X106058000Y-129556000D01*
46 | X193736981Y-131273705D02*
47 | X194546505Y-131273705D01*
48 | X194641743Y-131321324D01*
49 | X194689362Y-131368943D01*
50 | X194736981Y-131464181D01*
51 | X194736981Y-131654658D01*
52 | X194689362Y-131749896D01*
53 | X194641743Y-131797515D01*
54 | X194546505Y-131845134D01*
55 | X193736981Y-131845134D01*
56 | X194736981Y-132845134D02*
57 | X194736981Y-132273705D01*
58 | X194736981Y-132559419D02*
59 | X193736981Y-132559419D01*
60 | X193879838Y-132464181D01*
61 | X193975076Y-132368943D01*
62 | X194022695Y-132273705D01*
63 | X193736981Y-133749896D02*
64 | X193736981Y-133273705D01*
65 | X194213171Y-133226086D01*
66 | X194165552Y-133273705D01*
67 | X194117933Y-133368943D01*
68 | X194117933Y-133607039D01*
69 | X194165552Y-133702277D01*
70 | X194213171Y-133749896D01*
71 | X194308410Y-133797515D01*
72 | X194546505Y-133797515D01*
73 | X194641743Y-133749896D01*
74 | X194689362Y-133702277D01*
75 | X194736981Y-133607039D01*
76 | X194736981Y-133368943D01*
77 | X194689362Y-133273705D01*
78 | X194641743Y-133226086D01*
79 | X156652981Y-131527705D02*
80 | X157462505Y-131527705D01*
81 | X157557743Y-131575324D01*
82 | X157605362Y-131622943D01*
83 | X157652981Y-131718181D01*
84 | X157652981Y-131908658D01*
85 | X157605362Y-132003896D01*
86 | X157557743Y-132051515D01*
87 | X157462505Y-132099134D01*
88 | X156652981Y-132099134D01*
89 | X157652981Y-133099134D02*
90 | X157652981Y-132527705D01*
91 | X157652981Y-132813419D02*
92 | X156652981Y-132813419D01*
93 | X156795838Y-132718181D01*
94 | X156891076Y-132622943D01*
95 | X156938695Y-132527705D01*
96 | X156652981Y-133956277D02*
97 | X156652981Y-133765800D01*
98 | X156700600Y-133670562D01*
99 | X156748219Y-133622943D01*
100 | X156891076Y-133527705D01*
101 | X157081552Y-133480086D01*
102 | X157462505Y-133480086D01*
103 | X157557743Y-133527705D01*
104 | X157605362Y-133575324D01*
105 | X157652981Y-133670562D01*
106 | X157652981Y-133861039D01*
107 | X157605362Y-133956277D01*
108 | X157557743Y-134003896D01*
109 | X157462505Y-134051515D01*
110 | X157224410Y-134051515D01*
111 | X157129171Y-134003896D01*
112 | X157081552Y-133956277D01*
113 | X157033933Y-133861039D01*
114 | X157033933Y-133670562D01*
115 | X157081552Y-133575324D01*
116 | X157129171Y-133527705D01*
117 | X157224410Y-133480086D01*
118 | X141666981Y-131273705D02*
119 | X142476505Y-131273705D01*
120 | X142571743Y-131321324D01*
121 | X142619362Y-131368943D01*
122 | X142666981Y-131464181D01*
123 | X142666981Y-131654658D01*
124 | X142619362Y-131749896D01*
125 | X142571743Y-131797515D01*
126 | X142476505Y-131845134D01*
127 | X141666981Y-131845134D01*
128 | X142666981Y-132845134D02*
129 | X142666981Y-132273705D01*
130 | X142666981Y-132559419D02*
131 | X141666981Y-132559419D01*
132 | X141809838Y-132464181D01*
133 | X141905076Y-132368943D01*
134 | X141952695Y-132273705D01*
135 | X141666981Y-133178467D02*
136 | X141666981Y-133845134D01*
137 | X142666981Y-133416562D01*
138 | X104506781Y-131426105D02*
139 | X105316305Y-131426105D01*
140 | X105411543Y-131473724D01*
141 | X105459162Y-131521343D01*
142 | X105506781Y-131616581D01*
143 | X105506781Y-131807058D01*
144 | X105459162Y-131902296D01*
145 | X105411543Y-131949915D01*
146 | X105316305Y-131997534D01*
147 | X104506781Y-131997534D01*
148 | X105506781Y-132997534D02*
149 | X105506781Y-132426105D01*
150 | X105506781Y-132711819D02*
151 | X104506781Y-132711819D01*
152 | X104649638Y-132616581D01*
153 | X104744876Y-132521343D01*
154 | X104792495Y-132426105D01*
155 | X104935352Y-133568962D02*
156 | X104887733Y-133473724D01*
157 | X104840114Y-133426105D01*
158 | X104744876Y-133378486D01*
159 | X104697257Y-133378486D01*
160 | X104602019Y-133426105D01*
161 | X104554400Y-133473724D01*
162 | X104506781Y-133568962D01*
163 | X104506781Y-133759439D01*
164 | X104554400Y-133854677D01*
165 | X104602019Y-133902296D01*
166 | X104697257Y-133949915D01*
167 | X104744876Y-133949915D01*
168 | X104840114Y-133902296D01*
169 | X104887733Y-133854677D01*
170 | X104935352Y-133759439D01*
171 | X104935352Y-133568962D01*
172 | X104982971Y-133473724D01*
173 | X105030590Y-133426105D01*
174 | X105125829Y-133378486D01*
175 | X105316305Y-133378486D01*
176 | X105411543Y-133426105D01*
177 | X105459162Y-133473724D01*
178 | X105506781Y-133568962D01*
179 | X105506781Y-133759439D01*
180 | X105459162Y-133854677D01*
181 | X105411543Y-133902296D01*
182 | X105316305Y-133949915D01*
183 | X105125829Y-133949915D01*
184 | X105030590Y-133902296D01*
185 | X104982971Y-133854677D01*
186 | X104935352Y-133759439D01*
187 | M02*
188 |
--------------------------------------------------------------------------------
/KiCad/0_Enc_Board/DAC_Sumo_Gerber/SumoBot-Edge.Cuts.gm1:
--------------------------------------------------------------------------------
1 | G04 #@! TF.FileFunction,Profile,NP*
2 | %FSLAX46Y46*%
3 | G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
4 | G04 Created by KiCad (PCBNEW 4.0.7-e2-6376~58~ubuntu16.04.1) date Mon Nov 13 19:48:04 2017*
5 | %MOMM*%
6 | %LPD*%
7 | G01*
8 | G04 APERTURE LIST*
9 | %ADD10C,0.100000*%
10 | %ADD11C,0.010000*%
11 | G04 APERTURE END LIST*
12 | D10*
13 | D11*
14 | X150489920Y-51810920D02*
15 | X152623520Y-51810920D01*
16 | X166987220Y-51810920D02*
17 | X165712140Y-53086000D01*
18 | X170596560Y-51810920D02*
19 | X166987220Y-51810920D01*
20 | X150489920Y-51810920D02*
21 | X128597660Y-51810920D01*
22 | X153898600Y-53086000D02*
23 | X152623520Y-51810920D01*
24 | X165709600Y-53086000D02*
25 | X153898600Y-53086000D01*
26 | X112596000Y-130810000D02*
27 | X134596000Y-130810000D01*
28 | X186596000Y-130810000D02*
29 | X186596000Y-132810000D01*
30 | X106096000Y-136810000D02*
31 | X109096000Y-136810000D01*
32 | X125595994Y-82816981D02*
33 | G75*
34 | G02X121596000Y-86810000I-3999994J6981D01*
35 | G01*
36 | X102596000Y-130810000D02*
37 | X102596000Y-132810000D01*
38 | X173596000Y-54810000D02*
39 | X173596000Y-82810000D01*
40 | X105596000Y-86810000D02*
41 | X121596000Y-86810000D01*
42 | X125596000Y-54810000D02*
43 | X125596000Y-82810000D01*
44 | X164596000Y-132810000D02*
45 | X161096000Y-136810000D01*
46 | X193596000Y-86810000D02*
47 | X177596000Y-86810000D01*
48 | X164596000Y-130810000D02*
49 | X186596000Y-130810000D01*
50 | X138096000Y-136810000D02*
51 | X134596000Y-132810000D01*
52 | X193596000Y-86810000D02*
53 | G75*
54 | G02X196596000Y-89810000I0J-3000000D01*
55 | G01*
56 | X102596000Y-89810000D02*
57 | X102596000Y-130810000D01*
58 | X196596000Y-89810000D02*
59 | X196596000Y-130810000D01*
60 | X112596000Y-132810000D02*
61 | X112596000Y-130810000D01*
62 | X177596000Y-86810000D02*
63 | G75*
64 | G02X173596000Y-82810000I0J4000000D01*
65 | G01*
66 | X102596000Y-89810000D02*
67 | G75*
68 | G02X105596000Y-86810000I3000000J0D01*
69 | G01*
70 | X138096000Y-136810000D02*
71 | X161096000Y-136810000D01*
72 | X170596000Y-51810000D02*
73 | G75*
74 | G02X173596000Y-54810000I0J-3000000D01*
75 | G01*
76 | X164596000Y-132810000D02*
77 | X164596000Y-130810000D01*
78 | X125596000Y-54810000D02*
79 | G75*
80 | G02X128596000Y-51810000I3000000J0D01*
81 | G01*
82 | X134596000Y-130810000D02*
83 | X134596000Y-132810000D01*
84 | X190096000Y-136810000D02*
85 | X193096000Y-136810000D01*
86 | X106096000Y-136810000D02*
87 | X102596000Y-132810000D01*
88 | X196596000Y-132810000D02*
89 | X196596000Y-130810000D01*
90 | X112596000Y-132810000D02*
91 | X109096000Y-136810000D01*
92 | X186596000Y-132810000D02*
93 | X190096000Y-136810000D01*
94 | X193096000Y-136810000D02*
95 | X196596000Y-132810000D01*
96 | M02*
97 |
--------------------------------------------------------------------------------
/KiCad/0_Enc_Board/DAC_Sumo_Gerber/SumoBot-F.Mask.gts:
--------------------------------------------------------------------------------
1 | G04 #@! TF.FileFunction,Soldermask,Top*
2 | %FSLAX46Y46*%
3 | G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
4 | G04 Created by KiCad (PCBNEW 4.0.7-e2-6376~58~ubuntu16.04.1) date Mon Nov 13 19:48:04 2017*
5 | %MOMM*%
6 | %LPD*%
7 | G01*
8 | G04 APERTURE LIST*
9 | %ADD10C,0.100000*%
10 | %ADD11R,1.700000X1.100000*%
11 | %ADD12R,3.400000X3.900000*%
12 | %ADD13R,3.900000X2.000000*%
13 | %ADD14R,1.650000X1.400000*%
14 | %ADD15R,1.400000X1.650000*%
15 | %ADD16R,1.600000X1.600000*%
16 | %ADD17R,2.700000X2.900000*%
17 | %ADD18C,2.400000*%
18 | %ADD19R,2.150000X2.150000*%
19 | %ADD20C,2.150000*%
20 | %ADD21R,2.100000X2.100000*%
21 | %ADD22O,2.100000X2.100000*%
22 | %ADD23R,1.200000X1.300000*%
23 | %ADD24R,1.100000X1.700000*%
24 | %ADD25R,1.950000X1.700000*%
25 | %ADD26R,1.300000X1.200000*%
26 | %ADD27R,1.950000X1.000000*%
27 | %ADD28R,0.650000X0.900000*%
28 | %ADD29R,3.050000X1.400000*%
29 | %ADD30R,1.850000X0.850000*%
30 | %ADD31R,1.460000X1.050000*%
31 | %ADD32R,1.000000X1.200000*%
32 | %ADD33R,1.050000X0.800000*%
33 | %ADD34R,2.200000X1.200000*%
34 | %ADD35R,1.200000X2.200000*%
35 | %ADD36C,1.300000*%
36 | %ADD37R,1.100000X1.900000*%
37 | %ADD38R,1.400000X1.200000*%
38 | %ADD39C,2.900000*%
39 | %ADD40C,5.400000*%
40 | G04 APERTURE END LIST*
41 | D10*
42 | D11*
43 | X153771600Y-58404800D03*
44 | X153771600Y-56504800D03*
45 | X145237200Y-73111400D03*
46 | X145237200Y-71211400D03*
47 | D12*
48 | X156888200Y-94081600D03*
49 | X162288200Y-94081600D03*
50 | D13*
51 | X162034200Y-80264000D03*
52 | X156634200Y-80264000D03*
53 | D14*
54 | X153746200Y-77613000D03*
55 | X153746200Y-79613000D03*
56 | X160020000Y-69834000D03*
57 | X160020000Y-67834000D03*
58 | X139192000Y-69884800D03*
59 | X139192000Y-67884800D03*
60 | X151993600Y-77613000D03*
61 | X151993600Y-79613000D03*
62 | D13*
63 | X142603200Y-80264000D03*
64 | X137203200Y-80264000D03*
65 | D15*
66 | X151857200Y-81254600D03*
67 | X153857200Y-81254600D03*
68 | D14*
69 | X159740600Y-98466400D03*
70 | X159740600Y-100466400D03*
71 | X161442400Y-98466400D03*
72 | X161442400Y-100466400D03*
73 | X163144200Y-98466400D03*
74 | X163144200Y-100466400D03*
75 | D15*
76 | X167649400Y-99974400D03*
77 | X165649400Y-99974400D03*
78 | D14*
79 | X159613600Y-114011200D03*
80 | X159613600Y-116011200D03*
81 | X173024800Y-88865200D03*
82 | X173024800Y-90865200D03*
83 | X171323000Y-88865200D03*
84 | X171323000Y-90865200D03*
85 | X169621200Y-88865200D03*
86 | X169621200Y-90865200D03*
87 | X184480200Y-111744000D03*
88 | X184480200Y-109744000D03*
89 | X187680600Y-120031000D03*
90 | X187680600Y-122031000D03*
91 | D15*
92 | X163941000Y-121589800D03*
93 | X161941000Y-121589800D03*
94 | X135436100Y-121475500D03*
95 | X137436100Y-121475500D03*
96 | X115985800Y-121589800D03*
97 | X113985800Y-121589800D03*
98 | D16*
99 | X149306100Y-53644800D03*
100 | X151506100Y-53644800D03*
101 | D17*
102 | X166370000Y-87512000D03*
103 | X166370000Y-91812000D03*
104 | D18*
105 | X160020000Y-72593200D03*
106 | X160020000Y-65074800D03*
107 | X139192000Y-72593200D03*
108 | X139192000Y-65074800D03*
109 | D19*
110 | X140690600Y-56997600D03*
111 | D20*
112 | X138190600Y-56997600D03*
113 | D21*
114 | X154686000Y-118110000D03*
115 | D22*
116 | X154686000Y-120650000D03*
117 | X152146000Y-118110000D03*
118 | X152146000Y-120650000D03*
119 | X149606000Y-118110000D03*
120 | X149606000Y-120650000D03*
121 | X147066000Y-118110000D03*
122 | X147066000Y-120650000D03*
123 | X144526000Y-118110000D03*
124 | X144526000Y-120650000D03*
125 | D23*
126 | X159603400Y-60385200D03*
127 | X161503400Y-60385200D03*
128 | X160553400Y-58385200D03*
129 | D11*
130 | X153974800Y-71135200D03*
131 | X153974800Y-73035200D03*
132 | X153974800Y-64632800D03*
133 | X153974800Y-66532800D03*
134 | X145237200Y-66532800D03*
135 | X145237200Y-64632800D03*
136 | X137071100Y-84571800D03*
137 | X137071100Y-86471800D03*
138 | X142659100Y-86471800D03*
139 | X142659100Y-84571800D03*
140 | D24*
141 | X145963600Y-53644800D03*
142 | X147863600Y-53644800D03*
143 | X170977600Y-99974400D03*
144 | X169077600Y-99974400D03*
145 | D11*
146 | X173024800Y-97343000D03*
147 | X173024800Y-95443000D03*
148 | X174726600Y-89143800D03*
149 | X174726600Y-91043800D03*
150 | D24*
151 | X163408400Y-114147600D03*
152 | X161508400Y-114147600D03*
153 | X184744400Y-108000800D03*
154 | X182844400Y-108000800D03*
155 | D11*
156 | X169900600Y-115707200D03*
157 | X169900600Y-113807200D03*
158 | D24*
159 | X177099000Y-114503200D03*
160 | X175199000Y-114503200D03*
161 | D11*
162 | X184200800Y-121981000D03*
163 | X184200800Y-120081000D03*
164 | D24*
165 | X173416000Y-114096800D03*
166 | X171516000Y-114096800D03*
167 | D11*
168 | X185953400Y-120081000D03*
169 | X185953400Y-121981000D03*
170 | D24*
171 | X158689000Y-121589800D03*
172 | X160589000Y-121589800D03*
173 | X140688100Y-121475500D03*
174 | X138788100Y-121475500D03*
175 | D25*
176 | X194454600Y-99337300D03*
177 | X194454600Y-103837300D03*
178 | X186494600Y-103837300D03*
179 | X186494600Y-99337300D03*
180 | D26*
181 | X155591000Y-71135200D03*
182 | X155591000Y-73035200D03*
183 | X157591000Y-72085200D03*
184 | X155591000Y-64632800D03*
185 | X155591000Y-66532800D03*
186 | X157591000Y-65582800D03*
187 | X143621000Y-73111400D03*
188 | X143621000Y-71211400D03*
189 | X141621000Y-72161400D03*
190 | X143621000Y-66532800D03*
191 | X143621000Y-64632800D03*
192 | X141621000Y-65582800D03*
193 | D27*
194 | X150858200Y-59715400D03*
195 | X150858200Y-58445400D03*
196 | X150858200Y-57175400D03*
197 | X150858200Y-55905400D03*
198 | X145458200Y-55905400D03*
199 | X145458200Y-57175400D03*
200 | X145458200Y-58445400D03*
201 | X145458200Y-59715400D03*
202 | D28*
203 | X150398800Y-77663000D03*
204 | X149898800Y-77663000D03*
205 | X149398800Y-77663000D03*
206 | X148898800Y-77663000D03*
207 | X148398800Y-77663000D03*
208 | X147898800Y-77663000D03*
209 | X147898800Y-79563000D03*
210 | X148398800Y-79563000D03*
211 | X148898800Y-79563000D03*
212 | X149398800Y-79563000D03*
213 | X149898800Y-79563000D03*
214 | X150398800Y-79563000D03*
215 | D29*
216 | X149148800Y-78613000D03*
217 | D21*
218 | X113588800Y-113055400D03*
219 | D22*
220 | X116128800Y-113055400D03*
221 | X118668800Y-113055400D03*
222 | X121208800Y-113055400D03*
223 | X123748800Y-113055400D03*
224 | X126288800Y-113055400D03*
225 | X128828800Y-113055400D03*
226 | X131368800Y-113055400D03*
227 | X133908800Y-113055400D03*
228 | X136448800Y-113055400D03*
229 | X138988800Y-113055400D03*
230 | X141528800Y-113055400D03*
231 | X144068800Y-113055400D03*
232 | X146608800Y-113055400D03*
233 | X149148800Y-113055400D03*
234 | D30*
235 | X171021800Y-98139800D03*
236 | X171021800Y-97489800D03*
237 | X171021800Y-96839800D03*
238 | X171021800Y-96189800D03*
239 | X171021800Y-95539800D03*
240 | X171021800Y-94889800D03*
241 | X171021800Y-94239800D03*
242 | X165121800Y-94239800D03*
243 | X165121800Y-94889800D03*
244 | X165121800Y-95539800D03*
245 | X165121800Y-96189800D03*
246 | X165121800Y-96839800D03*
247 | X165121800Y-97489800D03*
248 | X165121800Y-98139800D03*
249 | D21*
250 | X113588800Y-97815400D03*
251 | D22*
252 | X116128800Y-97815400D03*
253 | X118668800Y-97815400D03*
254 | X121208800Y-97815400D03*
255 | X123748800Y-97815400D03*
256 | X126288800Y-97815400D03*
257 | X128828800Y-97815400D03*
258 | X131368800Y-97815400D03*
259 | X133908800Y-97815400D03*
260 | X136448800Y-97815400D03*
261 | X138988800Y-97815400D03*
262 | X141528800Y-97815400D03*
263 | X144068800Y-97815400D03*
264 | X146608800Y-97815400D03*
265 | X149148800Y-97815400D03*
266 | D31*
267 | X161345700Y-115940800D03*
268 | X161345700Y-116890800D03*
269 | X161345700Y-117840800D03*
270 | X163545700Y-117840800D03*
271 | X163545700Y-115940800D03*
272 | X165371600Y-114035800D03*
273 | X165371600Y-114985800D03*
274 | X165371600Y-115935800D03*
275 | X167571600Y-115935800D03*
276 | X167571600Y-114035800D03*
277 | X167571600Y-114985800D03*
278 | D32*
279 | X175488600Y-116129000D03*
280 | X176788600Y-116129000D03*
281 | X175488600Y-117729000D03*
282 | D26*
283 | X176638600Y-117729000D03*
284 | D33*
285 | X171516000Y-115758200D03*
286 | X171516000Y-117058200D03*
287 | X173416000Y-116408200D03*
288 | X171516000Y-116408200D03*
289 | X173416000Y-117058200D03*
290 | X173416000Y-115758200D03*
291 | D34*
292 | X107061000Y-117297200D03*
293 | X107061000Y-118567200D03*
294 | X107061000Y-119837200D03*
295 | X107061000Y-121107200D03*
296 | D35*
297 | X147701000Y-128397000D03*
298 | X148971000Y-128397000D03*
299 | X150241000Y-128397000D03*
300 | X151511000Y-128397000D03*
301 | D34*
302 | X192151000Y-121107200D03*
303 | X192151000Y-119837200D03*
304 | X192151000Y-118567200D03*
305 | X192151000Y-117297200D03*
306 | D13*
307 | X162034200Y-87071200D03*
308 | X156634200Y-87071200D03*
309 | D25*
310 | X186494600Y-112727300D03*
311 | X186494600Y-108227300D03*
312 | X194454600Y-108227300D03*
313 | X194454600Y-112727300D03*
314 | D21*
315 | X177546000Y-120624600D03*
316 | D22*
317 | X175006000Y-120624600D03*
318 | X172466000Y-120624600D03*
319 | D36*
320 | X161304100Y-54915000D03*
321 | X158304100Y-54915000D03*
322 | D37*
323 | X162054100Y-56675000D03*
324 | X159054100Y-56675000D03*
325 | X157554100Y-56675000D03*
326 | D38*
327 | X163454100Y-53815000D03*
328 | X156154100Y-53815000D03*
329 | X156154100Y-56025000D03*
330 | X163454100Y-56025000D03*
331 | D14*
332 | X135293100Y-86521800D03*
333 | X135293100Y-84521800D03*
334 | D31*
335 | X140965100Y-86471800D03*
336 | X140965100Y-85521800D03*
337 | X140965100Y-84571800D03*
338 | X138765100Y-84571800D03*
339 | X138765100Y-86471800D03*
340 | X138765100Y-85521800D03*
341 | D24*
342 | X110721100Y-121589800D03*
343 | X112621100Y-121589800D03*
344 | D39*
345 | X107596940Y-126809500D03*
346 | X191597280Y-126809500D03*
347 | X169095420Y-58811160D03*
348 | X130096260Y-58811160D03*
349 | X130096260Y-78811120D03*
350 | X169095420Y-78811120D03*
351 | D40*
352 | X107596940Y-91810840D03*
353 | X191597280Y-91810840D03*
354 | M02*
355 |
--------------------------------------------------------------------------------
/KiCad/0_Enc_Board/DAC_Sumo_Gerber/SumoBot-NPTH.drl:
--------------------------------------------------------------------------------
1 | M48
2 | INCH,TZ
3 | T1C0.035
4 | T2C0.098
5 | %
6 | G90
7 | G05
8 | T1
9 | X62324Y-21620
10 | X63506Y-21620
11 | T2
12 | X42361Y-49925
13 | X51219Y-23154
14 | X51219Y-31028
15 | X66573Y-23154
16 | X66573Y-31028
17 | X75432Y-49925
18 | T0
19 | M30
20 |
--------------------------------------------------------------------------------
/KiCad/0_Enc_Board/DAC_Sumo_Gerber/SumoBot-bottom.pos:
--------------------------------------------------------------------------------
1 | ### Module positions - created on 01/27/18 15:48:25 ###
2 | ### Printed by Pcbnew version kicad 4.0.6
3 | ## Unit = mm, Angle = deg.
4 | ## Side : bottom
5 | # Ref Val Package PosX PosY Rot Side
6 | ## End
7 |
--------------------------------------------------------------------------------
/KiCad/0_Enc_Board/DAC_Sumo_Gerber/SumoBot-top.pos:
--------------------------------------------------------------------------------
1 | ### Module positions - created on 01/27/18 15:48:25 ###
2 | ### Printed by Pcbnew version kicad 4.0.6
3 | ## Unit = mm, Angle = deg.
4 | ## Side : top
5 | # Ref Val Package PosX PosY Rot Side
6 | C1 220u CP_Elec_6.3x7.7 159.3342 -80.2640 180.0000 top
7 | C2 220u CP_Elec_6.3x7.7 159.3342 -87.0712 180.0000 top
8 | C3 1u C_0805 153.7462 -78.6130 270.0000 top
9 | C4 3n3 C_0805 160.0200 -68.8340 90.0000 top
10 | C5 3n3 C_0805 139.1920 -68.8848 90.0000 top
11 | C6 100n C_0805 151.9936 -78.6130 270.0000 top
12 | C7 220u CP_Elec_6.3x7.7 139.9032 -80.2640 180.0000 top
13 | C8 100n C_0805 152.8572 -81.2546 0.0000 top
14 | C9 22u C_0805 159.7406 -99.4664 270.0000 top
15 | C10 1u C_0805 161.4424 -99.4664 270.0000 top
16 | C11 100n C_0805 163.1442 -99.4664 270.0000 top
17 | C12 3n3 C_0805 166.6494 -99.9744 180.0000 top
18 | C13 470p C_0805 159.6136 -115.0112 270.0000 top
19 | C14 22u C_0805 173.0248 -89.8652 270.0000 top
20 | C15 1u C_0805 171.3230 -89.8652 270.0000 top
21 | C16 100n C_0805 169.6212 -89.8652 270.0000 top
22 | C17 100n C_0805 184.4802 -110.7440 90.0000 top
23 | C18 10n C_0805 187.6806 -121.0310 270.0000 top
24 | C19 10n C_0805 162.9410 -121.5898 180.0000 top
25 | C20 10n C_0805 136.4361 -121.4755 0.0000 top
26 | C21 10n C_0805 114.9858 -121.5898 180.0000 top
27 | C22 100n C_0805 135.2931 -85.5218 90.0000 top
28 | D1 LED Green LED_0805 150.4061 -53.6448 180.0000 top
29 | D2 STTH4R02U D_SMB 166.3700 -89.6620 270.0000 top
30 | Q1 NX7002AKVL SOT-23 160.5534 -59.3852 90.0000 top
31 | R1 1M R0805-1K 153.7716 -57.4548 90.0000 top
32 | R2 N/P R_0805 153.9748 -72.0852 270.0000 top
33 | R3 N/P R_0805 153.9748 -65.5828 270.0000 top
34 | R4 N/P R_0805 145.2372 -72.1614 90.0000 top
35 | R5 N/P R_0805 145.2372 -65.5828 90.0000 top
36 | R6 330 R_0805 137.0711 -85.5218 270.0000 top
37 | R8 300 R_0805 142.6591 -85.5218 90.0000 top
38 | R9 470 R_0805 146.9136 -53.6448 0.0000 top
39 | R10 10k R_0805 170.0276 -99.9744 180.0000 top
40 | R11 30k R_0805 173.0248 -96.3930 90.0000 top
41 | R12 160k R_0805 174.7266 -90.0938 270.0000 top
42 | R13 39k R_0805 162.4584 -114.1476 180.0000 top
43 | R14 100k R_0805 183.7944 -108.0008 180.0000 top
44 | R15 100k R_0805 169.9006 -114.7572 90.0000 top
45 | R16 N/P R_0805 176.1490 -114.5032 180.0000 top
46 | R17 180 R_0805 184.2008 -121.0310 90.0000 top
47 | R18 100k R_0805 172.4660 -114.0968 180.0000 top
48 | R19 470 R_0805 185.9534 -121.0310 270.0000 top
49 | R20 470 R_0805 159.6390 -121.5898 0.0000 top
50 | R21 470 R_0805 139.7381 -121.4755 180.0000 top
51 | R22 470 R_0805 111.6711 -121.5898 0.0000 top
52 | SW1 SSSS811101 SW_SPDT_PCM12 159.8041 -55.2450 180.0000 top
53 | SW2 B3FS-1010 SW_SPST_PTS645 190.4746 -101.5873 180.0000 top
54 | SW3 B3FS-1010 SW_SPST_PTS645 190.4746 -110.4773 0.0000 top
55 | U1 DRV5013 SOT-23 156.5910 -72.0852 0.0000 top
56 | U2 DRV5013 SOT-23 156.5910 -65.5828 0.0000 top
57 | U3 DRV5013 SOT-23 142.6210 -72.1614 180.0000 top
58 | U4 DRV5013 SOT-23 142.6210 -65.5828 180.0000 top
59 | U5 FDS4935BZ SOIC-8_3.9x4.9mm_Pitch1.27mm 148.1582 -57.8104 180.0000 top
60 | U6 DRV8835 WSON-12-1EP_3x2mm_Pitch0.5mm 149.1488 -78.6130 270.0000 top
61 | U7 AP9101CAK6-ABTRG1 SOT-23-6 139.8651 -85.5218 180.0000 top
62 | U9 LM2700 TSSOP-14_4.4x5mm_Pitch0.65mm 168.0718 -96.1898 180.0000 top
63 | U11 MIC1557 SOT-23-5 162.4457 -116.8908 0.0000 top
64 | U12 SN74LVC1G18 SOT-23-6 166.4716 -114.9858 0.0000 top
65 | U14 SSM6N7002KFU,LF SOT-363_SC-70-6 172.4660 -116.4082 0.0000 top
66 | ## End
67 |
--------------------------------------------------------------------------------
/KiCad/0_Enc_Board/DAC_Sumo_Gerber/SumoBot.drl:
--------------------------------------------------------------------------------
1 | M48
2 | INCH,TZ
3 | T1C0.016
4 | T2C0.039
5 | T3C0.041
6 | T4C0.098
7 | %
8 | G90
9 | G05
10 | T1
11 | X41630Y-51400
12 | X42700Y-50870
13 | X42710Y-46680
14 | X43060Y-52610
15 | X43190Y-43850
16 | X43190Y-47870
17 | X44340Y-48470
18 | X46070Y-47870
19 | X46720Y-40580
20 | X47720Y-41420
21 | X48720Y-47180
22 | X49720Y-36250
23 | X50220Y-36530
24 | X50720Y-36000
25 | X51720Y-41100
26 | X51720Y-45420
27 | X52490Y-24070
28 | X52490Y-24570
29 | X52490Y-29670
30 | X52490Y-30170
31 | X53190Y-24070
32 | X53190Y-24570
33 | X53190Y-29670
34 | X53190Y-30170
35 | X53220Y-36830
36 | X53320Y-48280
37 | X53730Y-49610
38 | X54650Y-50870
39 | X54720Y-42020
40 | X55360Y-48410
41 | X55500Y-34390
42 | X55720Y-52970
43 | X55740Y-47820
44 | X55840Y-24550
45 | X55840Y-29680
46 | X56140Y-24250
47 | X56140Y-24850
48 | X56140Y-29390
49 | X56140Y-29980
50 | X56142Y-29688
51 | X56144Y-24552
52 | X56230Y-40320
53 | X56440Y-24550
54 | X56440Y-29680
55 | X56780Y-36250
56 | X57030Y-36000
57 | X57560Y-26190
58 | X57590Y-30570
59 | X57590Y-31370
60 | X57630Y-28780
61 | X57640Y-25450
62 | X57640Y-28040
63 | X57790Y-30970
64 | X58030Y-31750
65 | X58030Y-37640
66 | X58180Y-26730
67 | X58180Y-30130
68 | X58290Y-30970
69 | X58330Y-31940
70 | X58330Y-37130
71 | X58550Y-27520
72 | X58550Y-30010
73 | X58580Y-32150
74 | X58580Y-37900
75 | X58650Y-49990
76 | X58690Y-30970
77 | X58720Y-40840
78 | X58880Y-31670
79 | X58880Y-37390
80 | X58890Y-26710
81 | X58890Y-30010
82 | X59090Y-30970
83 | X59190Y-32970
84 | X59190Y-33570
85 | X59190Y-35770
86 | X59190Y-36170
87 | X59190Y-37170
88 | X59190Y-37770
89 | X59260Y-27490
90 | X59260Y-30130
91 | X59690Y-36170
92 | X59790Y-32440
93 | X59790Y-32970
94 | X59790Y-33570
95 | X59790Y-37170
96 | X59790Y-37770
97 | X59900Y-41420
98 | X60070Y-28750
99 | X60070Y-36530
100 | X60170Y-25450
101 | X60240Y-21320
102 | X60240Y-26190
103 | X60360Y-36830
104 | X60620Y-28380
105 | X60900Y-44390
106 | X61490Y-39270
107 | X61490Y-39870
108 | X61490Y-41370
109 | X61490Y-42370
110 | X61490Y-42870
111 | X61490Y-44770
112 | X61490Y-46970
113 | X61490Y-47470
114 | X61640Y-23770
115 | X62090Y-39270
116 | X62090Y-39870
117 | X62090Y-41370
118 | X62090Y-42370
119 | X62090Y-42870
120 | X62090Y-44770
121 | X62090Y-45270
122 | X62090Y-46970
123 | X62090Y-47470
124 | X62130Y-51400
125 | X62500Y-52450
126 | X62765Y-22970
127 | X62850Y-48410
128 | X63200Y-50870
129 | X63200Y-52450
130 | X63790Y-34810
131 | X63790Y-41730
132 | X63790Y-44390
133 | X64390Y-46020
134 | X64590Y-24070
135 | X64590Y-24570
136 | X64590Y-29670
137 | X64590Y-30170
138 | X64690Y-41100
139 | X64690Y-44900
140 | X64950Y-47870
141 | X65290Y-24070
142 | X65290Y-24570
143 | X65290Y-29670
144 | X65290Y-30170
145 | X66390Y-45270
146 | X66420Y-46090
147 | X66700Y-38130
148 | X66700Y-40320
149 | X67180Y-43040
150 | X67180Y-45150
151 | X67900Y-46630
152 | X68610Y-46090
153 | X68900Y-46740
154 | X69250Y-35840
155 | X69250Y-38330
156 | X72520Y-48490
157 | X72630Y-44390
158 | X75090Y-47180
159 | X75100Y-50870
160 | X75810Y-52430
161 | X76640Y-48490
162 | T2
163 | X44720Y-38510
164 | X44720Y-44510
165 | X45720Y-38510
166 | X45720Y-44510
167 | X46720Y-38510
168 | X46720Y-44510
169 | X47720Y-38510
170 | X47720Y-44510
171 | X48720Y-38510
172 | X48720Y-44510
173 | X49720Y-38510
174 | X49720Y-44510
175 | X50720Y-38510
176 | X50720Y-44510
177 | X51720Y-38510
178 | X51720Y-44510
179 | X52720Y-38510
180 | X52720Y-44510
181 | X53720Y-38510
182 | X53720Y-44510
183 | X54720Y-38510
184 | X54720Y-44510
185 | X54800Y-25620
186 | X54800Y-28580
187 | X55720Y-38510
188 | X55720Y-44510
189 | X56720Y-38510
190 | X56720Y-44510
191 | X56900Y-46500
192 | X56900Y-47500
193 | X57720Y-38510
194 | X57720Y-44510
195 | X57900Y-46500
196 | X57900Y-47500
197 | X58720Y-38510
198 | X58720Y-44510
199 | X58900Y-46500
200 | X58900Y-47500
201 | X59900Y-46500
202 | X59900Y-47500
203 | X60900Y-46500
204 | X60900Y-47500
205 | X63000Y-25620
206 | X63000Y-28580
207 | X67900Y-47490
208 | X68900Y-47490
209 | X69900Y-47490
210 | T3
211 | X54406Y-22440
212 | X55390Y-22440
213 | T4
214 | X42361Y-36146
215 | X75432Y-36146
216 | T0
217 | M30
218 |
--------------------------------------------------------------------------------
/KiCad/0_Enc_Board/Enc_Board.pro:
--------------------------------------------------------------------------------
1 | update=Mon 31 Jul 2017 10:04:56 AM MDT
2 | version=1
3 | last_client=kicad
4 | [general]
5 | version=1
6 | RootSch=
7 | BoardNm=
8 | [pcbnew]
9 | version=1
10 | LastNetListRead=
11 | UseCmpFile=1
12 | PadDrill=0.600000000000
13 | PadDrillOvalY=0.600000000000
14 | PadSizeH=1.500000000000
15 | PadSizeV=1.500000000000
16 | PcbTextSizeV=1.500000000000
17 | PcbTextSizeH=1.500000000000
18 | PcbTextThickness=0.300000000000
19 | ModuleTextSizeV=1.000000000000
20 | ModuleTextSizeH=1.000000000000
21 | ModuleTextSizeThickness=0.150000000000
22 | SolderMaskClearance=0.000000000000
23 | SolderMaskMinWidth=0.000000000000
24 | DrawSegmentWidth=0.200000000000
25 | BoardOutlineThickness=0.100000000000
26 | ModuleOutlineThickness=0.150000000000
27 | [cvpcb]
28 | version=1
29 | NetIExt=net
30 | [eeschema]
31 | version=1
32 | LibDir=
33 | [eeschema/libraries]
34 | LibName1=power
35 | LibName2=device
36 | LibName3=switches
37 | LibName4=relays
38 | LibName5=motors
39 | LibName6=transistors
40 | LibName7=conn
41 | LibName8=linear
42 | LibName9=regul
43 | LibName10=74xx
44 | LibName11=cmos4000
45 | LibName12=adc-dac
46 | LibName13=memory
47 | LibName14=xilinx
48 | LibName15=microcontrollers
49 | LibName16=dsp
50 | LibName17=microchip
51 | LibName18=analog_switches
52 | LibName19=motorola
53 | LibName20=texas
54 | LibName21=intel
55 | LibName22=audio
56 | LibName23=interface
57 | LibName24=digital-audio
58 | LibName25=philips
59 | LibName26=display
60 | LibName27=cypress
61 | LibName28=siliconi
62 | LibName29=opto
63 | LibName30=atmel
64 | LibName31=contrib
65 | LibName32=valves
66 |
--------------------------------------------------------------------------------
/KiCad/0_Enc_Board/Enc_Boardsch:
--------------------------------------------------------------------------------
1 | EESchema Schematic File Version 2
2 | LIBS:power
3 | LIBS:device
4 | LIBS:switches
5 | LIBS:relays
6 | LIBS:motors
7 | LIBS:transistors
8 | LIBS:conn
9 | LIBS:linear
10 | LIBS:regul
11 | LIBS:74xx
12 | LIBS:cmos4000
13 | LIBS:adc-dac
14 | LIBS:memory
15 | LIBS:xilinx
16 | LIBS:microcontrollers
17 | LIBS:dsp
18 | LIBS:microchip
19 | LIBS:analog_switches
20 | LIBS:motorola
21 | LIBS:texas
22 | LIBS:intel
23 | LIBS:audio
24 | LIBS:interface
25 | LIBS:digital-audio
26 | LIBS:philips
27 | LIBS:display
28 | LIBS:cypress
29 | LIBS:siliconi
30 | LIBS:opto
31 | LIBS:atmel
32 | LIBS:contrib
33 | LIBS:valves
34 | LIBS:transistor
35 | LIBS:sources
36 | LIBS:sensors
37 | LIBS:MC_Board_Headers
38 | LIBS:logic
39 | LIBS:lipo
40 | LIBS:ic
41 | LIBS:driver
42 | LIBS:SumoBot-cache
43 | EELAYER 25 0
44 | EELAYER END
45 | $Descr A3 16535 11693
46 | encoding utf-8
47 | Sheet 1 1
48 | Title "Motor Encoder"
49 | Date "2017-12-16"
50 | Rev "2.0"
51 | Comp "Hochschule Luzern"
52 | Comment1 ""
53 | Comment2 ""
54 | Comment3 ""
55 | Comment4 ""
56 | $EndDescr
57 | $Comp
58 | L DVR5013 U1
59 | U 1 1 59E4CE79
60 | P 2600 1900
61 | F 0 "U1" H 2400 2200 60 0000 C CNN
62 | F 1 "DRV5013" H 2450 1600 60 0000 C CNN
63 | F 2 "TO_SOT_Packages_SMD:SOT-23" H 2600 1900 60 0001 C CNN
64 | F 3 "" H 2600 1900 60 0001 C CNN
65 | 1 2600 1900
66 | 1 0 0 -1
67 | $EndComp
68 | $Comp
69 | L GND #PWR01
70 | U 1 1 59EC019D
71 | P 2850 2100
72 | F 0 "#PWR01" H 2850 1850 50 0001 C CNN
73 | F 1 "GND" H 2850 1950 50 0000 C CNN
74 | F 2 "" H 2850 2100 50 0001 C CNN
75 | F 3 "" H 2850 2100 50 0001 C CNN
76 | 1 2850 2100
77 | 1 0 0 -1
78 | $EndComp
79 | $Comp
80 | L +3V3 #PWR02
81 | U 1 1 59EC13DE
82 | P 3100 1450
83 | F 0 "#PWR02" H 3100 1300 50 0001 C CNN
84 | F 1 "+3V3" H 3100 1590 50 0000 C CNN
85 | F 2 "" H 3100 1450 50 0001 C CNN
86 | F 3 "" H 3100 1450 50 0001 C CNN
87 | 1 3100 1450
88 | 1 0 0 -1
89 | $EndComp
90 | $Comp
91 | L R R2
92 | U 1 1 59EC1BDD
93 | P 3100 1700
94 | F 0 "R2" V 3000 1700 50 0000 C CNN
95 | F 1 "N/P" V 3200 1700 50 0000 C CNN
96 | F 2 "Resistors_SMD:R_0805" V 3030 1700 50 0001 C CNN
97 | F 3 "" H 3100 1700 50 0001 C CNN
98 | 1 3100 1700
99 | 1 0 0 -1
100 | $EndComp
101 | Text Label 3650 1900 2 60 ~ 0
102 | Enc_L_A
103 | Text Notes 2400 1100 0 118 ~ 0
104 | Motor Encoder
105 | Wire Wire Line
106 | 2800 1750 2900 1750
107 | Wire Wire Line
108 | 2900 1750 2900 1500
109 | Wire Wire Line
110 | 2900 1500 3100 1500
111 | Wire Wire Line
112 | 3100 1450 3100 1550
113 | Connection ~ 3100 1500
114 | Wire Wire Line
115 | 2800 1900 3650 1900
116 | Wire Wire Line
117 | 3100 1900 3100 1850
118 | Wire Wire Line
119 | 2800 2050 2850 2050
120 | Wire Wire Line
121 | 2850 2050 2850 2100
122 | Connection ~ 3100 1900
123 | Connection ~ 3100 2800
124 | Wire Wire Line
125 | 2850 2950 2850 3000
126 | Wire Wire Line
127 | 2800 2950 2850 2950
128 | Wire Wire Line
129 | 3100 2800 3100 2750
130 | Wire Wire Line
131 | 2800 2800 3650 2800
132 | Connection ~ 3100 2400
133 | Wire Wire Line
134 | 3100 2350 3100 2450
135 | Wire Wire Line
136 | 2900 2400 3100 2400
137 | Wire Wire Line
138 | 2900 2650 2900 2400
139 | Wire Wire Line
140 | 2800 2650 2900 2650
141 | Text Label 3650 2800 2 60 ~ 0
142 | Enc_L_B
143 | $Comp
144 | L R R3
145 | U 1 1 59EC2C5F
146 | P 3100 2600
147 | F 0 "R3" V 3000 2600 50 0000 C CNN
148 | F 1 "N/P" V 3200 2600 50 0000 C CNN
149 | F 2 "Resistors_SMD:R_0805" V 3030 2600 50 0001 C CNN
150 | F 3 "" H 3100 2600 50 0001 C CNN
151 | 1 3100 2600
152 | 1 0 0 -1
153 | $EndComp
154 | $Comp
155 | L +3V3 #PWR03
156 | U 1 1 59EC15CB
157 | P 3100 2350
158 | F 0 "#PWR03" H 3100 2200 50 0001 C CNN
159 | F 1 "+3V3" H 3100 2490 50 0000 C CNN
160 | F 2 "" H 3100 2350 50 0001 C CNN
161 | F 3 "" H 3100 2350 50 0001 C CNN
162 | 1 3100 2350
163 | 1 0 0 -1
164 | $EndComp
165 | $Comp
166 | L DVR5013 U2
167 | U 1 1 59EC1216
168 | P 2600 2800
169 | F 0 "U2" H 2400 3100 60 0000 C CNN
170 | F 1 "DRV5013" H 2450 2500 60 0000 C CNN
171 | F 2 "TO_SOT_Packages_SMD:SOT-23" H 2600 2800 60 0001 C CNN
172 | F 3 "" H 2600 2800 60 0001 C CNN
173 | 1 2600 2800
174 | 1 0 0 -1
175 | $EndComp
176 | $Comp
177 | L GND #PWR04
178 | U 1 1 59EC0235
179 | P 2850 3000
180 | F 0 "#PWR04" H 2850 2750 50 0001 C CNN
181 | F 1 "GND" H 2850 2850 50 0000 C CNN
182 | F 2 "" H 2850 3000 50 0001 C CNN
183 | F 3 "" H 2850 3000 50 0001 C CNN
184 | 1 2850 3000
185 | 1 0 0 -1
186 | $EndComp
187 | $Comp
188 | L +3V3 #PWR05
189 | U 1 1 5A9DAEBF
190 | P 4250 2700
191 | F 0 "#PWR05" H 4250 2550 50 0001 C CNN
192 | F 1 "+3V3" H 4250 2840 50 0000 C CNN
193 | F 2 "" H 4250 2700 50 0001 C CNN
194 | F 3 "" H 4250 2700 50 0001 C CNN
195 | 1 4250 2700
196 | 0 -1 -1 0
197 | $EndComp
198 | $Comp
199 | L GND #PWR06
200 | U 1 1 5A9DB3B4
201 | P 4250 2800
202 | F 0 "#PWR06" H 4250 2550 50 0001 C CNN
203 | F 1 "GND" H 4250 2650 50 0000 C CNN
204 | F 2 "" H 4250 2800 50 0001 C CNN
205 | F 3 "" H 4250 2800 50 0001 C CNN
206 | 1 4250 2800
207 | 0 1 1 0
208 | $EndComp
209 | Wire Wire Line
210 | 3650 1900 3650 2500
211 | Wire Wire Line
212 | 3650 2500 4250 2500
213 | Wire Wire Line
214 | 4250 2600 3650 2600
215 | Wire Wire Line
216 | 3650 2600 3650 2800
217 | $Comp
218 | L Conn_01x06 J1
219 | U 1 1 5A9DB9A5
220 | P 4450 2700
221 | F 0 "J1" H 4450 3000 50 0000 C CNN
222 | F 1 "Conn_01x06" H 4450 2300 50 0000 C CNN
223 | F 2 "Pin_Headers:Pin_Header_Straight_1x06_Pitch2.54mm" H 4450 2700 50 0001 C CNN
224 | F 3 "" H 4450 2700 50 0001 C CNN
225 | 1 4450 2700
226 | 1 0 0 -1
227 | $EndComp
228 | $Comp
229 | L Conn_01x01 J2
230 | U 1 1 5A9DBA4D
231 | P 4500 3500
232 | F 0 "J2" H 4500 3600 50 0000 C CNN
233 | F 1 "Mot+" H 4500 3400 50 0000 C CNN
234 | F 2 "Pin_Headers:Pin_Header_Straight_1x01_Pitch2.54mm" H 4500 3500 50 0001 C CNN
235 | F 3 "" H 4500 3500 50 0001 C CNN
236 | 1 4500 3500
237 | 1 0 0 -1
238 | $EndComp
239 | $Comp
240 | L Conn_01x01 J3
241 | U 1 1 5A9DBB26
242 | P 4500 3850
243 | F 0 "J3" H 4500 3950 50 0000 C CNN
244 | F 1 "Mot-" H 4500 3750 50 0000 C CNN
245 | F 2 "Pin_Headers:Pin_Header_Straight_1x01_Pitch2.54mm" H 4500 3850 50 0001 C CNN
246 | F 3 "" H 4500 3850 50 0001 C CNN
247 | 1 4500 3850
248 | 1 0 0 -1
249 | $EndComp
250 | Wire Wire Line
251 | 4250 2900 3950 2900
252 | Wire Wire Line
253 | 3950 2900 3950 3850
254 | Wire Wire Line
255 | 3950 3850 4300 3850
256 | Wire Wire Line
257 | 4300 3500 4050 3500
258 | Wire Wire Line
259 | 4050 3500 4050 3000
260 | Wire Wire Line
261 | 4050 3000 4250 3000
262 | $EndSCHEMATC
263 |
--------------------------------------------------------------------------------
/KiCad/0_Enc_Board/Enc_Boardsch.pro:
--------------------------------------------------------------------------------
1 | update=Mon 31 Jul 2017 10:04:56 AM MDT
2 | version=1
3 | last_client=kicad
4 | [general]
5 | version=1
6 | RootSch=
7 | BoardNm=
8 | [pcbnew]
9 | version=1
10 | LastNetListRead=
11 | UseCmpFile=1
12 | PadDrill=0.600000000000
13 | PadDrillOvalY=0.600000000000
14 | PadSizeH=1.500000000000
15 | PadSizeV=1.500000000000
16 | PcbTextSizeV=1.500000000000
17 | PcbTextSizeH=1.500000000000
18 | PcbTextThickness=0.300000000000
19 | ModuleTextSizeV=1.000000000000
20 | ModuleTextSizeH=1.000000000000
21 | ModuleTextSizeThickness=0.150000000000
22 | SolderMaskClearance=0.000000000000
23 | SolderMaskMinWidth=0.000000000000
24 | DrawSegmentWidth=0.200000000000
25 | BoardOutlineThickness=0.100000000000
26 | ModuleOutlineThickness=0.150000000000
27 | [cvpcb]
28 | version=1
29 | NetIExt=net
30 | [eeschema]
31 | version=1
32 | LibDir=
33 | [eeschema/libraries]
34 | LibName1=power
35 | LibName2=device
36 | LibName3=switches
37 | LibName4=relays
38 | LibName5=motors
39 | LibName6=transistors
40 | LibName7=conn
41 | LibName8=linear
42 | LibName9=regul
43 | LibName10=74xx
44 | LibName11=cmos4000
45 | LibName12=adc-dac
46 | LibName13=memory
47 | LibName14=xilinx
48 | LibName15=microcontrollers
49 | LibName16=dsp
50 | LibName17=microchip
51 | LibName18=analog_switches
52 | LibName19=motorola
53 | LibName20=texas
54 | LibName21=intel
55 | LibName22=audio
56 | LibName23=interface
57 | LibName24=digital-audio
58 | LibName25=philips
59 | LibName26=display
60 | LibName27=cypress
61 | LibName28=siliconi
62 | LibName29=opto
63 | LibName30=atmel
64 | LibName31=contrib
65 | LibName32=valves
66 |
--------------------------------------------------------------------------------
/KiCad/0_Enc_Board/Enc_Output/DruckAuftrag_V1.xps:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Scavenger18/RepoPNP/e980bc18a5df81e3aeadb6f7054ebdd66c024168/KiCad/0_Enc_Board/Enc_Output/DruckAuftrag_V1.xps
--------------------------------------------------------------------------------
/KiCad/0_Enc_Board/Enc_Output/Enc_Board-Edge.Cuts.gm1:
--------------------------------------------------------------------------------
1 | G04 #@! TF.FileFunction,Profile,NP*
2 | %FSLAX46Y46*%
3 | G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
4 | G04 Created by KiCad (PCBNEW 4.0.7) date 03/05/18 16:21:59*
5 | %MOMM*%
6 | %LPD*%
7 | G01*
8 | G04 APERTURE LIST*
9 | %ADD10C,0.020000*%
10 | %ADD11C,0.010000*%
11 | G04 APERTURE END LIST*
12 | D10*
13 | D11*
14 | X168122600Y-96189800D02*
15 | X168122600Y-63169800D01*
16 | X208762600Y-96189800D02*
17 | X168122600Y-96189800D01*
18 | X208762600Y-63169800D02*
19 | X208762600Y-96189800D01*
20 | X168122600Y-63169800D02*
21 | X208762600Y-63169800D01*
22 | M02*
23 |
--------------------------------------------------------------------------------
/KiCad/0_Enc_Board/Enc_Output/Enc_Board.drl:
--------------------------------------------------------------------------------
1 | M48
2 | ;DRILL file {KiCad 4.0.7} date 03/05/18 16:22:09
3 | ;FORMAT={2:4/ absolute / inch / suppress trailing zeros}
4 | FMAT,2
5 | INCH,LZ
6 | T1C0.016
7 | T2C0.039
8 | T3C0.120
9 | %
10 | G90
11 | G05
12 | M72
13 | T1
14 | X07569Y-02987
15 | T2
16 | X07469Y-02737
17 | X07469Y-03487
18 | X07769Y-02787
19 | X07769Y-02887
20 | X07769Y-02987
21 | X07769Y-03087
22 | X07769Y-03187
23 | X07769Y-03287
24 | T3
25 | X06894Y-02712
26 | X06894Y-03562
27 | X08019Y-02712
28 | X08019Y-03562
29 | T0
30 | M30
31 |
--------------------------------------------------------------------------------
/KiCad/0_Enc_Board/Enc_Output/Enc_Board_V1.cam:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Scavenger18/RepoPNP/e980bc18a5df81e3aeadb6f7054ebdd66c024168/KiCad/0_Enc_Board/Enc_Output/Enc_Board_V1.cam
--------------------------------------------------------------------------------
/KiCad/0_Enc_Board/Enc_PCB.txt:
--------------------------------------------------------------------------------
1 | Hinweis:Die Voreinstellung der Linienbreite wurde verletzt!
2 | Fehler:Konnte das Ausgabeverzeichnis 'C:\home\simon\Documents\KiCad\Projects\SumoBot\DAC_Sumo_Gerber' nicht erstellen.
3 |
4 |
--------------------------------------------------------------------------------
/KiCad/0_Enc_Board/Footprints/Buttons_Switches.pretty/SW_SPDT_PCM12.kicad_mod:
--------------------------------------------------------------------------------
1 | (module Buttons_Switches_SMD:SW_SPDT_PCM12 (layer F.Cu) (tedit 5A0B631B)
2 | (descr "Ultraminiature Surface Mount Slide Switch")
3 | (attr smd)
4 | (fp_text reference REF** (at 0 -3.2) (layer F.SilkS)
5 | (effects (font (size 1 1) (thickness 0.15)))
6 | )
7 | (fp_text value SW_SPDT_PCM12 (at 0 4.25) (layer F.Fab)
8 | (effects (font (size 1 1) (thickness 0.15)))
9 | )
10 | (fp_text user %R (at 0 -3.2) (layer F.Fab)
11 | (effects (font (size 1 1) (thickness 0.15)))
12 | )
13 | (fp_line (start -1.4 1.65) (end -1.4 2.95) (layer F.Fab) (width 0.1))
14 | (fp_line (start -1.4 2.95) (end -1.2 3.15) (layer F.Fab) (width 0.1))
15 | (fp_line (start -1.2 3.15) (end -0.35 3.15) (layer F.Fab) (width 0.1))
16 | (fp_line (start -0.35 3.15) (end -0.15 2.95) (layer F.Fab) (width 0.1))
17 | (fp_line (start -0.15 2.95) (end -0.1 2.9) (layer F.Fab) (width 0.1))
18 | (fp_line (start -0.1 2.9) (end -0.1 1.6) (layer F.Fab) (width 0.1))
19 | (fp_line (start -3.35 -1) (end -3.35 1.6) (layer F.Fab) (width 0.1))
20 | (fp_line (start -3.35 1.6) (end 3.35 1.6) (layer F.Fab) (width 0.1))
21 | (fp_line (start 3.35 1.6) (end 3.35 -1) (layer F.Fab) (width 0.1))
22 | (fp_line (start 3.35 -1) (end -3.35 -1) (layer F.Fab) (width 0.1))
23 | (fp_line (start 1.4 -1.12) (end 1.6 -1.12) (layer F.SilkS) (width 0.12))
24 | (fp_line (start -4.4 -2.45) (end 4.4 -2.45) (layer F.CrtYd) (width 0.05))
25 | (fp_line (start 4.4 -2.45) (end 4.4 2.1) (layer F.CrtYd) (width 0.05))
26 | (fp_line (start 4.4 2.1) (end 1.65 2.1) (layer F.CrtYd) (width 0.05))
27 | (fp_line (start 1.65 2.1) (end 1.65 3.4) (layer F.CrtYd) (width 0.05))
28 | (fp_line (start 1.65 3.4) (end -1.65 3.4) (layer F.CrtYd) (width 0.05))
29 | (fp_line (start -1.65 3.4) (end -1.65 2.1) (layer F.CrtYd) (width 0.05))
30 | (fp_line (start -1.65 2.1) (end -4.4 2.1) (layer F.CrtYd) (width 0.05))
31 | (fp_line (start -4.4 2.1) (end -4.4 -2.45) (layer F.CrtYd) (width 0.05))
32 | (fp_line (start -1.4 3.02) (end -1.2 3.23) (layer F.SilkS) (width 0.12))
33 | (fp_line (start -0.1 3.02) (end -0.3 3.23) (layer F.SilkS) (width 0.12))
34 | (fp_line (start -1.4 1.73) (end -1.4 3.02) (layer F.SilkS) (width 0.12))
35 | (fp_line (start -1.2 3.23) (end -0.3 3.23) (layer F.SilkS) (width 0.12))
36 | (fp_line (start -0.1 3.02) (end -0.1 1.73) (layer F.SilkS) (width 0.12))
37 | (fp_line (start -2.85 1.73) (end 2.85 1.73) (layer F.SilkS) (width 0.12))
38 | (fp_line (start -1.6 -1.12) (end 0.1 -1.12) (layer F.SilkS) (width 0.12))
39 | (fp_line (start -3.45 -0.07) (end -3.45 0.72) (layer F.SilkS) (width 0.12))
40 | (fp_line (start 3.45 0.72) (end 3.45 -0.07) (layer F.SilkS) (width 0.12))
41 | (pad "" np_thru_hole circle (at -1.5 0.33) (size 0.9 0.9) (drill 0.9) (layers *.Cu *.Mask))
42 | (pad "" np_thru_hole circle (at 1.5 0.33) (size 0.9 0.9) (drill 0.9) (layers *.Cu *.Mask))
43 | (pad 1 smd rect (at -2.25 -1.43) (size 0.7 1.5) (layers F.Cu F.Paste F.Mask))
44 | (pad 2 smd rect (at 0.75 -1.43) (size 0.7 1.5) (layers F.Cu F.Paste F.Mask))
45 | (pad 3 smd rect (at 2.25 -1.43) (size 0.7 1.5) (layers F.Cu F.Paste F.Mask))
46 | (pad 4 smd rect (at -3.65 1.43) (size 1 0.8) (layers F.Cu F.Paste F.Mask)
47 | (zone_connect 2))
48 | (pad 4 smd rect (at 3.65 1.43) (size 1 0.8) (layers F.Cu F.Paste F.Mask)
49 | (zone_connect 2))
50 | (pad 4 smd rect (at 3.65 -0.78) (size 1 0.8) (layers F.Cu F.Paste F.Mask)
51 | (zone_connect 2))
52 | (pad 4 smd rect (at -3.65 -0.78) (size 1 0.8) (layers F.Cu F.Paste F.Mask)
53 | (zone_connect 2))
54 | (model ${KISYS3DMOD}/Buttons_Switches_SMD.3dshapes/SW_SPDT_PCM12.wrl
55 | (at (xyz 0 0 0))
56 | (scale (xyz 1 1 1))
57 | (rotate (xyz 0 0 0))
58 | )
59 | )
60 |
--------------------------------------------------------------------------------
/KiCad/0_Enc_Board/Footprints/Current_Sources.pretty/SOT343_BCR402W.kicad_mod:
--------------------------------------------------------------------------------
1 | (module SOT343_BCR402W (layer F.Cu) (tedit 59FC1CB6)
2 | (fp_text reference REF** (at 0.9 -2.9) (layer F.SilkS)
3 | (effects (font (size 1 1) (thickness 0.15)))
4 | )
5 | (fp_text value SOT343_BCR402W (at 0.8 1.5) (layer F.Fab)
6 | (effects (font (size 1 1) (thickness 0.15)))
7 | )
8 | (fp_line (start -0.4 -1.2) (end 1.7 -1.2) (layer F.Fab) (width 0.15))
9 | (fp_line (start 1.7 -1.2) (end 1.7 -0.4) (layer F.Fab) (width 0.15))
10 | (fp_line (start 1.7 -0.4) (end -0.4 -0.4) (layer F.Fab) (width 0.15))
11 | (fp_line (start -0.4 -0.4) (end -0.4 -1.2) (layer F.Fab) (width 0.15))
12 | (fp_line (start -0.5 -2.2) (end -0.5 0.6) (layer F.SilkS) (width 0.15))
13 | (fp_line (start -0.5 0.6) (end 1.8 0.6) (layer F.SilkS) (width 0.15))
14 | (fp_line (start 1.8 0.6) (end 1.8 -2.2) (layer F.SilkS) (width 0.15))
15 | (fp_line (start 1.8 -2.2) (end -0.5 -2.2) (layer F.SilkS) (width 0.15))
16 | (pad 4 smd rect (at 0 -1.6) (size 0.6 0.8) (layers F.Cu F.Paste F.Mask))
17 | (pad 3 smd rect (at 1.3 -1.6) (size 0.6 0.8) (layers F.Cu F.Paste F.Mask))
18 | (pad 1 smd rect (at 0 0) (size 0.6 0.8) (layers F.Cu F.Paste F.Mask))
19 | (pad 2 smd rect (at 1.15 0) (size 0.9 0.8) (layers F.Cu F.Paste F.Mask))
20 | )
21 |
--------------------------------------------------------------------------------
/KiCad/0_Enc_Board/Footprints/Custom_Mounting_Holes.pretty/MountingHole_2.5mm.kicad_mod:
--------------------------------------------------------------------------------
1 | (module MountingHole_2.5mm (layer F.Cu) (tedit 5A142272)
2 | (descr "Mounting Hole 2.5mm, no annular")
3 | (tags "mounting hole 2.5mm no annular")
4 | (attr virtual)
5 | (fp_text reference REF** (at 0 -3.5) (layer F.SilkS) hide
6 | (effects (font (size 1 1) (thickness 0.15)))
7 | )
8 | (fp_text value MountingHole_2.5mm (at 0 3.5) (layer F.Fab) hide
9 | (effects (font (size 1 1) (thickness 0.15)))
10 | )
11 | (fp_text user %R (at 5 -1.9) (layer F.Fab) hide
12 | (effects (font (size 1 1) (thickness 0.15)))
13 | )
14 | (fp_circle (center 0 0) (end 2.5 0) (layer Cmts.User) (width 0.15))
15 | (fp_circle (center 0 0) (end 2.75 0) (layer F.CrtYd) (width 0.05))
16 | (pad "" np_thru_hole circle (at 0 0) (size 2.5 2.5) (drill 2.5) (layers *.Cu *.Mask)
17 | (clearance 1.3))
18 | )
19 |
--------------------------------------------------------------------------------
/KiCad/0_Enc_Board/Footprints/Custom_Mounting_Holes.pretty/MountingHole_2.7mm_M2.5.kicad_mod:
--------------------------------------------------------------------------------
1 | (module MountingHole_2.7mm_M2.5 (layer F.Cu) (tedit 5A154983)
2 | (descr "Mounting Hole 2.7mm, no annular, M2.5")
3 | (tags "mounting hole 2.7mm no annular m2.5")
4 | (attr virtual)
5 | (fp_text reference REF** (at 0 -3.7) (layer F.SilkS) hide
6 | (effects (font (size 1 1) (thickness 0.15)))
7 | )
8 | (fp_text value MountingHole_2.7mm_M2.5 (at 0 3.7) (layer F.Fab) hide
9 | (effects (font (size 1 1) (thickness 0.15)))
10 | )
11 | (fp_text user %R (at 5 -2.9) (layer F.Fab) hide
12 | (effects (font (size 1 1) (thickness 0.15)))
13 | )
14 | (fp_circle (center 0 0) (end 2.7 0) (layer Cmts.User) (width 0.15))
15 | (fp_circle (center 0 0) (end 2.95 0) (layer F.CrtYd) (width 0.05))
16 | (pad "" np_thru_hole circle (at 0 0) (size 2.7 2.7) (drill 2.7) (layers *.Cu *.Mask)
17 | (clearance 1.2))
18 | )
19 |
--------------------------------------------------------------------------------
/KiCad/0_Enc_Board/Footprints/Inductors.pretty/SRP7028A_Inductor_Bourns.kicad_mod:
--------------------------------------------------------------------------------
1 | (module SRP7028A_Inductor_Bourns (layer F.Cu) (tedit 59FC1BB7)
2 | (fp_text reference REF** (at 0 -4.3) (layer F.SilkS)
3 | (effects (font (size 1 1) (thickness 0.15)))
4 | )
5 | (fp_text value SRP7028A_Inductor_Bourns (at 0 4.5) (layer F.Fab)
6 | (effects (font (size 1 1) (thickness 0.15)))
7 | )
8 | (fp_line (start 3.3 3.4) (end -3.3 3.4) (layer F.SilkS) (width 0.15))
9 | (fp_line (start 3.3 -3.4) (end -3.3 -3.4) (layer F.SilkS) (width 0.15))
10 | (fp_line (start -3.7 -3.3) (end -3.7 3.3) (layer F.Fab) (width 0.15))
11 | (fp_line (start -3.7 3.3) (end 3.7 3.3) (layer F.Fab) (width 0.15))
12 | (fp_line (start 3.7 3.3) (end 3.7 -3.3) (layer F.Fab) (width 0.15))
13 | (fp_line (start 3.7 -3.3) (end -3.7 -3.3) (layer F.Fab) (width 0.15))
14 | (pad 1 smd rect (at -2.7 0) (size 3 3.5) (layers F.Cu F.Paste F.Mask))
15 | (pad 2 smd rect (at 2.7 0) (size 3 3.5) (layers F.Cu F.Paste F.Mask))
16 | )
17 |
--------------------------------------------------------------------------------
/KiCad/0_Enc_Board/Footprints/Sensors.pretty/QRE1113GR.kicad_mod:
--------------------------------------------------------------------------------
1 | (module QRE1113GR (layer F.Cu) (tedit 59FC1C08)
2 | (fp_text reference REF** (at 2.4 -3.4) (layer F.SilkS)
3 | (effects (font (size 1 1) (thickness 0.15)))
4 | )
5 | (fp_text value QRE1113GR (at 2.1 1.7) (layer F.Fab)
6 | (effects (font (size 1 1) (thickness 0.15)))
7 | )
8 | (fp_line (start 3.2 -2.6) (end 3.2 0.8) (layer F.Fab) (width 0.15))
9 | (fp_line (start 3.2 0.8) (end 1.2 0.8) (layer F.Fab) (width 0.15))
10 | (fp_line (start 1.2 0.8) (end 0.8 0.4) (layer F.Fab) (width 0.15))
11 | (fp_line (start 0.8 0.4) (end 0.8 -2.6) (layer F.Fab) (width 0.15))
12 | (fp_line (start 0.8 -2.6) (end 3.2 -2.6) (layer F.Fab) (width 0.15))
13 | (fp_line (start -1 -2.4) (end 5 -2.4) (layer F.SilkS) (width 0.15))
14 | (fp_line (start 5 -2.4) (end 5 0.6) (layer F.SilkS) (width 0.15))
15 | (fp_line (start 5 0.6) (end -1 0.6) (layer F.SilkS) (width 0.15))
16 | (fp_line (start -1 0.6) (end -1 -2.4) (layer F.SilkS) (width 0.15))
17 | (pad 1 smd rect (at 0 0) (size 1.66 0.79) (layers F.Cu F.Paste F.Mask))
18 | (pad 2 smd rect (at 4 0) (size 1.66 0.79) (layers F.Cu F.Paste F.Mask))
19 | (pad 3 smd rect (at 4 -1.8) (size 1.66 0.79) (layers F.Cu F.Paste F.Mask))
20 | (pad 4 smd rect (at 0 -1.8) (size 1.66 0.79) (layers F.Cu F.Paste F.Mask))
21 | )
22 |
--------------------------------------------------------------------------------
/KiCad/0_Enc_Board/Footprints/Sensors.pretty/TSSP77038.kicad_mod:
--------------------------------------------------------------------------------
1 | (module TSSP77038 (layer F.Cu) (tedit 59FC1C33)
2 | (fp_text reference REF** (at 2.1 -1.8) (layer F.SilkS)
3 | (effects (font (size 1 1) (thickness 0.15)))
4 | )
5 | (fp_text value TSSP77038 (at 1.8 3.3) (layer F.Fab)
6 | (effects (font (size 1 1) (thickness 0.15)))
7 | )
8 | (fp_line (start -1.5 -0.9) (end -1.5 2.4) (layer F.SilkS) (width 0.15))
9 | (fp_line (start -1.5 2.4) (end 5.3 2.4) (layer F.SilkS) (width 0.15))
10 | (fp_line (start 5.3 2.4) (end 5.3 -1.1) (layer F.SilkS) (width 0.15))
11 | (fp_line (start 5.3 -1.1) (end -1.5 -1.1) (layer F.SilkS) (width 0.15))
12 | (fp_line (start -1.5 -1.1) (end -1.5 -0.9) (layer F.SilkS) (width 0.15))
13 | (pad 1 smd rect (at 0 0) (size 0.8 1.8) (layers F.Cu F.Paste F.Mask))
14 | (pad 2 smd rect (at 1.27 0) (size 0.8 1.8) (layers F.Cu F.Paste F.Mask))
15 | (pad 3 smd rect (at 2.54 0) (size 0.8 1.8) (layers F.Cu F.Paste F.Mask))
16 | (pad 4 smd rect (at 3.81 0) (size 0.8 1.8) (layers F.Cu F.Paste F.Mask))
17 | )
18 |
--------------------------------------------------------------------------------
/KiCad/0_Enc_Board/Libraries/.gitignore:
--------------------------------------------------------------------------------
1 | *.bak
2 |
--------------------------------------------------------------------------------
/KiCad/0_Enc_Board/Libraries/MC_Board_Headers.dcm:
--------------------------------------------------------------------------------
1 | EESchema-DOCLIB Version 2.0
2 | #
3 | #End Doc Library
4 |
--------------------------------------------------------------------------------
/KiCad/0_Enc_Board/Libraries/driver.dcm:
--------------------------------------------------------------------------------
1 | EESchema-DOCLIB Version 2.0
2 | #
3 | #End Doc Library
4 |
--------------------------------------------------------------------------------
/KiCad/0_Enc_Board/Libraries/ic.dcm:
--------------------------------------------------------------------------------
1 | EESchema-DOCLIB Version 2.0
2 | #
3 | #End Doc Library
4 |
--------------------------------------------------------------------------------
/KiCad/0_Enc_Board/Libraries/lipo.dcm:
--------------------------------------------------------------------------------
1 | EESchema-DOCLIB Version 2.0
2 | #
3 | #End Doc Library
4 |
--------------------------------------------------------------------------------
/KiCad/0_Enc_Board/Libraries/logic.dcm:
--------------------------------------------------------------------------------
1 | EESchema-DOCLIB Version 2.0
2 | #
3 | #End Doc Library
4 |
--------------------------------------------------------------------------------
/KiCad/0_Enc_Board/Libraries/sensors.dcm:
--------------------------------------------------------------------------------
1 | EESchema-DOCLIB Version 2.0
2 | #
3 | #End Doc Library
4 |
--------------------------------------------------------------------------------
/KiCad/0_Enc_Board/Libraries/sources.dcm:
--------------------------------------------------------------------------------
1 | EESchema-DOCLIB Version 2.0
2 | #
3 | #End Doc Library
4 |
--------------------------------------------------------------------------------
/KiCad/0_Enc_Board/Libraries/transistor.dcm:
--------------------------------------------------------------------------------
1 | EESchema-DOCLIB Version 2.0
2 | #
3 | #End Doc Library
4 |
--------------------------------------------------------------------------------
/KiCad/0_Enc_Board/Libraries/transistors.dcm:
--------------------------------------------------------------------------------
1 | EESchema-DOCLIB Version 2.0
2 | #
3 | #End Doc Library
4 |
--------------------------------------------------------------------------------
/KiCad/0_Enc_Board/SumoBot.pro:
--------------------------------------------------------------------------------
1 | update=05.03.2018 13:52:58
2 | version=1
3 | last_client=kicad
4 | [cvpcb]
5 | version=1
6 | NetIExt=net
7 | [eeschema]
8 | version=1
9 | LibDir=MyLibrarys
10 | [eeschema/libraries]
11 | LibName1=power
12 | LibName2=device
13 | LibName3=switches
14 | LibName4=relays
15 | LibName5=motors
16 | LibName6=transistors
17 | LibName7=conn
18 | LibName8=linear
19 | LibName9=regul
20 | LibName10=74xx
21 | LibName11=cmos4000
22 | LibName12=adc-dac
23 | LibName13=memory
24 | LibName14=xilinx
25 | LibName15=microcontrollers
26 | LibName16=dsp
27 | LibName17=microchip
28 | LibName18=analog_switches
29 | LibName19=motorola
30 | LibName20=texas
31 | LibName21=intel
32 | LibName22=audio
33 | LibName23=interface
34 | LibName24=digital-audio
35 | LibName25=philips
36 | LibName26=display
37 | LibName27=cypress
38 | LibName28=siliconi
39 | LibName29=opto
40 | LibName30=atmel
41 | LibName31=contrib
42 | LibName32=valves
43 | LibName33=Libraries/transistor
44 | LibName34=Libraries/sources
45 | LibName35=Libraries/sensors
46 | LibName36=Libraries/MC_Board_Headers
47 | LibName37=Libraries/logic
48 | LibName38=Libraries/lipo
49 | LibName39=Libraries/ic
50 | LibName40=Libraries/driver
51 | [general]
52 | version=1
53 | [schematic_editor]
54 | version=1
55 | PageLayoutDescrFile=
56 | PlotDirectoryName=
57 | SubpartIdSeparator=0
58 | SubpartFirstId=65
59 | NetFmtName=Pcbnew
60 | SpiceForceRefPrefix=0
61 | SpiceUseNetNumbers=0
62 | LabSize=60
63 | [pcbnew]
64 | version=1
65 | PageLayoutDescrFile=
66 | LastNetListRead=PAIND/Enc_Board.net
67 | PadDrill=0
68 | PadDrillOvalY=0
69 | PadSizeH=1
70 | PadSizeV=0.7999999999999999
71 | PcbTextSizeV=1.5
72 | PcbTextSizeH=1.5
73 | PcbTextThickness=0.3
74 | ModuleTextSizeV=1
75 | ModuleTextSizeH=1
76 | ModuleTextSizeThickness=0.15
77 | SolderMaskClearance=0.2
78 | SolderMaskMinWidth=0
79 | DrawSegmentWidth=0.5
80 | BoardOutlineThickness=0.01
81 | ModuleOutlineThickness=0.15
82 |
--------------------------------------------------------------------------------
/KiCad/0_Enc_Board/SumoBot.sch:
--------------------------------------------------------------------------------
1 | EESchema Schematic File Version 2
2 | LIBS:power
3 | LIBS:device
4 | LIBS:switches
5 | LIBS:relays
6 | LIBS:motors
7 | LIBS:transistors
8 | LIBS:conn
9 | LIBS:linear
10 | LIBS:regul
11 | LIBS:74xx
12 | LIBS:cmos4000
13 | LIBS:adc-dac
14 | LIBS:memory
15 | LIBS:xilinx
16 | LIBS:microcontrollers
17 | LIBS:dsp
18 | LIBS:microchip
19 | LIBS:analog_switches
20 | LIBS:motorola
21 | LIBS:texas
22 | LIBS:intel
23 | LIBS:audio
24 | LIBS:interface
25 | LIBS:digital-audio
26 | LIBS:philips
27 | LIBS:display
28 | LIBS:cypress
29 | LIBS:siliconi
30 | LIBS:opto
31 | LIBS:atmel
32 | LIBS:contrib
33 | LIBS:valves
34 | LIBS:transistor
35 | LIBS:sources
36 | LIBS:sensors
37 | LIBS:MC_Board_Headers
38 | LIBS:logic
39 | LIBS:lipo
40 | LIBS:ic
41 | LIBS:driver
42 | LIBS:SumoBot-cache
43 | EELAYER 25 0
44 | EELAYER END
45 | $Descr A3 16535 11693
46 | encoding utf-8
47 | Sheet 1 1
48 | Title "Motor Encoder"
49 | Date "2017-12-16"
50 | Rev "2.0"
51 | Comp "Hochschule Luzern"
52 | Comment1 ""
53 | Comment2 ""
54 | Comment3 ""
55 | Comment4 ""
56 | $EndDescr
57 | $Comp
58 | L DVR5013 U1
59 | U 1 1 59E4CE79
60 | P 2600 1900
61 | F 0 "U1" H 2400 2200 60 0000 C CNN
62 | F 1 "DRV5013" H 2450 1600 60 0000 C CNN
63 | F 2 "TO_SOT_Packages_SMD:SOT-23" H 2600 1900 60 0001 C CNN
64 | F 3 "" H 2600 1900 60 0001 C CNN
65 | 1 2600 1900
66 | 1 0 0 -1
67 | $EndComp
68 | $Comp
69 | L GND #PWR01
70 | U 1 1 59EC019D
71 | P 2850 2100
72 | F 0 "#PWR01" H 2850 1850 50 0001 C CNN
73 | F 1 "GND" H 2850 1950 50 0000 C CNN
74 | F 2 "" H 2850 2100 50 0001 C CNN
75 | F 3 "" H 2850 2100 50 0001 C CNN
76 | 1 2850 2100
77 | 1 0 0 -1
78 | $EndComp
79 | $Comp
80 | L +3V3 #PWR02
81 | U 1 1 59EC13DE
82 | P 3100 1450
83 | F 0 "#PWR02" H 3100 1300 50 0001 C CNN
84 | F 1 "+3V3" H 3100 1590 50 0000 C CNN
85 | F 2 "" H 3100 1450 50 0001 C CNN
86 | F 3 "" H 3100 1450 50 0001 C CNN
87 | 1 3100 1450
88 | 1 0 0 -1
89 | $EndComp
90 | $Comp
91 | L R R2
92 | U 1 1 59EC1BDD
93 | P 3100 1700
94 | F 0 "R2" V 3000 1700 50 0000 C CNN
95 | F 1 "N/P" V 3200 1700 50 0000 C CNN
96 | F 2 "Resistors_SMD:R_0805" V 3030 1700 50 0001 C CNN
97 | F 3 "" H 3100 1700 50 0001 C CNN
98 | 1 3100 1700
99 | 1 0 0 -1
100 | $EndComp
101 | Text Label 3650 1900 2 60 ~ 0
102 | Enc_L_A
103 | Text Notes 2400 1100 0 118 ~ 0
104 | Motor Encoder
105 | Wire Wire Line
106 | 2800 1750 2900 1750
107 | Wire Wire Line
108 | 2900 1750 2900 1500
109 | Wire Wire Line
110 | 2900 1500 3100 1500
111 | Wire Wire Line
112 | 3100 1450 3100 1550
113 | Connection ~ 3100 1500
114 | Wire Wire Line
115 | 2800 1900 3650 1900
116 | Wire Wire Line
117 | 3100 1900 3100 1850
118 | Wire Wire Line
119 | 2800 2050 2850 2050
120 | Wire Wire Line
121 | 2850 2050 2850 2100
122 | Connection ~ 3100 1900
123 | Connection ~ 3100 2800
124 | Wire Wire Line
125 | 2850 2950 2850 3000
126 | Wire Wire Line
127 | 2800 2950 2850 2950
128 | Wire Wire Line
129 | 3100 2800 3100 2750
130 | Wire Wire Line
131 | 2800 2800 3650 2800
132 | Connection ~ 3100 2400
133 | Wire Wire Line
134 | 2900 2400 3100 2400
135 | Wire Wire Line
136 | 2900 2650 2900 2400
137 | Wire Wire Line
138 | 2800 2650 2900 2650
139 | Text Label 3650 2800 2 60 ~ 0
140 | Enc_L_B
141 | $Comp
142 | L R R3
143 | U 1 1 59EC2C5F
144 | P 3100 2600
145 | F 0 "R3" V 3000 2600 50 0000 C CNN
146 | F 1 "N/P" V 3200 2600 50 0000 C CNN
147 | F 2 "Resistors_SMD:R_0805" V 3030 2600 50 0001 C CNN
148 | F 3 "" H 3100 2600 50 0001 C CNN
149 | 1 3100 2600
150 | 1 0 0 -1
151 | $EndComp
152 | $Comp
153 | L +3V3 #PWR03
154 | U 1 1 59EC15CB
155 | P 3100 2300
156 | F 0 "#PWR03" H 3100 2150 50 0001 C CNN
157 | F 1 "+3V3" H 3100 2440 50 0000 C CNN
158 | F 2 "" H 3100 2300 50 0001 C CNN
159 | F 3 "" H 3100 2300 50 0001 C CNN
160 | 1 3100 2300
161 | 1 0 0 -1
162 | $EndComp
163 | $Comp
164 | L DVR5013 U2
165 | U 1 1 59EC1216
166 | P 2600 2800
167 | F 0 "U2" H 2400 3100 60 0000 C CNN
168 | F 1 "DRV5013" H 2450 2500 60 0000 C CNN
169 | F 2 "TO_SOT_Packages_SMD:SOT-23" H 2600 2800 60 0001 C CNN
170 | F 3 "" H 2600 2800 60 0001 C CNN
171 | 1 2600 2800
172 | 1 0 0 -1
173 | $EndComp
174 | $Comp
175 | L GND #PWR04
176 | U 1 1 59EC0235
177 | P 2850 3000
178 | F 0 "#PWR04" H 2850 2750 50 0001 C CNN
179 | F 1 "GND" H 2850 2850 50 0000 C CNN
180 | F 2 "" H 2850 3000 50 0001 C CNN
181 | F 3 "" H 2850 3000 50 0001 C CNN
182 | 1 2850 3000
183 | 1 0 0 -1
184 | $EndComp
185 | Wire Wire Line
186 | 3650 1900 3650 2500
187 | Wire Wire Line
188 | 3650 2500 4250 2500
189 | Wire Wire Line
190 | 4250 2600 3650 2600
191 | Wire Wire Line
192 | 3650 2600 3650 2800
193 | $Comp
194 | L Conn_01x06 J1
195 | U 1 1 5A9DB9A5
196 | P 4450 2700
197 | F 0 "J1" H 4450 3000 50 0000 C CNN
198 | F 1 "Conn_01x06" H 4450 2300 50 0000 C CNN
199 | F 2 "Pin_Headers:Pin_Header_Straight_1x06_Pitch2.54mm" H 4450 2700 50 0001 C CNN
200 | F 3 "" H 4450 2700 50 0001 C CNN
201 | 1 4450 2700
202 | 1 0 0 -1
203 | $EndComp
204 | $Comp
205 | L Conn_01x01 J2
206 | U 1 1 5A9DBA4D
207 | P 4500 3400
208 | F 0 "J2" H 4500 3500 50 0000 C CNN
209 | F 1 "Mot+" H 4500 3300 50 0000 C CNN
210 | F 2 "Pin_Headers:Pin_Header_Straight_1x01_Pitch2.54mm" H 4500 3400 50 0001 C CNN
211 | F 3 "" H 4500 3400 50 0001 C CNN
212 | 1 4500 3400
213 | 1 0 0 -1
214 | $EndComp
215 | $Comp
216 | L Conn_01x01 J3
217 | U 1 1 5A9DBB26
218 | P 4500 3850
219 | F 0 "J3" H 4500 3950 50 0000 C CNN
220 | F 1 "Mot-" H 4500 3750 50 0000 C CNN
221 | F 2 "Pin_Headers:Pin_Header_Straight_1x01_Pitch2.54mm" H 4500 3850 50 0001 C CNN
222 | F 3 "" H 4500 3850 50 0001 C CNN
223 | 1 4500 3850
224 | 1 0 0 -1
225 | $EndComp
226 | Wire Wire Line
227 | 4250 2900 3950 2900
228 | Wire Wire Line
229 | 3950 2900 3950 3850
230 | Wire Wire Line
231 | 3950 3850 4300 3850
232 | Wire Wire Line
233 | 4050 3400 4300 3400
234 | Wire Wire Line
235 | 4050 3400 4050 3000
236 | Wire Wire Line
237 | 4050 3000 4250 3000
238 | $Comp
239 | L C C1
240 | U 1 1 5A9DD613
241 | P 4150 3650
242 | F 0 "C1" H 4175 3750 50 0000 L CNN
243 | F 1 "3n3" H 4175 3550 50 0000 L CNN
244 | F 2 "Capacitors_SMD:C_0805" H 4188 3500 50 0001 C CNN
245 | F 3 "" H 4150 3650 50 0001 C CNN
246 | 1 4150 3650
247 | 1 0 0 -1
248 | $EndComp
249 | Wire Wire Line
250 | 4150 3800 4150 3850
251 | Connection ~ 4150 3850
252 | Wire Wire Line
253 | 4150 3500 4150 3400
254 | Connection ~ 4150 3400
255 | Wire Wire Line
256 | 4250 2700 4150 2700
257 | Wire Wire Line
258 | 4150 2800 4250 2800
259 | $Comp
260 | L GND #PWR05
261 | U 1 1 5A9DDC0D
262 | P 4150 2800
263 | F 0 "#PWR05" H 4150 2550 50 0001 C CNN
264 | F 1 "GND" H 4150 2650 50 0000 C CNN
265 | F 2 "" H 4150 2800 50 0001 C CNN
266 | F 3 "" H 4150 2800 50 0001 C CNN
267 | 1 4150 2800
268 | 0 1 1 0
269 | $EndComp
270 | $Comp
271 | L +3V3 #PWR06
272 | U 1 1 5A9DDC38
273 | P 4150 2700
274 | F 0 "#PWR06" H 4150 2550 50 0001 C CNN
275 | F 1 "+3V3" H 4150 2840 50 0000 C CNN
276 | F 2 "" H 4150 2700 50 0001 C CNN
277 | F 3 "" H 4150 2700 50 0001 C CNN
278 | 1 4150 2700
279 | 0 -1 -1 0
280 | $EndComp
281 | Wire Wire Line
282 | 3100 2300 3100 2450
283 | $EndSCHEMATC
284 |
--------------------------------------------------------------------------------
/KiCad/0_Enc_Board/fp-lib-table:
--------------------------------------------------------------------------------
1 | (fp_lib_table
2 | (lib (name Current_Sources)(type KiCad)(uri "$(KIPRJMOD)/Footprints/Current_Sources.pretty")(options "")(descr ""))
3 | (lib (name Inductors)(type KiCad)(uri "$(KIPRJMOD)/Footprints/Inductors.pretty")(options "")(descr ""))
4 | (lib (name Sensors)(type KiCad)(uri "$(KIPRJMOD)/Footprints/Sensors.pretty")(options "")(descr ""))
5 | (lib (name Buttons_Switches)(type KiCad)(uri "$(KIPRJMOD)/Footprints/Buttons_Switches.pretty")(options "")(descr ""))
6 | (lib (name Custom_Mounting_Holes)(type KiCad)(uri "$(KIPRJMOD)/Footprints/Custom_Mounting_Holes.pretty")(options "")(descr ""))
7 | )
8 |
--------------------------------------------------------------------------------
/KiCad/1_H-Board/H-Bridge_Proto.net:
--------------------------------------------------------------------------------
1 | (export (version D)
2 | (design
3 | (source C:/Users/Simon/Documents/HSLU/FS18/PAIND/KiCad/1_H-Board/H-Bridge_Proto.sch)
4 | (date "06.03.2018 15:36:01")
5 | (tool "Eeschema 4.0.7")
6 | (sheet (number 1) (name /) (tstamps /)
7 | (title_block
8 | (title "DAC Sumo Robot")
9 | (company "Hochschule Luzern")
10 | (rev 2.0)
11 | (date 2017-12-16)
12 | (source H-Bridge_Proto.sch)
13 | (comment (number 1) (value ""))
14 | (comment (number 2) (value ""))
15 | (comment (number 3) (value ""))
16 | (comment (number 4) (value "")))))
17 | (components
18 | (comp (ref U1)
19 | (value DRV8835)
20 | (footprint Housings_SON:WSON-12-1EP_3x2mm_Pitch0.5mm)
21 | (libsource (lib H-Bridge_Proto-cache) (part DRV8835))
22 | (sheetpath (names /) (tstamps /))
23 | (tstamp 5A9E9815))
24 | (comp (ref C6)
25 | (value 100n)
26 | (footprint Capacitors_SMD:C_0805)
27 | (libsource (lib device) (part C))
28 | (sheetpath (names /) (tstamps /))
29 | (tstamp 5A9E981B))
30 | (comp (ref C3)
31 | (value 1u)
32 | (footprint Capacitors_SMD:C_0805)
33 | (libsource (lib device) (part C))
34 | (sheetpath (names /) (tstamps /))
35 | (tstamp 5A9E981C))
36 | (comp (ref C2)
37 | (value 220u)
38 | (footprint Capacitors_SMD:CP_Elec_6.3x7.7)
39 | (libsource (lib device) (part CP))
40 | (sheetpath (names /) (tstamps /))
41 | (tstamp 5A9E981D))
42 | (comp (ref C1)
43 | (value 220u)
44 | (footprint Capacitors_SMD:CP_Elec_6.3x7.7)
45 | (libsource (lib device) (part CP))
46 | (sheetpath (names /) (tstamps /))
47 | (tstamp 5A9E981E))
48 | (comp (ref C4)
49 | (value 3n3)
50 | (footprint Capacitors_SMD:C_0805)
51 | (libsource (lib device) (part C))
52 | (sheetpath (names /) (tstamps /))
53 | (tstamp 5A9E981F))
54 | (comp (ref C5)
55 | (value 3n3)
56 | (footprint Capacitors_SMD:C_0805)
57 | (libsource (lib device) (part C))
58 | (sheetpath (names /) (tstamps /))
59 | (tstamp 5A9E9820))
60 | (comp (ref C7)
61 | (value 100n)
62 | (footprint Capacitors_SMD:C_0805)
63 | (libsource (lib device) (part C))
64 | (sheetpath (names /) (tstamps /))
65 | (tstamp 5A9E9821))
66 | (comp (ref J1)
67 | (value Conn_01x02)
68 | (footprint Pin_Headers:Pin_Header_Straight_1x02_Pitch2.54mm)
69 | (libsource (lib conn) (part Conn_01x02))
70 | (sheetpath (names /) (tstamps /))
71 | (tstamp 5A9EBC56))
72 | (comp (ref J2)
73 | (value Conn_01x02)
74 | (footprint Pin_Headers:Pin_Header_Straight_1x02_Pitch2.54mm)
75 | (libsource (lib conn) (part Conn_01x02))
76 | (sheetpath (names /) (tstamps /))
77 | (tstamp 5A9EBD13))
78 | (comp (ref J4)
79 | (value Conn_01x02)
80 | (footprint Pin_Headers:Pin_Header_Straight_1x02_Pitch2.54mm)
81 | (libsource (lib conn) (part Conn_01x02))
82 | (sheetpath (names /) (tstamps /))
83 | (tstamp 5A9E9774))
84 | (comp (ref J3)
85 | (value Conn_01x02)
86 | (footprint Pin_Headers:Pin_Header_Straight_1x02_Pitch2.54mm)
87 | (libsource (lib conn) (part Conn_01x02))
88 | (sheetpath (names /) (tstamps /))
89 | (tstamp 5A9E98CD))
90 | (comp (ref J5)
91 | (value Conn_01x02)
92 | (footprint Pin_Headers:Pin_Header_Straight_1x02_Pitch2.54mm)
93 | (libsource (lib conn) (part Conn_01x02))
94 | (sheetpath (names /) (tstamps /))
95 | (tstamp 5A9E994E))
96 | (comp (ref J6)
97 | (value Conn_01x03)
98 | (footprint Pin_Headers:Pin_Header_Straight_1x03_Pitch2.54mm)
99 | (libsource (lib conn) (part Conn_01x03))
100 | (sheetpath (names /) (tstamps /))
101 | (tstamp 5A9EA7BF)))
102 | (libparts
103 | (libpart (lib device) (part C)
104 | (description "Unpolarized capacitor")
105 | (footprints
106 | (fp C_*))
107 | (fields
108 | (field (name Reference) C)
109 | (field (name Value) C))
110 | (pins
111 | (pin (num 1) (name ~) (type passive))
112 | (pin (num 2) (name ~) (type passive))))
113 | (libpart (lib device) (part CP)
114 | (description "Polarised capacitor")
115 | (footprints
116 | (fp CP_*))
117 | (fields
118 | (field (name Reference) C)
119 | (field (name Value) CP))
120 | (pins
121 | (pin (num 1) (name ~) (type passive))
122 | (pin (num 2) (name ~) (type passive))))
123 | (libpart (lib conn) (part Conn_01x02)
124 | (description "Generic connector, single row, 01x02")
125 | (docs ~)
126 | (footprints
127 | (fp Connector*:*_??x*mm*)
128 | (fp Connector*:*1x??x*mm*)
129 | (fp Pin?Header?Straight?1X*)
130 | (fp Pin?Header?Angled?1X*)
131 | (fp Socket?Strip?Straight?1X*)
132 | (fp Socket?Strip?Angled?1X*))
133 | (fields
134 | (field (name Reference) J)
135 | (field (name Value) Conn_01x02))
136 | (pins
137 | (pin (num 1) (name Pin_1) (type passive))
138 | (pin (num 2) (name Pin_2) (type passive))))
139 | (libpart (lib conn) (part Conn_01x03)
140 | (description "Generic connector, single row, 01x03")
141 | (docs ~)
142 | (footprints
143 | (fp Connector*:*_??x*mm*)
144 | (fp Connector*:*1x??x*mm*)
145 | (fp Pin?Header?Straight?1X*)
146 | (fp Pin?Header?Angled?1X*)
147 | (fp Socket?Strip?Straight?1X*)
148 | (fp Socket?Strip?Angled?1X*))
149 | (fields
150 | (field (name Reference) J)
151 | (field (name Value) Conn_01x03))
152 | (pins
153 | (pin (num 1) (name Pin_1) (type passive))
154 | (pin (num 2) (name Pin_2) (type passive))
155 | (pin (num 3) (name Pin_3) (type passive))))
156 | (libpart (lib H-Bridge_Proto-cache) (part DRV8835)
157 | (fields
158 | (field (name Reference) U)
159 | (field (name Value) DRV8835))
160 | (pins
161 | (pin (num 1) (name VMM) (type input))
162 | (pin (num 2) (name A_OUT1) (type output))
163 | (pin (num 3) (name A_OUT2) (type output))
164 | (pin (num 4) (name B_OUT1) (type output))
165 | (pin (num 5) (name B_OUT2) (type output))
166 | (pin (num 6) (name GND) (type input))
167 | (pin (num 7) (name B_IN2_EN) (type input))
168 | (pin (num 8) (name B_IN1_PH) (type input))
169 | (pin (num 9) (name A_IN2_EN) (type input))
170 | (pin (num 10) (name A_IN1_PH) (type input))
171 | (pin (num 11) (name MODE) (type input))
172 | (pin (num 12) (name VCC) (type input))
173 | (pin (num 13) (name GND_Thermal_Pad) (type input)))))
174 | (libraries
175 | (library (logical conn)
176 | (uri "C:\\Program Files\\KiCad\\share\\kicad\\library\\conn.lib"))
177 | (library (logical H-Bridge_Proto-cache)
178 | (uri C:\Users\Simon\Documents\HSLU\FS18\PAIND\KiCad\1_H-Board\H-Bridge_Proto-cache.lib))
179 | (library (logical device)
180 | (uri "C:\\Program Files\\KiCad\\share\\kicad\\library\\device.lib")))
181 | (nets
182 | (net (code 1) (name GND)
183 | (node (ref J6) (pin 1))
184 | (node (ref J5) (pin 2))
185 | (node (ref C6) (pin 2))
186 | (node (ref C7) (pin 1))
187 | (node (ref C1) (pin 2))
188 | (node (ref C2) (pin 2))
189 | (node (ref C3) (pin 2))
190 | (node (ref U1) (pin 13))
191 | (node (ref U1) (pin 6)))
192 | (net (code 2) (name +3V3)
193 | (node (ref U1) (pin 12))
194 | (node (ref C7) (pin 2))
195 | (node (ref J6) (pin 2)))
196 | (net (code 3) (name "Net-(J6-Pad3)")
197 | (node (ref U1) (pin 11))
198 | (node (ref J6) (pin 3)))
199 | (net (code 4) (name +8V)
200 | (node (ref C1) (pin 1))
201 | (node (ref C6) (pin 1))
202 | (node (ref C3) (pin 1))
203 | (node (ref C2) (pin 1))
204 | (node (ref J5) (pin 1))
205 | (node (ref U1) (pin 1)))
206 | (net (code 5) (name "Net-(C5-Pad1)")
207 | (node (ref U1) (pin 4))
208 | (node (ref C5) (pin 1))
209 | (node (ref J2) (pin 2)))
210 | (net (code 6) (name "Net-(C4-Pad1)")
211 | (node (ref U1) (pin 2))
212 | (node (ref J1) (pin 2))
213 | (node (ref C4) (pin 1)))
214 | (net (code 7) (name "Net-(C5-Pad2)")
215 | (node (ref U1) (pin 5))
216 | (node (ref J2) (pin 1))
217 | (node (ref C5) (pin 2)))
218 | (net (code 8) (name "Net-(C4-Pad2)")
219 | (node (ref U1) (pin 3))
220 | (node (ref J1) (pin 1))
221 | (node (ref C4) (pin 2)))
222 | (net (code 9) (name /PWM_B)
223 | (node (ref J4) (pin 2))
224 | (node (ref U1) (pin 7)))
225 | (net (code 10) (name /Dir_B)
226 | (node (ref U1) (pin 8))
227 | (node (ref J4) (pin 1)))
228 | (net (code 11) (name /PWM_A)
229 | (node (ref U1) (pin 9))
230 | (node (ref J3) (pin 2)))
231 | (net (code 12) (name /Dir_A)
232 | (node (ref U1) (pin 10))
233 | (node (ref J3) (pin 1)))))
--------------------------------------------------------------------------------
/KiCad/1_H-Board/H-Bridge_Proto.pro:
--------------------------------------------------------------------------------
1 | update=06.03.2018 14:09:27
2 | version=1
3 | last_client=kicad
4 | [pcbnew]
5 | version=1
6 | LastNetListRead=
7 | UseCmpFile=1
8 | PadDrill=0.600000000000
9 | PadDrillOvalY=0.600000000000
10 | PadSizeH=1.500000000000
11 | PadSizeV=1.500000000000
12 | PcbTextSizeV=1.500000000000
13 | PcbTextSizeH=1.500000000000
14 | PcbTextThickness=0.300000000000
15 | ModuleTextSizeV=1.000000000000
16 | ModuleTextSizeH=1.000000000000
17 | ModuleTextSizeThickness=0.150000000000
18 | SolderMaskClearance=0.000000000000
19 | SolderMaskMinWidth=0.000000000000
20 | DrawSegmentWidth=0.200000000000
21 | BoardOutlineThickness=0.100000000000
22 | ModuleOutlineThickness=0.150000000000
23 | [cvpcb]
24 | version=1
25 | NetIExt=net
26 | [eeschema]
27 | version=1
28 | LibDir=
29 | [eeschema/libraries]
30 | LibName1=power
31 | LibName2=device
32 | LibName3=switches
33 | LibName4=relays
34 | LibName5=motors
35 | LibName6=transistors
36 | LibName7=conn
37 | LibName8=linear
38 | LibName9=regul
39 | LibName10=74xx
40 | LibName11=cmos4000
41 | LibName12=adc-dac
42 | LibName13=memory
43 | LibName14=xilinx
44 | LibName15=microcontrollers
45 | LibName16=dsp
46 | LibName17=microchip
47 | LibName18=analog_switches
48 | LibName19=motorola
49 | LibName20=texas
50 | LibName21=intel
51 | LibName22=audio
52 | LibName23=interface
53 | LibName24=digital-audio
54 | LibName25=philips
55 | LibName26=display
56 | LibName27=cypress
57 | LibName28=siliconi
58 | LibName29=opto
59 | LibName30=atmel
60 | LibName31=contrib
61 | LibName32=valves
62 | [general]
63 | version=1
64 |
--------------------------------------------------------------------------------
/KiCad/1_H-Board/H-Bridge_Proto.sch:
--------------------------------------------------------------------------------
1 | EESchema Schematic File Version 2
2 | LIBS:power
3 | LIBS:device
4 | LIBS:switches
5 | LIBS:relays
6 | LIBS:motors
7 | LIBS:transistors
8 | LIBS:conn
9 | LIBS:linear
10 | LIBS:regul
11 | LIBS:74xx
12 | LIBS:cmos4000
13 | LIBS:adc-dac
14 | LIBS:memory
15 | LIBS:xilinx
16 | LIBS:microcontrollers
17 | LIBS:dsp
18 | LIBS:microchip
19 | LIBS:analog_switches
20 | LIBS:motorola
21 | LIBS:texas
22 | LIBS:intel
23 | LIBS:audio
24 | LIBS:interface
25 | LIBS:digital-audio
26 | LIBS:philips
27 | LIBS:display
28 | LIBS:cypress
29 | LIBS:siliconi
30 | LIBS:opto
31 | LIBS:atmel
32 | LIBS:contrib
33 | LIBS:valves
34 | LIBS:H-Bridge_Proto-cache
35 | EELAYER 25 0
36 | EELAYER END
37 | $Descr A3 16535 11693
38 | encoding utf-8
39 | Sheet 1 1
40 | Title "DAC Sumo Robot"
41 | Date "2017-12-16"
42 | Rev "2.0"
43 | Comp "Hochschule Luzern"
44 | Comment1 ""
45 | Comment2 ""
46 | Comment3 ""
47 | Comment4 ""
48 | $EndDescr
49 | $Comp
50 | L DRV8835 U1
51 | U 1 1 5A9E9815
52 | P 2800 2700
53 | F 0 "U1" H 2350 3300 60 0000 C CNN
54 | F 1 "DRV8835" H 2500 2250 60 0000 C CNN
55 | F 2 "Housings_SON:WSON-12-1EP_3x2mm_Pitch0.5mm" H 2800 2700 60 0001 C CNN
56 | F 3 "" H 2800 2700 60 0001 C CNN
57 | 1 2800 2700
58 | 1 0 0 -1
59 | $EndComp
60 | $Comp
61 | L C C6
62 | U 1 1 5A9E981B
63 | P 1800 1850
64 | F 0 "C6" H 1825 1950 50 0000 L CNN
65 | F 1 "100n" H 1825 1750 50 0000 L CNN
66 | F 2 "Capacitors_SMD:C_0805" H 1838 1700 50 0001 C CNN
67 | F 3 "" H 1800 1850 50 0001 C CNN
68 | 1 1800 1850
69 | 1 0 0 -1
70 | $EndComp
71 | $Comp
72 | L C C3
73 | U 1 1 5A9E981C
74 | P 1500 1850
75 | F 0 "C3" H 1525 1950 50 0000 L CNN
76 | F 1 "1u" H 1525 1750 50 0000 L CNN
77 | F 2 "Capacitors_SMD:C_0805" H 1538 1700 50 0001 C CNN
78 | F 3 "" H 1500 1850 50 0001 C CNN
79 | 1 1500 1850
80 | 1 0 0 -1
81 | $EndComp
82 | $Comp
83 | L CP C2
84 | U 1 1 5A9E981D
85 | P 1200 1850
86 | F 0 "C2" H 1225 1950 50 0000 L CNN
87 | F 1 "220u" H 1225 1750 50 0000 L CNN
88 | F 2 "Capacitors_SMD:CP_Elec_6.3x7.7" H 1238 1700 50 0001 C CNN
89 | F 3 "" H 1200 1850 50 0001 C CNN
90 | 1 1200 1850
91 | 1 0 0 -1
92 | $EndComp
93 | $Comp
94 | L CP C1
95 | U 1 1 5A9E981E
96 | P 900 1850
97 | F 0 "C1" H 925 1950 50 0000 L CNN
98 | F 1 "220u" H 925 1750 50 0000 L CNN
99 | F 2 "Capacitors_SMD:CP_Elec_6.3x7.7" H 938 1700 50 0001 C CNN
100 | F 3 "" H 900 1850 50 0001 C CNN
101 | 1 900 1850
102 | 1 0 0 -1
103 | $EndComp
104 | $Comp
105 | L C C4
106 | U 1 1 5A9E981F
107 | P 1650 2400
108 | F 0 "C4" H 1675 2500 50 0000 L CNN
109 | F 1 "3n3" H 1675 2300 50 0000 L CNN
110 | F 2 "Capacitors_SMD:C_0805" H 1688 2250 50 0001 C CNN
111 | F 3 "" H 1650 2400 50 0001 C CNN
112 | 1 1650 2400
113 | 1 0 0 -1
114 | $EndComp
115 | $Comp
116 | L C C5
117 | U 1 1 5A9E9820
118 | P 1650 2850
119 | F 0 "C5" H 1675 2950 50 0000 L CNN
120 | F 1 "3n3" H 1675 2750 50 0000 L CNN
121 | F 2 "Capacitors_SMD:C_0805" H 1688 2700 50 0001 C CNN
122 | F 3 "" H 1650 2850 50 0001 C CNN
123 | 1 1650 2850
124 | 1 0 0 -1
125 | $EndComp
126 | $Comp
127 | L C C7
128 | U 1 1 5A9E9821
129 | P 4400 2050
130 | F 0 "C7" H 4425 2150 50 0000 L CNN
131 | F 1 "100n" H 4425 1950 50 0000 L CNN
132 | F 2 "Capacitors_SMD:C_0805" H 4438 1900 50 0001 C CNN
133 | F 3 "" H 4400 2050 50 0001 C CNN
134 | 1 4400 2050
135 | 1 0 0 -1
136 | $EndComp
137 | $Comp
138 | L GND #PWR01
139 | U 1 1 5A9E9822
140 | P 2800 3400
141 | F 0 "#PWR01" H 2800 3150 50 0001 C CNN
142 | F 1 "GND" H 2800 3250 50 0000 C CNN
143 | F 2 "" H 2800 3400 50 0001 C CNN
144 | F 3 "" H 2800 3400 50 0001 C CNN
145 | 1 2800 3400
146 | 1 0 0 -1
147 | $EndComp
148 | $Comp
149 | L GND #PWR02
150 | U 1 1 5A9E9823
151 | P 900 2050
152 | F 0 "#PWR02" H 900 1800 50 0001 C CNN
153 | F 1 "GND" H 900 1900 50 0000 C CNN
154 | F 2 "" H 900 2050 50 0001 C CNN
155 | F 3 "" H 900 2050 50 0001 C CNN
156 | 1 900 2050
157 | 1 0 0 -1
158 | $EndComp
159 | $Comp
160 | L +8V #PWR03
161 | U 1 1 5A9E9824
162 | P 900 1650
163 | F 0 "#PWR03" H 900 1500 50 0001 C CNN
164 | F 1 "+8V" H 900 1790 50 0000 C CNN
165 | F 2 "" H 900 1650 50 0001 C CNN
166 | F 3 "" H 900 1650 50 0001 C CNN
167 | 1 900 1650
168 | 1 0 0 -1
169 | $EndComp
170 | $Comp
171 | L GND #PWR04
172 | U 1 1 5A9E9829
173 | P 4400 1900
174 | F 0 "#PWR04" H 4400 1650 50 0001 C CNN
175 | F 1 "GND" H 4400 1750 50 0000 C CNN
176 | F 2 "" H 4400 1900 50 0001 C CNN
177 | F 3 "" H 4400 1900 50 0001 C CNN
178 | 1 4400 1900
179 | -1 0 0 1
180 | $EndComp
181 | $Comp
182 | L +3V3 #PWR05
183 | U 1 1 5A9E982A
184 | P 4000 2050
185 | F 0 "#PWR05" H 4000 1900 50 0001 C CNN
186 | F 1 "+3V3" H 4000 2190 50 0000 C CNN
187 | F 2 "" H 4000 2050 50 0001 C CNN
188 | F 3 "" H 4000 2050 50 0001 C CNN
189 | 1 4000 2050
190 | 1 0 0 -1
191 | $EndComp
192 | Text Label 3850 2550 2 60 ~ 0
193 | Dir_A
194 | Text Label 3850 2700 2 60 ~ 0
195 | PWM_A
196 | Text Label 3850 2850 2 60 ~ 0
197 | Dir_B
198 | Text Label 3850 3000 2 60 ~ 0
199 | PWM_B
200 | Text Notes 2350 1750 0 118 ~ 0
201 | Motor Driver
202 | Wire Wire Line
203 | 2100 3000 2050 3000
204 | Wire Wire Line
205 | 2050 3000 2050 3350
206 | Wire Wire Line
207 | 2100 2850 1850 2850
208 | Wire Wire Line
209 | 1450 3000 1850 3000
210 | Wire Wire Line
211 | 1450 2550 2100 2550
212 | Wire Wire Line
213 | 2100 2400 1850 2400
214 | Wire Wire Line
215 | 1850 2400 1850 2250
216 | Wire Wire Line
217 | 1850 2250 1450 2250
218 | Connection ~ 1500 2000
219 | Connection ~ 1200 2000
220 | Wire Wire Line
221 | 900 1700 2050 1700
222 | Wire Wire Line
223 | 900 2000 1800 2000
224 | Connection ~ 1500 1700
225 | Connection ~ 1200 1700
226 | Connection ~ 1800 1700
227 | Wire Wire Line
228 | 900 1650 900 1700
229 | Wire Wire Line
230 | 900 2050 900 2000
231 | Connection ~ 900 2000
232 | Connection ~ 900 1700
233 | Wire Wire Line
234 | 1450 2700 2100 2700
235 | Wire Wire Line
236 | 1850 3000 1850 2850
237 | Wire Wire Line
238 | 2100 2250 2050 2250
239 | Connection ~ 1650 2250
240 | Connection ~ 1650 3000
241 | Connection ~ 1650 2550
242 | Connection ~ 1650 2700
243 | Wire Wire Line
244 | 2050 2250 2050 1700
245 | Wire Wire Line
246 | 3500 2550 4850 2550
247 | Wire Wire Line
248 | 3500 2700 3950 2700
249 | Wire Wire Line
250 | 3500 2850 3900 2850
251 | Wire Wire Line
252 | 3500 3000 4850 3000
253 | Connection ~ 4400 2200
254 | Wire Wire Line
255 | 3500 2400 5000 2400
256 | Wire Wire Line
257 | 2800 3300 2800 3400
258 | Wire Wire Line
259 | 2050 3350 2800 3350
260 | Connection ~ 2800 3350
261 | Wire Wire Line
262 | 3900 2850 3900 2900
263 | Wire Wire Line
264 | 3900 2900 4850 2900
265 | $Comp
266 | L +3V3 #PWR06
267 | U 1 1 5A9EB688
268 | P 5000 2150
269 | F 0 "#PWR06" H 5000 2000 50 0001 C CNN
270 | F 1 "+3V3" H 5000 2290 50 0000 C CNN
271 | F 2 "" H 5000 2150 50 0001 C CNN
272 | F 3 "" H 5000 2150 50 0001 C CNN
273 | 1 5000 2150
274 | 0 -1 -1 0
275 | $EndComp
276 | $Comp
277 | L GND #PWR07
278 | U 1 1 5A9EB6BA
279 | P 5000 1700
280 | F 0 "#PWR07" H 5000 1450 50 0001 C CNN
281 | F 1 "GND" H 5000 1550 50 0000 C CNN
282 | F 2 "" H 5000 1700 50 0001 C CNN
283 | F 3 "" H 5000 1700 50 0001 C CNN
284 | 1 5000 1700
285 | 0 1 1 0
286 | $EndComp
287 | $Comp
288 | L +8V #PWR08
289 | U 1 1 5A9EB761
290 | P 5000 1600
291 | F 0 "#PWR08" H 5000 1450 50 0001 C CNN
292 | F 1 "+8V" H 5000 1740 50 0000 C CNN
293 | F 2 "" H 5000 1600 50 0001 C CNN
294 | F 3 "" H 5000 1600 50 0001 C CNN
295 | 1 5000 1600
296 | 0 -1 -1 0
297 | $EndComp
298 | $Comp
299 | L Conn_01x02 J1
300 | U 1 1 5A9EBC56
301 | P 1250 2450
302 | F 0 "J1" H 1250 2550 50 0000 C CNN
303 | F 1 "Conn_01x02" H 1250 2250 50 0000 C CNN
304 | F 2 "Pin_Headers:Pin_Header_Straight_1x02_Pitch2.54mm" H 1250 2450 50 0001 C CNN
305 | F 3 "" H 1250 2450 50 0001 C CNN
306 | 1 1250 2450
307 | -1 0 0 1
308 | $EndComp
309 | $Comp
310 | L Conn_01x02 J2
311 | U 1 1 5A9EBD13
312 | P 1250 2900
313 | F 0 "J2" H 1250 3000 50 0000 C CNN
314 | F 1 "Conn_01x02" H 1250 2700 50 0000 C CNN
315 | F 2 "Pin_Headers:Pin_Header_Straight_1x02_Pitch2.54mm" H 1250 2900 50 0001 C CNN
316 | F 3 "" H 1250 2900 50 0001 C CNN
317 | 1 1250 2900
318 | -1 0 0 1
319 | $EndComp
320 | Wire Wire Line
321 | 1450 2250 1450 2350
322 | Wire Wire Line
323 | 1450 2450 1450 2550
324 | Wire Wire Line
325 | 1450 2700 1450 2800
326 | Wire Wire Line
327 | 1450 2900 1450 3000
328 | $Comp
329 | L Conn_01x02 J4
330 | U 1 1 5A9E9774
331 | P 5050 2900
332 | F 0 "J4" H 5050 3000 50 0000 C CNN
333 | F 1 "Conn_01x02" H 5050 2700 50 0000 C CNN
334 | F 2 "Pin_Headers:Pin_Header_Straight_1x02_Pitch2.54mm" H 5050 2900 50 0001 C CNN
335 | F 3 "" H 5050 2900 50 0001 C CNN
336 | 1 5050 2900
337 | 1 0 0 -1
338 | $EndComp
339 | $Comp
340 | L Conn_01x02 J3
341 | U 1 1 5A9E98CD
342 | P 5050 2550
343 | F 0 "J3" H 5050 2650 50 0000 C CNN
344 | F 1 "Conn_01x02" H 5050 2350 50 0000 C CNN
345 | F 2 "Pin_Headers:Pin_Header_Straight_1x02_Pitch2.54mm" H 5050 2550 50 0001 C CNN
346 | F 3 "" H 5050 2550 50 0001 C CNN
347 | 1 5050 2550
348 | 1 0 0 -1
349 | $EndComp
350 | $Comp
351 | L Conn_01x02 J5
352 | U 1 1 5A9E994E
353 | P 5200 1600
354 | F 0 "J5" H 5200 1700 50 0000 C CNN
355 | F 1 "Conn_01x02" H 5200 1400 50 0000 C CNN
356 | F 2 "Pin_Headers:Pin_Header_Straight_1x02_Pitch2.54mm" H 5200 1600 50 0001 C CNN
357 | F 3 "" H 5200 1600 50 0001 C CNN
358 | 1 5200 1600
359 | 1 0 0 -1
360 | $EndComp
361 | $Comp
362 | L GND #PWR09
363 | U 1 1 5A9E9A4A
364 | P 5000 2050
365 | F 0 "#PWR09" H 5000 1800 50 0001 C CNN
366 | F 1 "GND" H 5000 1900 50 0000 C CNN
367 | F 2 "" H 5000 2050 50 0001 C CNN
368 | F 3 "" H 5000 2050 50 0001 C CNN
369 | 1 5000 2050
370 | 0 1 1 0
371 | $EndComp
372 | Wire Wire Line
373 | 3950 2700 3950 2650
374 | Wire Wire Line
375 | 3950 2650 4850 2650
376 | Wire Wire Line
377 | 4000 2050 4000 2200
378 | Connection ~ 4000 2200
379 | $Comp
380 | L Conn_01x03 J6
381 | U 1 1 5A9EA7BF
382 | P 5200 2150
383 | F 0 "J6" H 5200 2350 50 0000 C CNN
384 | F 1 "Conn_01x03" H 5200 1950 50 0000 C CNN
385 | F 2 "Pin_Headers:Pin_Header_Straight_1x03_Pitch2.54mm" H 5200 2150 50 0001 C CNN
386 | F 3 "" H 5200 2150 50 0001 C CNN
387 | 1 5200 2150
388 | 1 0 0 -1
389 | $EndComp
390 | Wire Wire Line
391 | 5000 2400 5000 2250
392 | Wire Wire Line
393 | 4400 2200 3500 2200
394 | Wire Wire Line
395 | 3500 2200 3500 2250
396 | $EndSCHEMATC
397 |
--------------------------------------------------------------------------------
/KiCad/1_H-Board/Output/H-Bridge_Proto-Edge.Cuts.gm1:
--------------------------------------------------------------------------------
1 | G04 #@! TF.FileFunction,Profile,NP*
2 | %FSLAX46Y46*%
3 | G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
4 | G04 Created by KiCad (PCBNEW 4.0.7) date 03/06/18 20:44:10*
5 | %MOMM*%
6 | %LPD*%
7 | G01*
8 | G04 APERTURE LIST*
9 | %ADD10C,0.020000*%
10 | %ADD11C,0.150000*%
11 | G04 APERTURE END LIST*
12 | D10*
13 | D11*
14 | X125095000Y-125730000D02*
15 | X149860000Y-125730000D01*
16 | X125095000Y-93345000D02*
17 | X125095000Y-125730000D01*
18 | X149860000Y-93345000D02*
19 | X125095000Y-93345000D01*
20 | X149860000Y-93345000D02*
21 | X149860000Y-125730000D01*
22 | M02*
23 |
--------------------------------------------------------------------------------
/KiCad/1_H-Board/Output/H-Bridge_Proto.drl:
--------------------------------------------------------------------------------
1 | M48
2 | ;DRILL file {KiCad 4.0.7} date 03/06/18 20:44:36
3 | ;FORMAT={2:4/ absolute / inch / suppress trailing zeros}
4 | FMAT,2
5 | INCH,LZ
6 | T1C0.039
7 | %
8 | G90
9 | G05
10 | M72
11 | T1
12 | X0505Y-0415
13 | X0505Y-0425
14 | X0505Y-04425
15 | X0505Y-04525
16 | X0505Y-047
17 | X0505Y-048
18 | X05775Y-0405
19 | X05775Y-0415
20 | X05775Y-0425
21 | X05775Y-04425
22 | X05775Y-04525
23 | X05775Y-047
24 | X05775Y-048
25 | T0
26 | M30
27 |
--------------------------------------------------------------------------------
/KiCad/1_H-Board/Output/H-Proto.cam:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Scavenger18/RepoPNP/e980bc18a5df81e3aeadb6f7054ebdd66c024168/KiCad/1_H-Board/Output/H-Proto.cam
--------------------------------------------------------------------------------
/KiCad/2_Sprockets/Sprocket_Enc.pro:
--------------------------------------------------------------------------------
1 | update=20.03.2018 18:11:38
2 | version=1
3 | last_client=kicad
4 | [pcbnew]
5 | version=1
6 | LastNetListRead=
7 | UseCmpFile=1
8 | PadDrill=0.600000000000
9 | PadDrillOvalY=0.600000000000
10 | PadSizeH=1.500000000000
11 | PadSizeV=1.500000000000
12 | PcbTextSizeV=1.500000000000
13 | PcbTextSizeH=1.500000000000
14 | PcbTextThickness=0.300000000000
15 | ModuleTextSizeV=1.000000000000
16 | ModuleTextSizeH=1.000000000000
17 | ModuleTextSizeThickness=0.150000000000
18 | SolderMaskClearance=0.000000000000
19 | SolderMaskMinWidth=0.000000000000
20 | DrawSegmentWidth=0.200000000000
21 | BoardOutlineThickness=0.100000000000
22 | ModuleOutlineThickness=0.150000000000
23 | [cvpcb]
24 | version=1
25 | NetIExt=net
26 | [general]
27 | version=1
28 | [eeschema]
29 | version=1
30 | LibDir=../../../../../../../Dropbox/HSLU/KiCad/Libraries
31 | [eeschema/libraries]
32 | LibName1=power
33 | LibName2=device
34 | LibName3=switches
35 | LibName4=relays
36 | LibName5=motors
37 | LibName6=transistors
38 | LibName7=conn
39 | LibName8=linear
40 | LibName9=regul
41 | LibName10=74xx
42 | LibName11=cmos4000
43 | LibName12=adc-dac
44 | LibName13=memory
45 | LibName14=xilinx
46 | LibName15=microcontrollers
47 | LibName16=dsp
48 | LibName17=microchip
49 | LibName18=analog_switches
50 | LibName19=motorola
51 | LibName20=texas
52 | LibName21=intel
53 | LibName22=audio
54 | LibName23=interface
55 | LibName24=digital-audio
56 | LibName25=philips
57 | LibName26=display
58 | LibName27=cypress
59 | LibName28=siliconi
60 | LibName29=opto
61 | LibName30=atmel
62 | LibName31=contrib
63 | LibName32=valves
64 | LibName33=ee-sx1350
65 |
--------------------------------------------------------------------------------
/KiCad/2_Sprockets/Sprocket_Enc.sch:
--------------------------------------------------------------------------------
1 | EESchema Schematic File Version 2
2 | LIBS:power
3 | LIBS:device
4 | LIBS:switches
5 | LIBS:relays
6 | LIBS:motors
7 | LIBS:transistors
8 | LIBS:conn
9 | LIBS:linear
10 | LIBS:regul
11 | LIBS:74xx
12 | LIBS:cmos4000
13 | LIBS:adc-dac
14 | LIBS:memory
15 | LIBS:xilinx
16 | LIBS:microcontrollers
17 | LIBS:dsp
18 | LIBS:microchip
19 | LIBS:analog_switches
20 | LIBS:motorola
21 | LIBS:texas
22 | LIBS:intel
23 | LIBS:audio
24 | LIBS:interface
25 | LIBS:digital-audio
26 | LIBS:philips
27 | LIBS:display
28 | LIBS:cypress
29 | LIBS:siliconi
30 | LIBS:opto
31 | LIBS:atmel
32 | LIBS:contrib
33 | LIBS:valves
34 | LIBS:ee-sx1350
35 | EELAYER 25 0
36 | EELAYER END
37 | $Descr A4 11693 8268
38 | encoding utf-8
39 | Sheet 1 1
40 | Title ""
41 | Date ""
42 | Rev ""
43 | Comp ""
44 | Comment1 ""
45 | Comment2 ""
46 | Comment3 ""
47 | Comment4 ""
48 | $EndDescr
49 | $EndSCHEMATC
50 |
--------------------------------------------------------------------------------
/KiCad/3_Encoder/enc_list.net:
--------------------------------------------------------------------------------
1 | (export (version D)
2 | (design
3 | (source C:/Users/Simon/Dropbox/HSLU/KiCad/templates/templates.sch)
4 | (date "20.03.2018 19:26:05")
5 | (tool "Eeschema 4.0.7")
6 | (sheet (number 1) (name /) (tstamps /)
7 | (title_block
8 | (title "DAC Sumo Robot")
9 | (company "Hochschule Luzern")
10 | (rev 2.0)
11 | (date 2017-12-16)
12 | (source templates.sch)
13 | (comment (number 1) (value ""))
14 | (comment (number 2) (value ""))
15 | (comment (number 3) (value ""))
16 | (comment (number 4) (value "")))))
17 | (components
18 | (comp (ref J1)
19 | (value IRLED)
20 | (footprint Pin_Headers:Pin_Header_Straight_1x02_Pitch2.00mm)
21 | (libsource (lib conn) (part Conn_01x02))
22 | (sheetpath (names /) (tstamps /))
23 | (tstamp 5A9EBC56))
24 | (comp (ref U1)
25 | (value EE-SX1350)
26 | (footprint SimonSpecial:EESX1350_long)
27 | (libsource (lib ee-sx1350) (part EE-SX1350))
28 | (sheetpath (names /) (tstamps /))
29 | (tstamp 5AB14B67))
30 | (comp (ref R1)
31 | (value 100)
32 | (footprint Resistors_SMD:R_0805_HandSoldering)
33 | (libsource (lib device) (part R))
34 | (sheetpath (names /) (tstamps /))
35 | (tstamp 5AB14D2E))
36 | (comp (ref R2)
37 | (value 4k7)
38 | (footprint Resistors_SMD:R_0805_HandSoldering)
39 | (libsource (lib device) (part R))
40 | (sheetpath (names /) (tstamps /))
41 | (tstamp 5AB14F43))
42 | (comp (ref J2)
43 | (value Conn_01x03)
44 | (footprint Pin_Headers:Pin_Header_Straight_1x03_Pitch2.54mm)
45 | (libsource (lib conn) (part Conn_01x03))
46 | (sheetpath (names /) (tstamps /))
47 | (tstamp 5AB152A4)))
48 | (libparts
49 | (libpart (lib conn) (part Conn_01x02)
50 | (description "Generic connector, single row, 01x02")
51 | (docs ~)
52 | (footprints
53 | (fp Connector*:*_??x*mm*)
54 | (fp Connector*:*1x??x*mm*)
55 | (fp Pin?Header?Straight?1X*)
56 | (fp Pin?Header?Angled?1X*)
57 | (fp Socket?Strip?Straight?1X*)
58 | (fp Socket?Strip?Angled?1X*))
59 | (fields
60 | (field (name Reference) J)
61 | (field (name Value) Conn_01x02))
62 | (pins
63 | (pin (num 1) (name Pin_1) (type passive))
64 | (pin (num 2) (name Pin_2) (type passive))))
65 | (libpart (lib conn) (part Conn_01x03)
66 | (description "Generic connector, single row, 01x03")
67 | (docs ~)
68 | (footprints
69 | (fp Connector*:*_??x*mm*)
70 | (fp Connector*:*1x??x*mm*)
71 | (fp Pin?Header?Straight?1X*)
72 | (fp Pin?Header?Angled?1X*)
73 | (fp Socket?Strip?Straight?1X*)
74 | (fp Socket?Strip?Angled?1X*))
75 | (fields
76 | (field (name Reference) J)
77 | (field (name Value) Conn_01x03))
78 | (pins
79 | (pin (num 1) (name Pin_1) (type passive))
80 | (pin (num 2) (name Pin_2) (type passive))
81 | (pin (num 3) (name Pin_3) (type passive))))
82 | (libpart (lib ee-sx1350) (part EE-SX1350)
83 | (fields
84 | (field (name Reference) U)
85 | (field (name Value) EE-SX1350))
86 | (pins
87 | (pin (num 1) (name IR+) (type input))
88 | (pin (num 2) (name NC) (type output))
89 | (pin (num 3) (name IR-) (type output))
90 | (pin (num 4) (name C) (type input))
91 | (pin (num 5) (name NC) (type output))
92 | (pin (num 6) (name E) (type output))))
93 | (libpart (lib device) (part R)
94 | (description Resistor)
95 | (footprints
96 | (fp R_*)
97 | (fp R_*))
98 | (fields
99 | (field (name Reference) R)
100 | (field (name Value) R))
101 | (pins
102 | (pin (num 1) (name ~) (type passive))
103 | (pin (num 2) (name ~) (type passive)))))
104 | (libraries
105 | (library (logical conn)
106 | (uri "C:\\Program Files\\KiCad\\share\\kicad\\library\\conn.lib"))
107 | (library (logical ee-sx1350)
108 | (uri C:\Users\Simon\Dropbox\HSLU\KiCad\Libraries\ee-sx1350.lib))
109 | (library (logical device)
110 | (uri "C:\\Program Files\\KiCad\\share\\kicad\\library\\device.lib")))
111 | (nets
112 | (net (code 1) (name +3.3VA)
113 | (node (ref J1) (pin 1))
114 | (node (ref R1) (pin 2)))
115 | (net (code 2) (name "Net-(R1-Pad1)")
116 | (node (ref U1) (pin 1))
117 | (node (ref R1) (pin 1)))
118 | (net (code 3) (name "Net-(U1-Pad2)")
119 | (node (ref U1) (pin 2)))
120 | (net (code 4) (name GND)
121 | (node (ref U1) (pin 3))
122 | (node (ref J1) (pin 2)))
123 | (net (code 5) (name +3V3)
124 | (node (ref J2) (pin 3))
125 | (node (ref U1) (pin 4)))
126 | (net (code 6) (name "Net-(U1-Pad5)")
127 | (node (ref U1) (pin 5)))
128 | (net (code 7) (name GNDA)
129 | (node (ref R2) (pin 1))
130 | (node (ref J2) (pin 1)))
131 | (net (code 8) (name "Net-(J2-Pad2)")
132 | (node (ref J2) (pin 2))
133 | (node (ref R2) (pin 2))
134 | (node (ref U1) (pin 6)))))
--------------------------------------------------------------------------------
/KiCad/4_Wall/Wall_F_V3_Fidi.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Scavenger18/RepoPNP/e980bc18a5df81e3aeadb6f7054ebdd66c024168/KiCad/4_Wall/Wall_F_V3_Fidi.zip
--------------------------------------------------------------------------------
/KiCad/4_Wall/Wall_F_V4.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Scavenger18/RepoPNP/e980bc18a5df81e3aeadb6f7054ebdd66c024168/KiCad/4_Wall/Wall_F_V4.zip
--------------------------------------------------------------------------------
/KiCad/5_Master/Master_Board.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Scavenger18/RepoPNP/e980bc18a5df81e3aeadb6f7054ebdd66c024168/KiCad/5_Master/Master_Board.zip
--------------------------------------------------------------------------------
/KiCad/z_MountNPTH_3.0mm.kicad_mod:
--------------------------------------------------------------------------------
1 | (module z_MountNPTH_3.0mm (layer F.Cu) (tedit 56EF670E)
2 | (fp_text reference REF** (at 0 0.125) (layer F.Fab)
3 | (effects (font (size 0.1 0.1) (thickness 0.01)))
4 | )
5 | (fp_text value VAL** (at 0 -0.125) (layer F.Fab)
6 | (effects (font (size 0.1 0.1) (thickness 0.01)))
7 | )
8 | (fp_text user %R (at 0 1.85 180) (layer Eco1.User)
9 | (effects (font (size 0.3 0.3) (thickness 0.03)))
10 | )
11 | (fp_circle (center 0 0) (end 3 0) (layer F.CrtYd) (width 0.05))
12 | (fp_line (start 0 -3.1) (end 0 3.1) (layer Cmts.User) (width 0.05))
13 | (fp_line (start -3.1 0) (end 3.1 0) (layer Cmts.User) (width 0.05))
14 | (pad "" np_thru_hole circle (at 0 0) (size 3 3) (drill 3) (layers *.Cu *.Mask))
15 | )
16 |
--------------------------------------------------------------------------------
/Software/tinyk20_PNP_V1/tinyk20_PNP_V1/.gitignore:
--------------------------------------------------------------------------------
1 | /Debug/
2 | /Generated_Code/
3 | /.settings/
4 | /Documentation/
5 | *.g_c
6 | *.g_x
7 | ProjectInfo.xml
8 | .cwGeneratedFileSetLog
9 | /Project_Settings/Components_DEBUG/
10 |
--------------------------------------------------------------------------------
/Software/tinyk20_PNP_V1/tinyk20_PNP_V1/.project:
--------------------------------------------------------------------------------
1 |
2 |
3 | tinyk20_PNP_V1
4 |
5 |
6 |
7 |
8 |
9 | com.freescale.processorexpert.core.expertprojectbuilder
10 |
11 |
12 |
13 |
14 | org.eclipse.cdt.managedbuilder.core.genmakebuilder
15 | clean,full,incremental,
16 |
17 |
18 |
19 |
20 | org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder
21 | full,incremental,
22 |
23 |
24 |
25 |
26 |
27 | com.freescale.processorexpert.core.expertprojectnature
28 | org.eclipse.cdt.core.cnature
29 | org.eclipse.cdt.core.ccnature
30 | org.eclipse.cdt.managedbuilder.core.managedBuildNature
31 | org.eclipse.cdt.managedbuilder.core.ScannerConfigNature
32 |
33 |
34 |
--------------------------------------------------------------------------------
/Software/tinyk20_PNP_V1/tinyk20_PNP_V1/Project_Settings/Debugger/tinyk20_PNP_V1_Debug_Segger.launch:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
--------------------------------------------------------------------------------
/Software/tinyk20_PNP_V1/tinyk20_PNP_V1/Project_Settings/Linker_Files/ProcessorExpert.ld:
--------------------------------------------------------------------------------
1 | /* ################################################################### */
2 | /*##
3 | /*## This component module is generated by Processor Expert. Do not modify it. */
4 | /*## */
5 | /*## Filename : ProcessorExpert.ld */
6 | /*## */
7 | /*## Project : tinyk20_PNP_V1 */
8 | /*## */
9 | /*## Processor : MK20DN128VFT5 */
10 | /*## */
11 | /*## Compiler : GNU C Compiler */
12 | /*## */
13 | /*## Date/Time : 2018-04-24, 16:41, # CodeGen: 33 */
14 | /*## */
15 | /*## Abstract : */
16 | /*## */
17 | /*## This file is used by the linker. It describes files to be linked, */
18 | /*## memory ranges, stack size, etc. For detailed description about linker */
19 | /*## command files see compiler documentation. This file is generated by default. */
20 | /*## You can switch off generation by setting the property "Generate linker file = no" */
21 | /*## in the "Build options" tab of the CPU component and then modify this file as needed. */
22 | /*##
23 | /*## */
24 | /*## ###################################################################*/
25 |
26 |
27 | /* Entry Point */
28 | ENTRY(__thumb_startup)
29 |
30 | /* Highest address of the user mode stack */
31 | _estack = 0x20000000; /* end of m_data */
32 | __SP_INIT = _estack;
33 | __stack = _estack;
34 |
35 | /* Generate a link error if heap and stack don't fit into RAM */
36 | __heap_size = 0x00; /* required amount of heap */
37 | __stack_size = 0x0400; /* required amount of stack */
38 |
39 | MEMORY {
40 | m_interrupts (RX) : ORIGIN = 0x00000000, LENGTH = 0x000000F8
41 | m_text (RX) : ORIGIN = 0x00000410, LENGTH = 0x0001FBF0
42 | m_data (RW) : ORIGIN = 0x1FFFE000, LENGTH = 0x00002000
43 | m_data_20000000 (RW) : ORIGIN = 0x20000000, LENGTH = 0x00002000
44 | m_cfmprotrom (RX) : ORIGIN = 0x00000400, LENGTH = 0x00000010
45 | }
46 |
47 | /* Define output sections */
48 | SECTIONS
49 | {
50 | /* The startup code goes first into INTERNAL_FLASH */
51 | .interrupts :
52 | {
53 | __vector_table = .;
54 | . = ALIGN(4);
55 | KEEP(*(.vectortable)) /* Startup code */
56 | . = ALIGN(4);
57 | } > m_interrupts
58 |
59 | .cfmprotect :
60 | {
61 | . = ALIGN(4);
62 | KEEP(*(.cfmconfig)) /* Flash Configuration Field (FCF) */
63 | . = ALIGN(4);
64 | } > m_cfmprotrom
65 |
66 | /* The program code and other data goes into INTERNAL_FLASH */
67 | .text :
68 | {
69 | . = ALIGN(4);
70 | *(.text) /* .text sections (code) */
71 | *(.text*) /* .text* sections (code) */
72 | *(.rodata) /* .rodata sections (constants, strings, etc.) */
73 | *(.rodata*) /* .rodata* sections (constants, strings, etc.) */
74 | *(.glue_7) /* glue arm to thumb code */
75 | *(.glue_7t) /* glue thumb to arm code */
76 | *(.eh_frame)
77 |
78 | KEEP (*(.init))
79 | KEEP (*(.fini))
80 |
81 | . = ALIGN(4);
82 |
83 | _etext = .; /* define a global symbols at end of code */
84 | } > m_text
85 |
86 | .ARM.extab : { *(.ARM.extab* .gnu.linkonce.armextab.*) } > m_text
87 | .ARM : {
88 | __exidx_start = .;
89 | *(.ARM.exidx*)
90 | __exidx_end = .;
91 | } > m_text
92 |
93 | .ctors :
94 | {
95 | __CTOR_LIST__ = .;
96 | /* gcc uses crtbegin.o to find the start of
97 | the constructors, so we make sure it is
98 | first. Because this is a wildcard, it
99 | doesn't matter if the user does not
100 | actually link against crtbegin.o; the
101 | linker won't look for a file to match a
102 | wildcard. The wildcard also means that it
103 | doesn't matter which directory crtbegin.o
104 | is in. */
105 | KEEP (*crtbegin.o(.ctors))
106 | /* We don't want to include the .ctor section from
107 | from the crtend.o file until after the sorted ctors.
108 | The .ctor section from the crtend file contains the
109 | end of ctors marker and it must be last */
110 | KEEP (*(EXCLUDE_FILE (*crtend.o ) .ctors))
111 | KEEP (*(SORT(.ctors.*)))
112 | KEEP (*(.ctors))
113 | __CTOR_END__ = .;
114 | } > m_text
115 |
116 | .dtors :
117 | {
118 | __DTOR_LIST__ = .;
119 | KEEP (*crtbegin.o(.dtors))
120 | KEEP (*(EXCLUDE_FILE (*crtend.o ) .dtors))
121 | KEEP (*(SORT(.dtors.*)))
122 | KEEP (*(.dtors))
123 | __DTOR_END__ = .;
124 | } > m_text
125 |
126 | .preinit_array :
127 | {
128 | PROVIDE_HIDDEN (__preinit_array_start = .);
129 | KEEP (*(.preinit_array*))
130 | PROVIDE_HIDDEN (__preinit_array_end = .);
131 | } > m_text
132 | .init_array :
133 | {
134 | PROVIDE_HIDDEN (__init_array_start = .);
135 | KEEP (*(SORT(.init_array.*)))
136 | KEEP (*(.init_array*))
137 | PROVIDE_HIDDEN (__init_array_end = .);
138 | } > m_text
139 | .fini_array :
140 | {
141 | PROVIDE_HIDDEN (__fini_array_start = .);
142 | KEEP (*(SORT(.fini_array.*)))
143 | KEEP (*(.fini_array*))
144 | PROVIDE_HIDDEN (__fini_array_end = .);
145 |
146 | ___ROM_AT = .;
147 | } > m_text
148 | /* Initialized data sections goes into RAM, load LMA copy after code */
149 | .data : AT(___ROM_AT)
150 | {
151 | . = ALIGN(4);
152 | _sdata = .; /* create a global symbol at data start */
153 | *(.data) /* .data sections */
154 | *(.data*) /* .data* sections */
155 |
156 | . = ALIGN(4);
157 |
158 | _edata = .; /* define a global symbol at data end */
159 | } > m_data
160 |
161 | ___data_size = _edata - _sdata;
162 | ___m_data_20000000_ROMStart = ___ROM_AT + SIZEOF(.data);
163 | .m_data_20000000 : AT(___m_data_20000000_ROMStart)
164 | {
165 | . = ALIGN(4);
166 | ___m_data_20000000_RAMStart = .;
167 | *(.m_data_20000000) /* This is an User defined section */
168 | ___m_data_20000000_RAMEnd = .;
169 | . = ALIGN(4);
170 | } > m_data_20000000
171 | ___m_data_20000000_ROMSize = ___m_data_20000000_RAMEnd - ___m_data_20000000_RAMStart;
172 |
173 |
174 |
175 | /* Uninitialized data section */
176 | . = ALIGN(4);
177 | .bss :
178 | {
179 | /* This is used by the startup in order to initialize the .bss section */
180 | __START_BSS = .;
181 | PROVIDE ( __bss_start__ = __START_BSS );
182 |
183 | *(.bss)
184 | *(.bss*)
185 | *(COMMON)
186 |
187 | . = ALIGN(4);
188 | __END_BSS = .;
189 | PROVIDE ( __bss_end__ = __END_BSS );
190 | } > m_data
191 |
192 | _romp_at = ___ROM_AT + SIZEOF(.data) +SIZEOF(.m_data_20000000);
193 | .romp : AT(_romp_at)
194 | {
195 | __S_romp = _romp_at;
196 | LONG(___ROM_AT);
197 | LONG(_sdata);
198 | LONG(___data_size);
199 | LONG(___m_data_20000000_ROMStart);
200 | LONG(___m_data_20000000_RAMStart);
201 | LONG(___m_data_20000000_ROMSize);
202 | LONG(0);
203 | LONG(0);
204 | LONG(0);
205 | } > m_data
206 |
207 | text_end = ORIGIN(m_text) + LENGTH(m_text);
208 | data_init_end = ___m_data_20000000_ROMStart + SIZEOF(.m_data_20000000) + SIZEOF(.romp);
209 | ASSERT( data_init_end <= text_end, "region m_text overflowed with text and data")
210 |
211 | /* User_heap_stack section, used to check that there is enough RAM left */
212 | ._user_heap_stack :
213 | {
214 | . = ALIGN(4);
215 | PROVIDE ( end = . );
216 | PROVIDE ( _end = . );
217 | PROVIDE ( __end__ = . );
218 | __heap_addr = .;
219 | __HeapBase = .;
220 | . = . + __heap_size;
221 | __HeapLimit = .;
222 | . = . + __stack_size;
223 | . = ALIGN(4);
224 | } > m_data
225 |
226 | .ARM.attributes 0 : { *(.ARM.attributes) }
227 | }
228 |
229 |
230 |
--------------------------------------------------------------------------------
/Software/tinyk20_PNP_V1/tinyk20_PNP_V1/Project_Settings/Startup_Code/startup.c:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Scavenger18/RepoPNP/e980bc18a5df81e3aeadb6f7054ebdd66c024168/Software/tinyk20_PNP_V1/tinyk20_PNP_V1/Project_Settings/Startup_Code/startup.c
--------------------------------------------------------------------------------
/Software/tinyk20_PNP_V1/tinyk20_PNP_V1/Sources/Application.c:
--------------------------------------------------------------------------------
1 | /*
2 | * Application.c
3 | *
4 | * Created on: 17.02.2018
5 | * Author: Erich Styger
6 | */
7 |
8 | #include "Application.h"
9 | #include "FRTOS1.h"
10 | #include "LED1.h"
11 | #include "LED2.h"
12 | #include "WAIT1.h"
13 | #include "ENC1.h"
14 | #include "SW_FWD.h"
15 | #include "SW_REV.h"
16 | #include "DIRA.h"
17 | #include "DIRB.h"
18 | #include "PWMA.h"
19 | #include "PWMB.h"
20 | #include "CLS1.h"
21 |
22 | #include "platform.h"
23 |
24 | #include "buttons.h"
25 | #include "encoder.h"
26 | #include "motor.h"
27 | #include "comm.h"
28 |
29 |
30 | #define APP_TIMEOUT (1)
31 |
32 | #if APP_TIMEOUT
33 | #include "TU2.h"
34 |
35 | static LDD_TDeviceData *timerHandle;
36 | static TU2_TValueType timerVal;
37 | #endif
38 |
39 | uint8_t error_res;
40 |
41 | /*
42 | * Error Handling for feeder
43 | *
44 | * \todo implementing other errors and codes
45 | */
46 | static void APP_ErrorHandler(){
47 | #if APP_TIMEOUT
48 | timerVal = TU2_GetCounterValue(timerHandle);
49 | if(timerVal >= 0xA000){
50 | //timeout
51 | error_res = ERR_OVERFLOW;
52 | }
53 | #endif
54 | switch(error_res){
55 | case ERR_FAILED:
56 | {
57 | //to be implemented
58 | break;
59 | }
60 | case ERR_VALUE:
61 | {
62 | //to be implemented
63 | // ERR_VALUE could be used in Communication of Step Size
64 | break;
65 | }
66 | case ERR_OVERFLOW:
67 | {
68 | COMM_SendError(" OVERFLOW/TIMEOUT");
69 | taskState = FSM_ERROR;
70 | break;
71 | }
72 | case ERR_OK:
73 | {
74 | //to be implemented
75 | //everything alright
76 | break;
77 | }
78 | }
79 | }
80 |
81 | /*
82 | * iterates through peeler states
83 | * functionality split from RunFeeder
84 | *
85 | * peelState may be changed in RunFeeder
86 | */
87 | static void RunPeeler(void){
88 | switch (peelState){
89 | case PEEL_OFF:
90 | {
91 | MOT_Speed(MOT_TAPE,0,MOT_FWD);
92 | break;
93 | }
94 | case PEEL_FWD:
95 | {
96 | if(BUT_GetState(BUT_MSW)==0){
97 | MOT_Speed(MOT_TAPE,100,MOT_FWD);
98 | }
99 |
100 | break;
101 | }
102 | case PEEL_REV:
103 | {
104 | MOT_Speed(MOT_TAPE,100,MOT_REV);
105 | break;
106 | }
107 | case PEEL_FWD_DONE:
108 | {
109 | if(BUT_GetState(BUT_MSW)==1){ // should change for rev
110 | peelState = PEEL_OFF;
111 | }
112 | break;
113 | }
114 | case PEEL_REV_DONE:
115 | {
116 | if(BUT_GetState(BUT_MSW)==0){ // should change for rev
117 | peelState = PEEL_OFF;
118 | }
119 | break;
120 | }
121 |
122 | default:
123 | {
124 | peelState = PEEL_OFF;
125 | }
126 | }
127 | }
128 |
129 |
130 | /*
131 | * Main FSM for Feeder
132 | *
133 | * reacts to changes in APP_Counter, for running forward/backwards.
134 | */
135 | static void RunFeeder(void){
136 | switch (taskState){
137 | case FSM_INIT:
138 | {
139 | ENC_ResetCnt();
140 | ENC_SetStep(4);
141 | peelState = PEEL_OFF;;
142 | MOT_Speed(MOT_SPROC,0,MOT_FWD);
143 | MOT_Speed(MOT_TAPE,0,MOT_FWD);
144 | taskState = FSM_IDLE;
145 | for(int i = 0; i < 4; i++){
146 | LED1_Neg();
147 | WAIT1_Waitms(100);
148 | }
149 | }
150 | break;
151 | case FSM_IDLE:
152 | {
153 | #if APP_TIMEOUT
154 | TU2_ResetCounter(timerHandle);
155 | #endif
156 | ENC_ResetCnt();
157 |
158 | if(APP_Counter > 0){
159 | taskState = FSM_FWD;
160 | APP_Counter--;
161 | break;
162 | }else if(APP_Counter < 0){
163 | taskState = FSM_REV_PEEL;
164 | APP_Counter++;
165 | break;
166 | } //else 0 -> Stay in IDLE
167 | if(BUT_GetState(BUT_REV)==BUT_PRESS){
168 | taskState = FSM_STOP;
169 | peelState = PEEL_OFF;
170 | break;
171 | }
172 | }
173 | break;
174 | case FSM_FWD:
175 | {
176 | // turn sprocket motor forward and count steps
177 | MOT_Speed(MOT_SPROC,100,MOT_FWD);
178 | taskState = FSM_RUN;
179 | peelState = PEEL_FWD;
180 | }
181 | break;
182 | case FSM_REV_PEEL:
183 | {
184 | // First turn peeler back
185 | peelState = PEEL_REV;
186 | taskState = FSM_REV_SPROC;
187 | }
188 | break;
189 | case FSM_REV_SPROC:
190 | {
191 | // let Peeler Run for a certain time (time calculated)
192 | WAIT1_WaitOSms(700);
193 | // then change case to reverse sprocket
194 | MOT_Speed(MOT_SPROC,100,MOT_REV);
195 | taskState = FSM_RUN;
196 | peelState = PEEL_REV_DONE;
197 |
198 | }
199 | break;
200 | case FSM_RUN:
201 | {
202 |
203 | if(ENC_GetTrigger() == 1){
204 | ENC_SetTrigger(0);
205 | taskState = FSM_IDLE;
206 | peelState = PEEL_FWD_DONE;
207 | }
208 |
209 | // use button REV to stop
210 | if(BUT_GetState(BUT_REV)==BUT_PRESS){
211 | taskState = FSM_STOP;
212 | peelState = PEEL_OFF;
213 | break;
214 | }
215 |
216 | }
217 | break;
218 | case FSM_STOP:
219 | MOT_Speed(MOT_SPROC, 0, MOT_FWD);
220 | taskState = FSM_IDLE;
221 | break;
222 | case FSM_ERROR:
223 | {
224 | //Blink Status LED
225 | MOT_Speed(MOT_SPROC,0,MOT_FWD);
226 | MOT_Speed(MOT_TAPE,0,MOT_FWD);
227 |
228 | for(;;){
229 | WAIT1_Waitms(250);
230 | LED1_Neg();
231 | }
232 | break;
233 | }
234 | default:
235 | // should not get here.
236 | taskState = FSM_ERROR;
237 | }
238 | }
239 |
240 | /*
241 | * Application Task
242 | *
243 | * Contains Feeder FSMs, Button processing and error handler
244 | */
245 | static void APP_task(void *param) {
246 |
247 | (void)param;
248 | for(;;) {
249 | RunFeeder();
250 | RunPeeler();
251 | BUT_Process();
252 | APP_ErrorHandler();
253 | vTaskDelay(pdMS_TO_TICKS(50));
254 |
255 | } /* for */
256 | }
257 |
258 | /*
259 | * Initializes all components belonging to app
260 | */
261 | void APP_Init(void){
262 | LED1_Off();
263 | error_res = ERR_OK; // set ErrorFlag to OK
264 | APP_Counter = 0; // set start to 0 (no inc/dec of tape needed)
265 | taskState = FSM_INIT;
266 | timerHandle = TU2_Init(NULL);
267 | }
268 |
269 | /*
270 | * creates APP Task
271 | */
272 | void APP_Run(void) {
273 |
274 | if (xTaskCreate(APP_task, "FSM", configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY+1, NULL) != pdPASS) {
275 | for(;;){} /* error! probably out of memory */
276 | }
277 |
278 | vTaskStartScheduler();
279 | for(;;) {
280 | }
281 | }
282 |
--------------------------------------------------------------------------------
/Software/tinyk20_PNP_V1/tinyk20_PNP_V1/Sources/Application.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Application.h
3 | *
4 | * Created on: 17.02.2018
5 | * Author: Erich Styger
6 | */
7 |
8 | #ifndef SOURCES_APPLICATION_H_
9 | #define SOURCES_APPLICATION_H_
10 |
11 | typedef enum{
12 | FSM_INIT,
13 | FSM_IDLE,
14 | FSM_FWD,
15 | FSM_REV_PEEL,
16 | FSM_REV_SPROC,
17 | FSM_RUN,
18 | FSM_STOP,
19 | FSM_ERROR
20 | }FSM_State;
21 |
22 | typedef enum{
23 | PEEL_OFF,
24 | PEEL_FWD,
25 | PEEL_REV,
26 | PEEL_FWD_DONE,
27 | PEEL_REV_DONE
28 | }PEEL_State;
29 |
30 | FSM_State taskState;
31 | PEEL_State peelState;
32 |
33 | signed int APP_Counter;
34 |
35 | /*
36 | * Initializes APP_Counter and TimeOut
37 | *
38 | */
39 | void APP_Init(void);
40 |
41 | /*
42 | * creates APP Task
43 | */
44 | void APP_Run(void);
45 |
46 |
47 | #endif /* SOURCES_APPLICATION_H_ */
48 |
--------------------------------------------------------------------------------
/Software/tinyk20_PNP_V1/tinyk20_PNP_V1/Sources/Events.c:
--------------------------------------------------------------------------------
1 | /* ###################################################################
2 | ** Filename : Events.c
3 | ** Project : tinyk20_PNP_V1
4 | ** Processor : MK20DN128VFT5
5 | ** Component : Events
6 | ** Version : Driver 01.00
7 | ** Compiler : GNU C Compiler
8 | ** Date/Time : 2018-04-16, 10:39, # CodeGen: 0
9 | ** Abstract :
10 | ** This is user's event module.
11 | ** Put your event handler code here.
12 | ** Contents :
13 | ** Cpu_OnNMIINT - void Cpu_OnNMIINT(void);
14 | **
15 | ** ###################################################################*/
16 | /*!
17 | ** @file Events.c
18 | ** @version 01.00
19 | ** @brief
20 | ** This is user's event module.
21 | ** Put your event handler code here.
22 | */
23 | /*!
24 | ** @addtogroup Events_module Events module documentation
25 | ** @{
26 | */
27 | /* MODULE Events */
28 |
29 | #include "Cpu.h"
30 | #include "Events.h"
31 | #include "buttons.h"
32 |
33 | #ifdef __cplusplus
34 | extern "C" {
35 | #endif
36 |
37 |
38 | /* User includes (#include below this line is not maintained by Processor Expert) */
39 |
40 | /*
41 | ** ===================================================================
42 | ** Event : Cpu_OnNMIINT (module Events)
43 | **
44 | ** Component : Cpu [MK20DX128EX5]
45 | */
46 | /*!
47 | ** @brief
48 | ** This event is called when the Non maskable interrupt had
49 | ** occurred. This event is automatically enabled when the [NMI
50 | ** interrupt] property is set to 'Enabled'.
51 | */
52 | /* ===================================================================*/
53 | void Cpu_OnNMIINT(void)
54 | {
55 | /* Write your code here ... */
56 | }
57 |
58 | /*
59 | ** ===================================================================
60 | ** Event : FRTOS1_vApplicationStackOverflowHook (module Events)
61 | **
62 | ** Component : FRTOS1 [FreeRTOS]
63 | ** Description :
64 | ** if enabled, this hook will be called in case of a stack
65 | ** overflow.
66 | ** Parameters :
67 | ** NAME - DESCRIPTION
68 | ** pxTask - Task handle
69 | ** * pcTaskName - Pointer to task name
70 | ** Returns : Nothing
71 | ** ===================================================================
72 | */
73 | void FRTOS1_vApplicationStackOverflowHook(TaskHandle_t pxTask, char *pcTaskName)
74 | {
75 | /* This will get called if a stack overflow is detected during the context
76 | switch. Set configCHECK_FOR_STACK_OVERFLOWS to 2 to also check for stack
77 | problems within nested interrupts, but only do this for debug purposes as
78 | it will increase the context switch time. */
79 | (void)pxTask;
80 | (void)pcTaskName;
81 | taskDISABLE_INTERRUPTS();
82 | /* Write your code here ... */
83 | for(;;) {}
84 | }
85 |
86 | /*
87 | ** ===================================================================
88 | ** Event : FRTOS1_vApplicationTickHook (module Events)
89 | **
90 | ** Component : FRTOS1 [FreeRTOS]
91 | ** Description :
92 | ** If enabled, this hook will be called by the RTOS for every
93 | ** tick increment.
94 | ** Parameters : None
95 | ** Returns : Nothing
96 | ** ===================================================================
97 | */
98 | void FRTOS1_vApplicationTickHook(void)
99 | {
100 |
101 | /* Called for every RTOS tick. */
102 | /* Write your code here ... */
103 | // increment counter for Button Debounce
104 | BUT_Count();
105 |
106 |
107 | }
108 |
109 | /*
110 | ** ===================================================================
111 | ** Event : FRTOS1_vApplicationIdleHook (module Events)
112 | **
113 | ** Component : FRTOS1 [FreeRTOS]
114 | ** Description :
115 | ** If enabled, this hook will be called when the RTOS is idle.
116 | ** This might be a good place to go into low power mode.
117 | ** Parameters : None
118 | ** Returns : Nothing
119 | ** ===================================================================
120 | */
121 | void FRTOS1_vApplicationIdleHook(void)
122 | {
123 | /* Called whenever the RTOS is idle (from the IDLE task).
124 | Here would be a good place to put the CPU into low power mode. */
125 | /* Write your code here ... */
126 | }
127 |
128 | /*
129 | ** ===================================================================
130 | ** Event : FRTOS1_vApplicationMallocFailedHook (module Events)
131 | **
132 | ** Component : FRTOS1 [FreeRTOS]
133 | ** Description :
134 | ** If enabled, the RTOS will call this hook in case memory
135 | ** allocation failed.
136 | ** Parameters : None
137 | ** Returns : Nothing
138 | ** ===================================================================
139 | */
140 | void FRTOS1_vApplicationMallocFailedHook(void)
141 | {
142 | /* Called if a call to pvPortMalloc() fails because there is insufficient
143 | free memory available in the FreeRTOS heap. pvPortMalloc() is called
144 | internally by FreeRTOS API functions that create tasks, queues, software
145 | timers, and semaphores. The size of the FreeRTOS heap is set by the
146 | configTOTAL_HEAP_SIZE configuration constant in FreeRTOSConfig.h. */
147 | taskDISABLE_INTERRUPTS();
148 | /* Write your code here ... */
149 | for(;;) {}
150 | }
151 |
152 | /*
153 | ** ===================================================================
154 | ** Event : AS1_OnError (module Events)
155 | **
156 | ** Component : AS1 [AsynchroSerial]
157 | ** Description :
158 | ** This event is called when a channel error (not the error
159 | ** returned by a given method) occurs. The errors can be read
160 | ** using method.
161 | ** The event is available only when the property is enabled.
163 | ** Parameters : None
164 | ** Returns : Nothing
165 | ** ===================================================================
166 | */
167 | void AS1_OnError(void)
168 | {
169 | /* Write your code here ... */
170 | }
171 |
172 | /*
173 | ** ===================================================================
174 | ** Event : AS1_OnRxChar (module Events)
175 | **
176 | ** Component : AS1 [AsynchroSerial]
177 | ** Description :
178 | ** This event is called after a correct character is received.
179 | ** The event is available only when the property is enabled and either the
181 | ** property is enabled or the property (if
182 | ** supported) is set to Single-wire mode.
183 | ** Parameters : None
184 | ** Returns : Nothing
185 | ** ===================================================================
186 | */
187 | void AS1_OnRxChar(void)
188 | {
189 | /* Write your code here ... */
190 | }
191 |
192 | /*
193 | ** ===================================================================
194 | ** Event : AS1_OnTxChar (module Events)
195 | **
196 | ** Component : AS1 [AsynchroSerial]
197 | ** Description :
198 | ** This event is called after a character is transmitted.
199 | ** Parameters : None
200 | ** Returns : Nothing
201 | ** ===================================================================
202 | */
203 | void AS1_OnTxChar(void)
204 | {
205 | /* Write your code here ... */
206 | }
207 |
208 | /*
209 | ** ===================================================================
210 | ** Event : AS1_OnFullRxBuf (module Events)
211 | **
212 | ** Component : AS1 [AsynchroSerial]
213 | ** Description :
214 | ** This event is called when the input buffer is full;
215 | ** i.e. after reception of the last character
216 | ** that was successfully placed into input buffer.
217 | ** Parameters : None
218 | ** Returns : Nothing
219 | ** ===================================================================
220 | */
221 | void AS1_OnFullRxBuf(void)
222 | {
223 | /* Write your code here ... */
224 | }
225 |
226 | /*
227 | ** ===================================================================
228 | ** Event : AS1_OnFreeTxBuf (module Events)
229 | **
230 | ** Component : AS1 [AsynchroSerial]
231 | ** Description :
232 | ** This event is called after the last character in output
233 | ** buffer is transmitted.
234 | ** Parameters : None
235 | ** Returns : Nothing
236 | ** ===================================================================
237 | */
238 | void AS1_OnFreeTxBuf(void)
239 | {
240 | /* Write your code here ... */
241 | }
242 |
243 | /* END Events */
244 |
245 | #ifdef __cplusplus
246 | } /* extern "C" */
247 | #endif
248 |
249 | /*!
250 | ** @}
251 | */
252 | /*
253 | ** ###################################################################
254 | **
255 | ** This file was created by Processor Expert 10.5 [05.21]
256 | ** for the Freescale Kinetis series of microcontrollers.
257 | **
258 | ** ###################################################################
259 | */
260 |
--------------------------------------------------------------------------------
/Software/tinyk20_PNP_V1/tinyk20_PNP_V1/Sources/Events.h:
--------------------------------------------------------------------------------
1 | /* ###################################################################
2 | ** Filename : Events.h
3 | ** Project : tinyk20_PNP_V1
4 | ** Processor : MK20DN128VFT5
5 | ** Component : Events
6 | ** Version : Driver 01.00
7 | ** Compiler : GNU C Compiler
8 | ** Date/Time : 2018-04-16, 10:39, # CodeGen: 0
9 | ** Abstract :
10 | ** This is user's event module.
11 | ** Put your event handler code here.
12 | ** Contents :
13 | ** Cpu_OnNMIINT - void Cpu_OnNMIINT(void);
14 | **
15 | ** ###################################################################*/
16 | /*!
17 | ** @file Events.h
18 | ** @version 01.00
19 | ** @brief
20 | ** This is user's event module.
21 | ** Put your event handler code here.
22 | */
23 | /*!
24 | ** @addtogroup Events_module Events module documentation
25 | ** @{
26 | */
27 |
28 | #ifndef __Events_H
29 | #define __Events_H
30 | /* MODULE Events */
31 |
32 | #include "PE_Types.h"
33 | #include "PE_Error.h"
34 | #include "PE_Const.h"
35 | #include "IO_Map.h"
36 | #include "LED1.h"
37 | #include "LEDpin1.h"
38 | #include "BitIoLdd1.h"
39 | #include "MCUC1.h"
40 | #include "SW_FWD.h"
41 | #include "BitIoLdd2.h"
42 | #include "SW_REV.h"
43 | #include "BitIoLdd3.h"
44 | #include "SW_MSW.h"
45 | #include "BitIoLdd4.h"
46 | #include "ENC1.h"
47 | #include "BitIoLdd5.h"
48 | #include "PWMA.h"
49 | #include "PwmLdd1.h"
50 | #include "TU1.h"
51 | #include "DIRA.h"
52 | #include "BitIoLdd6.h"
53 | #include "DIRB.h"
54 | #include "BitIoLdd7.h"
55 | #include "PWMB.h"
56 | #include "PwmLdd2.h"
57 | #include "HMODE.h"
58 | #include "BitIoLdd8.h"
59 | #include "FRTOS1.h"
60 | #include "UTIL1.h"
61 | #include "WAIT1.h"
62 | #include "CLS1.h"
63 | #include "XF1.h"
64 | #include "CS1.h"
65 | #include "LED2.h"
66 | #include "LEDpin2.h"
67 | #include "BitIoLdd9.h"
68 | #include "AS1.h"
69 | #include "ASerialLdd1.h"
70 | #include "TGT_SWD_OE.h"
71 | #include "BitIoLdd10.h"
72 | #include "HF1.h"
73 | #include "TU2.h"
74 |
75 | #ifdef __cplusplus
76 | extern "C" {
77 | #endif
78 |
79 | /*
80 | ** ===================================================================
81 | ** Event : Cpu_OnNMIINT (module Events)
82 | **
83 | ** Component : Cpu [MK20DX128EX5]
84 | */
85 | /*!
86 | ** @brief
87 | ** This event is called when the Non maskable interrupt had
88 | ** occurred. This event is automatically enabled when the [NMI
89 | ** interrupt] property is set to 'Enabled'.
90 | */
91 | /* ===================================================================*/
92 | void Cpu_OnNMIINT(void);
93 |
94 |
95 | void FRTOS1_vApplicationStackOverflowHook(TaskHandle_t pxTask, char *pcTaskName);
96 | /*
97 | ** ===================================================================
98 | ** Event : FRTOS1_vApplicationStackOverflowHook (module Events)
99 | **
100 | ** Component : FRTOS1 [FreeRTOS]
101 | ** Description :
102 | ** if enabled, this hook will be called in case of a stack
103 | ** overflow.
104 | ** Parameters :
105 | ** NAME - DESCRIPTION
106 | ** pxTask - Task handle
107 | ** * pcTaskName - Pointer to task name
108 | ** Returns : Nothing
109 | ** ===================================================================
110 | */
111 |
112 | void FRTOS1_vApplicationTickHook(void);
113 | /*
114 | ** ===================================================================
115 | ** Event : FRTOS1_vApplicationTickHook (module Events)
116 | **
117 | ** Component : FRTOS1 [FreeRTOS]
118 | ** Description :
119 | ** If enabled, this hook will be called by the RTOS for every
120 | ** tick increment.
121 | ** Parameters : None
122 | ** Returns : Nothing
123 | ** ===================================================================
124 | */
125 |
126 | void FRTOS1_vApplicationIdleHook(void);
127 | /*
128 | ** ===================================================================
129 | ** Event : FRTOS1_vApplicationIdleHook (module Events)
130 | **
131 | ** Component : FRTOS1 [FreeRTOS]
132 | ** Description :
133 | ** If enabled, this hook will be called when the RTOS is idle.
134 | ** This might be a good place to go into low power mode.
135 | ** Parameters : None
136 | ** Returns : Nothing
137 | ** ===================================================================
138 | */
139 |
140 | void FRTOS1_vApplicationMallocFailedHook(void);
141 | /*
142 | ** ===================================================================
143 | ** Event : FRTOS1_vApplicationMallocFailedHook (module Events)
144 | **
145 | ** Component : FRTOS1 [FreeRTOS]
146 | ** Description :
147 | ** If enabled, the RTOS will call this hook in case memory
148 | ** allocation failed.
149 | ** Parameters : None
150 | ** Returns : Nothing
151 | ** ===================================================================
152 | */
153 |
154 | /*
155 | ** ===================================================================
156 | ** Event : AS1_OnError (module Events)
157 | **
158 | ** Component : AS1 [AsynchroSerial]
159 | ** Description :
160 | ** This event is called when a channel error (not the error
161 | ** returned by a given method) occurs. The errors can be read
162 | ** using method.
163 | ** The event is available only when the property is enabled.
165 | ** Parameters : None
166 | ** Returns : Nothing
167 | ** ===================================================================
168 | */
169 | void AS1_OnError(void);
170 |
171 | /*
172 | ** ===================================================================
173 | ** Event : AS1_OnRxChar (module Events)
174 | **
175 | ** Component : AS1 [AsynchroSerial]
176 | ** Description :
177 | ** This event is called after a correct character is received.
178 | ** The event is available only when the property is enabled and either the
180 | ** property is enabled or the property (if
181 | ** supported) is set to Single-wire mode.
182 | ** Parameters : None
183 | ** Returns : Nothing
184 | ** ===================================================================
185 | */
186 | void AS1_OnRxChar(void);
187 |
188 | /*
189 | ** ===================================================================
190 | ** Event : AS1_OnTxChar (module Events)
191 | **
192 | ** Component : AS1 [AsynchroSerial]
193 | ** Description :
194 | ** This event is called after a character is transmitted.
195 | ** Parameters : None
196 | ** Returns : Nothing
197 | ** ===================================================================
198 | */
199 | void AS1_OnTxChar(void);
200 |
201 | /*
202 | ** ===================================================================
203 | ** Event : AS1_OnFullRxBuf (module Events)
204 | **
205 | ** Component : AS1 [AsynchroSerial]
206 | ** Description :
207 | ** This event is called when the input buffer is full;
208 | ** i.e. after reception of the last character
209 | ** that was successfully placed into input buffer.
210 | ** Parameters : None
211 | ** Returns : Nothing
212 | ** ===================================================================
213 | */
214 | void AS1_OnFullRxBuf(void);
215 |
216 | /*
217 | ** ===================================================================
218 | ** Event : AS1_OnFreeTxBuf (module Events)
219 | **
220 | ** Component : AS1 [AsynchroSerial]
221 | ** Description :
222 | ** This event is called after the last character in output
223 | ** buffer is transmitted.
224 | ** Parameters : None
225 | ** Returns : Nothing
226 | ** ===================================================================
227 | */
228 | void AS1_OnFreeTxBuf(void);
229 |
230 | /* END Events */
231 |
232 | #ifdef __cplusplus
233 | } /* extern "C" */
234 | #endif
235 |
236 | #endif
237 | /* ifndef __Events_H*/
238 | /*!
239 | ** @}
240 | */
241 | /*
242 | ** ###################################################################
243 | **
244 | ** This file was created by Processor Expert 10.5 [05.21]
245 | ** for the Freescale Kinetis series of microcontrollers.
246 | **
247 | ** ###################################################################
248 | */
249 |
--------------------------------------------------------------------------------
/Software/tinyk20_PNP_V1/tinyk20_PNP_V1/Sources/buttons.c:
--------------------------------------------------------------------------------
1 | /*
2 | * buttons.c
3 | *
4 | * Created on: 25.03.2018
5 | * Author: Simon
6 | */
7 | #include "buttons.h"
8 | #include "Application.h"
9 | #include "CS1.h"
10 | #include "LED2.h"
11 | #include "SW_FWD.h"
12 | #include "SW_REV.h"
13 | #if PL_TAPE_EN
14 | #include "SW_MSW.h"
15 | #endif
16 |
17 | #define LPRESS_CNT (200) // change to react to task time delay
18 |
19 | volatile int REV_Counter;
20 | volatile uint8_t REV_Flag, REV_Flag_LPress;
21 | volatile uint8_t FWD_Flag;
22 |
23 |
24 | /*
25 | * Add forward step to APP_Counter
26 | */
27 | void BUT_SetFWD(void){
28 | CS1_CriticalVariable();
29 |
30 | CS1_EnterCritical();
31 | APP_Counter++;
32 | CS1_ExitCritical();
33 | }
34 |
35 | /*
36 | * Add reverse step to APP_Counter
37 | */
38 | void BUT_SetREV(void){
39 | CS1_CriticalVariable();
40 |
41 | CS1_EnterCritical();
42 | APP_Counter--;
43 | CS1_ExitCritical();
44 | }
45 |
46 | /*
47 | * Iterate through button state
48 | * Switch case for each button type
49 | *
50 | * \todo improve using button-type-struct with state data
51 | *
52 | */
53 | BUT_State BUT_GetState(BUT_Device button){
54 |
55 | BUT_State but_state = BUT_IDLE;// = BUT_IDLE;
56 | uint8_t state = 0;
57 |
58 | switch (button){
59 | case BUT_FWD:
60 | state = SW_FWD_GetVal();
61 | if (FWD_INVERT) {
62 | if (state == 1){
63 | but_state = BUT_IDLE;
64 | }else{
65 | but_state = BUT_PRESS;
66 | }
67 | }else{
68 | if (state == 1){
69 | but_state = BUT_PRESS;
70 | }else{
71 | but_state = BUT_IDLE;
72 | }
73 | }
74 |
75 | if ((but_state == BUT_PRESS)&&(FWD_Flag == 0)){
76 | BUT_SetFWD();
77 | FWD_Flag = 1;
78 | } else if ((but_state == BUT_IDLE)&&(FWD_Flag == 1)){
79 | FWD_Flag = 0;
80 | }
81 | break;
82 |
83 | case BUT_REV:
84 | state = SW_REV_GetVal();
85 | if (REV_INVERT) {
86 | if (state == 1){
87 | but_state = BUT_IDLE;
88 | }else{
89 | but_state = BUT_PRESS;
90 | }
91 | }else{
92 | if (state == 1){
93 | but_state = BUT_PRESS;
94 | }else{
95 | but_state = BUT_IDLE;
96 | }
97 | }
98 |
99 | if (but_state == BUT_IDLE){
100 | REV_Flag = 0;
101 | REV_Flag_LPress = 0;
102 | REV_Counter = 0;
103 | //break;
104 | }else if ((but_state == BUT_PRESS)&&(REV_Flag == 0)){
105 | REV_Flag = 1;
106 | REV_Counter = 0;
107 | } else if (but_state == BUT_PRESS){
108 | REV_Counter++;
109 | if (REV_Counter >= LPRESS_CNT){
110 | //REV_Counter = 0;
111 | but_state = BUT_LPRESS;
112 | if(REV_Flag_LPress == 0){
113 | BUT_SetREV();
114 | }
115 | REV_Flag_LPress = 1;
116 | }
117 | }
118 |
119 | break;
120 |
121 | #if PL_TAPE_EN
122 | case BUT_MSW:
123 | state = SW_MSW_GetVal();
124 | if (MSW_INVERT) {
125 | if (state == 1){
126 | but_state = BUT_IDLE;
127 | }else{
128 | but_state = BUT_PRESS;
129 | }
130 | }else{
131 | if (state == 1){
132 | but_state = BUT_PRESS;
133 | }else{
134 | but_state = BUT_IDLE;
135 | }
136 | }
137 | break;
138 | #endif
139 |
140 |
141 | default:
142 | {
143 | state = 0;
144 | but_state = BUT_PRESS;
145 | }
146 | }
147 | return but_state;
148 | }
149 |
150 | /*
151 | * Counts Ticks when REV Button pressed
152 | *
153 | */
154 | void BUT_Count(void){
155 |
156 | CS1_CriticalVariable();
157 | CS1_EnterCritical();
158 | REV_Counter++;
159 | CS1_ExitCritical();
160 | }
161 |
162 | /*
163 | * iterates through all buttons to set their states
164 | */
165 | void BUT_Process(void){
166 | (void) BUT_GetState(BUT_MSW);
167 | (void) BUT_GetState(BUT_REV);
168 | (void) BUT_GetState(BUT_FWD);
169 | }
170 |
171 | /*
172 | * Initializes button relevant flags and counters
173 | */
174 | void BUT_Init(void){
175 | FWD_Flag = 0;
176 | REV_Flag = 0;
177 | REV_Counter = 0;
178 | return;
179 | }
180 |
--------------------------------------------------------------------------------
/Software/tinyk20_PNP_V1/tinyk20_PNP_V1/Sources/buttons.h:
--------------------------------------------------------------------------------
1 | /*
2 | * buttons.h
3 | *
4 | * Created on: 25.03.2018
5 | * Author: Simon
6 | */
7 |
8 | #ifndef SOURCES_BUTTONS_H_
9 | #define SOURCES_BUTTONS_H_
10 |
11 | #include "platform.h"
12 | //#include "stdint.h"
13 |
14 | /*
15 | * Invert High/Low Logic of buttons
16 | */
17 | # define FWD_INVERT (1)
18 | # define REV_INVERT (1)
19 |
20 | #if PL_TAPE_EN
21 | # define MSW_INVERT (1)
22 | #endif
23 |
24 |
25 | typedef enum{
26 | #if PL_TAPE_EN
27 | BUT_MSW,
28 | #endif
29 | BUT_FWD,
30 | BUT_REV
31 | }BUT_Device;
32 |
33 |
34 | // DO NOT ADD BEFORE BUT_PRESS!!! - Direct state acquisition from IO
35 | typedef enum{
36 | BUT_IDLE, //off state - > do not change
37 | BUT_PRESS, // on state - > do not change
38 | BUT_LPRESS
39 | }BUT_State;
40 |
41 | /*
42 | * Return state of Button (BUT_State)
43 | */
44 | BUT_State BUT_GetState(BUT_Device button);
45 |
46 | /*
47 | * Tick Counter (called by RTOS Tick Hook)
48 | */
49 | void BUT_Count(void);
50 |
51 | /*
52 | * iterates through all buttons to set their states
53 | */
54 | void BUT_Process(void);
55 |
56 | /*
57 | * Initializes button relevant flags and counters
58 | */
59 | void BUT_Init(void);
60 |
61 |
62 |
63 | #endif /* SOURCES_BUTTONS_H_ */
64 |
--------------------------------------------------------------------------------
/Software/tinyk20_PNP_V1/tinyk20_PNP_V1/Sources/comm.c:
--------------------------------------------------------------------------------
1 | /*
2 | * comm.c
3 | *
4 | * Created on: 04.04.2018
5 | * Author: Simon
6 | */
7 |
8 | #include "comm.h"
9 |
10 | /*
11 | * CMD AND ERROR DECLARATION
12 | *
13 | * Each Message String begins with either CMD or ERR
14 | * This defines if the address is to be evaluated as command or
15 | * incremented and passed on for error evaluation in OpenPnP
16 | *
17 | * The address follows the CMD/ERR header. Then followed by the command/message
18 | * which is evaluated in a second step.
19 | *
20 | * CMD 0 FWD xx | CMD 0 REV xx
21 | * ERR 0 Unknown command | ERR 0 Incorrect Step Format | ERR 0 Software Error |
22 | */
23 |
24 | #if PL_COMM_EN
25 | #include "CLS1.h"
26 | #include "UTIL1.h"
27 | #include "CS1.h"
28 | #include "FRTOS1.h"
29 | #include "Application.h"
30 |
31 | #if PL_ENCODER_EN
32 | #include "encoder.h"
33 | #endif
34 |
35 | #define MAX_BUFF (64)
36 | static unsigned char buffer[MAX_BUFF];
37 |
38 | /*
39 | * Add forward step to APP_Counter
40 | */
41 | void COMM_SetFWD(){
42 | CS1_CriticalVariable();
43 |
44 | CS1_EnterCritical();
45 | APP_Counter++;
46 | CS1_ExitCritical();
47 | }
48 |
49 | /*
50 | * Add reverse step to APP_Counter
51 | */
52 | void COMM_SetREV(){
53 | CS1_CriticalVariable();
54 |
55 | CS1_EnterCritical();
56 | APP_Counter--;
57 | CS1_ExitCritical();
58 | }
59 |
60 | /*
61 | * Send Error-Style message to Master
62 | */
63 | void COMM_SendError(const unsigned char *cmd){
64 | uint8_t maxBuf = MAX_BUFF;
65 | unsigned char tmpCMD[maxBuf];
66 | unsigned char* ptr;
67 |
68 | UTIL1_strcpy(tmpCMD, maxBuf, "CMD -1 ERR ");
69 | ptr = tmpCMD+sizeof("CMD -1 ERR ")-1;
70 | UTIL1_strcpy(ptr, maxBuf, cmd);
71 |
72 | CLS1_SendStr((unsigned char*)tmpCMD, CLS1_GetStdio()->stdOut);
73 | }
74 |
75 | /*
76 | * Send Status-Style message to Master
77 | */
78 | void COMM_SendStatus(const unsigned char *cmd){
79 | uint8_t maxBuf = MAX_BUFF;
80 | unsigned char tmpCMD[maxBuf];
81 | unsigned char* ptr;
82 |
83 | UTIL1_strcpy(tmpCMD, maxBuf, "CMD -1 ");
84 | ptr = tmpCMD+sizeof("CMD -1 ")-1;
85 | UTIL1_strcpy(ptr, maxBuf, cmd);
86 |
87 | CLS1_SendStr((unsigned char*)tmpCMD, CLS1_GetStdio()->stdOut);
88 | }
89 |
90 |
91 | /*
92 | * Parse through recieved messages
93 | * Messages with address 0 processed
94 | * otherwise decremented and sent on
95 | *
96 | * changed from CLS1_ParseCommand()
97 | *
98 | * \todo improve to send back errors for handling
99 | */
100 | uint8_t COMM_ParseCommand(const unsigned char *cmd, bool *handled, const CLS1_StdIOType *io)
101 | {
102 | int8_t value; //signed since address decrementing falls below 0
103 | uint8_t res;
104 | const unsigned char *p;
105 | const unsigned char *tmpCMD;
106 |
107 | // Check if it is command
108 | if (UTIL1_strncmp((char*)cmd, "CMD", sizeof("CMD")-1)==0){
109 |
110 | tmpCMD = cmd+sizeof("CMD")-1;
111 |
112 | res = UTIL1_ScanDecimal8sNumber(&tmpCMD, &value);
113 |
114 | // if address is 0 execute command
115 | if(value == 0){
116 | tmpCMD = cmd+sizeof("CMD 0 ")-1;
117 |
118 | if (UTIL1_strncmp((char*)tmpCMD, "FWD", sizeof("FWD")-1)==0){
119 | p = tmpCMD+sizeof("FWD")-1;
120 | res = UTIL1_ScanDecimal8uNumber(&p, &value);
121 | *handled = TRUE;
122 | if((value >= 2)&&(value%2 == 0)){ // number of steps (in mm)
123 | //ENC_SetStep(value);
124 | while (value > 0){
125 | COMM_SetFWD();
126 | value = value-2;
127 | }
128 | COMM_SendStatus("FWD ok");
129 | return ERR_OK;
130 | }else {
131 | // wrong step size
132 | COMM_SendError("invalid step size");
133 | return ERR_VALUE;
134 | }
135 |
136 |
137 | } else if (UTIL1_strncmp((char*)tmpCMD, "REV", sizeof("REV")-1)==0){ //(UTIL1_strcmp((char*)tmpCMD, "REV")==0) {
138 |
139 | p = tmpCMD+sizeof("REV")-1;
140 | res = UTIL1_ScanDecimal8uNumber(&p, &value);
141 | *handled = TRUE;
142 | if((value >= 2)&&(value%2 == 0)){ // number of steps (in mm)
143 | //ENC_SetStep(value);
144 | while (value > 0){
145 | COMM_SetREV();
146 | value = value-2;
147 | }
148 | COMM_SendStatus("REV ok");
149 | return ERR_OK;
150 | }else {
151 | // wrong step size
152 | COMM_SendError("invalid step size");
153 | return ERR_VALUE;
154 | }
155 | }else {
156 | // catch false/ unknown command
157 | COMM_SendError("unknown command");
158 | return ERR_VALUE;
159 | }
160 | return ERR_OK;
161 |
162 |
163 | // else decrement address and send command on
164 | }else { //else if(value > 0){//if (UTIL1_strncmp((char*)cmd, "0", sizeof("99")-1)>0) {
165 |
166 | unsigned char tmpStr[sizeof("999")-1];
167 | unsigned char *p;
168 | unsigned char *newAddress;
169 |
170 | uint8_t ind = strlen(cmd);
171 | value--;
172 |
173 | UTIL1_Num8sToStr(tmpStr, ind, value);
174 |
175 | ind += strlen(tmpStr);
176 | ind += strlen("CMD ");
177 |
178 | unsigned char newCMD[ind];
179 |
180 | tmpCMD = cmd+(sizeof("CMD ")+strlen(tmpStr)-1);
181 |
182 | UTIL1_strcpy(newCMD, ind, "CMD ");
183 | p = newCMD+sizeof("CMD ")-1;
184 | UTIL1_strcpy(p, ind, tmpStr);
185 | p = p+strlen(tmpStr)-1;
186 | UTIL1_strcat(p, ind, tmpCMD);
187 |
188 | CLS1_SendStr((unsigned char*)newCMD, io->stdOut);
189 |
190 | *handled = TRUE;
191 | return ERR_OK;
192 | }
193 | // else generate unknown command error
194 | }else{
195 | COMM_SendError("unknown message");
196 | *handled = TRUE;
197 | return ERR_FAILED;
198 | }
199 | }
200 |
201 | /*
202 | * Iterate through recieved characters
203 | * changed from CLS1_ReadAndParse()
204 | */
205 | uint8_t COMM_ReadAndParse(uint8_t *cmdBuf, size_t cmdBufSize, CLS1_ConstStdIOType *io)
206 | {
207 | /* IMPORTANT NOTE: this function *appends* to the buffer, so the buffer needs to be initialized first! */
208 | uint8_t res = ERR_OK;
209 | size_t len;
210 | bool handled;
211 |
212 |
213 | if (io==NULL) { /* no I/O handler? */
214 | return ERR_FAILED;
215 | }
216 | len = UTIL1_strlen((const char*)cmdBuf);
217 | if (CLS1_ReadLine(cmdBuf, cmdBuf+len, cmdBufSize-len, io)) {
218 | len = UTIL1_strlen((const char*)cmdBuf); /* length of buffer string */
219 | if (len==0) { /* error case */
220 | return ERR_FAILED;
221 | } else if (len==1 && (cmdBuf[0]=='\n' || cmdBuf[0]=='\r')) { /* eat preceding newline characters */
222 | cmdBuf[0] = '\0';
223 | }
224 | if (len>=cmdBufSize-1) { /* buffer overflow? Parse what we have, will be likely return an error */
225 | //(void)CLS1_ParseWithCommandTable(cmdBuf, io, parseCallback);
226 | (void)COMM_ParseCommand(cmdBuf, &handled, io);
227 | #if ADD_NEWLINE
228 | CLS1_SendStr((unsigned char*)"\r\n", io->stdOut);
229 | #endif
230 | cmdBuf[0] = '\0'; /* start again */
231 | res = ERR_OVERFLOW;
232 | } else if (cmdBuf[len-1]=='\n' || cmdBuf[len-1]=='\r') { /* line end: parse command */
233 | cmdBuf[len-1] = '\0'; /* remove line end character for parser */
234 | res = COMM_ParseCommand(cmdBuf, &handled, io);
235 | #if ADD_NEWLINE
236 | CLS1_SendStr((unsigned char*)"\r\n", io->stdOut);
237 | #endif
238 | cmdBuf[0] = '\0'; /* start again */
239 | } else {
240 | /* continue to append to buffer */
241 | }
242 | }
243 | return res;
244 | }
245 |
246 |
247 | /*
248 | * Communication-task
249 | *
250 | */
251 | static void COMM_task(void *param) {
252 | (void)param;
253 | for(;;) {
254 | //error_res = COMM_ReadAndParse(buffer, sizeof(buffer), CLS1_GetStdio());
255 | (void)COMM_ReadAndParse(buffer, sizeof(buffer), CLS1_GetStdio());
256 | vTaskDelay(pdMS_TO_TICKS(100));
257 | } /* for */
258 | }
259 |
260 | /*
261 | * Initialize Buffer and start task
262 | */
263 | void COMM_Init(void){
264 | buffer[0] = '\0';
265 |
266 | if (xTaskCreate(COMM_task, "UART", configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY+1, NULL) != pdPASS) {
267 | for(;;){} /* error! probably out of memory */
268 | }
269 | }
270 |
271 | #endif
272 |
--------------------------------------------------------------------------------
/Software/tinyk20_PNP_V1/tinyk20_PNP_V1/Sources/comm.h:
--------------------------------------------------------------------------------
1 | /*
2 | * comm.h
3 | *
4 | * Created on: 04.04.2018
5 | * Author: Simon
6 | */
7 |
8 | #ifndef SOURCES_COMM_H_
9 | #define SOURCES_COMM_H_
10 | #include "platform.h"
11 | //#include "stdint.h"
12 | #include "CLS1.h"
13 |
14 | #define ADD_NEWLINE (1)
15 |
16 | /*
17 | * Initialise Communication Buffer
18 | * Start COMM Task
19 | */
20 | void COMM_Init(void);
21 |
22 |
23 | /*
24 | * Send Error Messages
25 | * \todo Improve to implement queueing of messages
26 | */
27 | void COMM_SendError(const unsigned char *cmd);
28 |
29 |
30 |
31 | #endif /* SOURCES_COMM_H_ */
32 |
--------------------------------------------------------------------------------
/Software/tinyk20_PNP_V1/tinyk20_PNP_V1/Sources/encoder.c:
--------------------------------------------------------------------------------
1 | /*
2 | * encoder.c
3 | *
4 | * Created on: 25.03.2018
5 | * Author: Simon
6 | */
7 | #include "encoder.h"
8 |
9 |
10 |
11 | #if PL_ENCODER_EN
12 | #include "enc1.h"
13 | #include "CS1.h"
14 | #include "LED1.h"
15 | #include "LED2.h"
16 | #include "FRTOS1.h"
17 |
18 | #include "motor.h"
19 |
20 |
21 |
22 | #define ENC_TICK_CNT (3)
23 |
24 | static volatile bool enc_state = 0;
25 | static volatile unsigned int enc_cnt = 0; // step count
26 | static volatile unsigned int enc_tick = 0; // tick count
27 |
28 | static volatile unsigned int enc_step = 0;
29 | static volatile unsigned int enc_trigger = 0;
30 |
31 | // change if step is defined through other software part
32 |
33 |
34 | /*
35 | * Sets/Resets Trigger/Event that step count is reached
36 | */
37 | void ENC_SetTrigger(unsigned int tmp){
38 | CS1_CriticalVariable();
39 |
40 | CS1_EnterCritical();
41 | enc_trigger = tmp;
42 | CS1_ExitCritical();
43 | }
44 |
45 | /*
46 | * Returns Trigger/Event if step count is reached
47 | */
48 | unsigned int ENC_GetTrigger(void){
49 | CS1_CriticalVariable();
50 | unsigned int tmp;
51 | CS1_EnterCritical();
52 | tmp = enc_trigger;
53 | CS1_ExitCritical();
54 | return tmp;
55 | }
56 |
57 | /*
58 | * Reads Encoder (Lichtschranke) and sets state/ step counter accordingly
59 | * Returns 1/0 to turn off motors
60 | *
61 | * Negates LED each time state changes
62 | */
63 | unsigned int ENC_GetVal(void){
64 |
65 | bool tmp = ENC1_GetVal();
66 |
67 | if (enc_state != tmp){
68 | enc_state = tmp;
69 | enc_tick = 0;
70 | LED1_Neg();
71 | } else {
72 | if (enc_tick == ENC_TICK_CNT){
73 | enc_cnt++;
74 | }
75 | enc_tick++;
76 | }
77 |
78 |
79 | if(enc_cnt == (enc_step)){
80 | /* motor off*/
81 | //MOT_Speed(MOT_SPROC,0,MOT_FWD);
82 | ENC_SetTrigger(1);
83 | enc_cnt = 0; // reset counter
84 | return 1;
85 | } else{
86 | return 0;
87 | }
88 | }
89 |
90 | /*
91 | * resets step counter
92 | */
93 | void ENC_ResetCnt(void){
94 | CS1_CriticalVariable();
95 |
96 | CS1_EnterCritical();
97 | enc_cnt = 0;
98 | CS1_ExitCritical();
99 |
100 | }
101 |
102 |
103 |
104 | /*
105 | * sets encoder step size
106 | */
107 | void ENC_SetStep(unsigned int stepSize){
108 | enc_step = stepSize;
109 | }
110 |
111 | /*
112 | * returns encoder step size
113 | */
114 | unsigned int ENC_GetStep(){
115 | return enc_step;
116 | }
117 |
118 | /*
119 | * calls status check of encoder
120 | * turns off sprocket motor accordingly
121 | */
122 | static void ENC_task(void *param) {
123 | unsigned int enc_val = 0;
124 | (void)param;
125 | for(;;) {
126 | // if Encoder counter is done turn off sprocket motor
127 | enc_val = ENC_GetVal();
128 | if(enc_val==1){
129 | MOT_Speed(MOT_SPROC,0,MOT_FWD);
130 | }
131 | vTaskDelay(pdMS_TO_TICKS(1));
132 | } /* for */
133 | }
134 |
135 | /*
136 | * Initializes counters and flags
137 | * creates ENC Task
138 | */
139 | void ENC_Init(void){
140 | enc_state = 1;
141 | enc_cnt = 0;
142 | enc_tick = 0;
143 | enc_step = 4;
144 | enc_trigger = 0;
145 | if (xTaskCreate(ENC_task, "ENC", configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY+2, NULL) != pdPASS) {
146 | for(;;){} /* error! probably out of memory */
147 | }
148 | }
149 |
150 | #endif
151 |
--------------------------------------------------------------------------------
/Software/tinyk20_PNP_V1/tinyk20_PNP_V1/Sources/encoder.h:
--------------------------------------------------------------------------------
1 | /*
2 | * encoder.h
3 | *
4 | * Created on: 25.03.2018
5 | * Author: Simon
6 | */
7 |
8 | #ifndef SOURCES_HARDWARE_ENCODER_H_
9 | #define SOURCES_HARDWARE_ENCODER_H_
10 |
11 | #include "platform.h"
12 |
13 | #define ENC_INV (0) // set depending on encoder connection 0/1
14 | #define ENC_TICKS (2) // Amount of 2 mm steps for component feed
15 |
16 |
17 |
18 | /*
19 | * Sets/Resets Trigger/Event state that step count is reached
20 | */
21 | void ENC_SetTrigger(unsigned int tmp);
22 |
23 | /*
24 | * Returns Trigger/Event state that step count is reached
25 | */
26 | unsigned int ENC_GetTrigger(void);
27 |
28 | /*
29 | * resets step counter
30 | */
31 | void ENC_ResetCnt(void);
32 |
33 | /*
34 | * returns step size
35 | */
36 | unsigned int ENC_GetStep(void);
37 |
38 | /*
39 | * sets step size to value of parameter stepSize
40 | */
41 | void ENC_SetStep(unsigned int stepSize);
42 |
43 | /*
44 | * initialises counters and flags
45 | * starts ENC Task
46 | */
47 | void ENC_Init(void);
48 |
49 | #endif /* SOURCES_HARDWARE_ENCODER_H_ */
50 |
--------------------------------------------------------------------------------
/Software/tinyk20_PNP_V1/tinyk20_PNP_V1/Sources/main.c:
--------------------------------------------------------------------------------
1 | /* ###################################################################
2 | ** Filename : main.c
3 | ** Project : tinyk20_PNP_V1
4 | ** Processor : MK20DN128VFT5
5 | ** Version : Driver 01.01
6 | ** Compiler : GNU C Compiler
7 | ** Date/Time : 2018-04-16, 10:39, # CodeGen: 0
8 | ** Abstract :
9 | ** Main module.
10 | ** This module contains user's application code.
11 | ** Settings :
12 | ** Contents :
13 | ** No public methods
14 | **
15 | ** ###################################################################*/
16 | /*!
17 | ** @file main.c
18 | ** @version 01.01
19 | ** @brief
20 | ** Main module.
21 | ** This module contains user's application code.
22 | */
23 | /*!
24 | ** @addtogroup main_module main module documentation
25 | ** @{
26 | */
27 | /* MODULE main */
28 |
29 |
30 | /* Including needed modules to compile this module/procedure */
31 | #include "Cpu.h"
32 | #include "Events.h"
33 | #include "LED1.h"
34 | #include "LEDpin1.h"
35 | #include "BitIoLdd1.h"
36 | #include "MCUC1.h"
37 | #include "SW_FWD.h"
38 | #include "BitIoLdd2.h"
39 | #include "SW_REV.h"
40 | #include "BitIoLdd3.h"
41 | #include "SW_MSW.h"
42 | #include "BitIoLdd4.h"
43 | #include "ENC1.h"
44 | #include "BitIoLdd5.h"
45 | #include "PWMA.h"
46 | #include "PwmLdd1.h"
47 | #include "TU1.h"
48 | #include "DIRA.h"
49 | #include "BitIoLdd6.h"
50 | #include "DIRB.h"
51 | #include "BitIoLdd7.h"
52 | #include "PWMB.h"
53 | #include "PwmLdd2.h"
54 | #include "HMODE.h"
55 | #include "BitIoLdd8.h"
56 | #include "FRTOS1.h"
57 | #include "UTIL1.h"
58 | #include "WAIT1.h"
59 | #include "CLS1.h"
60 | #include "XF1.h"
61 | #include "CS1.h"
62 | #include "LED2.h"
63 | #include "LEDpin2.h"
64 | #include "BitIoLdd9.h"
65 | #include "AS1.h"
66 | #include "ASerialLdd1.h"
67 | #include "TGT_SWD_OE.h"
68 | #include "BitIoLdd10.h"
69 | #include "HF1.h"
70 | #include "TU2.h"
71 | /* Including shared modules, which are used for whole project */
72 | #include "PE_Types.h"
73 | #include "PE_Error.h"
74 | #include "PE_Const.h"
75 | #include "IO_Map.h"
76 | /* User includes (#include below this line is not maintained by Processor Expert) */
77 | #include "application.h"
78 | #include "platform.h"
79 |
80 |
81 | /*lint -save -e970 Disable MISRA rule (6.3) checking. */
82 | int main(void)
83 | /*lint -restore Enable MISRA rule (6.3) checking. */
84 | {
85 | /* Write your local variable definition here */
86 |
87 | /*** Processor Expert internal initialization. DON'T REMOVE THIS CODE!!! ***/
88 | PE_low_level_init();
89 | /*** End of Processor Expert internal initialization. ***/
90 |
91 | /* Write your code here */
92 | /* For example: for(;;) { } */
93 | #if 0
94 | TGT_SWD_OE_SetVal(); // if built on a tinyK20
95 | #endif
96 |
97 | PL_Init(); // Comm and Enc Tasks
98 | APP_Init();
99 | APP_Run(); // APP Task
100 |
101 |
102 | /*** Don't write any code past this line, or it will be deleted during code generation. ***/
103 | /*** RTOS startup code. Macro PEX_RTOS_START is defined by the RTOS component. DON'T MODIFY THIS CODE!!! ***/
104 | #ifdef PEX_RTOS_START
105 | PEX_RTOS_START(); /* Startup of the selected RTOS. Macro is defined by the RTOS component. */
106 | #endif
107 | /*** End of RTOS startup code. ***/
108 | /*** Processor Expert end of main routine. DON'T MODIFY THIS CODE!!! ***/
109 | for(;;){}
110 | /*** Processor Expert end of main routine. DON'T WRITE CODE BELOW!!! ***/
111 | } /*** End of main routine. DO NOT MODIFY THIS TEXT!!! ***/
112 |
113 | /* END main */
114 | /*!
115 | ** @}
116 | */
117 | /*
118 | ** ###################################################################
119 | **
120 | ** This file was created by Processor Expert 10.5 [05.21]
121 | ** for the Freescale Kinetis series of microcontrollers.
122 | **
123 | ** ###################################################################
124 | */
125 |
--------------------------------------------------------------------------------
/Software/tinyk20_PNP_V1/tinyk20_PNP_V1/Sources/motor.c:
--------------------------------------------------------------------------------
1 | /*
2 | * motor_sproc.c
3 | *
4 | * Created on: 25.03.2018
5 | * Author: Simon
6 | */
7 |
8 | #include "motor.h"
9 | /* Motor Drivers
10 | *
11 | * Using DRV8835 H-Bridge IC for motor control.
12 | * MODE = 1 (is set high in Init
13 | * xEnable (0 = Brake, 1 = FWD/REV)
14 | * xPhase (X = Brake, 0 = FWD, 1 = REV)
15 | *
16 | * //Special care for when motor is connected backwards.
17 | * Use Invert in header file
18 | */
19 |
20 | #if PL_MOTOR_EN
21 | #include "DIRA.h"
22 | #include "DIRB.h"
23 | #include "PWMA.h"
24 | #include "PWMB.h"
25 | #include "HMODE.h"
26 |
27 | /*
28 | * sets direction of sprocket motor
29 | * checks for inverted mount
30 | */
31 | static void MOT_Dir_Sproc(MOT_Direction dir){
32 | bool tmp = TRUE;
33 | if (dir == MOT_FWD){
34 | tmp = TRUE;
35 | }else if (dir == MOT_REV){
36 | tmp = FALSE;
37 | }
38 |
39 | if(MOT_SPROC_INV){
40 | tmp = !tmp;
41 | }
42 |
43 | DIRA_PutVal(tmp);
44 | }
45 |
46 | /*
47 | * sets direction of tape peeler motor
48 | * checks for inverted mount
49 | */
50 | static void MOT_Dir_Tape(MOT_Direction dir){
51 | bool tmp = TRUE;
52 | if (dir == MOT_FWD){
53 | tmp = TRUE;
54 | }else if (dir == MOT_REV){
55 | tmp = FALSE;
56 | }
57 |
58 | if(MOT_TAPE_INV){
59 | tmp = !tmp;
60 | }
61 | DIRB_PutVal(tmp);
62 |
63 | }
64 |
65 | /*
66 | * sets motor speed and direction
67 | */
68 | uint8_t MOT_Speed(MOT_Device motor, uint8_t speedPercent, MOT_Direction dir){
69 | uint32_t pwmVal;
70 |
71 | if (speedPercent > MAX_SPEED){
72 | speedPercent = MAX_SPEED;
73 | }
74 | pwmVal = (((100-speedPercent)*0xFFFF)/100); // 0 is 100%
75 |
76 | if(motor == MOT_SPROC){
77 | MOT_Dir_Sproc(dir);
78 | PWMA_SetRatio16(pwmVal); // sets H-Bridge speed
79 | return 1;
80 |
81 | }else if (motor == MOT_TAPE){
82 | MOT_Dir_Tape(dir);
83 | PWMB_SetRatio16(pwmVal); // sets H-Bridge speed
84 | return 1;
85 | } // else error?
86 | else{
87 | return 0;
88 | }
89 |
90 | }
91 |
92 |
93 | /*
94 | * initializes motor to 0 speed (Stop)
95 | * sets H-Bridge Mode
96 | */
97 | void MOT_Init(){
98 | HMODE_SetVal();
99 |
100 | MOT_Speed(MOT_SPROC,0,MOT_FWD);
101 | MOT_Speed(MOT_TAPE,0,MOT_FWD);
102 | }
103 |
104 |
105 | #endif
106 |
--------------------------------------------------------------------------------
/Software/tinyk20_PNP_V1/tinyk20_PNP_V1/Sources/motor.h:
--------------------------------------------------------------------------------
1 | /*
2 | * motor_sproc.h
3 | *
4 | * Created on: 25.03.2018
5 | * Author: Simon
6 | */
7 |
8 | #ifndef SOURCES_HARDWARE_MOTOR_H_
9 | #define SOURCES_HARDWARE_MOTOR_H_
10 |
11 | #include "platform.h"
12 | #include "stdint.h"
13 |
14 | #if PL_MOTOR_EN
15 |
16 | #define MOT_SPROC_INV (1)
17 | #define MOT_TAPE_INV (0)
18 |
19 | #define MAX_SPEED (100)
20 |
21 | typedef enum{
22 | // MOT_NULL, // 0 is not driving
23 | MOT_FWD,
24 | MOT_REV
25 | }MOT_Direction;
26 |
27 | typedef enum{
28 | MOT_SPROC,
29 | MOT_TAPE
30 | }MOT_Device;
31 |
32 | /*
33 | * sets motor speed and direction
34 | * parametes: Motor device, speed (0-100), direction (FWD/REV)
35 | *
36 | * see typedefs for direction parameters
37 | */
38 | uint8_t MOT_Speed(MOT_Device motor, uint8_t speedPercent, MOT_Direction dir);
39 |
40 | /*
41 | * initialises motor to 0 speed (Stop)
42 | * sets H-Bridge Mode
43 | */
44 | void MOT_Init(void);
45 |
46 | #endif
47 |
48 | #endif /* SOURCES_HARDWARE_MOTOR_H_ */
49 |
--------------------------------------------------------------------------------
/Software/tinyk20_PNP_V1/tinyk20_PNP_V1/Sources/platform.c:
--------------------------------------------------------------------------------
1 | /*
2 | * platform.c
3 | *
4 | * Created on: 25.03.2018
5 | * Author: Simon
6 | */
7 | #include "platform.h"
8 | #include "stdint.h"
9 |
10 | #if PL_BUTTON_EN
11 | #include "buttons.h"
12 | #endif
13 | #if PL_ENCODER_EN
14 | #include "encoder.h"
15 | #endif
16 | #if PL_MOTOR_EN
17 | #include "motor.h"
18 | #endif
19 | #if PL_COMM_EN
20 | #include "comm.h"
21 | #endif
22 |
23 | /*
24 | * starts Communication and Encoder tasks
25 | */
26 | void PL_Init(){
27 | #if PL_COMM_EN
28 | COMM_Init();
29 | #endif
30 | #if PL_ENCODER_EN
31 | ENC_Init();
32 | #endif
33 | #if PL_MOTOR_EN
34 | MOT_Init();
35 | #endif
36 | #if PL_BUTTON_EN
37 | BUT_Init();
38 | #endif
39 | }
40 |
41 |
--------------------------------------------------------------------------------
/Software/tinyk20_PNP_V1/tinyk20_PNP_V1/Sources/platform.h:
--------------------------------------------------------------------------------
1 | /*
2 | * platform.h
3 | *
4 | * Created on: 25.03.2018
5 | * Author: Simon
6 | */
7 |
8 | #ifndef SOURCES_PLATFORM_H_
9 | #define SOURCES_PLATFORM_H_
10 |
11 | #define PL_BUTTON_EN (1) // Configuration uses Buttons (FW/RV)
12 | #define PL_ENCODER_EN (1) // Configuration uses Optical Encoder
13 | #define PL_MOTOR_EN (1) // Configuration uses Sprocket and/or Tape Peeler Motor
14 | #define PL_TAPE_EN (1) // Configruation uses Tape Peeler
15 | #define PL_COMM_EN (1) // Configruation uses UART Communication
16 |
17 |
18 |
19 | void PL_Init();
20 |
21 | #endif /* SOURCES_PLATFORM_H_ */
22 |
--------------------------------------------------------------------------------
/Software/tinyk20_PNP_V1/tinyk20_PNP_V1/Static_Code/PDD/PDD_Types.h:
--------------------------------------------------------------------------------
1 | /* Common type declarations for PDD layer */
2 | /* This file is static and it is generated from API-Factory */
3 |
4 | #ifndef PDD_TYPES_H_
5 | #define PDD_TYPES_H_
6 |
7 | /* --------------------------------------------------------------- */
8 | /* --------- PDD_TBool */
9 | /* --------------------------------------------------------------- */
10 |
11 | /* Implementation note for boolean type: */
12 | /* Native "bool" type should be used for boolean values */
13 | /* because the compiler provides optimization and best type representation. */
14 | /* If the compiler does not support native "bool" type, common "Bool" */
15 | /* at each place there should be used the most suitable integer type */
16 | /* and no explicit conversion to 0 and 1 values should be used. */
17 | /* Common "TBool" typedef could have possible performance issue */
18 | /* (there is a problem how wide type to select). It is good to avoid using */
19 | /* explicit "!= 0" because of performance penalty, but without such */
20 | /* explicit conversion to 0/1 the resulting type may be too wide. */
21 | /* Every bool type (native or replaced by integer value) should be always */
22 | /* treated as zero-equal or non-zero (see below for examples). */
23 |
24 | /* E.g.: This compiler supports boolean type only in C++ mode. */
25 | /* Out of the C++ mode the boolean type must be simulated. */
26 |
27 | #ifndef __cplusplus
28 | typedef uint16_t PDD_TBool;
29 | #else
30 | typedef bool PDD_TBool;
31 | #endif
32 |
33 | /* ============================================================================
34 | ================== General PDD macros ======================================
35 | ============================================================================ */
36 |
37 | #define PDD_DISABLE 0u
38 | #define PDD_ENABLE 1u
39 |
40 | /* ============================================================================
41 | ================== General register manipulating routines ==================
42 | ============================================================================ */
43 |
44 | #define setReg8(Reg, val) ((Reg) = (uint8_t)(val))
45 | #define getReg8(Reg) (Reg)
46 | #define testReg8Bits(Reg, GetMask) ((Reg) & (uint8_t)(GetMask))
47 | #define clrReg8Bits(Reg, ClrMask) ((Reg) &= (uint8_t)((uint8_t)(~(uint8_t)(ClrMask))))
48 | #define setReg8Bits(Reg, SetMask) ((Reg) |= (uint8_t)(SetMask))
49 | #define invertReg8Bits(Reg, InvMask) ((Reg) ^= (uint8_t)(InvMask))
50 | #define clrSetReg8Bits(Reg, ClrMask, SetMask) ((Reg) = (uint8_t)(((Reg) & (uint8_t)(~(uint8_t)(ClrMask))) | (uint8_t)(SetMask)))
51 |
52 | #define setReg16(Reg, val) ((Reg) = (uint16_t)(val))
53 | #define getReg16(Reg) (Reg)
54 | #define testReg16Bits(Reg, GetMask) ((Reg) & (uint16_t)(GetMask))
55 | #define clrReg16Bits(Reg, ClrMask) ((Reg) &= (uint16_t)(~(uint16_t)(ClrMask)))
56 | #define setReg16Bits(Reg, SetMask) ((Reg) |= (uint16_t)(SetMask))
57 | #define invertReg16Bits(Reg, InvMask) ((Reg) ^= (uint16_t)(InvMask))
58 | #define clrSetReg16Bits(Reg, ClrMask, SetMask) ((Reg) = (uint16_t)(((Reg) & (uint16_t)(~(uint16_t)(ClrMask))) | (uint16_t)(SetMask)))
59 |
60 | #define setReg32(Reg, val) ((Reg) = (uint32_t)(val))
61 | #define getReg32(Reg) (Reg)
62 | #define testReg32Bits(Reg, GetMask) ((Reg) & (uint32_t)(GetMask))
63 | #define clrReg32Bits(Reg, ClrMask) ((Reg) &= (uint32_t)(~(uint32_t)(ClrMask)))
64 | #define setReg32Bits(Reg, SetMask) ((Reg) |= (uint32_t)(SetMask))
65 | #define invertReg32Bits(Reg, InvMask) ((Reg) ^= (uint32_t)(InvMask))
66 | #define clrSetReg32Bits(Reg, ClrMask, SetMask) ((Reg) = (uint32_t)(((Reg) & (uint32_t)(~(uint32_t)(ClrMask))) | (uint32_t)(SetMask)))
67 |
68 |
69 | #endif /* #if !defined(PDD_TYPES_H_) */
70 |
--------------------------------------------------------------------------------