Low Level SAMD21 / Arduino functions with no libraries*
- Main OS timer - 100us (10KHz) IRQ (done)
- 3-Phase Motor Controller PWM with deadband (done)
- (6-centre aligned pwms) (done)
- ADC- 6 channels sequential, semi-free-running DMA with IRQ (done)
- 3x Current Sensor
- MOSFET Temperature Sensor
- Battery Voltage
- 1 Auxillary Analog Inputs
- Dual (same time) SPI (blocking and IRQ) (done)
- RS485 UART with IRQ (TX & RX) (done)
- with direction CTRL (done)
- with time-out and packet start detect (done)
- UART with DMA (attempted & fail)
- CPU's Internal EEPROM Emulation (Flash storage) (attempted & fail)
- External I2C EEPROM support (maybe Libraries) (not started, have eeprom)
- I2C OLED support (with Libraries) (done)
- SerialUSB with above (done)
- Serial1 with above (done)
- Making all the Low level features work together (done, done and done)
High Level Functions
- Field Orientated Control (FOC) & Motor Commutation (done)
- PID Joint Control (done, but just P)
- RS485 Packet Structure (1/2 done)
- MOSFET Driver configuration (To be ported from PSOC4)
- Motor Position and other configuration (simple position control)
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.