This commit is contained in:
2020-07-15 21:20:26 -05:00
parent 8a8b43bc56
commit 7604f25fca
4 changed files with 16068 additions and 31 deletions

View File

@@ -3,7 +3,7 @@
Carro autónomo basado en el tarjeta esp32 MH-ET LIVE Carro autónomo basado en el tarjeta esp32 MH-ET LIVE
![esp32 devkit](imagenes/esp32_devkit_m.jpg) ![esp32 devkit](imagenes/esp32_devkit_m.jpg)
Para controlar los motores del carro usamos un driver TB6612FNG, el cual es un módulo que nos permite controlar 2 motores con una corriente de 1.2 A (3.2 A corriente pico) y un voltaje de 15 V Para controlar los motores del carro usamos un driver TB6612FNG, el cual es un módulo que nos permite controlar 2 motores con una corriente de 1.2 A (3.2 A corriente pico) y un voltaje de 15 V, el firmware se programará usando OTA
![TB6612FNG](imagenes/TB6612FNG.jpg) ![TB6612FNG](imagenes/TB6612FNG.jpg)
@@ -28,9 +28,6 @@ Para controlar los motores del carro usamos un driver TB6612FNG, el cual es un m
OUT5 --> GPIO13 --> ADC2_4 --> A14 OUT5 --> GPIO13 --> ADC2_4 --> A14
--- ---
Alimentación: Alimentación:
+ voltaje independiente motores, + voltaje independiente motores,
@@ -39,6 +36,18 @@ Alimentación:
--- ---
# ToDo
[] Shield diseño esquemático
[] PCB
[] Fabricación Shield
[] Ensamble Shield
[] Pruebas
[] Seguidor de linea
[] no choque
## Referencias
[https://randomnerdtutorials.com/esp32-pinout-reference-gpios/](https://randomnerdtutorials.com/esp32-pinout-reference-gpios/)

View File

@@ -7,19 +7,15 @@
OpenTB6612FNG::OpenTB6612FNG(int TP) { OpenTB6612FNG::OpenTB6612FNG(int TP) {
pinMode(PWMA, OUTPUT);
pinMode(AIN1, OUTPUT); pinMode(AIN1, OUTPUT);
pinMode(AIN2, OUTPUT); pinMode(AIN2, OUTPUT);
pinMode(STBY, OUTPUT); pinMode(PWMA, OUTPUT);
pinMode(BIN1, OUTPUT); pinMode(BIN1, OUTPUT);
pinMode(BIN2, OUTPUT); pinMode(BIN2, OUTPUT);
pinMode(PWMB, OUTPUT); pinMode(PWMB, OUTPUT);
ledcSetup(ledChannel, freq, resolution); analogWriteFreq(20000);
ledcSetup(ledChannel2, freq, resolution); analogWriteRange(255);
// attach the channel to the GPIO to be controlled
ledcAttachPin(PWMA, ledChannel);
ledcAttachPin(PWMB, ledChannel2);
} }
@@ -39,7 +35,7 @@ void OpenTB6612FNG::MotorIz(int value) {
*/ */
// Setea Velocidad // Setea Velocidad
ledcWrite(ledChannel, value); analogWrite(MOTOR_IZQ, value);
} }
void OpenTB6612FNG::MotorDe(int value) { void OpenTB6612FNG::MotorDe(int value) {
@@ -58,15 +54,12 @@ void OpenTB6612FNG::MotorDe(int value) {
*/ */
// Setea Velocidad // Setea Velocidad
ledcWrite(ledChannel2, value); analogWrite(MOTOR_DER, value);
} }
void OpenTB6612FNG::Motores(int left, int righ) { void OpenTB6612FNG::Motores(int left, int righ) {
MotorIz(left); MotorIz(left);
MotorDe(righ); MotorDe(righ);
digitalWrite(STBY, LOW);
} }
void OpenTB6612FNG::Forward() void OpenTB6612FNG::Forward()

View File

@@ -1,18 +1,14 @@
#ifndef OpenTB6612FNG_h #ifndef OpenTB6612FNG_h
#define OpenTB6612FNG_h #define OpenTB6612FNG_h
#include <Arduino.h> #include "Arduino.h"
#define PWMA 36 #define PWMA D1
#define AIN1 39 #define AIN1 D2
#define AIN2 34 #define AIN2 D3
#define STBY 35 #define BIN1 D4
#define BIN1 32 #define BIN2 D5
#define BIN2 33 #define PWMB D6
#define PWMB 25 #define MOTOR_IZQ PWMB
#define MOTOR_DER PWMA
const int freq = 5000;
const int ledChannel = 0;
const int ledChannel2 = 1;
const int resolution = 8;
class OpenTB6612FNG{ class OpenTB6612FNG{

16039
imagenes/esp32_devkit_m.svg Normal file

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 1.2 MiB