Skip to main content
added 1556 characters in body
Source Link
John
  • 339
  • 5
  • 12

I'm wondering whether the problem is possibly related to the actual current that flows through the non-aligned coil, as a result of the time constant of the coils.

Frequency of PWM = 150 Hz, giving a period of 6.67ms. In order to keep the current within limits of the coils, I had been using a max duty cycle of 75%.

The time period T of the coils has been measured at ~16.8us. Therefore for duty cycles with an ON time of less than ~80us (5T), the current will not get to the maximum it would get to otherwise, based on the R of the coil and the driving voltage. Force on the needle is related to current.

When driving the coil between 0-75%, a 80us ON time = a duty cycle of 1.199%, which equates to a position of ~0.9degrees. This is about the point at which the needle was observed to slow down, i.e. I am postulating that the inductance of the coil is now causing a reduction in the force on the needle when the needle is nearly aligned with any one of the coils.

A solution, if this is the problem, would be to reduce the time constant of the coil or to increase the period of the PWM, so that small duty cycles are larger than the coil time constant. The PWM frequency is 150Hz, and below about 100Hz there is vibration, so I think I've got this as low as I can, perhaps I'll try 120 Hz or so.

Next step to try (and I'll update this answer later), is to consider the coil to be a perfect inductor and a series resistance (time constant T = L/R). Therefore, if I increase the series R (by adding another resistor and increasing the voltage, I can get a smaller T but identical I through the coil). This smaller time constant should mean that the angular position where there is a slow down in the needle is much reduced.

UPDATE:

By reducing the time constant of the air core (by adding a parasitic resistance in series) and by increasing the PWM duty cycle and voltage (to keep the peak current constant), the situation was found to improve. However, there was a limit of perhaps 120Hz, below which there was significant vibration of the air core needle. The vibration was audible. There was always a small hesitation of the needle at the 90/180/270/360 degree points when the needle was travelling slowly.

I therefore believe that there is a fundamental issue with driving an air core needle using PWM when the needle is close to being aligned with one of the coils and that it seems possible to alleviate the situation but not to remove it entirely. The situation is entirely bearable if the needle is moving relatively quickly, but when it is moving slowly the problem is noticeable.

The situation was fixed by using a different method. The PWM waveform was fed through a low-pass filter, which gives a continuous voltage waveform rather than a switched average. The voltage is then fed to an op amp which drives a current amplifier. This current amplifier then drives the coils in the air core (there is no need for resistors in series any more, as the time constant of the coils is no longer an issue as we are driving with a constant current waveform). There is no identifiable hesitation in the movement of the needle throughout 360 degrees of rotation. By using a PWM signal beyond human hearing (we use 30 kHz), the driver is completely silent.

I'm wondering whether the problem is possibly related to the actual current that flows through the non-aligned coil, as a result of the time constant of the coils.

Frequency of PWM = 150 Hz, giving a period of 6.67ms. In order to keep the current within limits of the coils, I had been using a max duty cycle of 75%.

The time period T of the coils has been measured at ~16.8us. Therefore for duty cycles with an ON time of less than ~80us (5T), the current will not get to the maximum it would get to otherwise, based on the R of the coil and the driving voltage. Force on the needle is related to current.

When driving the coil between 0-75%, a 80us ON time = a duty cycle of 1.199%, which equates to a position of ~0.9degrees. This is about the point at which the needle was observed to slow down, i.e. I am postulating that the inductance of the coil is now causing a reduction in the force on the needle when the needle is nearly aligned with any one of the coils.

A solution, if this is the problem, would be to reduce the time constant of the coil or to increase the period of the PWM, so that small duty cycles are larger than the coil time constant. The PWM frequency is 150Hz, and below about 100Hz there is vibration, so I think I've got this as low as I can, perhaps I'll try 120 Hz or so.

Next step to try (and I'll update this answer later), is to consider the coil to be a perfect inductor and a series resistance (time constant T = L/R). Therefore, if I increase the series R (by adding another resistor and increasing the voltage, I can get a smaller T but identical I through the coil). This smaller time constant should mean that the angular position where there is a slow down in the needle is much reduced.

I'm wondering whether the problem is possibly related to the actual current that flows through the non-aligned coil, as a result of the time constant of the coils.

Frequency of PWM = 150 Hz, giving a period of 6.67ms. In order to keep the current within limits of the coils, I had been using a max duty cycle of 75%.

The time period T of the coils has been measured at ~16.8us. Therefore for duty cycles with an ON time of less than ~80us (5T), the current will not get to the maximum it would get to otherwise, based on the R of the coil and the driving voltage. Force on the needle is related to current.

When driving the coil between 0-75%, a 80us ON time = a duty cycle of 1.199%, which equates to a position of ~0.9degrees. This is about the point at which the needle was observed to slow down, i.e. I am postulating that the inductance of the coil is now causing a reduction in the force on the needle when the needle is nearly aligned with any one of the coils.

A solution, if this is the problem, would be to reduce the time constant of the coil or to increase the period of the PWM, so that small duty cycles are larger than the coil time constant. The PWM frequency is 150Hz, and below about 100Hz there is vibration, so I think I've got this as low as I can, perhaps I'll try 120 Hz or so.

Next step to try (and I'll update this answer later), is to consider the coil to be a perfect inductor and a series resistance (time constant T = L/R). Therefore, if I increase the series R (by adding another resistor and increasing the voltage, I can get a smaller T but identical I through the coil). This smaller time constant should mean that the angular position where there is a slow down in the needle is much reduced.

UPDATE:

By reducing the time constant of the air core (by adding a parasitic resistance in series) and by increasing the PWM duty cycle and voltage (to keep the peak current constant), the situation was found to improve. However, there was a limit of perhaps 120Hz, below which there was significant vibration of the air core needle. The vibration was audible. There was always a small hesitation of the needle at the 90/180/270/360 degree points when the needle was travelling slowly.

I therefore believe that there is a fundamental issue with driving an air core needle using PWM when the needle is close to being aligned with one of the coils and that it seems possible to alleviate the situation but not to remove it entirely. The situation is entirely bearable if the needle is moving relatively quickly, but when it is moving slowly the problem is noticeable.

The situation was fixed by using a different method. The PWM waveform was fed through a low-pass filter, which gives a continuous voltage waveform rather than a switched average. The voltage is then fed to an op amp which drives a current amplifier. This current amplifier then drives the coils in the air core (there is no need for resistors in series any more, as the time constant of the coils is no longer an issue as we are driving with a constant current waveform). There is no identifiable hesitation in the movement of the needle throughout 360 degrees of rotation. By using a PWM signal beyond human hearing (we use 30 kHz), the driver is completely silent.

Source Link
John
  • 339
  • 5
  • 12

I'm wondering whether the problem is possibly related to the actual current that flows through the non-aligned coil, as a result of the time constant of the coils.

Frequency of PWM = 150 Hz, giving a period of 6.67ms. In order to keep the current within limits of the coils, I had been using a max duty cycle of 75%.

The time period T of the coils has been measured at ~16.8us. Therefore for duty cycles with an ON time of less than ~80us (5T), the current will not get to the maximum it would get to otherwise, based on the R of the coil and the driving voltage. Force on the needle is related to current.

When driving the coil between 0-75%, a 80us ON time = a duty cycle of 1.199%, which equates to a position of ~0.9degrees. This is about the point at which the needle was observed to slow down, i.e. I am postulating that the inductance of the coil is now causing a reduction in the force on the needle when the needle is nearly aligned with any one of the coils.

A solution, if this is the problem, would be to reduce the time constant of the coil or to increase the period of the PWM, so that small duty cycles are larger than the coil time constant. The PWM frequency is 150Hz, and below about 100Hz there is vibration, so I think I've got this as low as I can, perhaps I'll try 120 Hz or so.

Next step to try (and I'll update this answer later), is to consider the coil to be a perfect inductor and a series resistance (time constant T = L/R). Therefore, if I increase the series R (by adding another resistor and increasing the voltage, I can get a smaller T but identical I through the coil). This smaller time constant should mean that the angular position where there is a slow down in the needle is much reduced.