MotorControlModuleSDFM_TMS3.../Projects/EFC_Communication/UMLibrary/driver/IInverter.hh

51 lines
2.1 KiB
C++
Raw Permalink Normal View History

2024-06-07 11:12:56 +03:00
/*
* IInverter.h
*
* Created on: 31 окт. 2016 г.
* Author: titov
*/
#ifndef SOURCE_DRIVER_IINVERTER_H_
#define SOURCE_DRIVER_IINVERTER_H_
namespace driver {
class IInverter {
public:
//! Функция включает импульсы управления.
virtual void enPulse() = 0;
//! Функция выключает импульсы управления.
virtual void disPulse() = 0;
//! Функция формирует ШИМ по трем модулям.
/*! Функция устанавливает уставки ШИМ соотвествующие заданным относительным временам смещения.
* Времена смещения задаются в диапозоне от -1.0f до 1.0f. При этом -1.0f соотвествует открытию
* нижнего ключа на все время цикла, 1.0f - верхнего ключа, 0.0f - верхний и нижний ключ будут открыты на одинаковое время.
* При подаче значения NAN, или значения вне диапазона оба ключа фазы будут отключенны.
*
* Используется симметричная ШИМ.
* Заданное относительное
* время:
* 1.0f | . .
* | / \ / \
* Tx |---/-- \--- / \
* | /| |\ / \
* | / | | \ -/--- ---\-
* |/__|___|__\/|_______|\_
* -1.0f | H | L | H | L |H <- Состояние ключей в фазе.
*
* \param[in] Ta - Относительное время включения ключей фазы U, либо полное отключение фазы.
* \param[in] Tb - Относительное время включения ключей фазы V, либо полное отключение фазы.
* \param[in] Tc - Относительное время включения ключей фазы W, либо полное отключение фазы.
*/
virtual void pwm(float Ta, float Tb, float Tc) = 0;
virtual ~IInverter() = default;
};
}
#endif /* SOURCE_DRIVER_IINVERTER_H_ */