(Photo source: Netizen @鲁佳)
1. You can directly flash the official ODrive 3.6-24V firmware, which is the same as the official OD 3.6.
2. Most functions have been tested and can be printed directly (it is best to clone the project before proofing and keep the exported gerber file to facilitate checking of hardware problems. It is best to do DRC before exporting gerber. If there are any errors, please modify them yourself or contact me. Revise)
This project is based on ODrive's V3.6 hardware, which is an ART-Pi expansion board (also suitable for Raspberry Pi - only the P1 expansion pin is welded). It can realize two-way brushless motor closed-loop control and has the function of being used for human-machine applications. Interactive screen and five-way switch
Communication group 1: 778255240
Communication group 2: 851421965
Communication group 3: 732557609
Communication group 4: 957377627 (My group, I hope friends who are planning to make boards can join the group, we will promptly notify you of the modification status - especially BUG)
This project is for the purpose of learning. The ODriver hardware is reconstructed to fit the ART-Pi. The intended driving object is a low-power brushless motor.
ART-Pi is configured through the serial port and uses the serial port or direction/pulse signal or PWM signal to control the expansion board
Compared with the original project, the power dissipation resistor circuit is deleted but the expansion interface is reserved.
Added 1.14' IPS screen and five-way switch, you can choose whether to use ODrive or ART-Pi
Initially, I planned to transplant ODrive to ART-Pi and drive it directly, but due to the limited IO function, I decided to settle for the second best.
Wiring hastily, continue to optimize
(The current version can directly flash the official firmware to achieve basic functions. Boards made before April 7 have bugs and need to modify the firmware)
Expansion board:
https://oshwhub.com/Knight_Sin/abcd_copy
Encoder:
https://oshwhub.com/Knight_Sin/art-pi-2312s-bian-ma-qi
1. Interface testing
(1) External interface
1) SPI encoder interface
2) CAN interface
3) PWM input√
4) S/D input√
4) Voltage input
(2) ART-Pi interface
1) UART interface√
2) PWM input√
3) S/D input√
4) Voltage input
2. LCD multi-level menu
(1) FLSAH font library
(2) GUI design
(3) Multi-level menu
1. (January 19, 2021 02:07) The BUCK circuit of Motor0's DRV8301 is redundant. It is modified to output 12V to power the power dissipation resistor circuit (VGS).
2. (23:46 on January 20, 2021) The wiring and silk screen are sorted out, and the AVCC is used to power the temperature sampling circuit of the brake resistor circuit. The first version of the PCB is finalized. The board name is tentatively ODrive AP. The current version number is 0.1 , full name ODrive AP trial model one
3. (January 25, 2021 16:53) Replace the 47uF/35V tantalum capacitor with the 1812 package 47uF/35V MLCC
4. (February 4, 2021, 17:28) Adjusted the wiring of the sampling resistor part
5. (22:12 on February 6, 2021) Added hardware reset button
6. (20:49 on February 14, 2021) Try to elicit the remaining IO; add a W25Q32 with the intention of saving the settings in W25Q32
7. (March 1, 2021 15:13) The packaging error of the five-way switch has been confirmed and has been corrected. If the board has been printed, the large positioning post at the bottom of the five-way switch can be cut off and then rotated 180° for welding.
// 8. (02:45 on March 5, 2021) Connect the CS/SDA/SCL of the screen to the SPI5 position of STM32F4xxVGT6 (405 does not have SPI5 and is planned to be replaced with 412) (After careful inspection, it was found that 412 and The 405 pins are actually incompatible. If modified, the scope involved would be too large. Careful consideration is needed as to whether to replace it.)
8. (March 18, 2021 19:58) Lead the MCU reset pin to the ART-Pi interface to meet the needs of the ART-Pi forced reset driver
9. (01:57 on March 19, 2021) The interface was split, and the original 14P socket was split into 2 PWM or STEP/DIR or analog signal input interfaces and 2 SPI interfaces (can be connected SPI encoder), a UART interface, the CAN interface is led out in the form of an XH2.54 socket instead of the original pin header; the wiring has been significantly modified, it is only connected at present and needs further optimization; some silk screens have been adjusted (not yet completed ). (The work is still in progress. If you find that the project is being edited, please do not clone it for the time being. It will usually switch back to the release version)
10. (20:02 on March 19, 2021) The second version of PCB is finalized, and the current version number is 0.2
11. (22:05 on March 20, 2021) Added test points for nFault and EN_GATE
12. (April 5, 2021 00:50) Fixed a BUG: SP2 of axis1's DRV8301 accidentally connected to the underlying PGND copper sheet
13. (April 7, 2021 00:07) Fixed a BUG: M1_SO1/M1_SO2 connection sequence is wrong
14. (20:15 on April 8, 2021) The order of the IN0/IN1 interface has been adjusted (the PCB only changes the silk screen) to comply with usage habits
15. (April 13, 2021 at 20:44) The pin sequence of the IN0/IN1/CAN interface has been adjusted to make it more consistent with usage habits; the power supply of the IN0/IN1 interface has been modified to 5V. This pin should usually not be used. However, if a single power supply is used, the control board can be powered from this port.
16. (April 29, 2021, 18:29) The current sampling method is changed from single-ended sampling to differential sampling; 3.3V/A3.3V/5.0V/12.0V test points are added, and silk screens are added to all test points; Added a new NRST reset pin, connected to the PA15 pin of ART-Pi, and retained the old reset pin connection to be compatible with the old version of the program; replaced 1117 with RT9193-33; changed the design idea to focus on practicality, and added some interface descriptions Description silk screen; upgrade version number to 0.3
17. (May 4, 2021 18:55) Fixed a bug. The effective level of the EN pin of RT9193-33 is wrong. It should be high level enable.
18. (19:12 on May 31, 2021) DRV8303+TPS54160 replaces DRV8301. The program is fully compatible and does not need to be changed. A new project will be created later to separate the 8301 version and the 8303 version.
19. (July 11, 2021 19:10) Removed the expansion interface on one side; exchanged the position of the 12v/5v buck circuit; added a power dissipation circuit (optional welding); removed the original power consumption Scattered circuit interface; added FPC socket for screens connected using ribbon cables (optional welding); modified SWD interface to 2.54 pin header; modified crystal oscillator to active crystal oscillator
https://blog.csdn.net/qq_17459305/article/details/115522151
ODrive is a high-performance FOC servo driver based on STM32. It can drive two brushless motors at the same time. In the early days, it was widely used in the design of 3D printers or homemade CNC electrical systems. The well-known geek James Bruton used it for most of his own production. The core unit of the robot servo drive, Stanford's previous open source 8-degree-of-freedom quadruped robot Doggo also uses Odrive as the core driver. [1]
Official website: https://odriverobotics.com/
Firmware: https://github.com/odriverobotics/ODrive
Hardware: https://github.com/madcowswe/ODriveHardware
Documentation: https://docs.odriverobotics.com/
[1] High-performance open source server ODRIVE - Motor and Control - CSDN
ODrive Application #1 ODrive Getting Started Guide - codenocold - CSDN
ODrive Application #2 odrivetool Getting Started Guide - codenocold - CSDN
ODrive Application #3 odrive_gui Getting Started Guide - codenocold - CSDN
ODrive Application #4 Configuration Parameters & Instructions - codenocold - CSDN
ODrive application #5 input interface - codenocold - CSDN
ODrive Application #6 Coder - codenocold - CSDN
ODrive Application #7 Controller & Parameter Tuning - codenocold - CSDN
ODrive Application #8 Balance Wheel Hub Motor and Remote Control Setup Guide - codenocold - CSDN
ODrive application #8 (suspicious error) troubleshooting - codenocold - CSDN
ODrive dry stuff #1 Building a development environment under Windows - codenocold - CSDN
ODrive dry stuff #2 Building a development environment under Ubuntu - codenocold - CSDN
ODrive dry information #3 ODriveTool command collection - codenocold - CSDN
ODrive Example #1 Motor Configuration Example (4250-520KV + TLE5012B-E1000) - codenocold - CSDN
ODrive Development #1 ODrive Firmware Development Guide - codenocold - CSDN
ODrive development #2 Configure Visual Studio Code development environment - codenocold - CSDN
ODrive development #3 Configure Eclipse development environment - codenocold - CSDN
ODrive communication protocol - codenocold - CSDN
ODrive ASCII format protocol - codenocold - CSDN
DRV8301 data sheet: http://www.ti.com/cn/lit/gpn/drv8301
TPS54160 (built-in DRV8301) data sheet: http://www.ti.com/cn/lit/gpn/tps54160
Five-way switch data sheet: https://item.szlcsc.com/471384.html
Welded 1.14-inch IPS: https://item.taobao.com/item.htm?spm=a1z09.2.0.0.5c8f2e8dijiLL5&id=586409078629&_u=l21l4csi9ba5
Here we recommend Mr. Mo’s board to imitate the ODrive dual-axis MINI FOC controller. It is based on DRV8301. It has a compact appearance and beautiful appearance. It has been sampled and tested. Please see the attachment for the source file.
All reference designs on this site are sourced from major semiconductor manufacturers or collected online for learning and research. The copyright belongs to the semiconductor manufacturer or the original author. If you believe that the reference design of this site infringes upon your relevant rights and interests, please send us a rights notice. As a neutral platform service provider, we will take measures to delete the relevant content in accordance with relevant laws after receiving the relevant notice from the rights holder. Please send relevant notifications to email: bbs_service@eeworld.com.cn.
It is your responsibility to test the circuit yourself and determine its suitability for you. EEWorld will not be liable for direct, indirect, special, incidental, consequential or punitive damages arising from any cause or anything connected to any reference design used.
Supported by EEWorld Datasheet