Difference between revisions of "S21: (RC)^2"
Proj user10 (talk | contribs) (→Parts List & Cost) |
Proj user10 (talk | contribs) (→Software Design) |
||
Line 292: | Line 292: | ||
=== Software Design === | === Software Design === | ||
− | + | The motor node is designed to receive a desired speed and a desired steering angle from the driver node. These values will be used to adjust the RC Car's motor speed and servo motor angle to align with those requested values. | |
+ | |||
+ | There are four public functions that are provided in the motor node. | ||
+ | |||
+ | *;''void motors__init(void)'' | ||
+ | : This function is used by the periodic callback to '''initialize the required peripherals''' used to control the motor speed as well as the servo motor angle. | ||
+ | *;''void motors__run(void)'' | ||
+ | : This function is used by the periodic callback to '''set the motor speed and the servo motor angle'''. This public function will invoke two ''private functions'', ''motors__speed_handler()'' which handles the motor speed of the car, and ''motors__steering_handler()'' which handles the steering angle of the car. | ||
+ | *;''void motors__set_speed_and_steering_values(dbc_MOTOR_VALUES_s *motor_values)'' | ||
+ | : This is used for | ||
+ | *;''dbc_MOTOR_VALUES_TO_DRIVER_s motors__get_motor_values(void)'' | ||
+ | : This is used for | ||
=== Technical Challenges === | === Technical Challenges === |
Revision as of 18:48, 16 May 2021
Contents
(RC)^2
(RC)^2
Abstract
<2-3 sentence abstract>
Introduction
The project was divided into N modules:
- Sensor ...
- Motor..
- ...
- Android
Team Members & Responsibilities
<Team Picture>
Gitlab Project Link - https://gitlab.com/rc-2/sjtwo-c
- Sensor
- Huy - https://gitlab.com/vyhuy2004
- Prabjyot - https://gitlab.com/PrabjyotObhi
- Motor
- Jesse - https://gitlab.com/JessePhams
- Michael - https://gitlab.com/mwmichaelwang
- Geographical
- Brian - https://gitlab.com/Brian1234132
- Arun - https://gitlab.com/arunhiremath92
- Communication Bridge Controller & LCD
- Prabjyot - https://gitlab.com/PrabjyotObhi
- Arun - https://gitlab.com/arunhiremath92
Schedule
Week# | Start Date | End Date | Task | Status |
---|---|---|---|---|
1 | 03/01/2021 | 03/07/2021 |
|
Complete |
2 | 03/08/2021 | 03/14/2021 |
|
Complete |
3 | 03/15/2021 | 03/21/2021 |
|
Complete |
4 | 03/22/2021 | 03/28/2021 |
|
Complete |
5 | 03/29/2021 | 04/04/2021 |
|
Complete |
6 | 04/05/2021 | 04/11/2021 |
|
In Progress |
7 | 04/12/2021 | 04/18/2021 |
|
To-do |
8 | 04/19/2021 | 04/25/2021 |
|
To-do |
9 | 04/26/2021 | 05/02/2021 |
|
To-do |
10 | 05/03/2021 | 05/09/2021 |
|
To-do |
11 | 05/10/2021 | 05/16/2021 |
|
To-do |
12 | 05/17/2021 | 05/23/2021 |
|
To-do |
13 | 05/24/2021 | 05/26/2021 |
|
To-do |
Parts List & Cost
TODO: Check Drive and add to this table
Item# | Part Desciption | Vendor | Qty | Cost |
---|---|---|---|---|
1 | RC Car | Traxxas | 1 | $250.00 |
2 | CAN Transceivers MCP2551-I/P | Microchip [2] | 8 | Free Samples |
3 | GPS Module | Adafruit [3] | 1 | $59.99 |
4 | Compass | Adafruit [4] | 1 | $14.95 |
5 | ESP8266 (WiFi) | DIYmall [5] | 1 | $14.95 |
6 | HC-020K (Wheel Encoder) | Hilitchi [6] | 1 | $8.99 |
7 | URM09 Ultrasonic Sensor (I²C) | DFRobot [7] | 4 | $12.90 |
8 | SJ2 Board Microcontroller | SCE [8] | 5 | $250.00 |
Printed Circuit Board
<Picture and information, including links to your PCB>
CAN Communication
<Talk about your message IDs or communication strategy, such as periodic transmission, MIA management etc.>
Hardware Design
<Show your CAN bus hardware design>
DBC File
Sensor ECU
<Picture and link to Gitlab>
Hardware Design
Software Design
<List the code modules that are being called periodically.>
Technical Challenges
< List of problems and their detailed resolutions>
Motor ECU
<Picture and link to Gitlab>
Hardware Design
Software Design
The motor node is designed to receive a desired speed and a desired steering angle from the driver node. These values will be used to adjust the RC Car's motor speed and servo motor angle to align with those requested values.
There are four public functions that are provided in the motor node.
- void motors__init(void)
- This function is used by the periodic callback to initialize the required peripherals used to control the motor speed as well as the servo motor angle.
- void motors__run(void)
- This function is used by the periodic callback to set the motor speed and the servo motor angle. This public function will invoke two private functions, motors__speed_handler() which handles the motor speed of the car, and motors__steering_handler() which handles the steering angle of the car.
- void motors__set_speed_and_steering_values(dbc_MOTOR_VALUES_s *motor_values)
- This is used for
- dbc_MOTOR_VALUES_TO_DRIVER_s motors__get_motor_values(void)
- This is used for
Technical Challenges
< List of problems and their detailed resolutions>
Geographical Controller
<Picture and link to Gitlab>
Hardware Design
Software Design
<List the code modules that are being called periodically.>
Technical Challenges
< List of problems and their detailed resolutions>
Communication Bridge Controller & LCD
<Picture and link to Gitlab>
Hardware Design
Software Design
<List the code modules that are being called periodically.>
Technical Challenges
< List of problems and their detailed resolutions>
Master Module
<Picture and link to Gitlab>
Hardware Design
Software Design
<List the code modules that are being called periodically.>
Technical Challenges
< List of problems and their detailed resolutions>
Mobile Application
<Picture and link to Gitlab>
Hardware Design
Software Design
<List the code modules that are being called periodically.>
Technical Challenges
< List of problems and their detailed resolutions>
Conclusion
<Organized summary of the project>
<What did you learn?>
Project Video
Project Source Code
Advise for Future Students
<Bullet points and discussion>