51 lines
1.5 KiB
C++
51 lines
1.5 KiB
C++
/*
|
||
* 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_ */
|