My FAN ARM (control Servo With WiFi)

by joon874 in Circuits > Microcontrollers

1656 Views, 17 Favorites, 0 Comments

My FAN ARM (control Servo With WiFi)

IMG_20150922_164016.jpg

Hello everyone!

Today, I did it my own FAN ARM.

I can control the eagle freely and can turn on and off the FAN. (actually I need to add Fan on the DC motor)

It is controlled by joystick and push button with WiFi.

So, above all, I can control the FAN ARM wherever I am and wherever I want!

Now, I start to talk about the details.

Components

20150629_165126.png
5601f58d67400cf351000e41.jpeg
ShopDtl_1203_20140918154919.jpg
5601f64415be4de8f5000e61.jpeg
5601f68250e1b63945000ed5.jpeg
$(KGrHqJ,!r!FDk)SgKGiBRBbcY6Om!--60_35.JPG
ax-12a.png

The components all come form mbed.com !

1. WIZwiki-W7500 : as MCU. It is mbed platform

2. Two WizFi250 shield : as communication

3. Motor shield : for DC motor voltage and It needs 5V supply.

4. Joystick shield : It is totally optional. I regret to buy it.. you will know next why I did..

5. Two AX-12A : for the arm. It is serial motor. You need to learn to use it.

I add Link to learn more about the components.

WIZwiki-W7500

WizFi250

DC motor

Joystick

AX-12A : You need to install software to set the servo. Please visit http://support.robotis.com/ and Download "Dynamixel Wizard"

Concept

20150923_164443.png

This is all about the concept of the instructable.

---------------------------------- Client -------------------------------------------------------------

I use a WiFi(left one in the picture) as UDP Client with joystick & push button.

First, it connects AT.

Then Get the analog and digital data from joystick and push button and send it to UDP Server.

-----------------------------------------------------------------------------------------------------------

------------------------------------- Server -----------------------------------------------------------

I use a WiFi as AT mode and UDP Server with Servo & DC motor.

It always opens and wait for the data from Client.

Right after receiving data, Servo and DC controlled with UART and PWM.

-------------------------------------------------------------------------------------------------------------

FAN ARM

IMG_20150922_164016.jpg
IMG_20150922_190607.jpg

FAN ARM has two serial Servo motor and one DC motor.

Two servo make angle and DC turn on/off fan. (As I did before, I didn't put a fan)

Controller can control it with WiFi and the communication protocol is UDP.

Hardwired

20150923_085501.png
20150923_085528.png
20150923_085511.png

These are hardwired I did.

I know it is so confusing and look hard..

But I know, It is pretty simple If you will find how to wire between WIZwiki-W7500, mbed platform, and WizFi250.

"Controller" is UDP Client and it sends analog data from joystick and digital data from push buttom to UDP Server.

"FAN ARM" , UDP Server, receives the data from "Controller" and control the Servo and DC motor as I want.

===================================WizFi250==========================================

I add Link to learn more about WizFi250.

http://www.life4iot.com/2015/06/30/wizfi250-hello-world-demo-on-wizwiki-w7500-of-mbed-platform/?lang=en

====================================================================================

Last Picture is the back of Joystick shield. And I has the reason why I regret it.

I tried to use joystick with 5V with the PCB.

But it did not give me the data I want.

After I wired with 3.3V, I got the right data.

And.. one more thing, you can not use the push button right away. Caz, the PCB doesn't wired with 3.3V

So, I did it by myself.

Why UDP ?

server.png
client.png
20150922_104742.png
20150923_091842.png

I choose UDP, not TCP. TCP has many rules to send data to Server like sync, ack..

But UDP is simple.

Client just send packet. It doesn't matter to check It is going well or Server can receive.

So, usually, It used that does not want buffering but streaming.

I also do not care about losing the data packet. It is not important data.

If it is missed, I can send once again. So, Server can receive it next time.

Picture shows UDP Server and Client.

UDP server opened with 192.168.100.1 as AT mode; WizFi250_AP_Test.

UDP client opened with 192.168.100.2 and endpoint is 192.168.100.1(WizFi250_AP_Test)

DEMO Video

Open Source

20150923_125037.png

I uploaded two projects, FAN ARM; UDP Server and Controller; UDP Client

You need to download then to each mbed platform

You can understand what mbed is from here https://www.instructables.com/id/Your-own-Weather-Forecast-with-WIZwiki-W7500/