Ви не увійшли.
Сторінки 1
Доброго дня, зіткнувся з проблемою при програмуванні сонячного трекера. У мене є кроковий двигун nema23 на драйвері TB6600 для плати esp8266 Wemos D1 R1. Для визначення положення панелі потрібно обрати потанціометр не можу зрозуміти чи буди він працювати із моїми приладами, і якщо буде то який сам потанціометер потрібен. Я зупинився на виборі "ПОТЕНЦІОМЕТР БАГАТООБОРОТНИЙ 1K 3590S 3/8" Підскажіть будь ласка чи буде він коректно працювати?
Доброго дня, зіткнувся з проблемою при програмуванні сонячного трекера. У мене є кроковий двигун nema23 на драйвері TB6600 для плати esp8266 Wemos D1 R1. Для визначення положення панелі потрібно обрати потанціометр не можу зрозуміти чи буди він працювати із моїми приладами, і якщо буде то який сам потанціометер потрібен. Я зупинився на виборі "ПОТЕНЦІОМЕТР БАГАТООБОРОТНИЙ 1K 3590S 3/8" Підскажіть будь ласка чи буде він коректно працювати?
Я змінив DIR_PIN на 5, але проблема все таже
на 5 чи на D5? Як кажуть у нас - це дві великі різниці.
Да проблема була в цьому стояло 5 а мало бути D5. Дякую
Я прикладав демонтративне фото, переробив для своєї плати:
https://ibb.co/VNP10sc
Я змінив DIR_PIN на 5, але проблема все таже, навіть коли виймаю провод з DIR pin,кроковий двигун ніяк не реагує, все так же крутиться тільки в одну сторону
Я прикладав демонтративне фото, переробив для своєї плати:
https://ibb.co/VNP10sc
Я змінив DIR_PIN на 5, але проблема все таже, навіть коли виймаю провод з DIR pin,кроковий двигун ніяк не реагує, все так же крутиться тільки в одну сторону
Привіт, вирішив написати код для управління кроковим двигуном nema23 на драйвері TB6600 для плати esp8266 Wemos D1 R1.
При написанні кода зіткнувся з проблемою в підключені пінів, чомусь двигун рухаєтся тільки в одному напряму, хотя код написаний для обох напрямів, здається проблема в підключені DIR піна.
Підключення пінів на фото
https://ibb.co/9qkj8fB
// Піни керування кроковим двигуном
#define STEP_PIN 4 // GPIO4
#define DIR_PIN 10 // GPIO5
// Налаштування часу
#define move_forward_time 3000 // час руху вперед у мс
#define move_back_time 3000 // час руху назад у мс
#define pause_time 4000 // час паузи у мс
#define frequency 2250 // час між імпульсами у мкс
// Таймер для millis()
uint32_t timer = 0;
void setup() {
pinMode(STEP_PIN, OUTPUT); // Налаштовуємо піни керування
pinMode(DIR_PIN, OUTPUT);
Serial.begin(115200); // Для налагодження через Serial Monitor
}
void loop() {
// Напрямок вперед
Serial.println("Напрямок: Вперед");
digitalWrite(DIR_PIN, HIGH); // Встановлюємо напрямок обертання вперед
delay(100); // Невелика затримка для стабілізації
timer = millis(); // Запускаємо таймер
// Обертаємо двигун move_forward_time мс
do {
digitalWrite(STEP_PIN, HIGH);
delayMicroseconds(frequency);
digitalWrite(STEP_PIN, LOW);
delayMicroseconds(frequency);
} while (millis() - timer < move_forward_time);
delay(pause_time); // Пауза pause_time мс
// Напрямок назад
Serial.println("Напрямок: Назад");
digitalWrite(DIR_PIN, LOW); // Змінюємо напрямок обертання
delay(100); // Невелика затримка для стабілізації
timer = millis(); // Знову запускаємо таймер
// Обертаємо двигун move_back_time мс
do {
digitalWrite(STEP_PIN, HIGH);
delayMicroseconds(frequency);
digitalWrite(STEP_PIN, LOW);
delayMicroseconds(frequency);
} while (millis() - timer < move_back_time);
delay(pause_time); // Пауза перед новим циклом
}
Сторінки 1