├── 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 | --------------------------------------------------------------------------------