Skip to content

janelia-modular-devices/spinning_platform_controller

Repository files navigation

Repository Information

Name
spinning_platform_controller
Version
1.0
License
BSD, Open-Source Hardware
URL
https://github.com/janelia-modular-devices/spinning_platform_controller.git
Author
Peter Polidoro
Email
[email protected]

Description

This device controls the rotations of the spinning platform.

Images

./images/mounted.png

./images/top_left.png

./images/top_right.png

Usage Instructions

  • The switches control the rotations of the spinning platform.
  • Clicking the switch connected to BTN A of the controller causes the target platform position to increment by one rotation in the positive direction.
  • Clicking the switch connected to BTN B of the controller causes the target platform position to increment by one rotation in the negative direction.
  • The platform spins until its position equals the target position and then it stops, waiting indefinitely for more user input.
  • For example, if the platform is stopped and the user presses the switch connected to BTN A five times and then quickly presses the switch connected to BTN B two times, then the platform will rotate three full revolutions in the positive direction. (target position = 5 - 2 = 3). If the user waits until the platform has rotated three times until it stops and then presses the switch connected to BTN B three times, the platform will rotate three times in the negative direction and end up where it started originally.

Build Instructions

  • This controller is made from a single 5x3 form factor modular device.
  • This device consists of two pcbs, the (modular_device_base_5x3) and the (stepper_controller_5x3).
  • In addition to the two pcbs, there is one acrylic mounting plate (modular_device_enclosure 5x3 enclosure_bottom), and two switches (modular_device_remote_switch).
  • Send the zip files containing the gerbers for each of the two pcbs to your favorite pcb manufacturer for fabrication.
  • Using the bill of materials and vendor parts lists order the parts necessary for construction for the two pcbs, the mounting plate, and the two switches.
  • Assemble each of the pcbs using the assembly instructions provided for each.
  • Use the dxf file for the enclosure_bottom to cut the mounting plate from the acrylic sheet using a laser cutter or send the dxf to a laser cutting service for fabrication.
  • Assemble the two remote switches using the assembly instructions, cutting the cables to the length necessary for the specific setup.
  • Connect the four stepper motor wires to a 4 position 0.2 inch terminal block plug connector according to the following table. Then connect that plug into T1 (motor 0) on the stepper controller pcb.
Stepper MotorStepper ControllerTerminal Block Plug Connector
BLACKMOTOR 0 A+4
GREENMOTOR 0 A-3
REDMOTOR 0 B+2
BLUEMOTOR 0 B-1

Hardware

modular_device_base_5x3

Repository Information

Name
modular_device_base_5x3
Version
1.2
License
Open-Source Hardware
URL
https://github.com/janelia-kicad/modular_device_base_5x3
Author
Peter Polidoro
Email
[email protected]

Description

This board is the base of 5x3 format modular devices. It is a breakout board for the microprocessor, with connections for power, communication, and top boards.

Images

./images/modular_device_base_5x3/images/top.png

./images/modular_device_base_5x3/images/bottom.png

Schematic

./hardware/modular_device_base_5x3/schematic/modular_device_base_5x3.pdf

./images/modular_device_base_5x3/schematic/images/schematic00.png

Gerbers

Send gerbers zip file to your favorite PCB manufacturer for fabrication.

./hardware/modular_device_base_5x3/gerbers/modular_device_base_5x3_v1.2.zip

./images/modular_device_base_5x3/gerbers/images/gerbers00.png

./images/modular_device_base_5x3/gerbers/images/gerbers01.png

Bill of Materials

PCB Parts

ItemReference(s)QuantityPartNumberVendorDescription
1C1 C2 C3 C4 C55445-4536-1-NDdigikeyCAP CER 10UF 50V 10% X7S 1210
2C61399-13229-1-NDdigikeyCAP CER 0.1UF 100V X7R 1210
3D1 D22LSM115JE3/TR13CT-NDdigikeyDIODE SCHOTTKY 15V 1A DO214BA
4D10 D11 D12 D13 D3 D4 D5 D6 D7 D8 D911568-11697-1-NDdigikeyDIODE SCHOTTKY 45V 10A CFP15
5L11350-1712-NDdigikeyLED 2MM 5V RT ANGLE RED PCMNT
6L21350-1717-NDdigikeyLED 2MM 5V RT ANGLE GREEN PCMNT
7L31350-1719-NDdigikeyLED 2MM 5V RT ANGLE YELLOW PCMNT
8MDB12S7058-NDdigikey25 Position Header Through Hole Female Socket
9MH1 MH2 MH3 MH4 MH5 MH6 MH7 MH8836-2027-NDdigikeyRound Standoff Threaded 4-40 Aluminum 0.500in 0.187in
10P11CP-063BH-NDdigikeyCONN PWR JACK DC 2.5X5.5 8A T/H
11P10 P4 P6 P84A100903CT-NDdigikeyCONN HEADER 2POS R/A SMD GOLD
12P111732-5336-NDdigikeyCONN HEADER 3 POS RA 2.54
13P12 P132SAM10781-NDdigikeyCONN HEADER 2POS .100in SNGL SMD
14P21ACX1655-NDdigikeyCONN BNC JACK R/A 75 OHM PCB
15P3 P5 P7 P94A100890CT-NDdigikeyCONN HEADER 3POS R/A SMD GOLD
16R11P6.19KAACT-NDdigikeyRES SMD 6.19K OHM 1% 1/2W 1210
17REG11945-1395-5-NDdigikeyCONV DC/DC 1A 5V OUT SIP VERT
18SW1 SW22CKN1860CT-NDdigikeySWITCH TACTILE SPST-NO 1VA 32V
19TEENSY111568-1443-NDdigikeyTEENSY 3.5
20U11MAX6817EUT+TCT-NDdigikeyIC DEBOUNCER SWITCH DUAL SOT23-6

Supplemental Parts

ItemQuantityPartNumberVendorDescription
1162-1187-NDdigikeyAC/DC DESKTOP ADAPTER 24V 90W
21993-1037-NDdigikeyCORD 3COND NEMA PLUG 320-C5
32A106625CT-NDdigikey14 Positions Header Unshrouded Breakaway Connector 0.100in 2 row SMD
43S1011EC-24-NDdigikey14 Positions Header Unshrouded Breakaway Connector 0.100in 1 row Through
51S9001-NDdigikeyCONN JUMPER SHORTING GOLD FLASH
61AE10342-NDdigikeyCABLE USB-A TO MICRO USB-B 2M
72492-1077-NDdigikeyROUND SPACER 4 NYLON 7/16in

Vendor Parts Lists

./hardware/modular_device_base_5x3/bom/digikey_parts.csv

./hardware/modular_device_base_5x3/bom/supplemental_digikey_parts.csv

Supplemental Documentation

Assembly Instructions

  • Cut the bottom trace on the Teensy board that connects the 5V pads according to these instructions https://www.pjrc.com/teensy/external_power.html.
  • Solder through hole header pins into every Teensy 0.1 inch header hole.
  • Solder surface mount header pins onto the bottom of the Teensy making sure they are properly aligned.
  • Solder surface mount and through hole components onto the pcb.
  • Solder the Teensy into the pcb making sure it is properly aligned.
  • Connect header jumper to RED LED enable pins.

modular_device_enclosure

Repository Information

Name
modular_device_enclosure
License
Open-Source Hardware
URL
https://github.com/janelia-modular-devices/modular_device_enclosure
Author
Peter Polidoro
Email
[email protected]

Description

This repository contains the files for constructing enclosures for modular devices.

Assembly Instructions

  • Count modular devices of each form factor for a particular setup and choose the appropriate dxf file.
  • Choose appropriate size of 0.125 inch thick acrylic sheet and cut out dxf file using a laser cutter.
  • Press captive nuts into each of the small mounting holes.
  • Insert one 0.375 inch cap screw into each hole on the modular device base pcb marked with a white circle and screw a round threaded standoff onto the other side.
  • Align header pins of the top pcb with the sockets of the modular device base and press the top pcb onto the base until it is firmly seated.
  • On the 5x3 form factor modular devices, place one of the round unthreaded spacers between the top pcb and the base pcb at the two mounting holes furthest from the header pins.
  • Place one nylon washer onto each of the 1.25 inch cap screws and insert one of the screws with a washer into each of the mounting holes on the top pcb marked with a white circle.
  • Align the 1.25 inch cap screws with the captive nuts pressed into the acrylic and screw each one in firmly, but not so tightly as to bend the acrylic.

Bill of Materials

Enclosure Parts

./hardware/modular_device_enclosure/bom/bom.org

Supplemental Parts

./hardware/modular_device_enclosure/bom/supplemental_bom.org

Vendor Parts Lists

./hardware/modular_device_enclosure/bom/digikey_parts.org

./hardware/modular_device_enclosure/bom/mcmaster_parts.org

DXF Files

Single Modular Device

3x2 Form Factor

./hardware/modular_device_enclosure/3x2/dxf/enclosure_bottom.dxf

5x3 Form Factor

./hardware/modular_device_enclosure/5x3/dxf/enclosure_bottom.dxf

Multiple Modular Devices

3x2 Form Factor

./hardware/modular_device_enclosure/multiple/3x2x2.dxf

./hardware/modular_device_enclosure/multiple/3x2x3.dxf

./hardware/modular_device_enclosure/multiple/3x2x4.dxf

5x3 Form Factor

./hardware/modular_device_enclosure/multiple/5x3x2.dxf

./hardware/modular_device_enclosure/multiple/5x3x3.dxf

./hardware/modular_device_enclosure/multiple/5x3x4.dxf

Both 3x2 and 5x3 Form Factors

./hardware/modular_device_enclosure/multiple/5x3x1_3x2x1.dxf

./hardware/modular_device_enclosure/multiple/5x3x1_3x2x2.dxf

./hardware/modular_device_enclosure/multiple/5x3x1_3x2x3.dxf

./hardware/modular_device_enclosure/multiple/5x3x1_3x2x4.dxf

./hardware/modular_device_enclosure/multiple/5x3x2_3x2x1.dxf

./hardware/modular_device_enclosure/multiple/5x3x2_3x2x2.dxf

./hardware/modular_device_enclosure/multiple/5x3x2_3x2x3.dxf

modular_device_remote_switch

Repository Information

Name
modular_device_remote_switch
Version
1.0
License
Open-Source Hardware
URL
https://github.com/janelia-kicad/modular_device_remote_switch
Author
Peter Polidoro
Email
[email protected]

Description

This switch connects to modular devices to allow remote button presses.

Images

./images/modular_device_remote_switch/images/black.png

./images/modular_device_remote_switch/images/switch.png

./images/modular_device_remote_switch/images/white.png

Schematic

./hardware/modular_device_remote_switch/schematic/modular_device_remote_switch.pdf

./images/modular_device_remote_switch/schematic/images/schematic00.png

Bill of Materials

PCB Parts

ItemReference(s)QuantityPartNumberVendorDescription
1CABLE11A120-100-NDdigikeyMULTI-PAIR 2COND 22AWG 100FT
2PIN1 PIN22WM2515-NDdigikeyCONN TERM MALE 22-24AWG GOLD
3PLUG11WM2533-NDdigikeyCONN HOUSING MALE 2POS .100
4RECPT1 RECPT22WM2800-NDdigikeyCONN HOUSING 2POS .100 SINGLE
5SOCKET1 SOCKET2 SOCKET3 SOCKET44WM2512-NDdigikeyCONN TERM FEMALE 22-24AWG GOLD
6SW116944K11mcmasterPendant Switch Washdown Push Button

Supplemental Parts

ItemQuantityPartNumberVendorDescription
11VFP014-1R0-NDdigikeyHEATSHRK VFP876 0.25 inch X 1 inch 50PCS
211030-1001-NDdigikeySLEEVING 0.125 inch X 225 feet BLACK
311030-1333-NDdigikeySLEEVING 0.125 inch X 225 feet RED
411030-1332-NDdigikeySLEEVING 0.125 inch X 225 feet PURPLE
511030-1331-NDdigikeySLEEVING 0.125 inch X 225 feet GREEN
611030-1334-NDdigikeySLEEVING 0.125 inch X 225 feet YELLOW

Vendor Parts Lists

./hardware/modular_device_remote_switch/bom/digikey_parts.csv

./hardware/modular_device_remote_switch/bom/mcmaster_parts.csv

./hardware/modular_device_remote_switch/bom/supplemental_digikey_parts.csv

Supplemental Documentation

Assembly Instructions

  • Choose 0.125 inch expandable sleeving color and cut to 18 inches.
  • Expand sleeving and slip over the two pendant switch wires, pushing it over the wires until the sleeve is within 0.5 inches from the switch.
  • Slip one 0.25 inch x 1 inch heat shrink tube over the wires and expanded sleeveing and push it as close to the switch as possible so it is covering one fraying end of the sleeving.
  • Slip another 0.25 inch x 1 inch heat shrink tube over the wires and expanded sleeving and push it until the center of the heat shrink tube is about 1.5 inches from the ends of the switch wires so it is covering the second fraying end of the sleeving.
  • Use a heat gun to shrink both heat shrink tubes on the sleeving and switch wires.
  • Use wire cutter to trim the two switch wires to the same length.
  • Use wire stripper to remove 0.1 inches of insulation from each of the two switch wires.
  • Use crimp tool to crimp one socket onto the end of each switch wire, using a total of two sockets.
  • Insert each of the two sockets into one receptacle connector, either wire can be placed into the pin 1 position, the placement position is not imporant.
  • Cut the 2-conductor cable to the desired length and remove 2 inches of the cable jacket from each of the two ends of the cable.
  • Slip a 0.25 inch x 1 inch heat shrink tube over each end of the cable jacket and use a heat gun to shrink it into place.
  • Use wire cutter to trim the two cable wires to the same length on each side of the cable.
  • Use wire stripper to remove 0.1 inches of insulation from each end of the two wires in the cable.
  • One one end of the cable, use crimp tool to crimp one socket onto the end of each the two cable wires, using a total of two sockets.
  • Insert each of the two sockets into one receptacle connector, either wire can be placed into the pin 1 position, the placement position is not imporant.
  • One the other end of the cable, use crimp tool to crimp one pin onto the end of each the two cable wires, using a total of two pins.
  • Insert each of the two pins into one plug connector, either wire can be placed into the pin 1 position, the placement position is not imporant.
  • Insert the receptacle connector attached to the switch into the plug connector on the cable.
  • Insert the receptacle connector attached to the cable into a two-pin BTN connector on the modular device.

stepper_controller_5x3

Repository Information

Name
stepper_controller_5x3
Version
1.1
License
Open-Source Hardware
URL
https://github.com/janelia-kicad/stepper_controller_5x3
Author
Peter Polidoro
Email
[email protected]

Description

This board controls up to 3 stepper motors with optional forward and reverse limit switches for each motor.

Images

./images/stepper_controller_5x3/images/top.png

./images/stepper_controller_5x3/images/bottom.png

Schematic

./hardware/stepper_controller_5x3/schematic/stepper_controller_5x3.pdf

./images/stepper_controller_5x3/schematic/images/schematic00.png

./images/stepper_controller_5x3/schematic/images/schematic01.png

./images/stepper_controller_5x3/schematic/images/schematic02.png

./images/stepper_controller_5x3/schematic/images/schematic03.png

./images/stepper_controller_5x3/schematic/images/schematic04.png

Gerbers

Send gerbers zip file to your favorite PCB manufacturer for fabrication.

./hardware/stepper_controller_5x3/gerbers/stepper_controller_5x3_v1.1.zip

./images/stepper_controller_5x3/gerbers/images/gerbers00.png

./images/stepper_controller_5x3/gerbers/images/gerbers01.png

Bill of Materials

PCB Parts

ItemReference(s)QuantityPartNumberVendorDescription
1C1 C12 C19 C26 C4 C56399-13229-1-NDdigikeyCAP CER 0.1UF 100V X7R 1210
2C10 C11 C15 C16 C17 C18 C22 C23 C24 C25 C8 C912478-1350-1-NDdigikeyCAP CER 470PF 100V X7R 0805
3C13 C20 C63PCE3812CT-NDdigikeyCAP ALUM 220UF 20% 50V SMD
4C14 C2 C21 C3 C75445-4536-1-NDdigikeyCAP CER 10UF 50V 10% X7S 1210
5CLK11CTX277LVCT-NDdigikeyOSC XO 32.000MHZ HCMOS TTL SMD
6D11568-11697-1-NDdigikeyDIODE SCHOTTKY 45V 10A CFP15
7L1 L10 L11 L12 L2 L3 L4 L5 L6 L7 L8 L912XC2328CT-NDdigikeyFIXED IND 90NH 8A 8.5 MOHM SMD
8MDB12S1011E-25-NDdigikey25 Positions Header Breakaway Connector 0.1in
9P11CP-063BH-NDdigikeyCONN PWR JACK DC 2.5X5.5 8A T/H
10R11P1.00KAACT-NDdigikeyRES SMD 1K OHM 1% 1/2W 1210
11REG11945-1395-5-NDdigikeyCONV DC/DC 1A 5V OUT SIP VERT
12RV1 RV10 RV11 RV12 RV13 RV14 RV15 RV16 RV17 RV18 RV2 RV3 RV4 RV5 RV6 RV7 RV8 RV918495-7454-1-NDdigikeyVARISTOR 47V 80A 0805
13SS1 SS2 SS348ED90331-NDdigikeyCONN PIN RCPT .025-.037 SOLDER
14T1 T3 T53277-1152-NDdigikeyTERM BLOCK HDR 4POS VERT 5.08MM
15T2 T4 T63277-1223-NDdigikeyTERM BLOCK HDR 4POS VERT 3.81MM
16U111460-1071-1-NDdigikeyIC MOTOR CONTROLLER SPI 32QFN
17U21296-14668-1-NDdigikeyBuffer Non-Inverting 1 Element 8 Bit per Element Push-Pull Output 20-SOIC
18U3 U4 U53MAX6817EUT+TCT-NDdigikeyIC DEBOUNCER SWITCH DUAL SOT23-6

Supplemental Parts

ItemQuantityPartNumberVendorDescription
13277-1013-NDdigikeyTERM BLOCK PLUG 4POS STR 5.08MM
23277-1042-NDdigikeyTERM BLOCK PLUG 4POS 5.08MM
33277-1163-NDdigikeyTERM BLOCK PLUG 4POS STR 3.81MM
43277-1193-NDdigikeyTERM BLOCK PLUG 4POS 90DEG 3.81MM
531460-1187-NDdigikeyTMC2130 STEPPER DRIVER BOARD
63501100B00000G-NDdigikeyHEATSINK 14-DIP/16-DIP
713M10315-NDdigikeyTAPE ADHESIVE TRANSFER 1/2in X5YD

Vendor Parts Lists

./hardware/stepper_controller_5x3/bom/digikey_parts.csv

./hardware/stepper_controller_5x3/bom/supplemental_digikey_parts.csv

Supplemental Documentation

Assembly Instructions

  • Solder header pins into the stepper driver board(s), making note of TOP label. Insert header pins on bottom of board so that the long unsoldered header pins point down when the TOP label faces up.
  • Expose one side of the thermal adhesive tape and attach to the bottom of the heatsink. Trim tape so it does not extend beyond heatsink edges.
  • Expose the other side of the thermal adhesive tape and attach the heatsink to the stepper driver board on the side with the TOP label.
  • Solder surface mount and through hole components onto the pcb.
  • Insert stepper driver board(s) into pin receptacles.

Firmware

SpinningPlatformController

Library Information

Name
SpinningPlatformController
Version
2.0.0
License
BSD
URL
https://github.com/janelia-arduino/SpinningPlatformController
Author
Peter Polidoro
Email
[email protected]

Description

Modular device spinning platform controller library.

API NAMES

{
  "id": "getApi",
  "result": {
    "firmware": [
      "SpinningPlatformController"
    ],
    "verbosity": "NAMES",
    "functions": [
      "movePlatformSoftlyTo",
      "getPlatformPosition",
      "getPlatformTargetPosition",
      "platformAtTargetPosition"
    ],
    "parameters": [
      "platform_position"
    ],
    "properties": [
      "platformPositionMin",
      "platformPositionMax"
    ],
    "callbacks": [
      "incrementPlatformTargetPosition",
      "decrementPlatformTargetPosition"
    ]
  }
}

API GENERAL

./firmware/SpinningPlatformController/api/

Ancestors

https://github.com/janelia-arduino/ModularServer

https://github.com/janelia-arduino/ModularDeviceBase

https://github.com/janelia-arduino/StepDirController

https://github.com/janelia-arduino/StepperController

Clients

Devices

https://github.com/janelia-modular-devices/modular_device_base.git

https://github.com/janelia-modular-devices/stepper_controller.git

More Detailed Modular Device Information

https://github.com/janelia-modular-devices/modular-devices

Installation Instructions

https://github.com/janelia-arduino/arduino-libraries

About

This device controls the rotations of the spinning platform.

Resources

License

Stars

Watchers

Forks

Packages

No packages published