
Innholdsfortegnelse:
2025 Forfatter: John Day | [email protected]. Sist endret: 2025-01-23 15:02


En este proyecto se mostrara, el funcionamiento y el como hacer para elaborar un "Two wheel balance robot" paso a paso y con explicación y concejos. Este es un sistema que consiste en que el robot no se debe caer, se debe de mantener en el punto 0 de su punto de gravedad del giroscopio, y así poder moverlo y que este regrese por si mismo a su posición original.
Trinn 1: Trinn 1: Material Requerido
o Mecánicos:
en. 1 metro de varilla roscada (3/8)
b. 14 torniller M3 x.07 x 6
c. 24 tuercas M8 hex
d. 3 tornillos M4 x.07 x 6
e. Filamento PLA (ca. 500 gram)
o Electrónicos:
en. 1 avbryterbryter
b. Arduino uno o nano
c. 2 motorer 17
d. 2 drivere A4988
e. 3 motstand 1k
f. HC-05
g. MPU-6050
h. 2 kondensatorer de 100uf o 47uf
Jeg. Batería lippo 11.1 V
o Piezas fabricadas:
en. 3 plasser av MDF (120 x 170 x 6 mm)
b. Placa PCB (8 x 14 cm ca.)
c. Soporte batería
d. 2 sider motor
e. 2 llantas
o Tillegg:
Programvareanbefalinger for realisación del proyecto.
en. Arduino IDE programvare
b. SolidWorks 2018
c. Kidcad programvare
Trinn 2: Trinn 2: Sistema Mecánico-estructura


El -modellene for pieser og generelle konstruksjoner kan realiseres i SolidWorks. Estas placas son diferentes entre ellas, la placa inferior tendrá los orificios para los soportes de motores y batería, la central para nuestra PCB y la superior solo tendrá los orificios para darle su estructura.
Trinn 3: Trinn 3: Fabricación De Piezas 3D
Para el modelado de los soportes y llantas igualmente utilizosos SolidWorks, estos soportes pueden ser modificados si así lo desean, para un major funcionamiento, los soportes tienen orificios de.35 cm de dimetro, for una major sujeción.
Trinn 4: Trinn 4: Sistema Eléctrico/electrónico

En este paso utilizamos una PCB, for elaborar las conexiones correspondientes, haciendo el enlace entre el arduino, el modulo de Bluetooth HC-05, un giroscopio 6050 y los drivers of los motores. Las conexiones son las que se muestran en la imagen. Asegúrese de hacer las conexiones correctamente, ya que de no ser así puede ocasionar que el sistema no funcione correctamente y no lo obedezca.
Trinn 5: Trinn 5: Programvare

Para el programa utilizamos un arduino, a continuación anexamos una parte de la programación with su explicación correspondiente, al igual anexo link, con el codigo completeo:
Pos hold -konfigurasjon
// standard POSHOLD kontrollgevinster
#define POSHOLD_P 2.00
#define POSHOLD_I 0.0
#definere POSHOLD_IMAX 20 // grader
#define POSHOLD_RATE_P 2.0
#define POSHOLD_RATE_I 0.08 // Vindkontroll
#define POSHOLD_RATE_D 0.045 // prøv 2 eller 3 for POSHOLD_RATE 1
#definere POSHOLD_RATE_IMAX 20 // grader
// standard navigasjon PID gevinster
#define NAV_P 1.4
#define NAV_I 0,20 // Vindkontroll
#define NAV_D 0.08 //
#definere NAV_IMAX 20 // grader
#define MINCHECK 1100
#define MAXCHECK 1900
Aqui se modifica los wins para el poss hold del sistema.
Konfigurasjon gyro:
ugyldig Gyro_init () {
TWBR = ((F_CPU / 400000L) - 16) / 2; // endre I2C -klokkefrekvensen til 400 kHz
i2c_writeReg (MPU6050_ADDRESS, 0x6B, 0x80); // PWR_MGMT_1 - DEVICE_RESET 1
forsinkelse (5);
i2c_writeReg (MPU6050_ADDRESS, 0x6B, 0x03); // PWR_MGMT_1 - SOV 0; SYKLUS 0; TEMP_DIS 0; CLKSEL 3 (PLL med Z Gyro -referanse)
i2c_writeReg (MPU6050_ADDRESS, 0x1A, MPU6050_DLPF_CFG); // CONFIG - EXT_SYNC_SET 0 (deaktiver input -pin for datasynkronisering); standard DLPF_CFG = 0 => ACC båndbredde = 260Hz GYRO båndbredde = 256Hz)
i2c_writeReg (MPU6050_ADDRESS, 0x1B, 0x18); // GYRO_CONFIG - FS_SEL = 3: Full skala satt til 2000 grader/sek
// aktiver I2C -bypass for AUX I2C
#if definert (MAG)
i2c_writeReg (MPU6050_ADDRESS, 0x37, 0x02); // INT_PIN_CFG - INT_LEVEL = 0; INT_OPEN = 0; LATCH_INT_EN = 0; INT_RD_CLEAR = 0; FSYNC_INT_LEVEL = 0; FSYNC_INT_EN = 0; I2C_BYPASS_EN = 1; CLKOUT_EN = 0
#slutt om
}
ugyldig Gyro_getADC () {
i2c_getSixRawADC (MPU6050_ADDRESS, 0x43);
GYRO_ORIENTATION ((((rawADC [0] 2, // område: +/- 8192; +/- 2000 grader/sek.
((rawADC [2] 2, ((rawADC [4] 2);
GYRO_Common ();
}
ugyldig ACC_init () {
i2c_writeReg (MPU6050_ADDRESS, 0x1C, 0x10); // ACCEL_CONFIG-AFS_SEL = 2 (Full skala = +/- 8G); ACCELL_HPF = 0 // merk at noe er galt i spesifikasjonen.
// merk: det ser ut til at noe er galt i spesifikasjonen her. Med AFS = 2 1G = 4096, men i henhold til min måling: 1G = 2048 (og 2048/8 = 256)
// bekreftet her:
#if definert (MPU6050_I2C_AUX_MASTER)
// på dette stadiet blir MAG konfigurert via den opprinnelige MAG init -funksjonen i I2C bypass -modus
// nå konfigurerer vi MPU som en I2C Master -enhet for å håndtere MAG via I2C AUX -porten (gjort her for HMC5883)
i2c_writeReg (MPU6050_ADDRESS, 0x6A, 0b00100000); // USER_CTRL - DMP_EN = 0; FIFO_EN = 0; I2C_MST_EN = 1 (I2C hovedmodus); I2C_IF_DIS = 0; FIFO_RESET = 0; I2C_MST_RESET = 0; SIG_COND_RESET = 0
i2c_writeReg (MPU6050_ADDRESS, 0x37, 0x00); // INT_PIN_CFG - INT_LEVEL = 0; INT_OPEN = 0; LATCH_INT_EN = 0; INT_RD_CLEAR = 0; FSYNC_INT_LEVEL = 0; FSYNC_INT_EN = 0; I2C_BYPASS_EN = 0; CLKOUT_EN = 0
i2c_writeReg (MPU6050_ADDRESS, 0x24, 0x0D); // I2C_MST_CTRL - MULT_MST_EN = 0; WAIT_FOR_ES = 0; SLV_3_FIFO_EN = 0; I2C_MST_P_NSR = 0; I2C_MST_CLK = 13 (I2C slavehastighetsbuss = 400kHz)
i2c_writeReg (MPU6050_ADDRESS, 0x25, 0x80 | MAG_ADDRESS); // I2C_SLV0_ADDR - I2C_SLV4_RW = 1 (leseoperasjon); I2C_SLV4_ADDR = MAG_ADDRESS
i2c_writeReg (MPU6050_ADDRESS, 0x26, MAG_DATA_REGISTER); // I2C_SLV0_REG - 6 databytes av MAG lagres i 6 registre. Første registeradresse er MAG_DATA_REGISTER
i2c_writeReg (MPU6050_ADDRESS, 0x27, 0x86); // I2C_SLV0_CTRL - I2C_SLV0_EN = 1; I2C_SLV0_BYTE_SW = 0; I2C_SLV0_REG_DIS = 0; I2C_SLV0_GRP = 0; I2C_SLV0_LEN = 3 (3x2 byte)
#slutt om
}
ugyldig ACC_getADC () {
i2c_getSixRawADC (MPU6050_ADDRESS, 0x3B);
ACC_ORIENTATION (((rawADC [0] 3, ((rawADC [2] 3, ((rawADC [4] 3);
ACC_Common ();
}
// MAG -oppkjøpsfunksjonen må byttes ut fordi vi nå snakker med MPU -enheten
#if definert (MPU6050_I2C_AUX_MASTER)
ugyldig Device_Mag_getADC () {
i2c_getSixRawADC (MPU6050_ADDRESS, 0x49); // 0x49 er det første minnerommet for EXT_SENS_DATA
#if definert (HMC5843)
MAG_ORIENTATION (((rawADC [0] << 8) | rawADC [1]), ((rawADC [2] << 8) | rawADC [3]), ((rawADC [4] << 8) | rawADC [5]));
#slutt om
#if definert (HMC5883)
MAG_ORIENTATION (((rawADC [0] << 8) | rawADC [1]), ((rawADC [4] << 8) | rawADC [5]), ((rawADC [2] << 8) | rawADC [3]));
#slutt om
#if definert (MAG3110)
MAG_ORIENTATION (((rawADC [0] << 8) | rawADC [1]), ((rawADC [2] << 8) | rawADC [3]), ((rawADC [4] << 8) | rawADC [5]));
#slutt om
}
#slutt om
#slutt om
Trinn 6: Trinn 6: Consejos
1. Diseño Mecánico: Utilizar y hacer el diseño que mas les convenga, para el uso que se le quiere dar al robot, medir todo bien, para la hora de hacer cortes láser o impresiones en 3D, no tengan que volver a hacerlo y todo quede a la perfección.
2. Diseño eléctrico: Hacer su propia PCB, para que tengan bien ubicadas las conexiones que tienen que hacer, de igual manera hacer primero las conexiones en una protoboard, para comprobar que cuando la pongan en el PCB el funcionamiento sea el correcto y no teng que agregar mas conexiones o volver a imprimir el PCB.
3. Diseño Software: Guiarse con la programación base expuesta, pero tratar de hacer su propia programación, for llegar a entender bien el funcionamiento y en caso de que no funcionar la programación saber como cambiar las instrucciones para que funcione correctamente.
Anbefalt:
Tower Climb Helping Robot V1 - Two Legged, RF, BT Control With App: 22 Steps (med bilder)

Tower Climb Helping Robot V1 - Two Legged, RF, BT Control With App: Når jeg noen gang ser øgler på vegger, har jeg tenkt å lage en robot som den. Det er en langsiktig idé, jeg søker i mange artikler etter elektro-lim og sjekker på en eller annen måte og mislyktes i kapasiteten til å holde. Akkurat nå planlegger jeg å bruke elektromagnet til å
DropArt - Precision Two Drop Photographic Collider: 11 trinn (med bilder)

DropArt - Precision Two Drop Photographic Collider: Hei alle sammen, I denne instruksen presenterer jeg designet mitt for en datastyrt to flytende drop collider. Før vi begynner med designdetaljene, synes jeg det er fornuftig å forklare nøyaktig hva som er formålet med designet. En morsom
Slik driver du en Gopro med Lipo Balance Plug: 3 trinn

Slik driver du en Gopro med Lipo Balance Plug: Hei folkens, Denne gangen viser jeg deg hvordan du bruker balansepluggen til et lipo -batteri til å drive USB -enheter. Vanligvis brukes balansepluggen når du lader et lipo -batteri. Det ivaretar samme spenning på alle celler. Men med denne hacken kan du bruke den som en kraft
Makey -Saurus Rex - Makey Makey Balance Board: 6 trinn (med bilder)

Makey-Saurus Rex-Makey Makey Balance Board: Enten du kaller det Chrome Dino, T-Rex Game, No Internet Game eller bare en vanlig plage, ser det ut til at alle er kjent med dette side-rullende dinosaurhoppespillet. Dette Google-opprettede spillet vises i Chrome-nettleseren din hver gang i
Arduino - Balance - Balancing Robot - Hvordan lage ?: 6 trinn (med bilder)

Arduino - Balance - Balancing Robot | Hvordan lage ?: I denne opplæringen lærer vi hvordan du lager en Arduino balanserende (balanse) robot som balanserer seg selv. Først kan du se på videoopplæringen ovenfor