ESP32 ile VFD kontrolü

  • Konuyu başlatan Konuyu başlatan rms
  • Başlama tarihi Başlama tarihi

rms

Üye
Katılım
9 Ekim 2024
Mesajlar
62
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?
Kod:
// 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: 101
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ı.
 

Çevrimiçi personel

Forum istatistikleri

Konular
8,322
Mesajlar
136,732
Üyeler
3,304
Son üye
ardubilot

Son kaynaklar

Son profil mesajları

mechanic ayhanarican mechanic wrote on ayhanarican's profile.
https://www.allmystery.de almanca biliyorsan burada araştır. Yapay zekada çeviriyor gerçi.
Almanların matematik bilgisi daha iyi oluyor.
“Kendi yolunu çizen kişi, kimsenin izinden gitmez.” – Nietzsche
Kim İslâm’da güzel bir çığır açarsa (güzel bir alışkanlık başlatırsa), onun sevabı ve kendisinden sonra ona uyanların sevapları, onların sevaplarından hiçbir şey eksilmeksizin ona da yazılır.
erdemtr55 taydin erdemtr55 wrote on taydin's profile.
Merhaba Taydin bey,
Gruba spms serisi yapıcak mısınız?
ben 3 sargılı toroid ile 2 adet flyback sürücek bir devre yapmayı düşünüyorum.size soracak sorularım vardı?
Mutluluğun resmi illa güzel çizilmiş tablo olmak zorunda değil.Bazen basit bir çizgi,doğru bir renk,yada küçük bir detay
Back
Top