descriptions

This commit is contained in:
2025-07-02 22:11:45 -04:00
parent 244b204c0f
commit 8111f40139
15 changed files with 26 additions and 14 deletions

View File

@@ -19,15 +19,17 @@ The **GPIO0** and **GPIO1** assigned to measuring the voltage of x- and y- axis
Direction and Speed
~~~~~~~~~~~~~~~~~~~
The two DC motors on the left side are wired to the dedicated PWM channels in pairs. This means that PWM channels can control rotation speed and direction of DC motors in pairs (i.e. left and right side).
Consequently, only four PWM channels are required for controlling the direction of the RC car.
Based on this constraint, the RC car can only move front, back, and rotate left and right. Any other movements are not possible (i.e. diagonal).
The pairs of DC motors on the left side are wired to the dedicated PWM channels. This means that *ESP32-C3 Breadboard DevBoard* can control rotation speed and direction of DC motors in pairs only (i.e. left and right side).
Consequently, only four PWM channels are used for controlling the direction of the RC car.
Based on this constraint, the RC car can only move front, back, and turn/rotate left and right. Any other movements are not possible (i.e. diagonal or sideways).
A pair of PWM channels are required for defining rotation speed and direction of the DC motors on each side.
In particular, **GPIO6** and **GPIO5** provide PWM to the left- and right- side DC motors to rotate in a **clockwise** direction.
Similarly, **GPIO4** and **GPIO7** provide PWM to the left- and right- side DC motors to rotate in a **counter-clockwise** direction.
Changing PWM on each channel determines the speed and direction of the RC car.
The following images illustrate various PWM duty cycles recorded by oscilloscope.
.. raw:: html
<br/><br/><br/><br/>

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

View File

@@ -46,13 +46,14 @@
</section>
<section id="direction-and-speed">
<h3>Direction and Speed<a class="headerlink" href="#direction-and-speed" title="Link to this heading"></a></h3>
<p>The two DC motors on the left side are wired to the dedicated PWM channels in pairs. This means that PWM channels can control rotation speed and direction of DC motors in pairs (i.e. left and right side).
Consequently, only four PWM channels are required for controlling the direction of the RC car.
Based on this constraint, the RC car can only move front, back, and rotate left and right. Any other movements are not possible (i.e. diagonal).</p>
<p>The pairs of DC motors on the left side are wired to the dedicated PWM channels. This means that <em>ESP32-C3 Breadboard DevBoard</em> can control rotation speed and direction of DC motors in pairs only (i.e. left and right side).
Consequently, only four PWM channels are used for controlling the direction of the RC car.
Based on this constraint, the RC car can only move front, back, and turn/rotate left and right. Any other movements are not possible (i.e. diagonal or sideways).</p>
<p>A pair of PWM channels are required for defining rotation speed and direction of the DC motors on each side.
In particular, <strong>GPIO6</strong> and <strong>GPIO5</strong> provide PWM to the left- and right- side DC motors to rotate in a <strong>clockwise</strong> direction.
Similarly, <strong>GPIO4</strong> and <strong>GPIO7</strong> provide PWM to the left- and right- side DC motors to rotate in a <strong>counter-clockwise</strong> direction.
Changing PWM on each channel determines the speed and direction of the RC car.</p>
<p>The following images illustrate various PWM duty cycles recorded by oscilloscope.</p>
<br/><br/><br/><br/><table class="docutils align-default">
<thead>
<tr class="row-odd"><th class="head"><p>GPIO</p></th>

View File

@@ -1 +1 @@
Search.setIndex({"alltitles":{"ByteRider documentation":[[0,null]],"Chassis":[[3,"chassis"]],"Direction and Speed":[[2,"direction-and-speed"]],"Finished Work":[[3,"finished-work"]],"Fusion of Software with Hardware":[[2,"fusion-of-software-with-hardware"]],"HOW DOES IT WORK?":[[2,null]],"INTRODUCTION":[[1,null]],"Motor Wires Harness":[[3,"motor-wires-harness"]],"Reserved Pins & GPIOs":[[2,"reserved-pins-gpios"]],"Schematic":[[2,"schematic"]],"WORK-IN-PROGRESS WALK THROUGH":[[3,null]],"Wiring":[[3,"wiring"]],"x- and y- axis":[[2,"x-and-y-axis"]]},"docnames":["index","intro","overview","progress"],"envversion":{"sphinx":65,"sphinx.domains.c":3,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":9,"sphinx.domains.index":1,"sphinx.domains.javascript":3,"sphinx.domains.math":2,"sphinx.domains.python":4,"sphinx.domains.rst":2,"sphinx.domains.std":2},"filenames":["index.rst","intro.rst","overview.rst","progress.rst"],"indexentries":{},"objects":{},"objnames":{},"objtypes":{},"terms":{"0":2,"04x":2,"0x":2,"1":2,"100":2,"15":2,"16":2,"2":2,"3":2,"4":2,"5":2,"6":2,"7":2,"8":2,"A":2,"IN":0,"IT":0,"If":2,"In":2,"NOT":2,"The":2,"__gpio6__":[],"_static":[],"adapt":2,"adc1_ch0":2,"adc1_ch1":2,"add":0,"address":2,"ani":2,"ar":2,"arg":2,"assign":2,"axi":[],"back":2,"bacl":2,"base":2,"being":2,"below":[],"bitbyterid":2,"board":2,"breadboard":2,"brief":2,"buffer":2,"button":2,"c3":2,"call":2,"can":2,"car":2,"chang":2,"channel":2,"chassi":0,"clockwis":2,"code":2,"column":[],"complet":3,"consequ":2,"constraint":2,"content":0,"contin":2,"control":[2,3],"correspond":2,"counter":2,"crc":2,"data":2,"dc":[2,3],"declar":2,"dedic":2,"defin":2,"deletep":2,"detail":0,"determin":2,"develop":2,"developmemt":2,"diagon":2,"direct":[],"displai":2,"doe":0,"e":2,"each":2,"els":2,"error":2,"esp":2,"esp32":2,"esp_log":2,"esp_logi":2,"esp_logw":2,"esp_now_is_peer_exist":2,"esp_now_send":2,"event":2,"everi":2,"evok":2,"exist":[],"finish":0,"follow":2,"four":2,"front":2,"function":2,"fusion":0,"get":2,"gpio":0,"gpio0":2,"gpio1":2,"gpio4":2,"gpio5":2,"gpio6":2,"gpio7":2,"group":2,"har":0,"hardwar":0,"harn":3,"hexadecim":2,"hold":2,"how":0,"i":2,"idf_robot_schemat":[],"imag":[],"insid":3,"instal":3,"int":2,"introduct":0,"joystick":2,"lastli":2,"ledc_channel_0":2,"ledc_channel_1":2,"ledc_channel_2":2,"ledc_channel_3":2,"left":2,"length":2,"mac":2,"mean":2,"measur":2,"memori":2,"messag":2,"microcontrol":2,"motor":[0,2],"motor1_rpm_pcm":[],"motor1_rpm_pwm":2,"motor2_rpm_pcm":[],"motor2_rpm_pwm":2,"motor3_rpm_pcm":[],"motor3_rpm_pwm":2,"motor4_rpm_pcm":[],"motor4_rpm_pwm":2,"motors_rpm":2,"move":2,"movement":2,"nav_bttn":2,"note":2,"now":2,"number":2,"ok":2,"ondatareceiv":2,"ondatas":2,"onli":[2,3],"oper":2,"other":2,"pair":2,"particular":2,"period":2,"pin":0,"png":[],"pointer":2,"porttick_period_m":2,"posit":2,"possibl":2,"power":2,"progress":0,"provid":2,"purpos":2,"push":2,"pwm":2,"rc":2,"rc_send_data_task":2,"receiv":2,"receiver_mac":2,"requir":2,"reserv":0,"respons":2,"restructuredtext":0,"result":2,"right":2,"rotat":2,"row":[],"run":2,"same":[],"schemat":0,"second":2,"secur":3,"see":0,"send":2,"senddata":2,"sensors_data_t":2,"sent":2,"side":2,"similarli":2,"sizeof":2,"softwar":0,"speed":[],"static":2,"statu":2,"store":2,"struct":2,"summar":2,"summari":2,"syntax":0,"tabl":2,"tag":2,"task":2,"thi":2,"those":2,"through":0,"transmit":2,"true":2,"two":2,"uint8_t":2,"updat":2,"us":0,"valu":2,"void":2,"voltag":2,"vtaskdelai":2,"wa":2,"walk":0,"well":[],"while":2,"wire":[0,2],"work":0,"wroom":2,"x":[],"x_axi":2,"y":[],"y_axi":2,"your":0},"titles":["ByteRider documentation","INTRODUCTION","HOW DOES IT WORK?","WORK-IN-PROGRESS WALK THROUGH"],"titleterms":{"IN":3,"IT":2,"axi":2,"byterid":0,"chassi":3,"direct":2,"document":0,"doe":2,"finish":3,"fusion":2,"gpio":2,"har":3,"hardwar":2,"how":2,"introduct":1,"motor":3,"pin":2,"progress":3,"reserv":2,"schemat":2,"softwar":2,"speed":2,"through":3,"walk":3,"wire":3,"work":[2,3],"x":2,"y":2}})
Search.setIndex({"alltitles":{"ByteRider documentation":[[0,null]],"Chassis":[[3,"chassis"]],"Direction and Speed":[[2,"direction-and-speed"]],"Finished Work":[[3,"finished-work"]],"Fusion of Software with Hardware":[[2,"fusion-of-software-with-hardware"]],"HOW DOES IT WORK?":[[2,null]],"INTRODUCTION":[[1,null]],"Motor Wires Harness":[[3,"motor-wires-harness"]],"Reserved Pins & GPIOs":[[2,"reserved-pins-gpios"]],"Schematic":[[2,"schematic"]],"WORK-IN-PROGRESS WALK THROUGH":[[3,null]],"Wiring":[[3,"wiring"]],"x- and y- axis":[[2,"x-and-y-axis"]]},"docnames":["index","intro","overview","progress"],"envversion":{"sphinx":65,"sphinx.domains.c":3,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":9,"sphinx.domains.index":1,"sphinx.domains.javascript":3,"sphinx.domains.math":2,"sphinx.domains.python":4,"sphinx.domains.rst":2,"sphinx.domains.std":2},"filenames":["index.rst","intro.rst","overview.rst","progress.rst"],"indexentries":{},"objects":{},"objnames":{},"objtypes":{},"terms":{"0":2,"04x":2,"0x":2,"1":2,"100":2,"15":2,"16":2,"2":2,"3":2,"4":2,"5":2,"6":2,"7":2,"8":2,"A":2,"IN":0,"IT":0,"If":2,"In":2,"NOT":2,"The":2,"__gpio6__":[],"_static":[],"adapt":2,"adc1_ch0":2,"adc1_ch1":2,"add":0,"address":2,"ani":2,"ar":2,"arg":2,"assign":2,"axi":[],"back":2,"bacl":2,"base":2,"being":2,"below":[],"bitbyterid":2,"board":2,"breadboard":2,"brief":2,"buffer":2,"button":2,"c3":2,"call":2,"can":2,"car":2,"chang":2,"channel":2,"chassi":0,"clockwis":2,"code":2,"column":[],"complet":3,"consequ":2,"constraint":2,"content":0,"contin":2,"control":[2,3],"correspond":2,"counter":2,"crc":2,"cycl":2,"data":2,"dc":[2,3],"declar":2,"dedic":2,"defin":2,"deletep":2,"detail":0,"determin":2,"devboard":2,"develop":2,"developmemt":2,"diagon":2,"direct":[],"displai":2,"doe":0,"duti":2,"e":2,"each":2,"els":2,"error":2,"esp":2,"esp32":2,"esp_log":2,"esp_logi":2,"esp_logw":2,"esp_now_is_peer_exist":2,"esp_now_send":2,"event":2,"everi":2,"evok":2,"exist":[],"finish":0,"follow":2,"four":2,"front":2,"function":2,"fusion":0,"get":2,"gpio":0,"gpio0":2,"gpio1":2,"gpio4":2,"gpio5":2,"gpio6":2,"gpio7":2,"group":2,"har":0,"hardwar":0,"harn":3,"hexadecim":2,"hold":2,"how":0,"i":2,"idf_robot_schemat":[],"illustr":2,"imag":2,"insid":3,"instal":3,"int":2,"introduct":0,"joystick":2,"lastli":2,"ledc_channel_0":2,"ledc_channel_1":2,"ledc_channel_2":2,"ledc_channel_3":2,"left":2,"length":2,"mac":2,"mean":2,"measur":2,"memori":2,"messag":2,"microcontrol":2,"motor":[0,2],"motor1_rpm_pcm":[],"motor1_rpm_pwm":2,"motor2_rpm_pcm":[],"motor2_rpm_pwm":2,"motor3_rpm_pcm":[],"motor3_rpm_pwm":2,"motor4_rpm_pcm":[],"motor4_rpm_pwm":2,"motors_rpm":2,"move":2,"movement":2,"nav_bttn":2,"note":2,"now":2,"number":2,"ok":2,"ondatareceiv":2,"ondatas":2,"onli":[2,3],"oper":2,"oscilloscop":2,"other":2,"pair":2,"particular":2,"period":2,"pin":0,"png":[],"pointer":2,"porttick_period_m":2,"posit":2,"possibl":2,"power":2,"progress":0,"provid":2,"purpos":2,"push":2,"pwm":2,"rc":2,"rc_send_data_task":2,"receiv":2,"receiver_mac":2,"record":2,"requir":2,"reserv":0,"respons":2,"restructuredtext":0,"result":2,"right":2,"rotat":2,"row":[],"run":2,"same":[],"schemat":0,"second":2,"secur":3,"see":0,"send":2,"senddata":2,"sensors_data_t":2,"sent":2,"side":2,"sidewai":2,"similarli":2,"sizeof":2,"softwar":0,"speed":[],"static":2,"statu":2,"store":2,"struct":2,"summar":2,"summari":2,"syntax":0,"tabl":2,"tag":2,"task":2,"thi":2,"those":2,"through":0,"transmit":2,"true":2,"turn":2,"two":2,"uint8_t":2,"updat":2,"us":[0,2],"valu":2,"variou":2,"void":2,"voltag":2,"vtaskdelai":2,"wa":2,"walk":0,"well":[],"while":2,"wire":[0,2],"work":0,"wroom":2,"x":[],"x_axi":2,"y":[],"y_axi":2,"your":0},"titles":["ByteRider documentation","INTRODUCTION","HOW DOES IT WORK?","WORK-IN-PROGRESS WALK THROUGH"],"titleterms":{"IN":3,"IT":2,"axi":2,"byterid":0,"chassi":3,"direct":2,"document":0,"doe":2,"finish":3,"fusion":2,"gpio":2,"har":3,"hardwar":2,"how":2,"introduct":1,"motor":3,"pin":2,"progress":3,"reserv":2,"schemat":2,"softwar":2,"speed":2,"through":3,"walk":3,"wire":3,"work":[2,3],"x":2,"y":2}})

View File

@@ -1,4 +1,4 @@
# Sphinx build info version 1
# This file records the configuration used when building these files. When it is not found, a full rebuild will be done.
config: 88fd28bdfa1b726fcdcb7bf1741f047d
config: 3e0f17667da2182bae3ba4e0ba792f24
tags: 62a1e7829a13fc7881b6498c52484ec0

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

View File

@@ -205,9 +205,13 @@
</a>
</h4>
<p>
The two DC motors on the left side are wired to the dedicated PWM channels in pairs. This means that PWM channels can control rotation speed and direction of DC motors in pairs (i.e. left and right side).
Consequently, only four PWM channels are required for controlling the direction of the RC car.
Based on this constraint, the RC car can only move front, back, and rotate left and right. Any other movements are not possible (i.e. diagonal).
The pairs of DC motors on the left side are wired to the dedicated PWM channels. This means that
<em>
ESP32-C3 Breadboard DevBoard
</em>
can control rotation speed and direction of DC motors in pairs only (i.e. left and right side).
Consequently, only four PWM channels are used for controlling the direction of the RC car.
Based on this constraint, the RC car can only move front, back, and turn/rotate left and right. Any other movements are not possible (i.e. diagonal or sideways).
</p>
<p>
A pair of PWM channels are required for defining rotation speed and direction of the DC motors on each side.
@@ -239,6 +243,9 @@ Similarly,
direction.
Changing PWM on each channel determines the speed and direction of the RC car.
</p>
<p>
The following images illustrate various PWM duty cycles recorded by oscilloscope.
</p>
<br/>
<br/>
<br/>

View File

@@ -19,15 +19,17 @@ The **GPIO0** and **GPIO1** assigned to measuring the voltage of x- and y- axis
Direction and Speed
~~~~~~~~~~~~~~~~~~~
The two DC motors on the left side are wired to the dedicated PWM channels in pairs. This means that PWM channels can control rotation speed and direction of DC motors in pairs (i.e. left and right side).
Consequently, only four PWM channels are required for controlling the direction of the RC car.
Based on this constraint, the RC car can only move front, back, and rotate left and right. Any other movements are not possible (i.e. diagonal).
The pairs of DC motors on the left side are wired to the dedicated PWM channels. This means that *ESP32-C3 Breadboard DevBoard* can control rotation speed and direction of DC motors in pairs only (i.e. left and right side).
Consequently, only four PWM channels are used for controlling the direction of the RC car.
Based on this constraint, the RC car can only move front, back, and turn/rotate left and right. Any other movements are not possible (i.e. diagonal or sideways).
A pair of PWM channels are required for defining rotation speed and direction of the DC motors on each side.
In particular, **GPIO6** and **GPIO5** provide PWM to the left- and right- side DC motors to rotate in a **clockwise** direction.
Similarly, **GPIO4** and **GPIO7** provide PWM to the left- and right- side DC motors to rotate in a **counter-clockwise** direction.
Changing PWM on each channel determines the speed and direction of the RC car.
The following images illustrate various PWM duty cycles recorded by oscilloscope.
.. raw:: html
<br/><br/><br/><br/>