תוכן עניינים:
- שלב 1: שלב 1: חומר Requerido
- שלב 2: שלב 2: Sistema Mecánico-estructura
- שלב 3: שלב 3: Fabricación De Piezas 3D
- שלב 4: שלב 4: Sistema Eléctrico/electrónico
- שלב 5: שלב 5: תוכנה
- שלב 6: שלב 6: קונסגו
וִידֵאוֹ: Proyecto Laboratorio De Mecatrónica (רובוט איזון דו גלגלי): 6 שלבים
2024 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2024-01-30 09:14
En este proyecto se mostrara, el funcionamiento y el como hacer para elaborar un "רובוט איזון דו גלגלי" 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 metro de varilla roscada (3/8)
ב. 14 טורנילים M3 x.07 x 6
ג. 24 טורקס M8 משושה
ד. 3 טורנילים M4 x.07 x 6
ה. פילמנטו PLA (500 גרם בערך)
o Electrónicos:
א. מתג מפסק אחד
ב. Arduino uno o nano
ג. 2 מנועים nema 17
ד. 2 נהגים A4988
ה. 3 התנגדות 1k
ו. HC-05
ז. MPU-6050
ח. 2 קבלים של 100uf או 47uf
אני. Batería lippo 11.1 V
o פאבז פיאזאס:
א. 3 שלוחות של MDF (120 x 170 x 6 מ מ)
ב. לוח PCB (8 x 14 ס מ בערך)
ג. Soporte batería
ד. מנוע 2 soporte
ה. 2 לאנטות
o תוספות:
תוכנות המלצות על מימוש הפרוייקט.
א. תוכנת Arduino IDE
ב. SolidWorks 2018
ג. תוכנת Kidcad
שלב 2: שלב 2: Sistema Mecánico-estructura
El modelado de las piezas and estructura general se realizo en SolidWorks, primero se crearon las placas de MDF para checar el espacio disponible for 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 major funcionamiento, los soportes tienen orificios de.35 cm de dimetro, for a una major sujeción.
שלב 4: שלב 4: Sistema Eléctrico/electrónico
En este paso utilizamos for PCB, for elaborar las conexiones correspondentses, haciendo el enlace entre el arduino, el modulo de Bluetooth HC-05, un 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 sistema no funcione correctamente y no lo obedezca.
שלב 5: שלב 5: תוכנה
Para el programa utilizamos un arduino, a continuación anexamos una parte de la programación con su explicación correspondiente, al igual anexo link, con el codigo completeo:
תצוגת pos hold
// רווחי ברירת מחדל ב- POSHOLD
#define POSHOLD_P 2.00
#define 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
#הגדר NAV_I 0.20 // בקרת רוח
#define NAV_D 0.08 //
#הגדר NAV_IMAX 20 // מעלות
#define MINCHECK 1100
#define MAXCHECK 1900
Aqui se modifica los gaines 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 - שינה 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
#if מוגדר (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
}
בטל Gyro_getADC () {
i2c_getSixRawADC (MPU6050_ADDRESS, 0x43);
GYRO_ORIENTATION (((rawADC [0] 2, // טווח: +/- 8192; +/- 2000 deg/sec
((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 דרך יציאת AUX I2C (נעשה כאן עבור 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
}
בטל 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)
בטל 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
#if מוגדר (MAG3110)
MAG_ORIENTATION (((rawADC [0] << 8) | rawADC [1]), ((rawADC [2] << 8) | rawADC [3]), ((rawADC [4] << 8) | rawADC [5]));
#endif
}
#endif
#endif
שלב 6: שלב 6: קונסגו
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 לסגת א -לה -פרפקשן.
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: Guiarse con la programación base expuesta, pero tratar de hacer su propia programación, para llegar a entender bien el funcionamiento y en caso de que no funcionar la programación saber como cambiar las instrucciones para que funcione corramente.
מוּמלָץ:
רובוט לאיזון עצמי דו גלגלי: 7 שלבים
רובוט לאיזון עצמי דו גלגלי: מדריך זה יעבור את התכנון והבנייה של רובוט איזון עצמי. הערה, אני רק רוצה לומר שרובוטים באיזון עצמי אינם מושג חדש והם נבנו ותועדו על ידי אחרים. אני רוצה לנצל את ההזדמנות הזו
רובוט גלגלי Mecanum Omni עם מנועי צעד GRBL מגן ארדואינו: 4 שלבים
רובוט גלגלי Mecanum Omni עם מנועי Stepper GRBL Arduino Shield: Mecanum Robot - פרויקט שרציתי לבנות מאז שראיתי אותו בבלוג המכטרוניקה של דג'אן: howtomechatronics.com Dejan באמת עשה עבודה טובה המכסה את כל ההיבטים מחומרה, הדפסה תלת מימדית. , אלקטרוניקה, קוד ואפליקציית אנדרואיד (MIT
רובוט איזון עצמי דו גלגלי: 4 שלבים
רובוט איזון עצמי דו גלגלי: לעניות דעתי אתה לא יוצר אמיתי, אלא אם אתה לא בונה רובוט איזון עצמי דו גלגלי משלך.:-) אז הנה … והכי חשוב, זה עובד !!! הפרויקט הזה נראה פשוט מאוד. במקום זאת, זה דורש רמה טובה של ידע
רובוט איזון / רובוט 3 גלגלים / רובוט STEM: 8 שלבים
רובוט איזון / רובוט 3 גלגלים / רובוט STEM: בנינו רובוט איזון משולב ושלושה גלגלים לשימוש חינוכי בבתי ספר ובתוכניות חינוכיות לאחר הלימודים. הרובוט מבוסס על Arduino Uno, מגן מותאם אישית (כל פרטי הבנייה מסופקים), חבילת סוללות לי יון (כל מבנה
Arduino - איזון - רובוט איזון - איך להכין ?: 6 שלבים (עם תמונות)
Arduino - איזון - רובוט איזון | איך להכין ?: במדריך זה נלמד כיצד להכין רובוט איזון (איזון) ארדואינו המאזן את עצמו. ראשית אתה יכול להסתכל על סרטון ההדרכה למעלה