# Dodo Group 2 Knowledge Base
A place for us to add useful information that everyone in the group should see
## ODrive
* See [ODrive](/ExNi140fSV2SkLyWYgl_Fg) hackmd
## Useful Links
* [Motor Configuration](https://discourse.odriverobotics.com/t/antigravity-4004-calibration-gives-motor-error-phase-resistance-out-of-range/9058)
* [Windows Subsystem for Linux](https://docs.microsoft.com/en-us/windows/wsl/install) (Note you need to use ODrivetool in Windows, as COM ports cannot be detected in WSL so you can't connect to the ODrive)
* [STM32CubeIDE](https://www.st.com/en/development-tools/stm32cubeide.html)
## Hardware Datasheets
* Motor: Antigravity MN4004 KV300
* [Store Page](https://store.tmotor.com/goods.php?id=438) (Specifications also here)
* Encoder: AEDT-9810-Z00
* [Mouser](https://www.mouser.de/ProductDetail/Broadcom-Avago/AEDT-9810-Z00?qs=nm95cbFn36wrjSExD6KFAw%3D%3D)
* [Datasheet](https://www.mouser.de/datasheet/2/678/V02-4924EN_DS-AEDT-981x-2018-01-31-909402.pdf)
* Individual parts of the ODrive (FETs, IC etc.) TODO
* [DRV8301 Gate Drivers](https://www.ti.com/product/DRV8301#tech-docs): U4 and U5 in the schematic
* [NTMFS4935NT1G MOSFETs](https://eu.mouser.com/ProductDetail/onsemi/NTMFS4935NT1G?qs=PJJcWtbOkNUizxCQ16NP4Q%3D%3D)
* Arduino
* Nucleo Development Board (need to find version they have in the lab)
## Troubleshooting
* [ODrive Troubleshooting](https://docs.odriverobotics.com/v/latest/troubleshooting.html)
* Lots of funny problems with Windows, read well.
* For Windows, you will have to use the Zadig utility linked to install the ODrive drivers.
## FOC
* Keywords:
* field oriented control, vector control, motor control, direct FOC, indirect FOC
* Alternative to FOC: direct torque control (DTC), could be a useful comparison (FOC has many advantages over DTC)
* See also: field weakening control
* [Multidisciplinary Design Optimization Methods for Electrical Machines and Drive Systems](https://link-springer-com.eaccess.ub.tum.de/book/10.1007/978-3-662-49271-0), see Chapter 2.6.2
* [Vector Control of Three-Phase AC Machines](https://link-springer-com.eaccess.ub.tum.de/book/10.1007/978-3-662-46915-6) seems like a good book for FOC in general.
* https://ieeexplore.ieee.org/document/8709426
* https://ieeexplore.ieee.org/document/7306682
* [Kraftfahrzeug-Hybridantriebe](https://link.springer.com/book/10.1007/978-3-8348-2050-1)
* Section 3.2.4. In German, but seems to be the simplest and most informative explanation.
* [Matlab tutorial](https://de.mathworks.com/help/mcb/gs/implement-motor-speed-control-by-using-field-oriented-control-foc.html)
* Maybe we can implement this in C++? Check the examples page
* See [also](https://de.mathworks.com/videos/what-is-field-oriented-control-1538568554720.html), has video and some more resource links.
* [Short FOC tutorial](https://www.roboteq.com/technology/field-oriented-control)
*