ESP32 ile VFD kontrolü

rms

Yeni Üye
Katılım
9 Ekim 2024
Mesajlar
3
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: 23
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.
 

Forum istatistikleri

Konular
6,847
Mesajlar
116,802
Üyeler
2,779
Son üye
Kersoyu

Son kaynaklar

Son profil mesajları

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 ❤️
Merhaba elektronik tutsakları...
Lyewor_ wrote on taydin's profile.
Merhabalar. Elektrik laboratuvarınız varsa bunun hakkında bir konunuz var mı acaba? Sizin laboratuvarınızı merak ettim de :)
Lyewor_ wrote on taydin's profile.
Merhabalar forumda yeniyim! Bir sorum olacaktı lcr meterler hakkında. Hem bobini ölçen hemde bobin direnci ölçen bir lcr meter var mı acaba?
Back
Top