ESP32 ile VFD kontrolü

rms

Üye
Katılım
9 Ekim 2024
Mesajlar
13
Arkadaşlar merhaba, H230 VFD'yi ESP32 kullanarak RS485 üzerinden MODBUS ile kontrol etmeye çalışıyorum. Durdurma ve başlatma kısımlarını hallettim fakat iş hız ayarlamaya geldiğinde takılıyorum. Sanırım manueli tam anlayamadım bu ilk VFD sürme deneyimim, kullandığım fonksiyon ve VFD sürücünün manueli ektedir, hangi registera hangi adresi yazmalıyım?
esp32_modbus:
// Calculate CRC16 for Modbus RTU
uint16_t modbus_crc16(uint8_t *buffer, uint16_t buffer_length)
{
    uint16_t crc = 0xFFFF;
    for (uint16_t pos = 0; pos < buffer_length; pos++) {
        crc ^= (uint16_t)buffer[pos];
        for (int i = 8; i != 0; i--) {
            if ((crc & 0x0001) != 0) {
                crc >>= 1;
                crc ^= 0xA001;
            } else {
                crc >>= 1;
            }
        }
    }
    return crc;
}

// Function to create and send Modbus RTU frame to write a single register
void send_modbus_write_register(uint8_t slave_addr, uint16_t reg_addr, uint16_t reg_value)
{
    uint8_t modbus_frame[8];

    modbus_frame[0] = slave_addr;              // Slave address
    modbus_frame[1] = 0x06;                    // Function code: Write Single Register
    modbus_frame[2] = (reg_addr >> 8) & 0xFF;  // Register address high byte
    modbus_frame[3] = reg_addr & 0xFF;         // Register address low byte
    modbus_frame[4] = (reg_value >> 8) & 0xFF; // Register value high byte
    modbus_frame[5] = reg_value & 0xFF;        // Register value low byte

    uint16_t crc = modbus_crc16(modbus_frame, 6);
    modbus_frame[6] = crc & 0xFF;              // CRC low byte
    modbus_frame[7] = (crc >> 8) & 0xFF;       // CRC high byte

    // Set RE/DE to transmit mode
    gpio_set_level(RS485_RE_DE_PIN, 1);

    // Send Modbus frame
    uart_write_bytes(RS485_UART_NUM, (const char *)modbus_frame, sizeof(modbus_frame));
    uart_wait_tx_done(RS485_UART_NUM, pdMS_TO_TICKS(100));

    // Set RE/DE back to receive mode
    gpio_set_level(RS485_RE_DE_PIN, 0);
}
 

Ekler

  • WhatsApp Image 2024-10-26 at 16.32.31.jpeg
    WhatsApp Image 2024-10-26 at 16.32.31.jpeg
    134.6 KB · Görüntüleme: 36
hız ayarı girişi seçim parametreşini modbus olarak ayarlamaniz gerekli.
kullanim klavuzundaki Parametre listesine bakın, frequency input diye bir Parametre olmalı, önce onu modbus olarak ayarlamanız lazım. bunu ister modbusdab yapın, ister vfd üzerindeki tus takımından.
 
hız ayarı girişi seçim parametreşini modbus olarak ayarlamaniz gerekli.
kullanim klavuzundaki Parametre listesine bakın, frequency input diye bir Parametre olmalı, önce onu modbus olarak ayarlamanız lazım. bunu ister modbusdab yapın, ister vfd üzerindeki tus takımından.
Daha yeni deneme fırsatım oldu. Sağ olun, sistem çalıştı.
 

Forum istatistikleri

Konular
7,117
Mesajlar
121,216
Üyeler
2,885
Son üye
ozcanthegreat

Son kaynaklar

Son profil mesajları

az bilgili çok meraklı
Prooffy wrote on semih_s's profile.
Merhaba, sizden DSO2C10 hakkında bilgi rica ettim. Yanıtlarsanız sevinirim...
Unal wrote on taydin's profile.
Timur Bey, Arduino kontrollü bir akü şarj cihazı yapmaya çalışıyorum. Aklımdaki fikri basit bir çizim olarak konu açmıştım. Özellikle sizin fikirlerinizi çok önemsiyorum.
hakan8470 wrote on Dede's profile.
1717172721760.png
Dedecim bu gul mu karanfil mi? Gerci ne farkeder onu da anlamam. Gerci bunun anlamini da bilmem :gulus2:
Lyewor_ wrote on hakan8470's profile.
Takip edilmeye başlanmışım :D ❤️
Back
Top