TMC239
-
Autor tematu - Specjalista poziom 3 (min. 600)
- Posty w temacie: 39
- Posty: 694
- Rejestracja: 10 lip 2005, 15:13
- Lokalizacja: Polska
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.
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.
-
- Lider FORUM (min. 2000)
- Posty w temacie: 40
- Posty: 3962
- Rejestracja: 18 wrz 2004, 12:51
- Lokalizacja: k/w-wy
- Kontakt:
troszeczkę przerwy... był weekend 
a teraz do roboty

zmiany widziane z bliska:

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ść?

a teraz do roboty
czyli końcówka mocy po modyfikacjach proponowanych przez kolegę Adalbera wyglądałe by tak: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"

zmiany widziane z bliska:

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
http://www.cnc.info.pl/topics79/spotkan ... t55028.htm
-
Autor tematu - Specjalista poziom 3 (min. 600)
- Posty w temacie: 39
- Posty: 694
- Rejestracja: 10 lip 2005, 15:13
- Lokalizacja: Polska
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
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.
-
- Lider FORUM (min. 2000)
- Posty w temacie: 40
- Posty: 3962
- Rejestracja: 18 wrz 2004, 12:51
- Lokalizacja: k/w-wy
- Kontakt:
ja przymierzam się do procesora AT91SAM7S64... czyli ARM od atmelaAdalber pisze:Co sądzicie o procesorze AT89LP2052 jest tak samo wydajny jak atmega - nie wiem jak z ceną i dostępnością.
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ę

the blank time should be set to a value of at least 1.2us, because switching spikes are delayed due to the additional driversAdalber 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ść.
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
http://www.cnc.info.pl/topics79/spotkan ... t55028.htm
-
- Lider FORUM (min. 2000)
- Posty w temacie: 40
- Posty: 3962
- Rejestracja: 18 wrz 2004, 12:51
- Lokalizacja: k/w-wy
- Kontakt:
wydaje się, że powinny być zastąpione sterowniem z procka... dlaczego?Adalber pisze:Co do wartości BL1,BL2 to wyjdzie w praniu ,jestem za zworkami .
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


[ 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.

można na gnieźnie dolnym.. będzie można założyć jamperki... albo wtyczkęAdalber pisze:Co do wartości BL1,BL2 to wyjdzie w praniu ,jestem za zworkami .

[ 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
http://www.cnc.info.pl/topics79/spotkan ... t55028.htm
-
Autor tematu - Specjalista poziom 3 (min. 600)
- Posty w temacie: 39
- Posty: 694
- Rejestracja: 10 lip 2005, 15:13
- Lokalizacja: Polska
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
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
-
- Lider FORUM (min. 2000)
- Posty w temacie: 40
- Posty: 3962
- Rejestracja: 18 wrz 2004, 12:51
- Lokalizacja: k/w-wy
- Kontakt:
jak to jest z tą częstotliwością na STEP do 400KHz (M542)...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).
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

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
j.w.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?
granica przełączenie - to pare cyklów oscylatora czopera
w sterownikach takich jak a3977... jest to ustalane na stałe... albo potencjometrem - jest to tak zwane "mieszane gaszenie"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) ?
dzielnik rezystancyjny ustala moment zmiany gaszenia z szybkiego na wolne
natomiast w TMC mamy szansę na stworzenie "dynamicznego gaszenia"...
temat do przemyślenia jak...

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

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
http://www.cnc.info.pl/topics79/spotkan ... t55028.htm
-
- Lider FORUM (min. 2000)
- Posty w temacie: 40
- Posty: 3962
- Rejestracja: 18 wrz 2004, 12:51
- Lokalizacja: k/w-wy
- Kontakt:
oj nie mogę załapać o jaką kolejność idzieAdalber pisze:Zmieniłbym też (wprawdzie to szczegół) kolejność wejść w złączu wejściowym tak jak w tmc239

proszę o wyjaśnienie...
SpotkanieCNC: STOM-TOOL Marzec 2014
http://www.cnc.info.pl/topics79/spotkan ... t55028.htm
http://www.cnc.info.pl/topics79/spotkan ... t55028.htm