Мазмуну:
- 1 -кадам: Демонстрация
- 2 -кадам: Колдонулган ресурстар
- 3-кадам: Wifi LoRa 32- Pinout
- 4 -кадам: ESC (Электрондук ылдамдыкты көзөмөлдөө)
- 5 -кадам: ESC электрондук ылдамдыкты көзөмөлдөө (ESC)
- 6 -кадам: PWM Servo Motor Control
- 7 -кадам: Аналогдук тартуу
- 8 -кадам: Circuit - Connections
- 9 -кадам: Булак коду
- 10 -кадам: Файлдар
Video: ESP32 LoRa башкарылган учкучсуз кыймылдаткыч: 10 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:41
Бүгүн биз пилотсуз кыймылдаткычтарды талкуулайбыз, көбүнчө "щеткасыз" моторлор. Аэродромдо кеңири колдонулат, негизинен дрондордо, анткени алардын күчү жана жогорку айлануусу. Биз щеткасыз моторду ESC жана ESP32 аркылуу башкарууну, ички LED_PWM контроллерин колдонуп ESC боюнча аналогдук аткарууну жана мотор ылдамдыгын өзгөртүү үчүн потенциометрди колдонууну үйрөнөбүз.
1 -кадам: Демонстрация
2 -кадам: Колдонулган ресурстар
- Байланыш үчүн секиргичтер
- Wifi LoRa 32
- ESC-30A
- Brushless A2212 / 13t Engine
- USB кабели
- Контролдоо үчүн потенциометр
- Protoboard
- Электр камсыздоо
3-кадам: Wifi LoRa 32- Pinout
4 -кадам: ESC (Электрондук ылдамдыкты көзөмөлдөө)
- Электрондук ылдамдыкты жөнгө салуучу
- Электр кыймылдаткычынын ылдамдыгын көзөмөлдөө үчүн электрондук схема.
- Стандарттык 50 Гц PWM серво көзөмөлүнөн көзөмөлдөнөт.
- Бул талаа эффект транзисторлорунун (FETs) тармагынын которулуу ылдамдыгын өзгөртөт. Транзисторлордун которуштуруу жыштыгын тууралоо менен мотор ылдамдыгы өзгөрөт. Мотордун ылдамдыгы мотордун ар кандай оромдоруна берилген учурдагы импульс убактысын тууралоо аркылуу өзгөрөт.
- Мүнөздөмөлөр:
Чыгуу агымы: 30А үзгүлтүксүз, 40А 10 секунд
5 -кадам: ESC электрондук ылдамдыкты көзөмөлдөө (ESC)
6 -кадам: PWM Servo Motor Control
Биз GPIO13 үчүн LED_PWMдин 0 каналын багыттоо менен ESC маалыматын киргизүү боюнча иштөө үчүн PWM сервосун түзөбүз жана модуляцияны башкаруу үчүн потенциометрди колдонобуз.
Тартуу үчүн биз чыңалуу бөлүүчү катары 10k потенциометрди колдонобуз. Тартуу GPIO12 жеткиликтүү болгон ADC2_5 каналында жүргүзүлөт.
7 -кадам: Аналогдук тартуу
Санарипке которуу аналогу
Биз AD баалуулуктарын PWMге айландырабыз.
Сервонун PWMи 50 Гц, ошондуктан импульс мезгили 1/50 = 0.02 секунд же 20 миллисекунд.
Биз жок дегенде 1 миллисекунддан 2 миллисекундка чейин аракет кылышыбыз керек.
PWM 4095 болгондо, импульстун туурасы 20 миллисекунд, башкача айтканда, биз 2 миллисекундка жетүү үчүн 4095/10 максимумга жетүүбүз керек, ошондуктан PWM 410 *алышы керек.
Жок дегенде 1 миллисекундтан кийин, демек 409/2 (же 4095/20), PWM 205 *алышы керек.
* Маанилер бүтүн сандар болушу керек
8 -кадам: Circuit - Connections
9 -кадам: Булак коду
Header
#кошуу // Arduino 1.6.5 e posterior үчүн #SSD1306.h камтыйт // "SSD1306Wire.h" кошуу // OLED_SDA -GPIO4 // OLED_SCL -GPIO15 // OLED_RST - GPIO16 #аныктоо SDA 4 #аныктоо SCL 15 #аныктоо RST 16 SSD1306 дисплей (0x3c, SDA, SCL, RST); // Instantiando ejustando os pinos to do objeto "display".
Variables
const int freq = 50; const int channel_A = 0; const int Resolutionucao = 12; const int pin_Atuacao_A = 13; const int Leitura_A = 12; int potencia = 0; int leitura = 0; int ciclo_A = 0;
Жайгашуу
жараксыз орнотуу () {pinMode (pin_Atuacao_A, OUTPUT); ledcSetup (channel_A, жыштык, чечим); ledcAttachPin (pin_Atuacao_A, channel_A); ledcWrite (channel_A, ciclo_A); display.init (); display.flipScreenVertically (); // Виртуалдык экранды көрсөтүү.clear (); // эксклюзивдүү дисплей.setTextAlignment (TEXT_ALIGN_LEFT); // Arial 16 үчүн display font.setFont (ArialMT_Plain_16); }
Loop
void loop () {leitura = analogRead (Leitura_A); ciclo_A = карта (лейтура, 0, 4095, 205, 410); ledcWrite (channel_A, ciclo_A); potencia = карта (leitura, 0, 4095, 0, 100); display.clear (); // limfa or buffer do display.drawString (0, 0, String ("AD:")); display.drawString (32, 0, String (leitura)); display.drawString (0, 18, String ("PWM:")); display.drawString (48, 18, String (ciclo_A)); display.drawString (0, 36, String ("Потенция:")); display.drawString (72, 36, String (potencia)); display.drawString (98, 36, Стринг ("%"))); display.display (); // mostra дисплей жок}
10 -кадам: Файлдар
Файлдарды жүктөп алыңыз
МЕН ЖОК
Сунушталууда:
12 Вольт Электр сызыктуу кыймылдаткыч зымдары: 3 кадам
12 Вольт Электр Сызыктуу Актаторунун Өткөргүчтөрү: Бул көрсөтмөдө биз 12 вольттуу сызыктуу кыймылдаткычтын зымдарын (колдонулган жалпы методдорду) жана иштегичтин кантип иштээри жөнүндө негизги түшүнүктү карайбыз
Сызыктуу жана ротациялык кыймылдаткыч: 11 кадам
Сызыктуу жана ротациялык кыймылдаткыч: Бул Нускама айлануучу шахтасы бар сызыктуу кыймылдаткычты кантип жасоо жөнүндө. Бул нерсени алдыга жана артка жылдырып, ошол эле учурда айлантууга болот дегенди билдирет. 45 мм (1,8 дюйм) нерсени алдыга жана артка жылдырып, айлантууга болот
Сызыктуу кыймылдаткыч V2: 3 кадам
Lineer Actuator V2: Бул менин баштапкы Lineer Actuator дизайнымдын жаңыртылган версиясы. Мен аны бир аз сулуураак кылууну чечтим (анча чоң эмес) жана M8 жип менен M8 z-rod менен 3D принтерлерде колдонулган M8 жип жана тепкич мотору үчүн супер жакшы муфталарды таптым
Электромагниттик кыймылдаткыч: 4 кадам (сүрөттөр менен)
Электромагниттик кыймылдаткыч: Көбүнчө сызыктуу мотор же үн/спикер деп аталат, электромагниттик кыймылдаткыч ар тараптуу жана дизайнга/курууга салыштырмалуу оңой
Кокустан чөнтөк реактивдүү кыймылдаткыч : 7 кадам
Кокустан чөнтөк реактивдүү кыймылдаткыч …: Ооба, бул баланын реактивдүү мотору, ал абаны алат жана отунду жылытат, демек абаны кеңейтет, бул конкреттүү кыймылдаткыч көбүрөөк иштөөчү модель болуп саналат, ал реалдуу мааниде анча чоң эмес түрткү берет, бул абдан кызыктуу жана кызыктырат