/* * 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_ */