Sisällysluettelo:
- Vaihe 1: Vaihe 1: Materiaalivaatimus
- Vaihe 2: Vaihe 2: Sistema Mecánico-estructura
- Vaihe 3: Vaihe 3: Fabricación De Piezas 3D
- Vaihe 4: Vaihe 4: Sistema Eléctrico/Electronico
- Vaihe 5: Vaihe 5: Ohjelmisto
- Vaihe 6: Vaihe 6: Consejos
Video: Proyecto Laboratorio De Mecatrónica (kaksipyöräinen tasapainotusrobotti): 6 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:01
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 system 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 posición original.
Vaihe 1: Vaihe 1: Materiaalivaatimus
o Mecánicos:
a. 1 metro de varilla roscada (3/8)
b. 14 tornilloa M3 x.07 x 6
c. 24 tuercas M8 hex
d. 3 tornilloa M4 x.07 x 6
e. Filamento PLA (noin 500 g)
o Sähkölaitteet:
a. 1 keskeytyskytkin
b. Arduino uno tai nano
c. 2 moottoripyörää nema 17
d. 2 kuljettajaa A4988
e. 3 vastusta 1k
f. HC-05
g. MPU-6050
h. 2 kapasiteettia 100uf tai 47uf
i. Batería lippo 11,1 V
o Piezas fabricadas:
a. 3 MDF -levyä (120 x 170 x 6 mm)
b. Placa -piirilevy (noin 8 x 14 cm)
c. Suhteellinen akku
d. 2 sopivaa moottoria
e. 2 llantasta
o Lisäominaisuudet:
Ohjelmistot, joita suositellaan toteuttamaan proyecto.
a. Arduino IDE -ohjelmisto
b. SolidWorks 2018
c. Kidcad -ohjelmisto
Vaihe 2: Vaihe 2: Sistema Mecánico-estructura
El Modelado de las piezas ja estructura general se realizo en SolidWorks, primero se crearon las placas de MDF para checar el espacio disponible para postteriores usos. 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.
Vaihe 3: Vaihe 3: Fabricación De Piezas 3D
Para el modelado de los soportes y llantas igualmente utilizamos SolidWorks, estos soportes pueden ser modificados si así lo desean, para un mejor funcionamiento, los soportes tienen orificios de.35 cm de diámetro, para una mejor sujeción.
Vaihe 4: Vaihe 4: Sistema Eléctrico/Electronico
Jos haluat käyttää PCB: tä, kehitettyjä las conexiones-kirjeenvaihtajia, haciendo el enlace entre el arduino, Bluetooth HC-05 -moduuli, ja giroscopio 6050 y los drivers de 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 system no funcione correctamente y no lo obedezca.
Vaihe 5: Vaihe 5: Ohjelmisto
Ohjelman hyödyntämisohjelma ja arduino, jatkuva aneksoiminen ja osittainen lainaohjelma, jossa on selitys kirjeenvaihdosta, igual anexo -linkki, täydennetty kokonaisuudessaan:
Pidä kokoonpano
// POSHOLD -oletusohjauksen vahvistukset
#määrittele POSHOLD_P 2.00
#define POSHOLD_I 0.0
#define POSHOLD_IMAX 20 // astetta
#define POSHOLD_RATE_P 2.0
#define POSHOLD_RATE_I 0.08 // Tuulenohjaus
#define POSHOLD_RATE_D 0.045 // kokeile 2 tai 3 POSHOLD_RATE 1: lle
#define POSHOLD_RATE_IMAX 20 // astetta
// oletusnavigoinnin PID -vahvistukset
#define NAV_P 1.4
#define NAV_I 0.20 // Tuulenohjaus
#define NAV_D 0.08 //
#define NAV_IMAX 20 // astetta
#define MINCHECK 1100
#define MAXCHECK 1900
Aqui se modifica los voitot para el poss hold del system.
Konfiguroitava gyro:
void Gyro_init () {
TWBR = ((F_CPU / 400000L) - 16) / 2; // muuta I2C -kellotaajuus 400 kHz: iin
i2c_writeReg (MPU6050_ADDRESS, 0x6B, 0x80); // PWR_MGMT_1 - LAITE_RESET 1
viive (5);
i2c_writeReg (MPU6050_ADDRESS, 0x6B, 0x03); // PWR_MGMT_1 - SLEEP 0; CYCLE 0; TEMP_DIS 0; CLKSEL 3 (PLL ja Z Gyro -viittaus)
i2c_writeReg (MPU6050_ADDRESS, 0x1A, MPU6050_DLPF_CFG); // MÄÄRITTÄMINEN - EXT_SYNC_SET 0 (poista syöttötappi datan synkronointia varten); oletus DLPF_CFG = 0 => ACC -kaistanleveys = 260 Hz GYRO -kaistanleveys = 256 Hz)
i2c_writeReg (MPU6050_ADDRESS, 0x1B, 0x18); // GYRO_CONFIG - FS_SEL = 3: Koko asteikon arvo on 2000 astetta/sek
// ota I2C -ohitus käyttöön AUX I2C: lle
#if määritelty (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_FI = 1; CLKOUT_EN = 0
#loppu Jos
}
void Gyro_getADC () {
i2c_getSixRawADC (MPU6050_ADDRESS, 0x43);
GYRO_ORIENTATION (((raakaADC [0] 2, // alue: +/- 8192; +/- 2000 astetta/sek
((rawADC [2] 2, ((raakaADC [4] 2);
GYRO_Yhteinen ();
}
void ACC_init () {
i2c_writeReg (MPU6050_ADDRESS, 0x1C, 0x10); // ACCEL_CONFIG-AFS_SEL = 2 (koko asteikko = +/- 8G); ACCELL_HPF = 0 // huomaa, että teknisissä tiedoissa on jotain vialla.
// huomautus: jotain näyttää olevan pielessä tässä teknisissä tiedoissa. Kun AFS = 2 1G = 4096, mutta mittaukseni mukaan: 1G = 2048 (ja 2048/8 = 256)
// vahvistettu täällä:
#if määritetty (MPU6050_I2C_AUX_MASTER)
// tässä vaiheessa MAG konfiguroidaan alkuperäisen MAG init -toiminnon kautta I2C -ohitustilassa
// nyt määritämme MPU: n I2C Master -laitteeksi käsittelemään MAG: tä I2C AUX -portin kautta (tehty täällä HMC5883: lle)
i2c_writeReg (MPU6050_ADDRESS, 0x6A, 0b00100000); // USER_CTRL - DMP_EN = 0; FIFO_FI = 0; I2C_MST_EN = 1 (I2C -päätila); 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_FI = 0; CLKOUT_EN = 0
i2c_writeReg (MPU6050_ADDRESS, 0x24, 0x0D); // I2C_MST_CTRL - MULT_MST_EN = 0; WAIT_FOR_ES = 0; SLV_3_FIFO_FI = 0; I2C_MST_P_NSR = 0; I2C_MST_CLK = 13 (I2C -orja nopeusväylä = 400 kHz)
i2c_writeReg (MPU6050_ADDRESS, 0x25, 0x80 | MAG_ADDRESS); // I2C_SLV0_ADDR - I2C_SLV4_RW = 1 (lukuoperaatio); I2C_SLV4_ADDR = MAG_ADDRESS
i2c_writeReg (MPU6050_ADDRESS, 0x26, MAG_DATA_REGISTER); // I2C_SLV0_REG - 6 MAG: n datatavua tallennetaan 6 rekisteriin. Ensimmäinen rekisteriosoite on MAG_DATA_REGISTER
i2c_writeReg (MPU6050_ADDRESS, 0x27, 0x86); // I2C_SLV0_CTRL - I2C_SLV0_FI = 1; I2C_SLV0_BYTE_SW = 0; I2C_SLV0_REG_DIS = 0; I2C_SLV0_GRP = 0; I2C_SLV0_LEN = 3 (3x2 tavua)
#loppu Jos
}
void ACC_getADC () {
i2c_getSixRawADC (MPU6050_ADDRESS, 0x3B);
ACC_ORIENTATION (((rawADC [0] 3, ((rawADC [2] 3, ((raakaADC [4] 3);
ACC_Yhteinen ();
}
// MAG -keräystoiminto on vaihdettava, koska puhumme nyt MPU -laitteen kanssa
#if määritetty (MPU6050_I2C_AUX_MASTER)
mitätön Device_Mag_getADC () {
i2c_getSixRawADC (MPU6050_ADDRESS, 0x49); // 0x49 on EXT_SENS_DATA: n ensimmäinen muistihuone
#if määritelty (HMC5843)
MAG_ORIENTATION (((rawADC [0] << 8) | rawADC [1]), ((rawADC [2] << 8) | rawADC [3]), ((rawADC [4] << 8) | rawADC [5]));
#loppu Jos
#if määritelty (HMC5883)
MAG_ORIENTATION (((rawADC [0] << 8) | rawADC [1]), ((rawADC [4] << 8) | rawADC [5]), ((rawADC [2] << 8) | rawADC [3]));
#loppu Jos
#if määritelty (MAG3110)
MAG_ORIENTATION (((rawADC [0] << 8) | rawADC [1]), ((rawADC [2] << 8) | rawADC [3]), ((rawADC [4] << 8) | rawADC [5]));
#loppu Jos
}
#loppu Jos
#loppu Jos
Vaihe 6: Vaihe 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 tengan que agregar mas conexiones tai volver a imprimir el PCB.
3. Diseño -ohjelmisto: Guiarse con la programción base expuesta, pero tratar de hacer su propia programción, for llegar a Entrant bien el funcionamiento y en caso de que no funcionar la programción saber como cambiar las instrucciones para que funcione correctamente.
Suositeltava:
Kaksipyöräinen itsetasapainottava robotti: 7 vaihetta
Kaksipyöräinen itsetasapainorobotti: Tämä opastettava käy läpi itsetasapainottavan robotin suunnittelun ja rakentamisen. Huomautuksena haluan vain todeta, että itsetasapainottavat robotit eivät ole uusi konsepti ja että muut ovat rakentaneet ja dokumentoineet ne. Haluan käyttää tätä mahdollisuutta
Tasapainotusrobotti / 3 -pyöräinen robotti / STEM -robotti: 8 vaihetta
Tasapainotusrobotti / 3 -pyöräinen robotti / STEM -robotti: Olemme rakentaneet yhdistetyn tasapainotus- ja kolmipyörärobotin koulukäyttöön kouluissa ja koulujen jälkeen. Robotti perustuu Arduino Unoon, mukautettuun kilpeen (kaikki rakenteelliset tiedot toimitetaan), Li -ion -akkuun (kaikki
Kannettava elektroninen laboratorio: 16 vaihetta
Kannettava elektroninen laboratorio: Teen paljon elektronisia kokeita Arduinon, Raspberry Pi: n, ESP: n ja erillisten komponenttien kanssa, mutta teen myös paljon muuta, joten minulla on aina loppumassa tilaa nykyisille projekteilleni. Sisäänrakennettu näyttö mahdollistaa projektien lataamisen eri
Arduino - Tasapaino - Tasapainotusrobotti - Kuinka tehdä?: 6 vaihetta (kuvilla)
Arduino - Tasapaino - Tasapainotusrobotti | Kuinka tehdä?: Tässä opetusohjelmassa opimme tekemään Arduinon tasapainotusrobotin, joka tasapainottaa itsensä. Ensin voit katsoa yllä olevaa opetusvideota
Tasapainotusrobotti: 7 vaihetta (kuvilla)
Tasapainotusrobotti: Tämä on hyvin yksinkertainen robotti, joka käyttää yksinkertaista kytkintä anturina ja seisoo vain kahdella pyörällä käänteisellä heilurimekanismilla. Kun robotti putoaa, moottori käynnistyy ja siirtää robotin siihen suuntaan, johon se putoaa, joten moottori