Hi everyone, I am looking for some suggestions on how to resolve an issue I have been running into when controlling a small DC motor with a high startup current using PWM and a MOSFET with a 3.3v Arduino Nano 33 IoT - the problem is that the Arduino resets when the motor is being driven at anything above a half duty cycle.
I attach my schematic and the data sheet of the motor. I am powering my circuit with 4.5V (3xAAA batteries).
Some notes:
- I have a flyback diode on the motor and a small .1uF capacitor between the leads.
- I have tried 1000uF to 3300uF electrolytic capacitors between the VIN and GND pins of the Arduino and the difference in improvement is small.
- I have tried this circuit with and without the button control circuit and there is no difference.
- The operation of the motor at a higher PWM is intermittent. When the motor does successfully run, it will run for a few seconds before resetting. Other times, it will reset directly after the Arduino tries to pulse the pin of the MOSFET.
- In addition to the issue occurring at a higher PWM, it also happens when I touch the head of the motor (obviously). I assume because the stall current is too high and creates a voltage drop?
- When driving at half PWM (analogWrite of 127) there is no issue.
- The issue begins to become noticeable at around an analogWrite of 170.
- The issue seems to persist as time goes on, as in, when I keep trying to switch the motor and it resets the Arduino, the time between resets increases until the Arduino is barely switching on when the motor turns on.
- When I power the Arduino through the 3V3 pin with a V-reg, the problem barely occurs - even without the high-value capacitor. It is only when I am putting 4.5V into the VIN pin. However, it is not good practise to power the Arduino through the 3V3 pin, as it needs more than that to function properly anyway.
- I have also tried a 5V Nano powering through the 5V pin and a 3.3v Trinket and the issue seems much less prevalent.
My first question is: Beyond changing the power supply or just operating at lower PWM, are there any components I could add to my circuit or change to try and solve this?
My other related question is: I understand that where possible when using MOSFETs to switch high current components like this it’s recommended to use a separate power supply. However, due to space limitations this isn’t possible for me.
I was therefore wondering if using a voltage regulator like I am doing in my circuit would do any difference in this respect? For example powering my motor (rated at 1.5-5V) with a 3.3v LDO?
Thank you so much!
A
I attach my schematic and the data sheet of the motor. I am powering my circuit with 4.5V (3xAAA batteries).
Some notes:
- I have a flyback diode on the motor and a small .1uF capacitor between the leads.
- I have tried 1000uF to 3300uF electrolytic capacitors between the VIN and GND pins of the Arduino and the difference in improvement is small.
- I have tried this circuit with and without the button control circuit and there is no difference.
- The operation of the motor at a higher PWM is intermittent. When the motor does successfully run, it will run for a few seconds before resetting. Other times, it will reset directly after the Arduino tries to pulse the pin of the MOSFET.
- In addition to the issue occurring at a higher PWM, it also happens when I touch the head of the motor (obviously). I assume because the stall current is too high and creates a voltage drop?
- When driving at half PWM (analogWrite of 127) there is no issue.
- The issue begins to become noticeable at around an analogWrite of 170.
- The issue seems to persist as time goes on, as in, when I keep trying to switch the motor and it resets the Arduino, the time between resets increases until the Arduino is barely switching on when the motor turns on.
- When I power the Arduino through the 3V3 pin with a V-reg, the problem barely occurs - even without the high-value capacitor. It is only when I am putting 4.5V into the VIN pin. However, it is not good practise to power the Arduino through the 3V3 pin, as it needs more than that to function properly anyway.
- I have also tried a 5V Nano powering through the 5V pin and a 3.3v Trinket and the issue seems much less prevalent.
My first question is: Beyond changing the power supply or just operating at lower PWM, are there any components I could add to my circuit or change to try and solve this?
My other related question is: I understand that where possible when using MOSFETs to switch high current components like this it’s recommended to use a separate power supply. However, due to space limitations this isn’t possible for me.
I was therefore wondering if using a voltage regulator like I am doing in my circuit would do any difference in this respect? For example powering my motor (rated at 1.5-5V) with a 3.3v LDO?
Thank you so much!
A
Attachments
-
373 KB Views: 5
-
152.9 KB Views: 19
Last edited: