earlier, I wrote some code (for an MSP430) for implementing a 3 phase VFD, using both servo-style PWM and I2C for control inputs.
then I was thinking, it is a little pointless, as the I2C and PWM are both partially redundant and also one ends up with the worst of both worlds. so, I had an idle thought for combining them so that the PWM wire can also be used as a half-duplex (and rather asymetric) serial link.
general info:
with the PWM, one has pulses between 1000us and 2000us, where:
1000us=full speed reverse;
1500us=motor is stopped;
2000us=full speed forward.
this is normally sent as part of a "pulse train", where the desired value is regularly re-sent at 50Hz or so (but can conceivably go up to around 300Hz).
typically, no other data is sent over the PWM wire besides PWM, but a separate interface is needed to send data to/from the VFD.
so, an idle thought comes up, say:
pulses between 32-95us encode a 0 bit (nominal=64us);
pulses between 96-160us encode a 1 bit (nominal=128us);
around 64us dead-time is left between pulses.
possibly a 256us pulse could be used as an "end of message" marker (256us high="make it so", 256us low="no data" / "abort").
so, a series of bits encoding command bytes are sent over the PWM line, and no separate interface is needed. likely a simplistic byte-oriented protocol would be used, with most commands likely being fairly short (and intermixed with the normal pulse-train).
however, this seems obvious enough that probably someone would have done it already, so I am left wondering if there is any sort of standardized protocol for this?
other idle mysteries (mostly speculative ATM):
if doing an oil-cooled 440V induction motor, what sort of oil is best? (vs motor-oil or similar, better options?).
effects of running a 440V motor at 360V using square-waves? (say, lower voltage to allow cheaper transistors in the VFD H-bridges, hoping square-waves can compensate for the reduced voltage, probably using 580V on the main DC rail).
(note: mostly all hobbyist-level stuff thus far...).
any thoughts?
then I was thinking, it is a little pointless, as the I2C and PWM are both partially redundant and also one ends up with the worst of both worlds. so, I had an idle thought for combining them so that the PWM wire can also be used as a half-duplex (and rather asymetric) serial link.
general info:
with the PWM, one has pulses between 1000us and 2000us, where:
1000us=full speed reverse;
1500us=motor is stopped;
2000us=full speed forward.
this is normally sent as part of a "pulse train", where the desired value is regularly re-sent at 50Hz or so (but can conceivably go up to around 300Hz).
typically, no other data is sent over the PWM wire besides PWM, but a separate interface is needed to send data to/from the VFD.
so, an idle thought comes up, say:
pulses between 32-95us encode a 0 bit (nominal=64us);
pulses between 96-160us encode a 1 bit (nominal=128us);
around 64us dead-time is left between pulses.
possibly a 256us pulse could be used as an "end of message" marker (256us high="make it so", 256us low="no data" / "abort").
so, a series of bits encoding command bytes are sent over the PWM line, and no separate interface is needed. likely a simplistic byte-oriented protocol would be used, with most commands likely being fairly short (and intermixed with the normal pulse-train).
however, this seems obvious enough that probably someone would have done it already, so I am left wondering if there is any sort of standardized protocol for this?
other idle mysteries (mostly speculative ATM):
if doing an oil-cooled 440V induction motor, what sort of oil is best? (vs motor-oil or similar, better options?).
effects of running a 440V motor at 360V using square-waves? (say, lower voltage to allow cheaper transistors in the VFD H-bridges, hoping square-waves can compensate for the reduced voltage, probably using 580V on the main DC rail).
(note: mostly all hobbyist-level stuff thus far...).
any thoughts?