RTV forum PL | NewsGroups PL

Jak stabilizować niskie obroty silnika z L293D przy pomocy ADC i PWM?

Back EMF

NOWY TEMAT

elektroda NewsGroups Forum Index - Elektronika Polska - Jak stabilizować niskie obroty silnika z L293D przy pomocy ADC i PWM?

Goto page 1, 2  Next

Mirek
Guest

Fri Nov 11, 2016 2:15 pm   



Jest sobie silniczek sterowany z L293D. Na wejścia ENABLE podawany jest
PWM. Problemem jest oczywiście uzyskanie stabilnych niskich obrotów przy
małym współczynniku wypełnienia.
Można podłączyć bieguny silnika pod ADC i mierzyć różnicowo napięcie.
Pytanie teraz jak to należy robić? Mierzyć pomiędzy impulsami PWM i
uśrednić, mierzyć w konkretnym momencie (np, tuż przed początkiem
kolejnego impulsu?) - sprawa się komplikuje jeśli używam sprzętowego PWM.
A może jest gotowy scalak do takiego rozwiązania a ja próbuję wyważać
otwarte drzwi? Muszę mieć sterowanie prawo. lewo. stop i choćby
dwustopniową regulację prędkości.

--
Mirek.

Paweł Pawłowicz
Guest

Fri Nov 11, 2016 4:21 pm   



W dniu 2016-11-11 o 14:15, Mirek pisze:
Quote:
Jest sobie silniczek sterowany z L293D. Na wejścia ENABLE podawany jest
PWM. Problemem jest oczywiście uzyskanie stabilnych niskich obrotów przy
małym współczynniku wypełnienia.
Można podłączyć bieguny silnika pod ADC i mierzyć różnicowo napięcie.
Pytanie teraz jak to należy robić? Mierzyć pomiędzy impulsami PWM i
uśrednić, mierzyć w konkretnym momencie (np, tuż przed początkiem
kolejnego impulsu?) - sprawa się komplikuje jeśli używam sprzętowego PWM.
A może jest gotowy scalak do takiego rozwiązania a ja próbuję wyważać
otwarte drzwi? Muszę mieć sterowanie prawo. lewo. stop i choćby
dwustopniową regulację prędkości.

TPIC2101 Texasa. Ale prawo-lewo będziesz musiał dorzeźbić.

P.P.

Grzegorz Kurczyk
Guest

Fri Nov 11, 2016 4:51 pm   



W dniu 11.11.2016 o 14:15, Mirek pisze:
Quote:
Jest sobie silniczek sterowany z L293D. Na wejścia ENABLE podawany jest
PWM. Problemem jest oczywiście uzyskanie stabilnych niskich obrotów przy
małym współczynniku wypełnienia.
Można podłączyć bieguny silnika pod ADC i mierzyć różnicowo napięcie.
Pytanie teraz jak to należy robić? Mierzyć pomiędzy impulsami PWM i
uśrednić, mierzyć w konkretnym momencie (np, tuż przed początkiem
kolejnego impulsu?) - sprawa się komplikuje jeśli używam sprzętowego PWM.
A może jest gotowy scalak do takiego rozwiązania a ja próbuję wyważać
otwarte drzwi? Muszę mieć sterowanie prawo. lewo. stop i choćby
dwustopniową regulację prędkości.


Witam
Czym sterujesz tego L293D ? Jakimś AVR-em? Sprzętowy PWM to raczej nie
problem, bo zazwyczaj timer używany do PWM ma też możliwość zgłoszenia
przerwania, w którym możesz obsłużyć pobranie próbki przez ADC. Niektóre
uC mają nawet możliwość sprzętowego wyzwalania pomiaru ADC przez timer.
Pomiar najlepiej robić jak najpóźniej od wyłączenia prądu (czyli w sumie
zaraz przed włączeniem), bo zaraz po wyłączeniu indukcyjność uzwojeń
będzie mocno "dzwonić" samoindukcją.

--
Pozdrawiam
Grzegorz

Mirek
Guest

Fri Nov 11, 2016 5:32 pm   



W dniu 11.11.2016 o 16:51, Grzegorz Kurczyk pisze:

Quote:
Czym sterujesz tego L293D ? Jakimś AVR-em?

Na razie attiny13. Nie ma nic do roboty oprócz wpisania wartości PWM.
To może mierzyć ciągle i wybrać najniższą wartość?
Jest jeszcze problem z zasilaniem: mam w tej chwili zasilanie z 4-ech
NiCd, attiny przez diodę i 1000 mikro - inaczej mi się resetował przy
starcie silniczka. Do ADC pasowało by zasilanie stabilizowane...

--
Mirek.

janusz_k
Guest

Fri Nov 11, 2016 8:57 pm   



W dniu 2016-11-11 o 14:15, Mirek pisze:
Quote:
Jest sobie silniczek sterowany z L293D. Na wejścia ENABLE podawany jest
PWM. Problemem jest oczywiście uzyskanie stabilnych niskich obrotów przy
małym współczynniku wypełnienia.
Można podłączyć bieguny silnika pod ADC i mierzyć różnicowo napięcie.
Pytanie teraz jak to należy robić? Mierzyć pomiędzy impulsami PWM i
uśrednić, mierzyć w konkretnym momencie (np, tuż przed początkiem
kolejnego impulsu?) - sprawa się komplikuje jeśli używam sprzętowego PWM.
Taki pomiar nadal Ci nic nie mówi na temat obrotów, możesz mierzyć

średni prąd, jak przekroczy jakiś próg znaczy że silnik stoi.
A najlepiej to czujnik na silniku.


--
Pozdr

Janusz_K

janusz_k
Guest

Fri Nov 11, 2016 9:00 pm   



W dniu 2016-11-11 o 17:32, Mirek pisze:
Quote:
W dniu 11.11.2016 o 16:51, Grzegorz Kurczyk pisze:
ciach


Quote:
starcie silniczka. Do ADC pasowało by zasilanie stabilizowane...
Po co? Masz przecież w procku nap ref 1,1V do ADC,

wystarczająco stabilne.


--
Pozdr

Janusz_K

Grzegorz Kurczyk
Guest

Fri Nov 11, 2016 10:50 pm   



W dniu 11.11.2016 o 20:57, janusz_k pisze:
Quote:
W dniu 2016-11-11 o 14:15, Mirek pisze:
Jest sobie silniczek sterowany z L293D. Na wejścia ENABLE podawany jest
PWM. Problemem jest oczywiście uzyskanie stabilnych niskich obrotów przy
małym współczynniku wypełnienia.
Można podłączyć bieguny silnika pod ADC i mierzyć różnicowo napięcie.
Pytanie teraz jak to należy robić? Mierzyć pomiędzy impulsami PWM i
uśrednić, mierzyć w konkretnym momencie (np, tuż przed początkiem
kolejnego impulsu?) - sprawa się komplikuje jeśli używam sprzętowego PWM.
Taki pomiar nadal Ci nic nie mówi na temat obrotów, możesz mierzyć
średni prąd, jak przekroczy jakiś próg znaczy że silnik stoi.
A najlepiej to czujnik na silniku.



Taki pomiar jak najbardziej mówi o obrotach silnika. W momencie gdy PWM
ma "przerwę" silnik nie jest zasilany ale nadal się kręci zamieniając
się w prądnicę, której napięcie wyjściowe jest zależne od obrotów.
Pomiar prądu bardziej mówi o momencie obrotowym.

--
Pozdrawiam
Grzegorz

Grzegorz Kurczyk
Guest

Fri Nov 11, 2016 11:06 pm   



W dniu 11.11.2016 o 17:32, Mirek pisze:
Quote:
W dniu 11.11.2016 o 16:51, Grzegorz Kurczyk pisze:

Czym sterujesz tego L293D ? Jakimś AVR-em?

Na razie attiny13. Nie ma nic do roboty oprócz wpisania wartości PWM.
To może mierzyć ciągle i wybrać najniższą wartość?
Jest jeszcze problem z zasilaniem: mam w tej chwili zasilanie z 4-ech
NiCd, attiny przez diodę i 1000 mikro - inaczej mi się resetował przy
starcie silniczka. Do ADC pasowało by zasilanie stabilizowane...


Z tego co pamiętam w attiny13 TIMER0 ma dwa rejestry COMPARE OCR0A i
OCR0B. Jednym generujesz PWM, a drugim ustawiasz moment przerwania
uruchamiającego pomiar ADC. Do regulacji obrotów będziesz musiał
zaprogramować jakiś prosty regulator PID (choć w tym przypadku wystarczy
PI lub nawet sam człon proporcjonalny).

--
Pozdrawiam
Grzegorz

Grzegorz Kurczyk
Guest

Fri Nov 11, 2016 11:11 pm   



P.S. Zerknąłem do dokumentacji attin13 i on ma nawet sprzętowe
wyzwalanie ADC przez rejestry OCR0A lub OCR0B czyli wystarczy obsłużyć
przerwanie zakończenia przetwarzania przez ADC

--
Pozdrawiam
Grzegorz

Paweł Pawłowicz
Guest

Fri Nov 11, 2016 11:39 pm   



W dniu 2016-11-11 o 20:57, janusz_k pisze:
Quote:
W dniu 2016-11-11 o 14:15, Mirek pisze:
Jest sobie silniczek sterowany z L293D. Na wejścia ENABLE podawany jest
PWM. Problemem jest oczywiście uzyskanie stabilnych niskich obrotów przy
małym współczynniku wypełnienia.
Można podłączyć bieguny silnika pod ADC i mierzyć różnicowo napięcie.
Pytanie teraz jak to należy robić? Mierzyć pomiędzy impulsami PWM i
uśrednić, mierzyć w konkretnym momencie (np, tuż przed początkiem
kolejnego impulsu?) - sprawa się komplikuje jeśli używam sprzętowego PWM.
Taki pomiar nadal Ci nic nie mówi na temat obrotów, możesz mierzyć
średni prąd, jak przekroczy jakiś próg znaczy że silnik stoi.
A najlepiej to czujnik na silniku.

National Semiconductor Application Note 292, jest tam sterownik silnika
w oparciu o pomiar "pomiędzy impulsami PWM".

P.P.

janusz_k
Guest

Sat Nov 12, 2016 10:44 pm   



W dniu 2016-11-11 o 22:50, Grzegorz Kurczyk pisze:
Quote:
W dniu 11.11.2016 o 20:57, janusz_k pisze:
W dniu 2016-11-11 o 14:15, Mirek pisze:
Jest sobie silniczek sterowany z L293D. Na wejścia ENABLE podawany jest
PWM. Problemem jest oczywiście uzyskanie stabilnych niskich obrotów przy
małym współczynniku wypełnienia.
Można podłączyć bieguny silnika pod ADC i mierzyć różnicowo napięcie.
Pytanie teraz jak to należy robić? Mierzyć pomiędzy impulsami PWM i
uśrednić, mierzyć w konkretnym momencie (np, tuż przed początkiem
kolejnego impulsu?) - sprawa się komplikuje jeśli używam sprzętowego
PWM.
Taki pomiar nadal Ci nic nie mówi na temat obrotów, możesz mierzyć
średni prąd, jak przekroczy jakiś próg znaczy że silnik stoi.
A najlepiej to czujnik na silniku.



Taki pomiar jak najbardziej mówi o obrotach silnika. W momencie gdy PWM
ma "przerwę" silnik nie jest zasilany ale nadal się kręci zamieniając
się w prądnicę, której napięcie wyjściowe jest zależne od obrotów.
Pomiar prądu bardziej mówi o momencie obrotowym.

Wiem o tym, tyle że ze względu na przepięcia pomiar nadal nie jest

trywialny, a On szukam prostych rozwiązań.

--
Pozdr

Janusz_K

janusz_k
Guest

Sat Nov 12, 2016 10:44 pm   



W dniu 2016-11-11 o 23:39, Paweł Pawłowicz pisze:
Quote:
W dniu 2016-11-11 o 20:57, janusz_k pisze:
W dniu 2016-11-11 o 14:15, Mirek pisze:
Jest sobie silniczek sterowany z L293D. Na wejścia ENABLE podawany jest
PWM. Problemem jest oczywiście uzyskanie stabilnych niskich obrotów przy
małym współczynniku wypełnienia.
Można podłączyć bieguny silnika pod ADC i mierzyć różnicowo napięcie.
Pytanie teraz jak to należy robić? Mierzyć pomiędzy impulsami PWM i
uśrednić, mierzyć w konkretnym momencie (np, tuż przed początkiem
kolejnego impulsu?) - sprawa się komplikuje jeśli używam sprzętowego
PWM.
Taki pomiar nadal Ci nic nie mówi na temat obrotów, możesz mierzyć
średni prąd, jak przekroczy jakiś próg znaczy że silnik stoi.
A najlepiej to czujnik na silniku.

National Semiconductor Application Note 292, jest tam sterownik silnika
w oparciu o pomiar "pomiędzy impulsami PWM".
Powodzenia.



--
Pozdr

Janusz_K

Paweł Pawłowicz
Guest

Sat Nov 12, 2016 10:51 pm   



W dniu 2016-11-12 o 22:44, janusz_k pisze:
Quote:
W dniu 2016-11-11 o 23:39, Paweł Pawłowicz pisze:
W dniu 2016-11-11 o 20:57, janusz_k pisze:
W dniu 2016-11-11 o 14:15, Mirek pisze:
Jest sobie silniczek sterowany z L293D. Na wejścia ENABLE podawany jest
PWM. Problemem jest oczywiście uzyskanie stabilnych niskich obrotów
przy
małym współczynniku wypełnienia.
Można podłączyć bieguny silnika pod ADC i mierzyć różnicowo napięcie.
Pytanie teraz jak to należy robić? Mierzyć pomiędzy impulsami PWM i
uśrednić, mierzyć w konkretnym momencie (np, tuż przed początkiem
kolejnego impulsu?) - sprawa się komplikuje jeśli używam sprzętowego
PWM.
Taki pomiar nadal Ci nic nie mówi na temat obrotów, możesz mierzyć
średni prąd, jak przekroczy jakiś próg znaczy że silnik stoi.
A najlepiej to czujnik na silniku.

National Semiconductor Application Note 292, jest tam sterownik silnika
w oparciu o pomiar "pomiędzy impulsami PWM".
Powodzenia.

Spóźniłeś się Wink
Zrobiłem to jakieś 20 lat temu. Z małym silniczkiem z przekładnią
działało fajnie, z wiertarką do PCB już nie za bardzo. Wtedy znalazłem
TPIC2101, używam do dziś :-)

P.P.

janusz_k
Guest

Sun Nov 13, 2016 5:13 pm   



W dniu 2016-11-12 o 22:51, Paweł Pawłowicz pisze:
Quote:
W dniu 2016-11-12 o 22:44, janusz_k pisze:
W dniu 2016-11-11 o 23:39, Paweł Pawłowicz pisze:
W dniu 2016-11-11 o 20:57, janusz_k pisze:
W dniu 2016-11-11 o 14:15, Mirek pisze:
Jest sobie silniczek sterowany z L293D. Na wejścia ENABLE podawany
jest
PWM. Problemem jest oczywiście uzyskanie stabilnych niskich obrotów
przy
małym współczynniku wypełnienia.
Można podłączyć bieguny silnika pod ADC i mierzyć różnicowo napięcie.
Pytanie teraz jak to należy robić? Mierzyć pomiędzy impulsami PWM i
uśrednić, mierzyć w konkretnym momencie (np, tuż przed początkiem
kolejnego impulsu?) - sprawa się komplikuje jeśli używam sprzętowego
PWM.
Taki pomiar nadal Ci nic nie mówi na temat obrotów, możesz mierzyć
średni prąd, jak przekroczy jakiś próg znaczy że silnik stoi.
A najlepiej to czujnik na silniku.

National Semiconductor Application Note 292, jest tam sterownik silnika
w oparciu o pomiar "pomiędzy impulsami PWM".
Powodzenia.

Spóźniłeś się Wink
Zrobiłem to jakieś 20 lat temu. Z małym silniczkiem z przekładnią
działało fajnie, z wiertarką do PCB już nie za bardzo. Wtedy znalazłem
TPIC2101, używam do dziś Smile
No właśnie Smile wszystko zależy od silnika i wymaganej dokładności

regulacji, dla byle jakiej działa.


--
Pozdr

Janusz_K

Paweł Pawłowicz
Guest

Sun Nov 13, 2016 5:32 pm   



W dniu 2016-11-13 o 17:13, janusz_k pisze:
Quote:
W dniu 2016-11-12 o 22:51, Paweł Pawłowicz pisze:
W dniu 2016-11-12 o 22:44, janusz_k pisze:
W dniu 2016-11-11 o 23:39, Paweł Pawłowicz pisze:
W dniu 2016-11-11 o 20:57, janusz_k pisze:
W dniu 2016-11-11 o 14:15, Mirek pisze:
Jest sobie silniczek sterowany z L293D. Na wejścia ENABLE podawany
jest
PWM. Problemem jest oczywiście uzyskanie stabilnych niskich obrotów
przy
małym współczynniku wypełnienia.
Można podłączyć bieguny silnika pod ADC i mierzyć różnicowo napięcie.
Pytanie teraz jak to należy robić? Mierzyć pomiędzy impulsami PWM i
uśrednić, mierzyć w konkretnym momencie (np, tuż przed początkiem
kolejnego impulsu?) - sprawa się komplikuje jeśli używam sprzętowego
PWM.
Taki pomiar nadal Ci nic nie mówi na temat obrotów, możesz mierzyć
średni prąd, jak przekroczy jakiś próg znaczy że silnik stoi.
A najlepiej to czujnik na silniku.

National Semiconductor Application Note 292, jest tam sterownik silnika
w oparciu o pomiar "pomiędzy impulsami PWM".
Powodzenia.

Spóźniłeś się Wink
Zrobiłem to jakieś 20 lat temu. Z małym silniczkiem z przekładnią
działało fajnie, z wiertarką do PCB już nie za bardzo. Wtedy znalazłem
TPIC2101, używam do dziś Smile
No właśnie Smile wszystko zależy od silnika i wymaganej dokładności
regulacji, dla byle jakiej działa.

A w tej kwestii wątkotwórca bardzo dba o to, aby nie udzielić
jakiejkolwiek informacji Smile Nie wiemy jaki silnik, na jakie napięcie,
jakie będą prądy, jaka jest indukcyjność uzwojeń, jakie obroty, jaki
charakter obciążenia...
P.P.

Goto page 1, 2  Next

elektroda NewsGroups Forum Index - Elektronika Polska - Jak stabilizować niskie obroty silnika z L293D przy pomocy ADC i PWM?

NOWY TEMAT

Regulamin - Zasady uzytkowania Polityka prywatnosci Kontakt RTV map News map