TMC239

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

Autor tematu
Adalber
Specjalista poziom 3 (min. 600)
Specjalista poziom 3 (min. 600)
Posty w temacie: 39
Posty: 694
Rejestracja: 10 lip 2005, 15:13
Lokalizacja: Polska

#91

Post napisał: Adalber » 31 sty 2006, 14:19

Przedstawiam w uproszczeniu co znalazłem na FAQ
Można wysyłać dwa bajty jeden za drugim układ tmc239 ma 12 bitowy rejestr wejściowy - dekodowanie zawartości rejestru układ rozpoczyna kiedy linia CSN zmienia stan na wysoki .Ważne bity są liczone od końca ,tak więc cztery które zostały wpisane na początku wychodzą poza rejestr i są ignorowane , mogą mieć dowolną wartość.

Q: Does the TMC236 update the SPI datagram at once after the rising CSN edge?
A: Yes. You can use this to synchronize the microstep timing via the CSN edge. This allows to
send the SPI datagrams without strict real time requirements.
Q: My processor has an 8 bit SPI interface. How can I send 12 bit wide words?
A: You do not need to send 12 bit words. You can send 16 bit wide SPI telegrams. The first 4
bits are just shifted through the TMC236 and you can treat them as don’t care. When you send a
16 bit word to the SPI chain, this means, that the four upper bits in the processor are don’t care,
the next 4 bits in this byte represent: MDA, CA3, CA2, CA1. The lower byte represents the SPI
bits CA0, PHA, MDB, CB3, CB2, CB1, CB0, PHB.



Awatar użytkownika

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

#92

Post napisał: markcomp77 » 31 sty 2006, 14:25

troszeczkę przerwy... był weekend :)
a teraz do roboty
Adalber pisze:2 Zakładamy że prąd sterownika będziemy ustawiać tylko za pomocą rezystora Rs a redukcję prądu uzyskamy za pomocą układu który przedstawił markcomp77 "2 level control"
czyli końcówka mocy po modyfikacjach proponowanych przez kolegę Adalbera wyglądałe by tak:
Obrazek

zmiany widziane z bliska:

Obrazek

a teraz będziemy już zajmować się uC i PBC końcówki?
czy jeszcze coś zmieniay?

[ Dodano: 2006-01-31, 14:46 ]
dokładamy układ powiększający rozdzielczość?
SpotkanieCNC: STOM-TOOL Marzec 2014
http://www.cnc.info.pl/topics79/spotkan ... t55028.htm


Autor tematu
Adalber
Specjalista poziom 3 (min. 600)
Specjalista poziom 3 (min. 600)
Posty w temacie: 39
Posty: 694
Rejestracja: 10 lip 2005, 15:13
Lokalizacja: Polska

#93

Post napisał: Adalber » 31 sty 2006, 19:31

Markcomp77 proponuje między wyprowadzenie ENN i +5V rezystor 10k .Wysoki stan na wejściu ENN wyłącza układ i tranzystory mostka ,mamy wtedy pewność ,że układ nie wystartuje gdy nie podłączymy procesora .To samo można zrobić z wejściami ANN i SPE. Zastanawiam się nad wejściami BL2 i BL1 .Jeśli dobrze zrozumiałem - za ich pomocą ustalamy czas wyłączenia komparatora czopera aby napięcie na wejściu zdążyło się "ustalić" .Najlepiej gdy ten czas jest jak najkrótszy ,szczególnie dla mikrokroku .
Prawdopodobnie więc wejścia BL2 i BL1 trzeba będzie ustawić dla danych warunków tylko raz przy uruchamianiu sterownika .Dlatego proponuje tylko zworki na płytce dla tych
wejść.
Co sądzicie o procesorze AT89LP2052 jest tak samo wydajny jak atmega - nie wiem jak z ceną i dostępnością.

Dodane
Na razie może zrezygnujmy ze zwiększania rozdzielczości . Przy tej którą dysponujemy spokojnie zrobimy podział kroku 1/8 ,więcej chyba nie trzeba szczególnie przy sterowaniu Machem
Ostatnio zmieniony 31 sty 2006, 19:53 przez Adalber, łącznie zmieniany 1 raz.

Awatar użytkownika

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

#94

Post napisał: markcomp77 » 31 sty 2006, 19:52

Adalber pisze:Co sądzicie o procesorze AT89LP2052 jest tak samo wydajny jak atmega - nie wiem jak z ceną i dostępnością.
ja przymierzam się do procesora AT91SAM7S64... czyli ARM od atmela
nie jest drogi... jakieś 20zł, a na dniach ma się pojawić AT91SAM7S32 który będzie miał a jeszcze niższą cenę i mniej nóżek - jedynie 48 ;)

zamawiam platwormę rozwojową:
http://www.propox.com/products/t_134.html
mam dla tego jeszcze inne zastosowanie...

soft będzie C/C++ mam nadzieję ;)
Adalber pisze:Zastanawiam się nad wejściami BL2 i BL1 .Jeśli dobrze zrozumiałem - za ich pomocą ustalamy czas wyłączenia komparatora czopera aby napięcie na wejściu zdążyło się "ustalić" .Najlepiej gdy ten czas jest jak najkrótszy ,szczególnie dla mikrokroku .
Prawdopodobnie więc wejścia BL2 i BL1 trzeba będzie ustawić dla danych warunków tylko raz przy uruchamianiu sterownika .Dlatego proponuje tylko zworki na płytce dla tych wejść.
the blank time should be set to a value of at least 1.2us, because switching spikes are delayed due to the additional drivers
to z faq... punkt 5 - z zaleceń dla pracy sterownika przy duuuużym napięciu (str. 5)
SpotkanieCNC: STOM-TOOL Marzec 2014
http://www.cnc.info.pl/topics79/spotkan ... t55028.htm


Autor tematu
Adalber
Specjalista poziom 3 (min. 600)
Specjalista poziom 3 (min. 600)
Posty w temacie: 39
Posty: 694
Rejestracja: 10 lip 2005, 15:13
Lokalizacja: Polska

#95

Post napisał: Adalber » 31 sty 2006, 20:04

Nawet niedroga platforma (może czas przerzucić się na ARMy)
Co do wartości BL1,BL2 to wyjdzie w praniu ,jestem za zworkami .

Awatar użytkownika

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

#96

Post napisał: markcomp77 » 01 lut 2006, 01:10

Adalber pisze:Co do wartości BL1,BL2 to wyjdzie w praniu ,jestem za zworkami .
wydaje się, że powinny być zastąpione sterowniem z procka... dlaczego?
bo przy zakładanym wysokim napieciu zasilania (np.100V)... czas ustawiony powinien być długi
a jeśli zostanie zastosowane mniejsze (np. 30V) - procek powinie sam ustawić inny czas - bo napięcie zasilania może zmierzyć

dobry sterownik - to taki w którym ustawia się jak najmniej rzeczy i jest dobrze :)

----
drobna dygresja... ciekawa końcówka mocy

Obrazek
Obrazek

[ Dodano: 2006-02-01, 11:02 ]
Adalber pisze:Markcomp77 proponuje między wyprowadzenie ENN i +5V rezystor 10k .Wysoki stan na wejściu ENN wyłącza układ i tranzystory mostka ,mamy wtedy pewność ,że układ nie wystartuje gdy nie podłączymy procesora .To samo można zrobić z wejściami ANN i SPE.
Obrazek
Adalber pisze:Co do wartości BL1,BL2 to wyjdzie w praniu ,jestem za zworkami .
można na gnieźnie dolnym.. będzie można założyć jamperki... albo wtyczkę ;)

[ Dodano: 2006-02-01, 11:03 ]
oj trzeba jeszcze dorysować odciągi dla BL1 i BL2 :(
SpotkanieCNC: STOM-TOOL Marzec 2014
http://www.cnc.info.pl/topics79/spotkan ... t55028.htm


Autor tematu
Adalber
Specjalista poziom 3 (min. 600)
Specjalista poziom 3 (min. 600)
Posty w temacie: 39
Posty: 694
Rejestracja: 10 lip 2005, 15:13
Lokalizacja: Polska

#97

Post napisał: Adalber » 01 lut 2006, 11:27

Co do BL1 i BL2 to niekoniecznie ten czas musi zależeć tylko od napięcia,ale to nie problem. Mam inne pytania do kolegów :
Jeśli sterownik ma być uniwersalny to np. powinien pracować do częstotliwości 200 kHz lub więcej . Ale dla oscylatora tmc239 o częstotliwości rzędu 30kHz to chyba problematyczne,szczególnie dla mikrokroku.
Zanin sterownik właczy PWM (30KHz) aby osiągnąć określone napięcie ,Procesor już zmieni parametry na inne (200 kHz).
Uważam ,że jeśli przyjąć przynajmniej dwa cykle PWM na dany poziom napięcia to maksymalna częstotliwość pracy przy sterowaniu mikrokrokowym to ok 15 kHz (w praktyce dużo mniej)
Dla małych częstotliwości sterujemy mikrokrokiem aby uniknąć rezonansów itd. ,gdy częstotliwość rośnie a silnik jest rozpędzony można przejść na sterowanie półkrokowe lub pełnokrokowe .Dla jakiej częstotliwości przyjąść granicę ,lub według jakiego agorytmu przechodzić z 1/8 na 1/4 aż do pełnego kroku? . Czy przyjąć zasadę ,że dla danego poziomu napięcia wystarczy np.5 lub 10 cykli PWM (bierzemy pod uwagę czas) lub inne propozycje?
Pozostaje jeszcze kwestia włączania "mixed decay" .Dla małych częstotliwości nie ma właściwie potrzeby włączania tego trybu pracy ,dla większych czas włączenia "mixed decay" powinien rosnąć ,może jakaś pochodna (dV/dT) ?
A jak to jest w innych sterownikach?
Ja oczywiście rozwijam program ,staram się by był w miarę elastyczny aby można było uwzględniać wiele parametrów ,ciekawe co z tego wyjdzie może AI

Awatar użytkownika

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

#98

Post napisał: markcomp77 » 01 lut 2006, 13:33

Adalber pisze:Jeśli sterownik ma być uniwersalny to np. powinien pracować do częstotliwości 200 kHz lub więcej . Ale dla oscylatora tmc239 o częstotliwości rzędu 30kHz to chyba problematyczne,szczególnie dla mikrokroku. Zanin sterownik właczy PWM (30KHz) aby osiągnąć określone napięcie ,Procesor już zmieni parametry na inne (200 kHz).
jak to jest z tą częstotliwością na STEP do 400KHz (M542)...

silnik krokowy, tak wynika z moich pomiarów rozpędza się no np. do 20 obrotów na sekundę.. a przy zwiększaniu prędkości gaśnie (maleje drastycznie moment)

20/sek - przy sterowaniu krokowym (łatwiej uzyskać ten rezultat) to 20 x 200 Hz= 4KHz
przy kroku 1/128 -> 20 x 128 x 200 = 512KHz <- ale tego przy takim sterowaniu nie dało się osiągnąć :(

wynik rozpędzania dla kroku 1/128... był gorszy.. to jakieś 10 obrotów na sekundę - czyli 256KHz
ale i to musiało być osiągnięte jakimiś "sztuczkami"... właśnie tym co rozważamy - dynamiczną zmianą rozdzielczości kroku....

i właśnie z powodu częstotliwości czopera... sterownik musi zmniejszać rozdzielczość kroku :idea:
bo sterowanie STEP z częstotliwością większą niż ma czoper - to bezsens...

więc mam propozycję... zmieniać rozdzielczość kroku tak - aby zostawały przynajmniej 2..3...10..20 (do ustalenia doświadczalnie) cykli oscylatora PWM na ustalenie się wartości
Adalber pisze:Dla jakiej częstotliwości przyjąść granicę ,lub według jakiego agorytmu przechodzić z 1/8 na 1/4 aż do pełnego kroku?
j.w.
granica przełączenie - to pare cyklów oscylatora czopera
Adalber pisze:Pozostaje jeszcze kwestia włączania "mixed decay" .Dla małych częstotliwości nie ma właściwie potrzeby włączania tego trybu pracy ,dla większych czas włączenia "mixed decay" powinien rosnąć ,może jakaś pochodna (dV/dT) ?
w sterownikach takich jak a3977... jest to ustalane na stałe... albo potencjometrem - jest to tak zwane "mieszane gaszenie"
dzielnik rezystancyjny ustala moment zmiany gaszenia z szybkiego na wolne

natomiast w TMC mamy szansę na stworzenie "dynamicznego gaszenia"...
temat do przemyślenia jak... :idea:

[ Dodano: 2006-02-01, 17:12 ]
Obrazek

Czy poprawiamy jeszcze coś w tym bloku?
Czy można już zacząć projektować pcb?
SpotkanieCNC: STOM-TOOL Marzec 2014
http://www.cnc.info.pl/topics79/spotkan ... t55028.htm


Autor tematu
Adalber
Specjalista poziom 3 (min. 600)
Specjalista poziom 3 (min. 600)
Posty w temacie: 39
Posty: 694
Rejestracja: 10 lip 2005, 15:13
Lokalizacja: Polska

#99

Post napisał: Adalber » 01 lut 2006, 21:32

Chyba wszystko w porządku Markcomp ,może daj na złącze +5 V będzie łatwiej podłączyć moduł procesora .Zmieniłbym też (wprawdzie to szczegół) kolejność wejść w złączu wejściowym tak jak w tmc239 .

Awatar użytkownika

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

#100

Post napisał: markcomp77 » 02 lut 2006, 01:40

Adalber pisze:Zmieniłbym też (wprawdzie to szczegół) kolejność wejść w złączu wejściowym tak jak w tmc239
oj nie mogę załapać o jaką kolejność idzie ;)
proszę o wyjaśnienie...
SpotkanieCNC: STOM-TOOL Marzec 2014
http://www.cnc.info.pl/topics79/spotkan ... t55028.htm

ODPOWIEDZ Poprzedni tematNastępny temat

Wróć do „Elektronika CNC”