Thursday, March 18, 2010

IO ActiveX Control


IO ActiveX Control is a software that can send string to microcontroller..Just assign the Communication Port and after that the string can be send..Right now, my laptop does not detect the Com Port for the SKXBEE module..If I selected another Com Port, it still said that this Com Port is in used..

Tuesday, March 16, 2010

Hardware Completed 90%

This is the hardware produced after completing the UV, etching and soldering procedure.. Actually the first concept is I try to mount the LCD on the board,but it burned due to overheating.. After that,as a safety precaution I used the connector and LCD stand to avoid the LCD from being burn for second time.. The robot is a bit heavy but the servo motor still capable to carry the load.. I need to think the way to put the camera on the robot cause the position of camera will effect the stabilization of mobile base.. The hardware still need to be touch up and covering the robot with something is a good idea I think.. Right now, I need to focusing more on Visual Basic development..



PCB BOARD



ROBOT BASE


COMPLETE ROBOT VIEW


BIRD EYES VIEW

Thursday, March 11, 2010

PCB - 3 Dimension Visual



The 3D dimension can be obtained by using Proteus software..Just run the "ARES" application and view the output, after that click on the 3D icon..

PCB Layout using Proteus



This circuit was design on Tuesday..The layout of the PCB designed using Proteus VSM software..The layout is on single layer only..This design contained 13 jumper wires..The board area is limited, so the design is compact..

Monday, March 8, 2010

Visual Basic 6.0 Controlled Robot

Right now, I'm start to learning how to use the VB software because I did not learn it before.. I'm planning to use VB as a Graphic User Interface (GUI) to control the robot..The hardest part is how to link the button into XCTU software..As i mentioned before, there are 4 button to control the direction of the motor which is forward, backward, right and left..I want to build a user interface as shown in the video below..

Thursday, March 4, 2010

Coordinating the motor


The robot uses the concept of two separate moving wheels. The table below shows the combination of the wheels to move the robot in the desired direction.

Motor Control Program

void forward ()
{
motor_ra = 0;
motor_rb = 1;
motor_la = 0;
motor_lb = 1;
}

void backward ()
{
motor_ra = 1;
motor_rb = 0;
motor_la = 1;
motor_lb = 0;
}

void left()
{
motor_la = 1;
motor_lb = 0;
motor_ra = 0;
motor_rb = 1;
}
void right()
{
motor_la = 0;
motor_lb = 1;
motor_ra = 1;
motor_rb = 0;
}

void stop()
{
motor_la = 1;
motor_lb = 1;
motor_ra = 1;
motor_rb = 1;
}

Final Report Writing

The final report need to be submitted by week 14 and the draft must be submit on week 8..It is a continuation of report draft form previous semester. This semester, I need to complete the Chapter 3- Materials and method, Chapter 4- Results and discussion and Chapter 5-conclusion..The report is still in progress and the project must be done 100% before completing final report.

Monday, March 1, 2010

Problem with hardware

The servo motor did not functioning according to plan..After troubleshooting,the output voltage coming out from L 298N is only 2V at connector M1 and there is no voltage at M2..I expect the diodes or the motor driver is broken..The expected component must be change to check where is the problem come from..

Wednesday, February 24, 2010

XBEE 3.3 V DC input voltage



XBee required 3.3 DC voltage to be operated..This low dc voltage can be obtained by converting 5V DC into 3V DC by feed the output of 5V to the voltage regulator LM317..This low voltage input is one of the advantages of using XBee in autonomous robot because the battery life time will be much more longer..

Monday, February 22, 2010

SKXBEE Mode in C Language

//Mode : Xbee
// Description : Control the robot using UART ( XBEE or an UART wireless module.
//======================================================

void wireless_xbee (void)

{
lcd_clr();
while(1)
{

lcd_goto (0);
if (data[0] == 100)

{
send_string(" XBEE CONTROL ");
SPEEDL = 200;
SPEEDR = 200;
while(1)

{
lcd_goto(20);
if (RCREG == '8')

{
forward();
send_string("FORWARD ");
}

else if (RCREG == '2')
{
backward();
send_string("BACKWARD ");
}

else if (RCREG == '6')
{
right();
send_string("TURN RIGHT ");

}
else if (RCREG == '4')
{
left();
send_string("TURN LEFT ");

}
else if (RCREG == '5')
{
stop();
send_string("INVALID COMMAND ");

}

else
{
stop();
send_string("INVALID COMMAND ");

}
}
}
else send_string("COMMAND");
}
}

Thursday, February 11, 2010

Range Test for XBee

Range test can be done via XCTU software by simply clicking the range test tab..The range test tab is designed to verify the range of the radio link by sending a user specified data packet and verifying the response packet is the same, within the time specified. For performing a standard range test, there are several steps that must be followed..

1: Configure the Base with API enabled and a unique 16 bit or 64 bit source address. 2: Configure the remote radio with a unique source address and set the Destination address to equal the Base radio’s source address.
3: Enable the API option of the X-CTU on the PC Settings tab and connect the base radio to the PC.
4: Connect the red loopback adapter to the remote radio and place them a distance apart.
5: Enter either the 16 bit or 64 bit destination address of the remote radio into the Destination Address box on the Range Test tab.
6: Create a data packet of your choosing by typing in the data in the Transmit box
7: To start a Range test, click on Start.



You will notice the TX failures, Purge, CCA, and ACK messages will increment accordingly while the range test is performed. To stop a range test, click on the Stop button. The problem now is, i cannot perform the range test due to some error. I followed all the instructions but there is an error which is "timeout waiting for data".I'm still thinking on how to overcome this error..

Tuesday, February 9, 2010

Testing to connect the SKXBEE in single PC.

To test the XBee modules, we can test the communication by using 1 PC only..Just open 2 X-CTU software and click on different com port..In this case, click on com port 10 & 11..


After that,click at moderm configuration and click read the check the version and address of the XBEE..Key in value "2222" at destination address low and "1111" at 16-bit source address for com port and 10 and vice versa for com port 11.


Click write for both com port the store the address at XBEE and this may take 30 seconds to complete..After the moderm is connected to each other, try the terminal bar to see the flow of communication..The blue colour represent the transmitted data while the red colour represent received data..If the communication testing between XBEE is completed, we can proceed to the next step which communication via microcontroller..

Updating X-CTU Firmware


The 2 pieces of SKXBEE had been received on Tuesday..According to them,the SKXBEE firmware is corrupted..Their install back the firmware to the latest version which is 10-CD..The current XCTU software does not support this latest version and in order to detect the SKXBEE I updated the version of firmware..This can be done by clicking on "moderm configuration" and then click download new version via web..It takes time to update the firmware..

Monday, February 8, 2010

Mobile Robot Platform by Cytron.

Almost every major university has one or more labs that focus on mobile robot research..In UniKL-Bmi also there has been several researchs on mobile robot including my project..Recently,Cytron tech designed a Mobile Robot Platform (MRP) for an educational platform for research purpose. It is designed to easily customizable, functionalities expandable that provides total flexibility for robotic application testing and development. MRP use Compaq Presario CQ20 as a main processor and powered by 2 12V 7Ah Sealed Lead Acid Battery..The actuator is 2 DC brushless motors and laser range finder as a sensor..



In terms of application, MRP can be used as guide, receptionist, waiter/waitress, mobile clone, surveillance, delivery and surveying robot. The robot is being control by remote PC through WiFi..

Wednesday, February 3, 2010

Testing the wireless camera


The wireless camera testing was done and there is no problem faced..The receiver must be connected to TV card and then the TV card is connected to USB port laptop..USB TV Card was choosen because its the only way to connect a wireless camera to a laptop..There is no RGB port build for laptop and USB TV card is the solution..The camera transmitter is connected to the robot base..The system is seperate, the camera will use it own transmitter device..Soon, the laptop can record all the video that had been captured by the camera and it can be use as a surveillance system.


Thursday, January 28, 2010

Repairing the SKXBee modules

Cytron just give me a feedback and the SKXBEE must be sent to them for repairing purpose..It said that it will take a week to repair it and there is nothing i can do except concentrating on software and hardware (robot)..I hope Cytron will repair my SKXBee as soon as possible.

Hardware construction


I was constructing multifunction mobile robot (PR23) by cytron..This is the robot base that i will used in my project..The construction is 80% done..This robot will soon be operating in 2 modes which is line following robot and wireless robot using controller XBE..I'm planning on putting a wireless camera on my robot..

Monday, January 25, 2010

Problems with SKXBEE modules

The XCTU software did not detect my SKXBEE module..It is hard for me to write any instruction to the moderm..Problem had been send to Cytron for further information..The problem occur when I start to write the instruction to the XBEE..I hope my SKXBEE is not damage and can be repaired..

Wednesday, January 20, 2010

Purchase component from cytron

Some of the part and components for this project was purchased online from cytron company..The components are such as SKXBee 2pcs, servo motor 2pcs, PIC 16F877A 1 pcs, electronics part, mobile robot base..The delivery is on Friday..By that time, i can start assemble and testing my SKXBee devices..

Development of hardware

This week I was doing circuit designing using proteus software..The circuit that in development is microcontroller circuit to control the robot and SKXBee..It is a bit hard to make the PCB layout because some of the component was not in the Proteus Libary..Some of the part is a bit different such as LCD pins..They just provide the schematic design only but not the PCB layout for example LED..I think by now, the circuit layout is 70% completed.

Monday, January 18, 2010

Enquiry about microcontroller..

I submitted enquiry to cytron on how much microcontroller required to control the robot..They answered SKXBee can either be connected to microcontroller or USB of computer. In PR23 product by cytron case, one SKXBee is connected to PR23 another one is connected to computer USB port. Further action will be taken after discussing with project supervisor..

Wednesday, January 13, 2010

Microcontroller on 2 different board..

In this project..The controller at the TX&RX at PC and TX&RX at robot point is a bit different..This is because controller at PC only interface with XBee and LCD only..While on the robot,the controller will interface with motors,sensors,LCD and any additional applications..It is a bit tough to make a small controller circuit to be fitted on the robot base..I will make it smaller as possible..This is to ensure that the robot did not carry too much load on top of it..PR 23 by cytron is a good example to follow..Because its provide head to toe instruction on how to build a robot..

Tuesday, January 12, 2010

Final Year Project 2nd Briefing..

The briefing was held in TTL 1 for about a hour..It was conducted by FYP committee..The briefing told us on how to write a quality report, the flow of the project and the duration..The presentation & demo is on 13th April (week 13) at gemilang hall from 10am-5pm..During the presentation, the representative from UniKL ICC will be invited for project commercilization..Poster is a need during the presentation and must be verified first from the supervisor..30% is the marks for the perfect presentation..During week 14, we must submit hardcover & softcopy thesis and logbook which is 25% marks both..

Saturday, October 31, 2009

Submission of draft and Log book

The draft and log book for Final Year Project was submitted on week 13 (23/10/2009). The draft consist of Chapter I & II. Chapter I is Introduction and chapter II is Literature Review. Percentage mark for draft is 5% and log book is 10%.

Thursday, October 22, 2009

Test Method on Add-on SKXBEE

1. Configure the ATMY 1111 to SKXBEE for the robot and ATDL 1111 to SKXBEE for computer using X-TCU (refer User’s manual for SKXBEE section 6.2 for more detail on configuration).

2. Plug in the SKXBEE to the robot and switch ON the power, select “SKXBEE.”

3. Connect another SKXBEE on computer.

4. Make sure JP1 jumper is connected to COM for UART as shown in Figure.

5. Open X-TCU and click on the terminal, type “d”.

6. Now, user may control the robot using Num pad. 8 to move forward, 4 to turn left, 6 to turn right, and 2 to move backward.

Interface XBee Module with PIC Microcontroller

5V and ground is connected to provide power to the module. While TX and RX pin is connected for communication. JP1 jumper is connected at COM for interfacing SKXBEE.


Below is the system overview on how XBee communicate with microcontroller. The XBee will connected to the microcontroller via Universal Asynchronous Receiver/transmitter (UART) pins.



SKXBEE can be add on in the microcontroller circuit. It will lifted a bit high from microcontroller circuit or in other words above the microcontroller circuit. All we need to used is a female header.





Thursday, October 15, 2009

100+ node ZigBee PRO network

Demonstrates how a network of ZigBee PRO nodes based on embedded AVR microcontrollers and Atmel RF transceivers and running BitCloud stack assembles itself in a dense network setting. Provides visual overview of test network environment and WSN Monitor tool for network visualization and control.

This is an example of advanced programming for ZigBEE network..

Zigbee / XBee Adapter Configuration Tutorial

This tutorial shows how two XBee Modules can be configured to be able to talk to each other. These modules are ideal for any hobby/school/university project. With these modules it is very easy to interface PC to Microcontroller board, or Microcontroller to Microcontroller over wireless link.

Thursday, October 8, 2009

Mobile Robot Exploration with ZigBee

In this experiment, a mobile robot (red) is equipped with a ZigBee node; another ZigBee node (blue) is emitting a beacon. Using an heuristic algorithm based on LQI (Link Quality Indicator) the robot is able to find the beacon node without entirely explore the search space. This technique can be used, for example, in Search & Rescue scenarios.

Watch video..

Internet Remote Control ZigBee Robot

The Robot is being controlled from Sweden and it's performing a home inspection in real time in a Phoenix home. This is actual video that was recoded in Sweden from the high quality robot WEB based camera..

Watch video..

Draft Chapter 1 & 2 Final Project Thesis

Preparing to do the chapter 1 and 2 final project thesis..The draft need to be submited at week 13at 19/10/2009..

Thursday, October 1, 2009

Approximate Project Cost



Table above shown the approximate cost for the hardware's. The cost will change from time to time depending on the requirement. The cost can be reduced by removing some expensive applications.

How to Build Your First Robot

Robotics can teach you so much.I will learn skills ranging from electronics, mechanics, controls, programming, and even as broad as understanding animal behavior and human psychology. What does an easy to make robot look like? Browse the web for robot galleries. Remember, only bother looking at the really simple robots, DO NOT get imaginative or creative on your first robot. So your first robot will have 2 wheels. It will drive under the most basic algorithm for a robot - differential drive.



Let's start with the wheels. Big wheels will let your robot move faster. Small wheels for slower. So why not just get big? Bigger wheels means your robot has less torque to carry a heavy payload, and bigger wheels generally mean fine position control is harder too. Also, your sensors often cannot keep up with fast changes in position.

Ok now the motors. For an optimal robot choosing motors would involve calculations of weight, gearing ratios, desired terrain, desired velocity and acceleration, voltage, power consumption, controllability and a whole range of things too overwhelming for a beginner. So just wing it. Just make sure you keep your robot as light as possible, and get motors that can do overkill. But remember, bigger the motors, shorter your battery life, and more expensive and complicated your motor control circuitry will get.

Next comes power. No, solar power and eating slugs wont work. Use a battery. When buying a battery make sure they are rechargeable, have high mAh (energy capacity), and can output at least an amp at any time. Consider putting batteries in both parallel and in series to vary/control total voltage and mAh.


Ok now you need a cool circuit thingy. Forget about designing your own. It is best your first robot be simple, so a ready made circuit thingy is easiest. They are usually called microcontrollers, the most popular being PIC, Atmel/AVR, ARM, and BASIC Stamp based. Stamps are easier but offer less functionality.You can also handmake the programmer really cheap. Just make sure the controller you buy has a built in motor driver, LED's, and many analog input/output ports.

Now it is time to DESIGN, THEN BUILD, a robot chassis. A beginner may have difficulty designing just because he/she wouldn't know what does/doesn't work. 3D CAD program that shows placement of all parts, screws, everything. Parts were intentionally designed to require the least amount of drilling and cutting effort. You can never over design, especially when you are in a competition like battlebots where things break often, or don't have enough money/time to waste on mistakes.

This article can be a good guide to a beginner to start do a basic function of robot.Its explained from the simplest technology to the complicated technology.

By Society of robot website

Wednesday, September 16, 2009

Details of X-CTU

The MaxStream X-CTU software, which is also a free download from the MaxStream site, allowed you to use your personal computer to program the XBee modules serially using the XBee DIN,DOUT,RTS, and DTR pins.

X-CTU even provides a built in RS 232 terminal emulator. As we can see in capture below, key register values can be changed within the X-CTU windows and written to the XBee modules mounted on the XBee interface boards. The COM10 XBee module as the coordinator and the COM X XBee module as an end device by setting the XBee modules CE (Coordinator Enable) register to a 1 and 0 (zero) respectively.Assigned a PAN ID of 0xCAFE in the coordinator X-CTU window. The XBee can run in one of three MAC modes:
1) 802.15.4 + Maxstream Header
2) 802.15.4 without ACKs
3) 802.15.4 with ACKs

Monday, September 14, 2009

Wireless Personal Area Network (WPAN)

A personal area network (PAN) is a computer network used for communication among computer devices close to one's person. The devices may or may not belong to the person in question. The reach of a PAN is typically a few meters. PANs can be used for communication among the personal devices themselves , or for connecting to a higher level network and the Internet.

Personal area networks may be wired with computer buses such as USB and FireWire. A wireless personal area network (WPAN) can also be made possible with network technologies such as IrDA, Bluetooth, UWB, Z-Wave and ZigBee.

A WPAN (wireless personal area network) is a personal area network - a network for interconnecting devices centered around an individual person's workspace - in which the connections are wireless. Typically, a wireless personal area network uses some technology that permits communication within about 10 meters - in other words, a very short range.

A key concept in WPAN technology is known as "plugging in". In the ideal scenario, when any two WPAN-equipped devices come into close proximity (within several meters of each other) or within a few kilometers of a central server, they can communicate as if connected by a cable. Another important feature is the ability of each device to lock out other devices selectively, preventing needless interference or unauthorized access to information.Proposed operating frequencies are around 2.4 GHz in digital modes.

By wikipedia.org

Thursday, September 10, 2009

ZigBee Network Topologies

The way that a message is routed from one network node to another depends on the network topology. A ZigBee network can adopt one of the three topologies: Star, Tree, Mesh. These are illustrated on the right and briefly described below.

Star Topology

A Star network has a central node, which is linked to all other nodes in the network. All messages travel via the central node.

Tree Topology

A Tree network has a top node with a branch/leaf structure below. To reach its destination, a message travels up the tree (as far as necessary) and then down the tree.

Mesh Topology

A Mesh network has a tree-like structure in which some leaves are directly linked. Messages can travel across the tree, when a suitable route is available.

Wednesday, September 9, 2009

Communicate Between Two XBee Devices

Before going further,the first step to understand in XBee operation is trying to communicate it between each other (TX-RX) in bidirectional mode..I need to install the driver at 2 PC's which is USB Serial Converter and USB Serial Port..This is to make the XBee compatible with the PC's..After that the X-CTU software need to be installed.

This software will enable user to send and receive a data at a time.The are several configuration need to be determine first such as the Baud Rate = 9600, data bits=8 and stop bits = 1..After that, we must enter the command mode by typing +++ into the terminal area and after that the Xbee's are ready to be operated..The simple diagram on how the XBee communicate is shown below.

But there is a bit problem on communicate the XBee's..The another XBee modules can't be detected by PC..It said "Unable to communicate with the moderm"..This happened at one side only..In my opinion there is something wrong either the hardware or the driver..

Monday, September 7, 2009

ZigBee Devices (FFD & RFD)

The IEEE 802.15.4 specification identifies two devices which is FFD and RFD. The 802.15.4 Full Function Device (FFD) is literally able to do it all. A FFD network will be powered from an inexhaustible power source, which is called out as an AC-fed mains supply, as it must always be active and listening on the network, among other things.
An RFD (Reduced Function Device) perform on recording temperature data, monitoring switches or controlling external devices. The power source of RFD is easily exhaustible and by that RFD is prone to sleep most of the time.
The ZigBee end device can be either an FFD or RFD depending on the application. A ZigBee router is an FFD that enables the extension of the physical range of a ZigBee network. It is used to allows more nodes to join the network as the radio range of the root ZigBee network is effectively increased. The router also can be functioning as a end devices.

Wednesday, September 2, 2009

IEEE 802.15.4

ZigBee is officially a wireless network protocol that is designed to be used with low-data-rate sensor and control networks. ZigBee can also eliminate the need to string wires all over the place as it can easily reach data rates comparable to and above standard RS-232 and RS-485 wired protocols. Although an IEEE 802.15.4 network can easily obtain RS-232 speeds, you wont see many battery powered applications of IEEE 802.15.4 networks replacing RS-232 communication links,especially if the traffic on the IEEE 802.15.4 based pseudo RS-232 link is heavy.



ZigBee is a standards based network protocol supported solely by the ZigBee Aliance that uses the transport services of the IEEE 802.15.4 network specification. The IEEE 802.15.4 specification also uses internal layers, which are normally referred to as sublayers. The wireless 802.11b specification and the wired 802.3 specification also employ the concept of sublayers. The IEEE 802.15.4 specification calls out a pair of 802.15.4 sublayers, the PHY and the MAC.

If we relate the IEEE 802.15.4 sublayers to the ZigBee protocol stack, the ZigBee PHY sublayer, which is actually the IEEE 802.15.4 PHY sublayer, is all about the radio and the generation of the radio link. A ZigBee stacks PHY responsibilities include receiver energy detection, link quality indication and clear channel assesment. The ZigBee stacks PHY is also primarily responsible for transmitting and receiving packets across the magnetic medium. The ability to sniff the air for other nodes is very important in the ZigBee and IEEE 802.15.4 world as this is what is done to determine if a new ZigBee or IEEE 802.15.4 network can be spawned.