This page works to outline the current projects on-going in ADCS, descriptions and why we are doing them. Reach out to Jenny on slack about what you want to work on and she’ll give you next steps!

Current Projects Ranked by Priority & Project Descriptions:

  1. AIT + Test Procedure

    1. Why: We got all the hardware, the actual ADCS-10m, and also finished our test plan, now we move on to the actual integration and testing
    2. What: Putting together ADCS module with rest of satellite, which means we need to ensure ADCS-10m works, other components such as sun sensor and star tracker work, then continue with other tests test procedure team came up with so we can eventually do devkit tests, then integrate
    3. How: To get started, read these documents so you have the prerequisite knowledge about ADCS modes of operation (stuff like safe mode, detumbling…)
    4. Involve: Hardware, firmware, ADCS knowledge, systems knowledge, testing experience
  2. NEW: Modes of Operation (FDIR diagrams) (sorry this one is long because kinda hard to explain)

    1. Why: Firmware people are coding everything in FINCH, including ADCS part of the satellite, so we need to tell them exactly what to code + Mission operations people will need to know what modes we go into under certain conditions (for example: when the satellite is deployed, what mode should we go into? safe mode, detumbling, etc.)
    2. What: The satellite has different modes of operation, including init, idle, safe, imaging, downlinking….

    image.png

    image.png

    image.png

    image.png

    See this sample above, this would be the “0th layer”

    Then we want to go into deeper layers, 1st ⇒ 2nd ⇒ 3rd

    This is the idea of what we want:

    [0th] click ADCS Check / some action from the satellite (overall satellite system action)

    ⇒ [1st] Mode Transitions (ADCS System-level logic)

    ⇒ [2nd] in ______ mode, verify angular velocity / check sensor valid data…etc. (Subsystem-level Procedures)

    ⇒ [3rd] what should we write to which register (Module/Command-level instructions)

    Each level might include…

    0th ⇒ which mode of operation satellite is in, ex. when just deployed, or taking image, the corresponding ADCS action, for example, “ADCS Check”

    1st ⇒ “safe mode” then “detumbling” then “sunpointing”, etc. (which ADCS mode to enter, when to transition between modes based on sensor health, actuator response)

    2nd ⇒ ex. during safe mode, we verify angular velcoity is decreasing within ___ seconds, etc. (time expectations, threshold checks, responses to invalid or missing data, dependencies between sensors/actuators)

    3rd ⇒ ex. write 0x02 to Mode Register 2 to enter Detumble Mode, Read back Status Register every 10s for error flags (Register values to write or read, specific sensor/actuator commands, use of I2C, UART, or whatever communication protocol is used)

    **c. How:**
    

    Think about 0th layer first (talk to mission ops people if lost), then go down each level using the information from data sheet, and make block diagrams like when you click you go down a level probably on google drawing. If you want to work on this, talk to Jenny and she will share resources with you.

    **d. Involve:** Systems knowledge, ADCS knowledge, Firmware knowledge
    
  3. Helmholtz Cage

    1. Why: Building testbed for ADCS module, so we can generate magnetic field and see if the module is working.

    2. What: We will follow this rough plan:

      GUI <-> controller <-> power supply <-> PCB (printed circuit board)<-> H bridge <-> coils

    3. How: build the individual components (besides the power supply, we already bought one) and connect them all together

    4. Involve: control system, high-level programming, low-level programming, hardwares, and physics

  4. Attitude Planning

    1. Why: Plan how we are taking picture for the mission, plan maneuvers. We can’t do it with STK so we are trying to program a simulator by ourselves, so we can simulate and plan maneuvers. We’ll probably still need to do it with STK together. More details on how to do that on this page:Attitude Planning

      Then we also need to come up with commands, which is related to modes of operation. All details are on the page mentioned above.

    2. What: Make simulations and plan maneuver paths

    3. How: Go through what people have worked on before, make it with python or MATLAB, read papers/other resources to know what kind of things we need to be aware of and brainstorm ideas

    4. Involve: programming, simulation, physics, math

    5. Learning STK: STK

Also, we need to do this but it’s not really a project since it’s kinda short and we need to wait for mechanics to finish their planning first:

ADCS Analysis (Dynamic analysis, rotational stability analysis)

  1. Why: See Khang’s message on ADCS channel, due to mechanical planning changes we need to do analysis to make sure ADCS-10m specifications still meet requirements
  2. Khang’s message has links, there’s a google doc explaining the theory needed to know to do this & there’s a spreadsheet with all the physics and math equations already put in for calculation
  3. What & How: Dynamic analysis would involve inputting the MOI (mass of inertia) on the spreadsheet, and comparing numbers to max torque allowed (it’s in the theory google doc)
  4. Also, rotational stability analysis will require someone to look into how to do it and do it, anyone interested, talk to Harry to work together!

Attitude Planning

Testing

ADCS Onboarding Projects

AIT Troubleshooting Connection to EGSE