สารบัญ:
- ขั้นตอนที่ 1: ขั้นตอนที่ 1: วัสดุที่ต้องการ
- ขั้นตอนที่ 2: ขั้นตอนที่ 2: Sistema Mecánico-estructura
- ขั้นตอนที่ 3: ขั้นตอนที่ 3: Fabricación De Piezas 3D
- ขั้นตอนที่ 4: ขั้นตอนที่ 4: Sistema Eléctrico/electrónico
- ขั้นตอนที่ 5: ขั้นตอนที่ 5: ซอฟต์แวร์
- ขั้นตอนที่ 6: ขั้นตอนที่ 6: Consejos
วีดีโอ: Proyecto Laboratorio De Mecatrónica (หุ่นยนต์ทรงตัวสองล้อ): 6 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:04
En este proyecto se mostrara, el funcionamiento y el como hacer para elaborar un "หุ่นยนต์ทรงตัวสองล้อ" เพื่ออธิบายและอธิบาย Este es un sistema que ประกอบด้วย 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: วัสดุที่ต้องการ
o เมกานิโกส:
NS. 1 เมโทร เดอ วาริลลา รอสคาดา (3/8)
NS. 14 ทอร์นิลโล M3 x.07 x 6
ค. 24 ยูโร M8 hex
NS. 3 ทอร์นิลโล M4 x.07 x 6
อี Filamento PLA (500grs ประมาณ)
o เครื่องใช้ไฟฟ้า:
NS. สวิตช์ขัดขวาง 1 ตัว
NS. Arduino uno o นาโน
ค. 2 มอเตอร์ nema 17
NS. 2 ไดรเวอร์ A4988
อี 3 ความต้านทาน 1k
NS. HC-05
NS. MPU-6050
ชม. 2 ตัวเก็บประจุ 100uf o 47uf
ผม. Batería lippo 11.1 V
o Piezas fabricadas:
NS. แผ่น MDF 3 แผ่น (120 x 170 x 6 มม.)
NS. Placa PCB (8 x 14 ซม. โดยประมาณ)
ค. Soporte batería
NS. 2 soporte พารามอเตอร์
อี 2 ลานตา
o ความพิเศษ:
โปรแกรมแนะนำ para la realización del proyecto
NS. ซอฟต์แวร์ Arduino IDE
NS. SolidWorks 2018
ค. ซอฟต์แวร์ Kidcad
ขั้นตอนที่ 2: ขั้นตอนที่ 2: Sistema Mecánico-estructura
รูปแบบการใช้งานทั่วไปและโครงสร้างทั่วไปบน SolidWorks, การใช้งานจริงบน SolidWorks, การทำงานแบบครบวงจรและแบบมืออาชีพ Estas placas son diferentes entre ellas, la placa inferior tendrá los orificios para los soportes de motores y batería, ศูนย์กลางสำหรับ nuestra PCB y la superior solo tendrá los orificios para darle su estructura.
ขั้นตอนที่ 3: ขั้นตอนที่ 3: Fabricación De Piezas 3D
สำหรับรุ่นอื่นๆ และ 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, มากกว่า ปกติ
ขั้นตอนที่ 4: ขั้นตอนที่ 4: Sistema Eléctrico/electrónico
สำหรับการใช้งานบน PCB, สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับการติดต่อสื่อสาร, สภาพแวดล้อมการใช้งานสำหรับ Arduino, โมดูลบลูทูธ 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 และ no lo obedezca.
ขั้นตอนที่ 5: ขั้นตอนที่ 5: ซอฟต์แวร์
สำหรับโปรแกรมที่ใช้สำหรับ Arduino, ความต่อเนื่องของ anexamos una parte de la programación con su explicación ที่สอดคล้อง, ลิงก์ al igual anexo, เนื้อหาที่สมบูรณ์:
Pos holdconfiguracion
// ค่าเริ่มต้นการควบคุม POSHOLD ได้รับ
#define POSHOLD_P 2.00
#define POSHOLD_I 0.0
#define POSHOLD_IMAX 20 // องศา
#define POSHOLD_RATE_P 2.0
#define POSHOLD_RATE_I 0.08 // การควบคุมลม
#define POSHOLD_RATE_D 0.045 // ลอง 2 หรือ 3 สำหรับ POSHOLD_RATE 1
#define POSHOLD_RATE_IMAX 20 // องศา
// ค่าเริ่มต้น PID การนำทางเริ่มต้น
#define NAV_P 1.4
#define NAV_I 0.20 // การควบคุมลม
#define NAV_D 0.08 //
#define NAV_IMAX 20 // องศา
#define มินเชค 1100
#define MAXCHECK 1900
Aqui se modifica los gains para el poss hold del sistema. ได้เปรียบ
การกำหนดค่าไจโร:
เป็นโมฆะ 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
#ถ้ากำหนดไว้(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, // range: +/- 8192; +/- 2000 องศา/วินาที
((rawADC[2]2, ((rawADC[4]2);
GYRO_Common();
}
เป็นโมฆะ 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)
//ยืนยันที่นี่:
#if กำหนดไว้ (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
}
เป็นโมฆะ ACC_getADC () {
i2c_getSixRawADC(MPU6050_ADDRESS, 0x3B);
ACC_ORIENTATION(((rawADC[0]3, ((rawADC[2]3, ((rawADC[4]3);
ACC_Common();
}
//ต้องเปลี่ยนฟังก์ชันการรับ MAG เพราะตอนนี้เราคุยกับอุปกรณ์ MPU
#if กำหนดไว้ (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
#ถ้ากำหนดไว้ (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 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, ไม่มีหมวดหมู่ quede a la perfección
2. ส่วนประกอบอิเล็กทรอนิกส์: Hacer su propia PCB, สำหรับ que tengan bien ubicadas las conexiones que tienen que hacer, การแก้ไขที่ถูกต้อง manera hacer primero las conexiones en una protoboard, para comprobar que cuando la pongan funcionel PCB ในทะเล que agregar mas conexiones o volver a imprimir el PCB
3. ซอฟต์แวร์ที่ไม่รองรับ: โปรแกรมที่ใช้กับโปรแกรมพื้นฐาน 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
แนะนำ:
วิดีโอบทช่วยสอน De Tecnologías Creativas 03: Hoy Veremos Un Proyecto Donde Integramos Botones: 4 ขั้นตอน
Vídeo Tutoriales De Tecnologías Creativas 03: Hoy Veremos Un Proyecto Donde Integramos Botones: En este tutorial vamos aprender como leer y controlar el estado de un botón sobre una placa Arduino Uno. วีดีโอ Este ejercicio lo realizaremos mediante simulación y para ello utilizaremos Tinkercad Circuits (utilizando una cuenta gratuita).ความต่อเนื่อง
Proyecto 1 De Manufactura Digital UVG: 4 ขั้นตอน
Proyecto 1 ผู้ผลิต Digital UVG: Diagrama Esquemático del circuito de la lámpara. วัสดุ: 3 NeoPixels Puentes de cables 3 potenciómetros de 10K Un botón Un sensor DHT11 Un Arduino Una resistencia de 220 ohmios Un interruptor Un protoboardEl proyecto consió en realizar una
Como Hacer Una Mood Lamp (proyecto Uvg): 5 ขั้นตอน (พร้อมรูปภาพ)
Como Hacer Una Mood Lamp (proyecto Uvg): Esta es una mood lamp que funciona a base de un sensor DHT11 และ 3 potenciómetros tiene 2 modos: el primero el color cambia กับ los potenciómetros, y el segundo cambia ฐานของ las lecturas del sensor DHT11
หุ่นยนต์ทรงตัวสองล้อ: 7 ขั้นตอน
หุ่นยนต์ทรงตัวสองล้อ: คำแนะนำนี้จะผ่านขั้นตอนการออกแบบและสร้างสำหรับหุ่นยนต์ทรงตัว หมายเหตุ ฉันแค่อยากจะบอกว่าหุ่นยนต์ที่ทรงตัวได้นั้นไม่ใช่แนวคิดใหม่ และพวกมันถูกสร้างขึ้นและจัดทำเป็นเอกสารโดยผู้อื่น ฉันต้องการใช้โอกาสนี้
Proyecto Museo De Herling และ Paula De La Cámara: 4 ขั้นตอน
Proyecto Museo De Herling และ Paula De La Cámara: En este proyecto vamos a relizar un museo, en el cual vamos ha programar varias alarmas para que salte cuando Intenten robar la joya, tambien vamos a utilizar sensores de tecento para déc téc en que intto robar ลา โจยา