Enkel kortslutningsbromsning för små motorer
Postat: 1 december 2024, 01:30:44
Hej alla,
Jag arbetar just nu med ett Arduino-projekt, främst för att lära mig mer, där jag vill styra flera små DC-motorer (3,7V, 0,1A) med PWM. Ett problem jag stött på är att motorerna fortsätter att snurra av sig själva i några sekunder efter att PWM-signalen sätts till 0. Detta beror på trögheten i motorerna. Jag skulle vilja få dem att stanna så snabbt som möjligt (inom rimliga gränser) när PWM är 0 (eller nära noll). Eftersom jag inte använder en H-brygga och motorerna bara snurrar i en riktning, är de endast anslutna till PWM och jord. Jag skulle gärna behålla den här enkla uppkopplingen utan att behöva lägga till fler signaler.
Efter att ha forskat lite tror jag att det jag behöver är en lösning som i princip kortsluter motorns båda anslutningar när PWM-signalen är 0. Min tanke var att använda en PNP-transistor där emitter- och kollektorportarna kopplas till motoranslutningarna, och basen styrs av PWM-signalen. Detta är ungefär som jag föreställer mig lösningen, och som jag förstått det borde detta kortsluta motorn när spänningen på basen är lägre än på emittern. Observera att jag är nybörjare, så om det finns några uppenbara misstag i min förståelse får ni gärna rätta mig!

Ett annat problem som jag tror mig ha förstått är att eftersom PWM:s omkopplingsfrekvens är betydligt lägre än en BJT-transistors svarstid, skulle min lösning kunna orsaka kortslutning och bromsning inom varje PWM-cykel (när spänningen är 0). Detta skulle i sin tur bromsa motorn även under drift och leda till högre energiförbrukning. Jag är endast intresserad av att bromsa motorerna när PWM-signalen är ihållande 0 (eller nära noll), inte inom varje PWM-cykel.
Jag skulle verkligen uppskatta era råd! Mitt mål är att hålla lösningen enkel, kostnadseffektiv och utan att påverka motorns prestanda vid vanlig drift, allt medan jag undviker att lägga till extra styrsignaler. Är det möjligt, och i så fall hur?
Tack på förhand!
Jag arbetar just nu med ett Arduino-projekt, främst för att lära mig mer, där jag vill styra flera små DC-motorer (3,7V, 0,1A) med PWM. Ett problem jag stött på är att motorerna fortsätter att snurra av sig själva i några sekunder efter att PWM-signalen sätts till 0. Detta beror på trögheten i motorerna. Jag skulle vilja få dem att stanna så snabbt som möjligt (inom rimliga gränser) när PWM är 0 (eller nära noll). Eftersom jag inte använder en H-brygga och motorerna bara snurrar i en riktning, är de endast anslutna till PWM och jord. Jag skulle gärna behålla den här enkla uppkopplingen utan att behöva lägga till fler signaler.
Efter att ha forskat lite tror jag att det jag behöver är en lösning som i princip kortsluter motorns båda anslutningar när PWM-signalen är 0. Min tanke var att använda en PNP-transistor där emitter- och kollektorportarna kopplas till motoranslutningarna, och basen styrs av PWM-signalen. Detta är ungefär som jag föreställer mig lösningen, och som jag förstått det borde detta kortsluta motorn när spänningen på basen är lägre än på emittern. Observera att jag är nybörjare, så om det finns några uppenbara misstag i min förståelse får ni gärna rätta mig!

Ett annat problem som jag tror mig ha förstått är att eftersom PWM:s omkopplingsfrekvens är betydligt lägre än en BJT-transistors svarstid, skulle min lösning kunna orsaka kortslutning och bromsning inom varje PWM-cykel (när spänningen är 0). Detta skulle i sin tur bromsa motorn även under drift och leda till högre energiförbrukning. Jag är endast intresserad av att bromsa motorerna när PWM-signalen är ihållande 0 (eller nära noll), inte inom varje PWM-cykel.
Jag skulle verkligen uppskatta era råd! Mitt mål är att hålla lösningen enkel, kostnadseffektiv och utan att påverka motorns prestanda vid vanlig drift, allt medan jag undviker att lägga till extra styrsignaler. Är det möjligt, och i så fall hur?
Tack på förhand!