What is SunBot?

SunBot will be a self-powered Vex Based Robot whose mission is to track the Sun anywhere on Earth under all lighting conditions (during sunny, or dark and cloudy days) using Astronomical tables and to collect critical Solar data necessary to produce the next generation solar power generation systems by acting as the guide for hundreds of solar panels located within a one mile radius of SunBot. It also demonstrates how Vex Starter Kits may be used to develop prototype Environmentally Friendly products that can one day help with Earth’s Energy Crisis.

The SunBot assembly includes a 12 Volt Marine panel that is attached to the mast assembly, which is used to recharge a 12 Volt SLA battery. It is mounted on top of my Vex Gilbert IV Robot platform that I made a few years ago as shown in the Vex Gallery photos, proving it a sturdy base and enclosure for SunBot’s electronics and batteries and so that I can move it about my lawn using the Gilber IV’s own 6WD motion subsystem. A Vex Controller and Vex RC remote are used to send it motion commands in order to control it. Telemetry will be sent up to a mile away (line-of-sight) to a remote laptop for data collection and analysis and will receive SunBot commands from the laptop using an XBEE Pro Wireless UART at 115200 Baud, 8-Data Bits and 1-Stop Bit.

SunBot Gallery Photo

Gilbert IV Explorer Photo

SunBot’s features will include the following items (if I get to the next phase):

  • Point the solar panel 0-360 degrees Azimuth, within +/- 1 Degree resolution
  • Tilt the solar panel +/-90 degrees Elevation, within +/- 1 Degree resolution
  • Use GPS to obtain SunBot’s latitude, longitude and altitude
  • Vex Controller
  • Vex RC Remote
  • 7 Vex Motors
  • Vex Starter Kit metal parts
  • 1 Microchip PIC32 32-Bit microcontroller
  • 2 Microchip dsPIC30F4011 motor controllers
  • 1 Microchip Temperature Sensor
  • 1 Humidity Sensor
  • 1 LCD Display
  • 2 XBEE Pro Wireless UARTS](https://vexforum.com/gallery/showimage.php?i=1150&catid=member&imageuser=392)

The SunBot now freely roams about my yard as you can see from the second video that I recently uploaded to the contest home page. I have also uploaded the latest schematics and BOM that can be used to build SunBot’s electronics, using a PIC32 and two dsPIC30F0411 microcontrollers and two National Semiconductor LMD18200 H-Bridge ICs. In addition, I uploaded the firmware which includes most of the diagnostics and drivers for the PIC32 and the working firmware for my Azimuth and Elevation Motor Controller boards, which use two dsPIC30F4011 Motor Controllers to drive the 5 volt motors using the on-chip Pulse Width Modulation (PWM) and Quadrature Optical Encoder Inputs (QEI) to measure the motor’s position, speed and direction. You can watch the video featured under “SunBot” and tswift using the microchip contest link listed below.

The motor controller prototype works great! I can ramp the motor speed up or down while measuring its speed using the QEI interface. The two Motor Controller PCB boards derived directly from the prototype also work. I added LEDs as a diagnostic to show that each board was “alive” and working.

If I get to phase II, I will begin the hard task of integrating the PIC32 with the two Motor Controllers using the SPI bus and computing the Sun’s Azimuth and Elevation from navigational tables using the current time of day at 15 to 30 minute intervals in order to keep the solar panel pointed directly at the Sun, while collecting Solar Data and transmitting the telemetry back to a laptop up to one mile away (line-of-sight).

There are plenty of features that would be of interest to Vex Forum members including connecting I2C and SPI based devices such as extra SD Flash Memory, temperature sensors, pressure sensors, photocells, Solar Cells, etc.

Knowing your X,Y,Z location by GPS, and the current time and day is enough to know where the Sun is located in the sky, but not enough to know where to point the solar panel of a mobil robot.
There are 6 degrees of freedom; GPS X,Y,Z are 3.
You might assume that the ground is level to get 4,5.
How do you plan to know the robot’s Azimuth, ie compass direction?

Good question! A Vector II Electronic Compass will provide the SunBot Controller with “true North” or “Magnetic North” so that I can use the Naval Astronomical Tables to compute the Sun’s Azimuth and Elevation for a given time of day. Knowing where North direction is at a particular time will allow SunBot to point the Solar Panels directly at the Sun. I will know when SunBot is level using Freescale XY and Z (Triax) accelerometers.

This task will be done in Phase II if I am able to get enough votes. Please remember that a vote for SunBot is a vote for Vex!