Giter VIP home page Giter VIP logo

kapine's People

Contributors

chiplet avatar kuuotto avatar

Watchers

 avatar  avatar

kapine's Issues

Motherboard clock configuration

Configure the MCU to use the HSE as the clock source.

The following part of the hardware design guide seems useful for software configuration:
"The HSERDY flag in the Clock control register (RCC_CR) indicates if the HSE oscillator is
stable or not. At startup, the clock is not released until this bit is set by hardware. An
interrupt can be generated if enabled in the Clock interrupt register (RCC_CIR).
The HSE Crystal can be switched on and off using the HSEON bit in the Clock control
register (RCC_CR)."

Design Segment Interface Board

It will be difficult to mount segment electronics on the coil due to it's awkward shape. It seems a better idea to have a dedicated interface board between the motherboard and the coil segment mounted on the table.

Configure SCU MCU clocks

See Figure 11. for STM32F07x clock tree in section 6.2 in the reference manual for reference.

The PLL output frequency must be set in the range 16-48 MHz.

TODO:

  • Use external crystal for HSE clock.
  • Use HSE clock as input to PLL to generate system clock (SYSCLK)
  • Configure HCLK = AHB clock, derived from SYSCLK
  • Configure PCLK = APB clock, derived from HCLK

rust command interface

Create a library with rust that communicates with KAPINE.

  • read sensor status
  • change electromagnet states
  • general diagnostics & testing
  • start/stop acceleration, with different acceleration profiles

Configure SCU CAN peripheral

Configure STM32F072 bxCAN peripheral for use.

TODO:

  • Enable peripheral clock (CANEN bit in RCC_APB1ENR register)
  • Configure APB clock (PCLK)
  • Bit timing -- prescaler for bxCAN
  • Bit timing -- nominal bit timing and sample point (see spec)

Design Segment Control Unit (SCU) v1 electronics

General:

  • choose microcontroller
  • sensor circuit
  • electromagnet driver circuit
  • board schematics
  • board layout

Interfaces:

  • design debugger interface -- using SWD from STM32F0DISCOVERY board (ST-LINK/V2)
  • choose communication bus

Design relelauta v.2.0

Abbreviations

  • EM - electromagnet

TODO:

  • Measure EM inductance
  • Choose EM driver
    • Relay?
    • Load switch?
    • MOSFET?
  • Indicator LEDs for EM drivers
    • Amplifiers for indicator led signal so that EM control signals are not loaded by the LEDs

Electromagnet Specifications

  • Resistance ~2 Ohm
  • Inductance ~ 430 µH
    => Assuming 10A current, energy stored in inductor is E = 22mJ

Electromagnet driver selection considerations

  • High enough load current (around 10A, TBD)
  • High enough power package to withstand generated heat
  • Be able to withstand inductive "kicks" when switching off the electromagnet
    • Are external flywheel diodes required?
  • Nice enough package for easy soldering

Design motherboard v1

General:

  • choose microcontroller STM32F303RE
  • board schematics
  • board layout

Power Supply:

  • It's probably best to use a separate power supply for powering the electromagnet coils and the control circuitry to avoid EMC issues
  • regulate required voltages from an external wall wart
    • 3.3V for the microcontroller digital logic
    • 3.3V microcontroller analog reference

Interfaces:

  • JTAG
  • ST-LINK/V2-1 debugger
  • stack connector(s) to electromagnet driver board

TODO:

  • Logic level conversion from mcu to RGB

Motherboard firmware

Develop the firmware for the motherboard which controls the electromagnets, reads the sensors and communicates with the PC command interface via a serial connection.

TODO:

  • serial communication
  • ...

Segment CAD design

CAD design for accelerator segments

TODO and things to consider:

  • accommodate segment PCBs
  • accommodate photo gate sensor
  • accommodate electromagnet
  • places for electrical connectors for inter-module connections (chain units together)
  • cable management
  • EMC issues and wiring placement (try to minimise interference by smart cable routing)
  • how to manufacture, design with manufacturing in mind (3D printing?)

TODO: add more considerations as they come up

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.