
Съдържание:
2025 Автор: John Day | [email protected]. Последно модифициран: 2025-01-23 14:36


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.
Стъпка 1: Стъпка 1: Материал Requerido
o Меканикос:
а. 1 метро де варила роскада (3/8)
б. 14 торнило M3 x.07 x 6
° С. 24 туерки M8 шестнадесетичен
д. 3 торнило M4 x.07 x 6
д. Filamento PLA (около 500 гр.)
o Electrónicos:
а. 1 прекъсвач
б. Arduino uno o nano
° С. 2 мотора няма 17
д. 2 драйвера A4988
д. 3 резистенции 1k
е. HC-05
g. MPU-6050
з. 2 кондензатора от 100uf до 47uf
i. Batería lippo 11.1 V
o Piezas fabricadas:
а. 3 плочи от MDF (120 x 170 x 6 мм)
б. Платка PCB (приблизително 8 x 14 см)
° С. Soporte batería
д. 2 спортен пара мотор
д. 2 ланта
o Екстри:
Препоръчителен софтуер за реализация на проекта.
а. Arduino IDE софтуер
б. SolidWorks 2018
° С. Софтуер Kidcad
Стъпка 2: Стъпка 2: Система Mecánico-estructura


El modelado de las piezas y estructura general се реализира в SolidWorks, primero се създава las placas de MDF за checar el espacio disponible para posteriores 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.
Стъпка 3: Стъпка 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.
Стъпка 4: Стъпка 4: Sistema Eléctrico/electrónico

Естествено, използването на печатни платки, за разработване на съответстващи съобщения, съответстващи на хасиендо, антела за въвеждане на arduino, модул по Bluetooth HC-05, гироскопия 6050 и загуба на драйвери за лос моторе. 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.
Стъпка 5: Стъпка 5: Софтуер

Para el program utilizamos un arduino, a continuación anexamos una parte de la programación con su explicación korespondiente, al igual anexo link, con el codigo completeto:
Конфигурация за задържане
// контролни печалби по подразбиране POSHOLD
#дефинирайте POSHOLD_P 2.00
#дефинирайте POSHOLD_I 0.0
#дефинирайте POSHOLD_IMAX 20 // градуса
#дефинирайте POSHOLD_RATE_P 2.0
#define POSHOLD_RATE_I 0.08 // Контрол на вятъра
#define POSHOLD_RATE_D 0.045 // опитайте 2 или 3 за POSHOLD_RATE 1
#дефинирайте POSHOLD_RATE_IMAX 20 // градуса
// по подразбиране PID печалби за навигация
#дефинирайте NAV_P 1.4
#define NAV_I 0.20 // Контрол на вятъра
#дефинирайте NAV_D 0,08 //
#дефинирайте NAV_IMAX 20 // градуса
#define MINCHECK 1100
#дефинирайте MAXCHECK 1900
Aqui se modifica los gains para el poss hold del system.
Конфигурационен жироскоп:
void Gyro_init () {
TWBR = ((F_CPU / 400000L) - 16) / 2; // променяме тактовата честота на I2C на 400kHz
i2c_writeReg (MPU6050_ADDRESS, 0x6B, 0x80); // PWR_MGMT_1 - DEVICE_RESET 1
забавяне (5);
i2c_writeReg (MPU6050_ADDRESS, 0x6B, 0x03); // PWR_MGMT_1 - SLEEP 0; ЦИКЛ 0; TEMP_DIS 0; CLKSEL 3 (PLL със справка Z Gyro)
i2c_writeReg (MPU6050_ADDRESS, 0x1A, MPU6050_DLPF_CFG); // CONFIG - EXT_SYNC_SET 0 (деактивиране на входния щифт за синхронизиране на данни); по подразбиране DLPF_CFG = 0 => ACC честотна лента = 260Hz GYRO честотна лента = 256Hz)
i2c_writeReg (MPU6050_ADDRESS, 0x1B, 0x18); // GYRO_CONFIG - FS_SEL = 3: Пълната скала е настроена на 2000 градуса/сек
// разрешаване на I2C байпас за AUX I2C
#ако е дефиниран (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
#endif
}
void Gyro_getADC () {
i2c_getSixRawADC (MPU6050_ADDRESS, 0x43);
GYRO_ORIENTATION (((rawADC [0] 2, // диапазон: +/- 8192; +/- 2000 градуса/сек
((rawADC [2] 2, ((rawADC [4] 2);
GYRO_Common ();
}
void ACC_init () {
i2c_writeReg (MPU6050_ADDRESS, 0x1C, 0x10); // ACCEL_CONFIG-AFS_SEL = 2 (Пълна скала = +/- 8G); ACCELL_HPF = 0 // отбележете, че нещо не е наред в спецификацията.
// забележка: нещо изглежда не е наред в спецификациите тук. С AFS = 2 1G = 4096, но според моите измервания: 1G = 2048 (и 2048/8 = 256)
// потвърдено тук:
#ако е дефинирано (MPU6050_I2C_AUX_MASTER)
// на този етап MAG се конфигурира чрез оригиналната функция MAG init в режим I2C байпас
// сега конфигурираме MPU като I2C Master устройство за обработка на MAG през I2C AUX порта (направено тук за HMC5883)
i2c_writeReg (MPU6050_ADDRESS, 0x6A, 0b00100000); // USER_CTRL - DMP_EN = 0; FIFO_EN = 0; I2C_MST_EN = 1 (главен режим на I2C); 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 подчинена скоростна шина = 400kHz)
i2c_writeReg (MPU6050_ADDRESS, 0x25, 0x80 | MAG_ADDRESS); // I2C_SLV0_ADDR - I2C_SLV4_RW = 1 (операция за четене); I2C_SLV4_ADDR = MAG_ADDRESS
i2c_writeReg (MPU6050_ADDRESS, 0x26, MAG_DATA_REGISTER); // I2C_SLV0_REG - 6 байта данни на MAG се съхраняват в 6 регистри. Адресът на първия регистър е 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 байта)
#endif
}
void ACC_getADC () {
i2c_getSixRawADC (MPU6050_ADDRESS, 0x3B);
ACC_ORIENTATION (((rawADC [0] 3, ((rawADC [2] 3, ((rawADC [4] 3);
ACC_Common ();
}
// Функцията за придобиване на MAG трябва да бъде заменена, защото сега говорим с MPU устройството
#ако е дефинирано (MPU6050_I2C_AUX_MASTER)
void Device_Mag_getADC () {
i2c_getSixRawADC (MPU6050_ADDRESS, 0x49); // 0x49 е първата стая с памет за EXT_SENS_DATA
#ако е дефиниран (HMC5843)
MAG_ORIENTATION (((rawADC [0] << 8) | rawADC [1]), ((rawADC [2] << 8) | rawADC [3]), ((rawADC [4] << 8) | rawADC [5]));
#endif
#ако е дефиниран (HMC5883)
MAG_ORIENTATION (((rawADC [0] << 8) | rawADC [1]), ((rawADC [4] << 8) | rawADC [5]), ((rawADC [2] << 8) | rawADC [3]));
#endif
#ако е дефинирано (MAG3110)
MAG_ORIENTATION (((rawADC [0] << 8) | rawADC [1]), ((rawADC [2] << 8) | rawADC [3]), ((rawADC [4] << 8) | rawADC [5]));
#endif
}
#endif
#endif
Стъпка 6: Стъпка 6: Consejos
1. Diseño Mecánico: Utilizar y hacer el diseño que mas les konvenga, 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 o volver a imprimir el PCB.
3. Diseño Software: Guiarse con la programación base expuesta, pero tratar de hacer su propia programción, para llegar a entender bien el funcionamiento y en caso de que no funcionar la programción sabre como cambiar las instrucciones para que funcione correctamente.
Препоръчано:
Самобалансиращ се робот на две колела: 7 стъпки

Двуколесен самобалансиращ се робот: Този инструктаж ще премине през процеса на проектиране и изграждане на самобалансиращ се робот. Като забележка, просто искам да кажа, че самобалансиращите се роботи не са нова концепция и са създадени и документирани от други. Искам да използвам тази възможност
Балансиращ робот / робот на 3 колела / STEM робот: 8 стъпки

Балансиращ робот / робот на 3 колела / STEM робот: Създадохме комбиниран робот за балансиране и три колела за учебни цели в училища и след училищни образователни програми. Роботът е базиран на Arduino Uno, персонализиран щит (предоставени са всички подробности за конструкцията), Li Ion батерия (всички конструкции
Как да променим стандартните горещи колела в R/C горещи колела: D: 6 стъпки (със снимки)

Как да променя стандартните горещи колела в R/C горещи колела: D: Още от малко, обичам Hot Wheels Cars. Това ми даде вдъхновение за дизайн на фантастични превозни средства. Този път те надминаха себе си с Star War Hot Wheels, C-3PO. Искам обаче повече от просто натискане или пътуване по писта, реших: „L
Платформа Stewart с PID контролирано топче за балансиране на топка: 6 стъпки

Платформа Стюарт с ПИД контролирано балансиране на топка: Мотивация и цялостна концепция: Като физик в обучението естествено съм привлечен и се стремя да разбера физическите системи. Бях обучен да решавам сложни проблеми, като ги разбивам на най -основните и основни съставки, след което
Simple Micro: бит робот с колела Lego Technics: 5 стъпки

Simple Micro: bit Robot With Lego Technics Wheels: Тази инструкция е свързана с използването на много просто шаси, използващо 2 парчета 5 мм перспекс, които изрязах и пробих, за да мога да стартирам и задействам робота Micro: bit възможно най -бързо. настройте сцената, не използвах никакви електрически инструменти, освен