In this section, we will describe, in detail, the purpose and working of Robowaiter Modules used in the project.
The H-Bridge Modules
The first in the Robowaiter Modules is the H-Bridge. H-Bridges are basically used for controlling the direction of the Motors. The direction of rotation of Motor is reversed by changing the polarity of the voltage.
At the beginning of the project, L298 was used for driving the motors. L298 can provide an output current of 2A. L298 is a dual motor controller. It can control both the speed and direction of the motor. The main reason for not using L298 was low output current which cannot drive power window motor according to our requirements.
After searching through the internet and consulting different sources we finally decided to used BTN7971b which is a very powerful motor driver that can provide the current of up to 40A. It takes 5-24 V DC as input. As we need only to provide PWM to the motors so this module fulfilled our requirements.
For the purpose of line tracking and to move the robot when some food item is placed on it we have used IR sensor modules. IR sensor works by throwing light using the transmitter. If some object comes in front of this light it is reflected back which is detected by the receiver of the IR sensor.
Line Tracking IR Sensors
TCRT5000 module is used for line tracking. The range of the detecting line is 1mm to 8mm while the working voltage range is 3.3V-5V. The detection range can be varied by rotating its potentiometer. It can detect both the white and black lines. The number of pins is 4 of which one is for ground, second for VCC while the other two pins for analog and digital output. It can give both analog and digital output.
Object Detecting IR Sensors
To move the robot when something is placed on it object detecting IR sensor is used. It working is same as IR line tracking sensor but its detection range is better than IR line tracker. The detection range is 2-30 cm and the operating voltage is 3.3-5V. It can only give digital output.
The keypad is used to assign table number to which the order is to be delivered. It has 4 rows and 3 columns. Keys 1,2,3,4 is used to assign the table numbers (destination) * is used for emergency brake while # is used to resume the movement of the robot towards the destination. The weight of the keypad is 7 g. The maximum rating of the keypad is 35 VDC and 100 mA current.
The LCD is used to display the table number assigned by the manager. The LCD used in our project has a 16×2 display. It operates at the 5V power supply. The VEE pins are used for contrast adjustment. The enable pin enables the LCD to deal with the data it receives.
During our project, we have also used the Relay board for controlling the direction and speed of motors. We opted for 8 channel 5V relay module that can provide 10A current. The basic reason for not using Relay board was that for applying PWM to motors the relay did not get sufficient current to trip. So, it cannot drive motors when PWM is applied through Arduino.