About this project :
Table tennis robot with Android Bluetooth controling. Based on STM32F303VCT6 and STM32 PMSM FOC library
Type : description on how I built my application / description of component or application usage
Progress : I still have work to do
Difficulty : Advanced
The Team :
Things used in this project
Hardware components :
Hand tools and fabrication machines :
Software Tools :
STM32 PMSM FOC library, Visual Studio, Xamarin Forms, etc...
Sorry my English - I am doing English cource now, but probably I still do a lot of errors :-)
First of all - it's not completed project, I am still working with it in my free time. But since this moment I've done so mush work, so I decided to provide some information about my project here.
If you enjoed with this project, please like my video at "ST embedded Contest 2017" - it will help me to continue my work
1) I began this project in 2013, when I understood that I love table tennis. I have to improve my game skills, but how? I decided to create my own robot for training. Firstly I used 2 small DC motors (FA-130). For controlling them I've created small PCB with STM8S105 microcontroller and LED indication.
It was simple board, and it works as I expected. Board controlled by IR remote, for boosting balls used unipolar stepper motor. But very soon I understood, that FA-130 motor was very bad choice for my purpose. It has small power and it's brushes have small lifetime term. Small unipolar stepper motor didn't have enough torque for rotate more than 30 balls. So, I had to change this situation.
Actually, robot is a not very difficult thing, but when you think how to create your own robot, you must think about many things. I read a lot of information about robots, that exist on the market, and I found that a lot of them use DC motors. But in past I had experience with high voltage motor drives, and I knew difference between brushed and brushless motors. So I thought about brushless motor - and I found sollution - it was STM32 FOC SDK library (v3.3. at that time). I began a next stage...
2) At that time ST still not create their STM23F3xx series, so I had only STM32F103RET6 microcontroller for my purpose. But it was great, because I could use it for controlling 2 BLDC motors from one microcontroller. My next board looks like this (I live in Ukraine, where we use Ukrainian and Russian languages, so some videos not in English, sorry):
I was happy, when my motors began their first rotate! I write a lot of modules for LCD, IR remote, stepper motors... It worked! But it's not an ideal, isn't it?
3) My next board already could be programmed with IR remote. I was moving toward my goal.
At that time I used this robot for a one month. My skills were improved, I learnt how to do top-spin :-). Here short video, which I created for my friends:
But in 2014 situation was changed. Firstly, situation in Donbass (region in Ukraine) increasingly become similar to war :-(. It was really sad. I couldn't think about hobby at that time.
At same time I started my one year cource for graduated as software developer (my second education) in NURE. So I has not work with robot since this year.
4) I was graduated in the end of 2015. During 2016 I got experience with C# language and .NET framework. I read a lot of books. It was hard, but very interesting time. Then I decide, that I must finish my project, because I don't like to leave my projects without sollution. At that time ST alerady created their STM32F3 series, so I began work again.
I remember all problems that I had with my old boards, so I created universal board with STM32F303VCT6 microcontroller. Here it, some components are removed to the newest board, sorry :-):
There a lot of interfaces, which are not required for robot, but I added them for testing purpose. This board can operate with 2 BLDC motors, one Bluetooth LE module, bipolar stepper motor, unipolar stepper motor, IR remote, USB/UART, USB, 3 servo motors, sound buzzer, on-board EEPROM, optical sensor. I wrote firmware for it - it was my universal prototype. And I wrote Android application with this board.
This video shows the process of development:
And this video shows testing of gun barrel:
5) So, one month ago I decided, that that's all, I've done major part of my work. And I developed last version of PCB, which now participate at the "ST embedded Contest 2017"
Today I receive package with 20 boards from one othe PCB manufacture services.
First assembled board works as expected:
Mobile application :
It is also under construction now. But even now it can do a lot of things: create programs, create presets, tune each part of robot from phone, etc... You can see more here Table tennis robot STM32F303VCT6
Here few screenshots (of cource app is more difficult, but they can give you some information):
As you understood, this part was created wih 3D printer. There are 2 versions of barrel, that I've created since now. Latest has been shown in this video Vedroitt at ST embedded Contest 2017
It's not the end. I still working with my project. But now I need 3D printer for next stage. So if you interesting in my project, please like it here Vedroitt at ST embedded Contest 2017
Thank you very much!