So in order to build the board that will be controlling the PSB, i had to make some research regarding the differnt components i am using in my project, in order to design the board according to its architecture and technical specifications.
The robot has various inputs and outputs that will connected to the PCB. The inputs are:
As mentioned above, the Ultrasonic Distance Sensor is a Digital Sensor. The HC-SR04 Ultrasonic Sensor Module has four pins:
The main sesnor i will be using in my Pipe Surveying Robot is the the MPU-9250.
The InvenSense MPU-9250 sensor contains 3-Axis Accelerometer, Gyro, & Magnetometer MEMS in a single chip. It is very accurate, as it contains 16-bits analog to digital conversion hardware for each channel. Therefor it captures the x, y, and z channel at the same time. The sensor uses the I2C-bus to interface with the Arduino.
The MPU-9250 is not expensive, especially given the fact that it combines Accelerometer, Gyro, & Magnetometer.
The module has 10 pins:
I will be using the Nema 17 stepper motor as the main driver of my Pipe Surveying Robot. In that case, i can keep track of the exact distance that the robot cover inside the surveyed pipe.
In order to drive the Nema 17 stepper motor, I needed a stepper motor driver. I chose to use the Polulu a4988 stepper motor driver because it is cheap an small, and could be easily located on my PCB.
The A4988 module has 16 pins, among which only 12 will be used:
In order to be able to scan the area when the robot reaches an obstacle, the Ultrasonic sensor will be fixed on top of a servo motor. The servo motor i am using, Futaba S3003 has 3 pins:
The main tool i will be using to save the data collected by the robot is the microSD Transflash Breakout.
Breakout board for the microSD socket that is not much bigger than your fingernail. Compatible with the SPI interface found on any SD card, this tiny form factor was created for cell phone storage and is perfect for your next MP3 project! Board comes fully assembled and tested.
The microSD Transflash Breakout has 7 pins:
Next i need to design the sketch for the control board of my pipe surveying robot i am building. Many points had to be taken into consideration while designing the board, mainly the Architecture of the Microcontroller i am using, the pin connection to the sensors and outputs i am using. The different parts of the Control board are described in details below.
The image represents the different part of the full control board such as:
In my board, i will be using the ATmega328/P, which is the same Microcontroller used on the Arduino UNO board.
Saying that, and based on the data sheet, other than the Analog and Digital pins, the following connections were made:
The main Input Pin headers that i will be using for my board are mainly the following:
A set of pin headers was prepared for the Inputs and Outputs that will be used in my system and connected to the Microcontroller i am using.
Each pin head will have a Vcc pin and a GND pin, plus a number of dedicated Analog or Digital pins.
Among those pin headers are the following:
My board will have one battery as a power source dew to the limtied and tight space. Thus i will need power regulators that will achieve having a 12V, 5 V and 3.3 V power supplies on the board. Saying that a power regulation circuit was added to the board to achieved that.
After finalizing the Sketch of my board, the next step is to design the board layout, taking into consideration all the points i mentioned above.
The image represents the layout of the different part of my board such as:
Various points has been taken into consideration while designing the board layout.
After finalizing the layout of the PCB on Eagle, we want to extract the image that represents the PCB design. To do so we need to follow the following steps.
So the next step after extracting the image from Eagle is to produce the images we need to use on Fab Modules to generate the g-code later.
So first we open the original image from Eagle and "extract as" a new copy that you can edit.
Using GIMP is easy, just fill the area you dont want with black and that's it. I produced 3 images to be used in fab modules. The images are the following: