Projekt: budżetowy driver silnikików krokowych

Rozmowy na temat układów elektronicznych sterowania obrabiarek CNC

Autor tematu
poorchava
Specjalista poziom 2 (min. 300)
Specjalista poziom 2 (min. 300)
Posty w temacie: 61
Posty: 327
Rejestracja: 10 sty 2012, 15:32
Lokalizacja: Festung Breslau

Projekt: budżetowy driver silnikików krokowych

#1

Post napisał: poorchava » 14 mar 2012, 12:26

Witam,

kombinuję ostatnio nad zaprojektowaniem sterownika do silników bipolarnych. Prąd na fazę 2A i w górę. Moim celem jest zbudowanie za rozsądną kwotę sterownika półkrokowego (albo mikrokrokowego, jeżeli się uda). Driver ma być sterowany portem drukarki i obsługiwać wszystkie rodzaje silników. Zasilanie tak wysoko jak się da (30V?)

Projekt powstaje z okazji niechęci do kupowania drogich sterowników ze sklepu sponsora albo kota w worku z ebaya.

Ogólne założenie jest takie: na każdy silnik 2 mostki H zbudowane na tranzystorach bipolarnych, sterowane mikrokontrolerem. Schemat pojedynczego mostka poniżej:

Obrazek

Górne tranzystory mostka to pary darlingtona TIP127 (akurat nie miałem w bibliotece symbolu dla 127 dlatego jest na rysunku 125). Prąd bazy darlingtona ograniczony rezystorem 2k2 co powinno dać ~10mA prądu bazy. Rezystor 20k podciąga bazę do zasilania co zmniejsza czanse na przypadkowe popłynięcie prądy zwarciowego. Żeby załączyć tranzystor potrzebny jest niski potencjał na bazie. Dodałem więc inwerter na tranzystorze bc847 (wersja smd popularnego bc547). Tranzystory dolne to komplementarne modele dla TIP 127 czyli TIP122. Parametry praktycznie takie same. Prad bazy ograniczony rezystorem (powinno być 470R zamiast 2k2 - do poprawienia) i ściągnięty do masy w celu zabezpieczenia przed uszkodzeniem. Tranzystory są zabezpieczone ultraszybkimi diodami prostowniczymi serii UF5400 (modele różnią się tylko napięciem blokowanym) o czasie przełączenia 50ns/75ns. Dolny rezystor mocy służy do pomiaru prądu uzwojenia.


Schemat logiki:
Obrazek

Układ logiki to podstawowe zastosowanie Atmegi 8 (może będzie to inny mikrokontroler). Kwarc 20MHz, doprowadzone sygnaly dir, step i enable. Dir i Enable podciągnięte do zasilania logicznego 5V a Step do masy. Wejścia do pomiaru prądu uzwojeń zabezpieczone ukłdem rezystor+dioda zenera 4v7.

Szacowany koszt elementów:
Mostek:
2xTIP122 - 2.44zł
2xTIP127 - 1.82zł
2xBC847B - 0.12zł
1x rezystor 5W 0R22 - 0.5zł
12x rezystor smd 0805 - 0.5zł (?)
4x UF5408 - 1.3zł
razem 6.68zł, 2 mostki = 13.36zł

Logika
1xAtmega8A ~5zł
~10x smd 0805 - 0.5zł
kwarc 0.74zł
2x dioda BZX55C4V7 - 0.1zł
razem ~7zł

Razem ~20zł za driver nie licząc PCB (homemade~5zł, profesjonalna zależnie od ilości strzelam około ~20zł/szt). Ewentualnie jakiś wiekszy kondensator elektrolityczny do każdego drivera to orientacyjnie 5zł.

Dodatkowo konektory, listwy pinowe, zaciski łącznie chyba nie więcej niż 5zł, a i mozna to olać (lutowac przewody do pcb). Bez nich razem wyjdzie. PCB tak naprawdę jest opcjonalne, ponieważ wszystkie elementy smd mają odpowiedniki THT i można układ zmontować na płytce uniwersalnej (swoją drogą: smd0805 też się da lutować na takiej płytce spokojnie :) ).

Sumując: wersja spartańska/minimalistyczna byłaby do wykonania kosztem około 20zł + płytka uniwersalna. Wersja wypasiona tak na oko 50-60zł.

Przy takim układzie jak jest na schemacie wychodzą następujące parametry:
-prąd maksymalny 2A @ 30V / 3.5A @ 20V / 5A @ 10V
-sterowanie silników unipolarnych i bipolarnych,
-procesor 20MIPS mocy obliczeniowej z przetwornikiem ADC 200 ksps (multipleks na 2 mostki = 100ksps).
-interface step/dir
-po zmianie paru wartości elementów i dodaniu dodatkowych par TIP122/127 teoretycznie można zwiększyć prąd 2, 3, 5 razy (wtedy raczej tranzystory montowane do radiatora i połączone przewodami z PCB)




Czy ktos ma jakies sugestie/pomysły? Projekt jest interesujący waszym zdaniem czy niekoniecznie?



Tagi:


kasztan
Specjalista poziom 1 (min. 100)
Specjalista poziom 1 (min. 100)
Posty w temacie: 17
Posty: 165
Rejestracja: 12 lip 2010, 15:23
Lokalizacja: Warszawa

#2

Post napisał: kasztan » 14 mar 2012, 13:05

1) Maksymalne zasilanie ustaliłbym na poziomie 50-60V.
2) Od razu zrezygnowałbym z Atmegi. Też lubię ten uP, ale jest on słabawy i będzie wprowadzał ograniczenia.
Poszedłbym w kierunku jakiegoś prostego ale szybszego ARM. Na początek gotowy moduł łatwo dostępnego i taniego ARMa.
3) W zależności od uP zastanowiłbym się nad szybszym przetwornikiem ADC, o szybkim interfejsie i nie za wysokiej rozdzielczości. Posłużyłby on do lepszej kontroli prądu uzwojenia. Ja osobiście próbowałbym płynnie sterować tym prądem w czasie kroku.
4) Na pewno w czasie pisania oprogramowania zrobiłbym warstwę abstrakcji sprzętu, żeby łatwo przenosić w razie czego oprogramowanie na inny sprzęt.

Awatar użytkownika

tuxcnc
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 20
Posty: 7861
Rejestracja: 26 lut 2011, 23:24
Lokalizacja: mazowieckie

#3

Post napisał: tuxcnc » 14 mar 2012, 13:09

TB6560 kosztuje na Ebay 4USD z wysyłką.

.


jarekk
ELITA FORUM (min. 1000)
ELITA FORUM (min. 1000)
Posty w temacie: 14
Posty: 1701
Rejestracja: 17 mar 2006, 08:57
Lokalizacja: Gdańsk

#4

Post napisał: jarekk » 14 mar 2012, 13:17

kasztan pisze:Na początek gotowy moduł łatwo dostępnego i taniego ARMa.
Jest nawet nieco lepsze rozwiązanie - są specjalizowane procki Microchip'a do zasilaczy impulsowych. Polega to na tym, że zawierają w sobie zarówno komparatory jak przetworniki DAC ( podłączane do komparatora) - dzięki temu można po prostu podłączyć je do napiecia SENS bezpośrednio.

Dzięki temu nie trzeba będzie mierzyć bezpośrednio napiecia tylko polegać na sygnałach z komparatora.


kasztan
Specjalista poziom 1 (min. 100)
Specjalista poziom 1 (min. 100)
Posty w temacie: 17
Posty: 165
Rejestracja: 12 lip 2010, 15:23
Lokalizacja: Warszawa

#5

Post napisał: kasztan » 14 mar 2012, 13:17

tuxcnc pisze:TB6560 kosztuje na Ebay 4USD z wysyłką.

.
Oj tam oj tam:)


Przy okazji TB6560.
Zastanowiłbym się jeszcze nad sprawdzeniem czy będzie problem przy braku zasilania logiki uP i obecnemu napięciu na cewkach...

Z uP Microchipa nie miałem do czynienia. Warto poświęcić czas na przejrzenie co oferuje rynek. Nie ominąłbym nawet FPGA.

Niestety jeżeli sterownik ma być tani to lepiej kupić TB6560 albo jaki inny konkurencyjny scalaczek... No chyba, że robimy tani sterownik dla samego zrobienia.


Autor tematu
poorchava
Specjalista poziom 2 (min. 300)
Specjalista poziom 2 (min. 300)
Posty w temacie: 61
Posty: 327
Rejestracja: 10 sty 2012, 15:32
Lokalizacja: Festung Breslau

#6

Post napisał: poorchava » 14 mar 2012, 14:55

Maksymalne zasilanie ustaliłbym na poziomie 50-60V
Tranzystory będą sporo droższe
Od razu zrezygnowałbym z Atmegi. Też lubię ten uP, ale jest on słabawy i będzie wprowadzał ograniczenia.
Poszedłbym w kierunku jakiegoś prostego ale szybszego ARM. Na początek gotowy moduł łatwo dostępnego i taniego ARMa
Mam taki moduł, STM32 Discovery z Cortexem-M3. Podstawowy problem to taki, że Te procki chodzą na 3V3, nie na 5V. Mają wejścia tolerancyjne dla 5V ale wyjścia co najwyżej open collector/ open drain. Ponadto ARM jest bardziej skomlpikowany w programowaniu.
W zależności od uP zastanowiłbym się nad szybszym przetwornikiem ADC, o szybkim interfejsie i nie za wysokiej rozdzielczości. Posłużyłby on do lepszej kontroli prądu uzwojenia. Ja osobiście próbowałbym płynnie sterować tym prądem w czasie kroku.
Wszystko ok, ale trzeba by z jedno zero do ceny dołożyć, dodać źródło napięcia referencyjnego etc. Dodatkowo szybki przetwornik wymaga szybkiego kontrolera z DMA a i tak zje sporo zasobów. To by wymagało bardziej CPLD/FPGA. Tutaj priorytetem jest stosunek możliwości/cena. Dochodzi jeszcze fakt, że przełączanie dużych obciążeń powoduje kolosalne zakłócenia sygnałów. Zrobienie dobrej płytki mixed-signal pod takie środowisko działania to kupa czasu, kombinowania i eksperymentów.
TB6560 kosztuje na Ebay 4USD z wysyłką.
I ma całkowicie faszystowski układ wyprowadzeń. Cholernie trudne to do połączenia tak, żeby dało się to zrobić metodą domową dwustronną. Potrzeba by metalizacji. Płytka jednostronna chyba składałaby siuę w 30% ze zworek. Podobnie z chipami Allegro.
Jest nawet nieco lepsze rozwiązanie - są specjalizowane procki Microchip'a do zasilaczy impulsowych. Polega to na tym, że zawierają w sobie zarówno komparatory jak przetworniki DAC ( podłączane do komparatora) - dzięki temu można po prostu podłączyć je do napiecia SENS bezpośrednio.
Są też takie rpzeznaczone do kontroli silników (co pradwa bardziej BLDC ale sporo przydatnych funkcji mają). Czynnik zaporowy: cena. Sam procek kosztuje ~30zł. Są nawet takie wynalazki jak chociażby dsPIC30F2010, który ma przetwornik ADC 2000 ksps.

Dla mnie TB6560 ma sens tylko wtedy, kiedy pcb będzie zamawiane w firmie. Na amatorskiej płytce to będzie koszmar.

Oczywiście, da się zrobić rozwiązanie typu 'ultimate'. Jakiś Spartan 3, Coolrunner II, Cyclone + szybki przetwornik ADC + kondycjonowanie sygnału (wzmacniacze operacyjne, komparatory, bufory tri-state). Na wyjściu mostek H na mosfetach low-RDSon 100A 60V (chociażby sanyo tkaie robi) + oczywiście driver do high side i low side. Przy duzych prądach pomiar na rezystorze jest problematyczny więc użyc trzeba albo bardzo małego rezystora i wzmacniać sygnał (oczywiscei po przefiltrowaniu) albo jakiegoś przekładnika prądowego/czujnika bezkontaktowego. No i oczywiście napisac program pod logikę... Voila, mamy wypasiony sterownik.... za 1.5k zł.

Ten projekt to raczej typ 'low-budget'.

Awatar użytkownika

pascalPL
Specjalista poziom 2 (min. 300)
Specjalista poziom 2 (min. 300)
Posty w temacie: 6
Posty: 547
Rejestracja: 10 cze 2011, 14:19
Lokalizacja: Lublin

#7

Post napisał: pascalPL » 14 mar 2012, 16:05

poorchava pisze:Razem ~20zł za driver nie licząc PCB (homemade~5zł, profesjonalna zależnie od ilości strzelam około ~20zł/szt). Ewentualnie jakiś wiekszy kondensator elektrolityczny do każdego drivera to orientacyjnie 5zł.
Powiem tak, jestem zainteresowany. Nie mam czasu siedzieć i projektować a przydałby mi się mały tani sterownik, na małe napięcia. Myślę, że dla początkujących, liczących się z każdym groszem ludzi taki sterownik byłby w sam raz.
Tylko zaaplikuj atmege tej generacji np. atmega48 albo atmega88 jak jakiś jakieś skomplikowane procedury planujesz. atmegi X8 mają 20MIPSów :) zawsze to 4 MIPSy więcej.. poza tym nową serię można jeszcze o kilka MHz podkręcić :) prawie OC drivera.

Czekam na jakiś projekt PCB i wsad do testów :)


pukury
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 2
Posty: 7606
Rejestracja: 23 lis 2004, 22:41
Lokalizacja: kraków

#8

Post napisał: pukury » 14 mar 2012, 16:49

witam.
jakby co to mogę jakąś płytkę naskrobać .
co prawda w programie starożytnym - ale da się .
oczywiście w sposób możliwy do odtworzenia przez większość kol. termotransferem .
pozdrawiam .
Mane Tekel Fares

Awatar użytkownika

markcomp77
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 13
Posty: 3975
Rejestracja: 18 wrz 2004, 12:51
Lokalizacja: k/w-wy
Kontakt:

#9

Post napisał: markcomp77 » 14 mar 2012, 17:06

chyba łatwiej i pewniej zrobić końcówkę IR21xx+mosfets
a sterownie - fpga lub dspic - a może jest jakiś arm ze sprzętem do sterownia mostów itd (był kiedyś ciekawe ale zawierający wiele błędów stelaris.. czy jakoś tak)
SpotkanieCNC: STOM-TOOL Marzec 2014
http://www.cnc.info.pl/topics79/spotkan ... t55028.htm

Awatar użytkownika

tuxcnc
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 20
Posty: 7861
Rejestracja: 26 lut 2011, 23:24
Lokalizacja: mazowieckie

#10

Post napisał: tuxcnc » 14 mar 2012, 18:04

Dzięki temu wątkowi przypomniałem sobie, że powinienem zamówić kilka sztuk TB6560 na Ebay.
Ku mojemu zaskoczeniu wyszło dokładnie 45 zł za pięć sztuk.
Planuję zrobić PCB pod jednoosiowe sterowniki z układem lutowanym na brzegu płytki.
Myślę, że taką płytkę newet gość z parkinsonem wyprasował by poprawnie.
Realny koszt gotowego sterownika to poniżej 15 złotych.

Ja bym chętnie zbudował sobie sterownik 10A/100V za 100zł, ale to co tu kombinujecie to bzdura i utopia.
Marnujecie czas i energię na coś, co albo nie będzie działające, albo nie będzie opłacalne, a najprędzej i jedno i drugie.

.

ODPOWIEDZ Poprzedni tematNastępny temat

Wróć do „Elektronika CNC”