Giter Site home page Giter Site logo

robotzord's Introduction

Robotzord

The purpose

The purpose was to develop a low-cost robot using recycled material.
The project covers the software and hardware of a robot car made from scratch using recycled material and a PIC18F45K22 as its brain.
The Robotzord was developed as a personal project during my Electrical Engineering graduation and it was mounted on a breadboard according to /Hardware folder schematics.

Utility

The code was developed specifically to PIC platform. However, if some changes were made, mainly in initialization, configuration and some registers, the project can be adapted to other microcontroller families, from different manufacturers.

The programming language used in project was C and the Interface Development Environment (IDE) was MikroC Pro Pic.
Robotzord was developed when I was in my 3rd semester of the Electrical Engineering at UFSM. So, I would like to make it clear that if I would develop the same project today, certainly a lot of things would be different, improved and optimized. ;)

How it works?

The robot mechanical structure was made from recycled material.
Its chassi is an old computer CD/DVD drive + an electric plastic box cutted on half, its wheels are from an old plastic toy motorbike and its rear supporting wheel is composed by an old fan and old plastic parts from broken toys.

Below there are some images of the robot mechanical structure.

Imgur

Imgur

Imgur

The hardware was mounted on a breadboard and coupled on the robot's chassi.
The robot breadboard contains an H bridge to do the motors control, a LCD display as IHM and a set of buttons to receive user commands.
Moreover, the robot has 2 pairs of infrared sensors to acquire its pulses per revoultion.
The robot battery is a bunch of 1.2V AA batteries in series, totalizing ~6.0V.

The software was developed using MikroC, and the robot main idea is to receive some specific inputs from users and move according received instructions. I developed some routines making it capable to move in circles, squares, line, etc..

In addition, I did put a holed plastic wheel on each axis to couple the infrared sensors and count the number of pulses per revolution. Though, we have an encoder and can measure the distance that the robot moved, making its instructions more accurate.

The robot can move based on time or based on the distance measured in software using its encoder.
This project pictures do not show the encoders in place, but it is working on the Robotzord 2.0 version, that will be available soon in my Github page.

File types in project:

- The .c file contains the developed code in C.
- The .asm file contains the code translated to assembly
- The .hex file is the ready to burn file, containing the code in hexadecimal language.
- The .mccpi file is the link between all files in project, created by MikroC compiler (IDE used to software development).
- The other files are configuration files, created by compiler.
- Inside /Hardware folder it is the project hardware schematic

Below there is an imagem of the project hardware designed using Altium Designer.

Imgur

Which was used in project?

Bill of materials:

  1. 1 x PIC18F45K22F microcontroller
  2. 2 x Robotic DC Motor (servo-motor control circuit less)
  3. 1 x 7805 Voltage Regulator
  4. 5 x Push button
  5. 5 x Resistores 1k ohm
  6. 1 x 20MHz Crystal
  7. 2 x 22pF Capacitors
  8. 1 x 100nF Capacitors
  9. 4 Mosfet IRF540N
  10. 4 Mosfet IRF9540N
  11. 1 x LCD Display
  12. 1 x 10k Potentiometer
  13. 2 x infrared emmiter
  14. 2 x infrared receptor
  15. 4 x 270R resistor
  16. 1 x ~6.0V battery
  17. 1 x Breadboard

This project generated a paper publication on an International Sustainability Forum hosted in Santa Maria (RS), Brazil:

http://ecoinovar.com.br/cd2014/arquivos/artigos/ECO091.pdf

Below, there is an image of the final result.

Imgur

P.S.1: In the picture its missing the microcontroller, but you can see its spot on the picture, between the LCD and the buttons board, on the breadboard center :P

P.S.2: There is a new version of the robot, and it contains more sensors and the hardware and software are really optimized, but I did not have time yet to post the project on Github. However, I'll post it and make a report soon as I can. :)

Copyrigths

The project can be reproduced without any problems.
However, I only ask you to keep author credits. :)

Enjoy!

Hollweg

robotzord's People

Contributors

hollweg avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.