Skocz do zawartości

bimbarabam

Użytkownicy
  • Zawartość

    13
  • Rejestracja

  • Ostatnio

Informacje

  • Płeć
    Mężczyzna

Osiągnięcia użytkownika bimbarabam

Odkrywca

Odkrywca (4/19)

  • Za 5 postów
  • To już rok!
  • Młodszy Juror

Odznaki

0

Reputacja

  1. Z tego co widzę to przy tym, nie ma mierzonego prądu tylko napięcia poprzez te dzielniki na wyjściach mostka, które idą na ADC. Jeżeli chodzi o drugie pytanie, to nie pisałem nigdzie, że rezystor pomiarowy to zawsze jest bocznik. Co do tych schematów od ST, to widzę, że muszę im się dokładniej przyjrzeć bo na pierwszy rzut oka trochę nie rozumiem sposobu użycia tych trzech boczników - czemu one na końcu one wszystkie są schemacie wspólną masą? Bo samą ideę rozumiem, że napięcie daje się na wzmacniacz operacyjny a potem już wyjścia adc uc. Na ile wzmacniacz operacyjny będzie tu separatorem swoją drogą, bo niby na wejściu dostaje różnicowo sygnał z analogowej części układu, a sam jest zasilany z częsci cyfrowej
  2. Co do tego break input to jest to jakiś pomysł, bo tu w sumie widzę jest spore pole do popisu. Ja akurat chciałem robić pomiar prądu za pomocą ADC przy obliczaniu następnego kroku tj. w przerwaniach zewnętrznych od czujników Hall'a i tam przy okazji ustalania wspolczynnika PWM, zrobić od razu pomiar i interweniować stosownie. Rzeczywiście twój pomysł jest dobry, jeżeli chodzi o natychmiastową reakcję. Gdzie mam szukać tych projektów? Na forum, artykułach, robotach? Bo nie wiem jak mam się ustosunkować do tych pomiarów z wykorzystaniem boczników?
  3. Potrzebuję zrobić pomiar prądu, tak żeby na wszelki wypadek zabezpieczyć się przed jego nadmiernym poborem i zastanawiam się jak to zrobić, żeby z jednej strony nie zepsuć połączenia mas w jednym punkcie i z drugiej strony, żeby nie spowodowało to zakłócanie ADC mikrokontrolera. Jak już wcześniej wspominałem, to poszukuję czegoś, co zajmuje mało miejsca i tu od razu pytanie, w którym miejscu dokonywać pomiaru prądu, czy po prostu na zasilaniu 24V, które doprowadzam do sterownika, czy na którejś z faz silnika (mam nadzieję, że jedna wystarczy)? BTW w moim silniku nie mam wyprowadzonej masy, są tylko przewody na 3 fazy + czujniki Hall'a. Przeglądałem sobie rożne czujniki w internecie i zauważyłem, że popularne są nieco droższe i większe czujniki Allegro ACS, które mają wbudowane w środku rezystory rzędu kilku miliomów, albo czujniki ZXCT, które są mniejsze ale z koleji wymagają dołożenia zewnętrznego rezystora, więc pewnie trzeba by dać jakiś pomiarowy 0.1om w obudowie 2512, czy coś w tym stylu. Obydwa czujniki są o tyle ok, żetam na wyjściu stosowne napięcie, które potem można by od razu na ADC podać. Pytanie, czy korzystaliście może z tych czujników i możecie coś polecić, który warto zastostować? Albo w ogóle co inneo może użyć?
  4. Do tego co napisaleś, to wystarczy w zasadzie byle co. Jedynie ograniczający cię czynnik chyba, to jest to, czy wystarczy ci kanałów PWM na sterowanie serwami. Jeżeli zdecydujesz się na uC z wbudiwanym RTC do pozostaje ci dolaczyć tylko oscylator 32.768 kHz i jakąś płaską baterię, a jeżeli takowego nie posiadasz to dokupujesz scalaka, który np. po i2c skomunikuje się z twoim procesorem. Chyba większość stm32 mają wbudowane RTC, a z koleji chyba wszystkie atmegi maja przynajmniej jedno i2c aka TWI.
  5. Na razie jest to 20 kHz
  6. Kombinowałem sobie z różnymi prototypami i podpiąłem sobie rezystory połączone w gwiazdę, żeby zobaczyć, czy poziomy napięć na wyjściach się zgadzają (przy okazji popaliłem trochę tranzystorów 😃) no i wyszło, że jest generalnie jest okej, tylko były dość duże szpilki przy PWM (przy poziomie sygnału logicznego 24V szpilka miała poziom 28V). Dawałem zwykłe kondensatory ceramiczne 100n między VCC, a COM i VB, a VS. Przy każdej parze tranzystórów dałem ceramiczny 100n i rownolegle elektrolit 100u/50V. Jako diodę wrzuciłem SR180 (akurat to było najlepsze do tego rozwiązania, co miałem pod ręką). I teraz chciałbym zrobić pierwszy prototyp płytki drukowanej i mam pewne ograniczenia na wielkość płytki, to chciałbym, żeby tam gdzie się da używać elementów smd (nie używać elektrolitów THT tych wielkich cylindrów np.) Założenia są takie, że silnik jest zasilany z 24V, jako driver każdej fazy biorę ten IRS2104 w SOIC i on będzie sterował półmostek napięciami 0 i 12V, procek to stm32. No i ponadto zakładam, że nie będzie prądów większych niż 6A. Chciałbym się upewnić (skonsultować), co do wyboru elementów. Ponieważ, mam mało miejsca, to chciałbym, żeby elementy były możliwie małe. 1) Tranzystory Po pierwsze chciałbym się obyć bez dodatkowych radiatorów (nie mówię o polu miedzi na PCB). Planuję wziąć NMOS'y w D2Pak. Myślałem o takich jak np. IRL3803 albo np. IRF3205, IRFR4104, które mają RDson na poziomie kilku miliomów, więc przy 6A moce wydzielane w nich będą na poziomie powiedzmy 0,2 W, więc radiator dodatkowy powinien być zbędny, a pole miedzi planuję takie, żeby akurat pokrywało cały tranzystor - nie robić tego wielkiego pola 1cal kwadratowy. 2) Dioda Jeżeli chodzi o diody, to wziąłbym jakąś SMA z zapasem napięcia wstecznego np. BYS11-90 3) Kondensatory Jak już wspomniałem, nie chcę wstawiać kondensatorów THT, tylko smd i teraz pytanie czy do drivera IRS2104 mogę np. między VCC, a COM wrzucić sobie na przykład zwykłego 100n w obudowie 805 (albo jeszcze lepiej 603) i podobnie między VB, a VS? I jak z parą tranzystorów - czy na każdą parę wystarczy 100n + równolegle jakiś elektrolit SMD 100u/50V? 4) PWM Czy sygnał PWM, jeszcze jakoś dodatkowo filtrować, czy tymi szpilkami się nie przejmować? Czy ewentualnie dorzucić jeszcze jakieś transoptory między uC, a driverem? 5) Masa Chcę odseparować zasilanie stopnia mocy od części cyfrowej i tu pytanie jak tą masę poprowadzić i w którym miejscu połączyć obie masy? Bo de facto połączenia obu mas będą trzy razy - tam między każdym irs2104 a parą tranzystorów. Czy zrobić gdzieś jedno połączenie tylko i to do niego doprowadzić wszystkie masy z driverów i mostków?
  7. Jakie w tym driverze powinieniem wstawić diody, kondensatory i te rezystory, bo w sumie w datasheet nie ma nic o tym ani slowa?
  8. Dziękuję za obie odpowiedzi 😉. W sumie to chyba jeszcze koncepcyjnie został mi tylko moment startu. I tak sobie kombinuję, że ponieważ na początku nie znam w ogóle położenia wirnika to chyba puścić cały cykl komutacyjny z PWM o bardzo małym współczynniku wypełnienia i przy pomocy czujników Halla wykryć to pierwsze położenie. Jeżeli położenie zostanie wykryte, to puścić już normalnie regulator i dochodzić do zadanej prędkości, a jezeli nie zostanie wykryte to zwiększyć wypełnienie PWM i powtórzyć procedurę. I teraz pytanie co o tym sądzicie i czy używanie np regulatora PID, do regulacji zmiany prędkości to dobry pomysł? To nie jest do dronów, nie będzie konieczności gwałtownych hamowań, czy przyspieszeń, po prostu rozpędzamy sobie silnik do zadanej prędkości i ma stabilnie hulać przez parę godzin na przykład. Pytanie, czy przy takim zastosowaniu ma np sens dodawanie układu ograniczania prądu, czy też kontroli temperatury - podobno ten typ silników charakteryzuje się niską awaryjnością?
  9. Aktualnie robię driver na stm32f4, bo miałem go pod reką 😃 - wiem, to trochę strzelanie z armaty do muchy. Potem pewnie przejdę na jakiegoś lżejszego i mniejszego stm'a 32. Na ATmegi nie mam prawdę mówiąc ochotę wracać - kiedyś ich używałem, ale powiem szczerze, że przyzwyczaiłem się do stm32, które mają duuużo większe możliwości. Na razie skonfigurowałem sobie dla testów jeden timer w trybie PWM, w których są właśnie 3 pary PWM po dwa wyjścia z programowalnym czasem martwym. Co prawda jak rozumiem, jeżeli użyję tego drivera IRS2104, to nie potrzebuję 3 par PWM, tylko 3 pojednynczych PWM. A tak a propos tego driver'a to jaką diodę tam wrzucić - jakaś szybka przełączająca ma być, czy może być zwykła prostownicza? Co do sterowania prędkością to tak oczywiście zamierzam użyć czujników Hall'a i użyć przerwań zewnętrznych od obydwu zboczy. Przy okazji w przerwaniu planowałem zrobić pomiar prędkości i zmieniać wspołczynnik PWM, tak żeby trzymać stałą, zadaną prędkość. Pomiar prędkości planowałem poprzez pomiar czasu przy pomocy dodatkowego timera, między aktualną, a poprzednią komutacją - bo wiedząc o jaki kąt się obrócił wirnik między dwoma komutacjami i znając czas mam prędkość kątową. Żeby kontrolować prędkość chyba sobie jakiegoś PID'a wstawię po prostu, żeby mi wyznaczał uchyb własnie na podstawie tego pomiaru prędkości i zmieniał stosowanie współczynnik wypełnienia. Jest jedna rzecz, która mnie odnośnie regulacji prędkości zastanawia - czy prędkość reguluje się tylko i wyłącznie PWM, czy wpływ ma też częstotliwość komutacji - nie mam na myśli częstotliwości PWM. Załóżmy dla przykładu, że chcę, żeby prędkość obrotowa wynosiła 20o/s. i czy w związku z tym (założmy dla uproszczenia 1-krotność biegunów) muszę wykonać 20 pełnych cykli komutacyjnych, a PWM reguluję tylko moc i np. to czy silnik się grzeje, bądź nie, czy też ilość cykli komutacyjnych mnie nie obchodzi i mogę sobie robić 1 cykl na sekundę, a PWMem i tak sobie dokręcę prędkość i będę miał te 20 obrótów na sekundę?
  10. Odnośnie Back-EMF to zgadzam się i użyję czujników Halla'a - jeszcze tylko kwestia znalezienia efektywnego rozwiązania z perspektywy zasobów mikrokontrolera. Obejrzałem sobie dziś na oscyloskopie przebiegi z czujników i wygląda to bardzo obiecująco - wydaje się że, to tylko kwestia detekcji fazy. A co do tych przebiegów i artykułu, to na pewno jutro do niego zajrzę, ale chyba trochę się niejasno wyraziłem - oczywiście jestem świeży w temacie. Ja wiem jak wygląda ten cykl komutacji -> na wyjściu mostka jest albo stan niski, albo wysoki, albo wysokiej impedancji. No i teraz o ile jak bez tego drivera, co wysłałeś, rozumiem co trzeba podać na tranzystory, żeby uzyskać każdy z tych trzech stanów, to nie wiem jak to jest w przypadku tego drivera. I teraz znowu przy założeniu, że rozpatrujemy wariant z typowej aplikacji z datasheet, to zakładając, że na wejście IN podam z uC logiczne '0' to na wyjściu mostka dostanę stan niski, a jak podam logiczne '1' to stan wysoki. I moja wątpliwość dotyczyła tego w jaki sposób osiągnąć stan wysokiej impedancji na wyjściu mostka i to co mi przyszło do głowy, to to, czy nie trzeba użyć tego pinu /SD, żeby wyłączyć oba tranzystory? I dlatego zapytałem o ten pin i czy dobrze kombinuję?
  11. Dziękuję za wyjaśnienie, teraz już jest dla mnie to jasne. Jeszcze jedno pytanie mi się nasuneło - jak sobie przeglądałem ten artykuł, o którym pisałem w pierwszym poście, to tam jak był rozpisany cykl komutacji i każda faza mogła być w stanie niskim, wysokim, albo niepołączona. No i pytanie jak tu osiągnąć stan niepołączony. Czy trzeba za pomocą pinu /SD wyłączyć wówczas sterownik? Co do tego back-EMF, to chyba nie będę w ogóle tego stosował, bo czytałem że to nie jest najlepsze rozwiązanie i ta siła też jest proporcjonalna do obrotów i przy małych prędkościach to średnio działa. Mój silniczek ma od razu w sobie czujniki Halla i to je planuje wykorzystać, aczkolwiek jeszcze nie planowałem jak ma wyglądać tor pomiarowy i integracja z mikrokontrolerem. Muszę właśnie zaraz zobaczyć sobie jak wygląda sygnał z tych czujników. W przyszłości ma być jeszcze enkoder gdzieś tam zamontowany, ale na razie póki dysponuję czujnikami Halla, to ich użyję.
  12. Wziąłem się za ten projekt akurat, ponieważ był dobrze rozpisany i prosty koncepcyjnie i widziałem przeglądając sieć, że dużo osób się na tym wzoruje albo stosowane są podobne rozwiązania. Ten scalaczek, który podesłałeś wygląda bardzo fajnie (szczególnie, że to, że jednym wyjściem od razu dwa tranzystory da się wysterować i ten deadtime), tylko mam kilka wątpliwości odnośnie poziomów napięć, bo trochę niejasne są dla mnie niektóre rzeczy z datasheet w połączeniu ze stwierdzeniem "napięcie sterowania bramki tak górnego jak i dolnego zależy jedynie od zasilania drivera - zrobisz 10V to masz zawsze prostokąt 0-10V względem źródła każdego z tranzystorów". Chciałbym wysterować driver sygnałem z mikrokontrolera o poziomach 0 - 3,3V, gdzie półmostek będzie zasilany z 24V. Powiedzmy, że analizuję sobie taki obwód z typowej aplikacji, jaka jest przedstawiona w datasheet. I teraz tak, bo w dokumentacji jest tak wytłumaczone, że VCC to "Low-side and logic fixed supply voltage", czyli do vcc nie podpinam 3.3V tylko napięcie na przykład 12V i wtedy na wyjściu LO będę miał sygnał o poziomach 0 i 12V tak? I jak to będzie wówczas z tranzystorem górnym tj. jakimi poziomiami bęzie on sterowany z wyjścia HO? Też 0 i 12V? I jakie jest napięcie na pinie VS? Pytam tak o te poziomy, bo zastanawiam się czy nmosy, które posiadam będą się nadawać np posiadam IRF540
  13. Witam muszę zrobić sterowanie do silnika trójfazowego BLDC o nominalnym napięciu 24V, chciałem pierwotnie wzorować się na takim artykule link. Plan był taki, żeby dla każdego półmostka obydwa tranzystory sterować PWM z mikrokontrolera. Trochę mi zaczął życie komplikować fakt, że nie mogę sobie wysterować pmosa sygnałem z klucza o poziomach 0V i 24V, bo maks napięcie Ugs zazwyczaj wynosi +-20V. Myślałem, żeby wstawić po prostu w kolektor dzielnik napięcia, bo to rozwiązuje problem z poziomami napięć, tylko z drugiej strony ten prąd płynący przez dzielnik przy przełączaniu dosyć psuje sprawę, ponieważ chciałbym, żeby PWM miał częstotliwość kilkudziesieciu kHz i przy zakładam, że silnik może ciągnąć te 120W, więc parę amperów przez te mosfety będzie lecieć. Mój schemat na załączonym obrazku. Jako nmosa wybralem irf7201, a pmosa irf5305. Moje pytanie jest takie, co o tym sądzicie i czy w ogóle jest sens brnąć w tą stronę, czy ten dzielnik można sensownie zastąpić czymś innym. Ewentualnie czy możecie mi polecić jakieś inne rozwiązania, jeżeli chodzi o sterowanie takim silnikiem przy wspominianych paramterach? Nie ukrywam, że zależy mi, żeby to sterowanie było możliwie proste i fajnie by było, gdyby używając załóżmy jakiś dodatkowych scalaków, dałoby się to wszystko wcześniej jakoś złożyćna płytkach uniwersalnych i przetestować.
×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.