Znaleziono 9 wyników

autor: mag32
17 mar 2006, 10:18
Forum: Elektronika CNC
Temat: TMC 239 sterowanie ISP
Odpowiedzi: 18
Odsłony: 3548

Powiedzmy że mam już oscyloskop, hmm... Karta dźwiękowa i program Scope.
Coś tam pokazuje, ale nie wiem co MA pokazywać przy prawidłowej pracy.
autor: mag32
16 mar 2006, 14:19
Forum: Elektronika CNC
Temat: TMC 239 sterowanie ISP
Odpowiedzi: 18
Odsłony: 3548

Wykonałem pomiary wg. twojego opisu
Wygląda to tak.

INA | 2V | 2V | 0 | 0
INB | 0 | 0 | 2V | 2V

SDI | VCC | GND | GND | VCC
SCN | GND | VCC | VCC | GND

RA 80mV| nn | nn | 0mV Na rezystorach pomiarowych/nn-brak pomiaru
RB 40mV| nn | nn | 50mV

TAK NIE NIE TAK Silnik trzymał
Pol. -/+/+/- +/-/-/+ 0/0/0/0 -/+/+/- uzwojenia A in /out/ B in /out

Co można z tego wg Was wnioskować ? Co jeszcze i gdzie sprawdzać ?
autor: mag32
16 mar 2006, 09:07
Forum: Elektronika CNC
Temat: TMC 239 sterowanie ISP
Odpowiedzi: 18
Odsłony: 3548

Swietnie, to jaki ten sposób, bo naprawdę już nie wiem czego się czepić. Niestey, nie posiadam oscyloskopu.
A sterownik nadal zachowuje się dziwnie.
autor: mag32
16 mar 2006, 08:31
Forum: Elektronika CNC
Temat: TMC 239 sterowanie ISP
Odpowiedzi: 18
Odsłony: 3548

A do czego służy BL1 i BL2, mam w tej chwili podpięte pod +5V, przez rezystor rzecz jasna?
autor: mag32
14 mar 2006, 14:27
Forum: Elektronika CNC
Temat: TMC 239 sterowanie ISP
Odpowiedzi: 18
Odsłony: 3548

Coraz więcej rozumiem.
Jak wg Ciebie powinien zachować się TNC239 gdy jest włączony ENN-GND a nie dostaje żadnych informacji z CPU.
Wygląda na to że trzyma Silnik w jednej pozycji. Zgadza się ? Słychać wtedy cichy Pisk - pewnie Chopper.
autor: mag32
14 mar 2006, 10:20
Forum: Elektronika CNC
Temat: TMC 239 sterowanie ISP
Odpowiedzi: 18
Odsłony: 3548

W SPI sprawdziłeś ustawienie fazy i polaryzacji sygnału zegarowego?

Nie sprawdzałem, a możesz mi to przybliżyć, nie za bardzo wiem o co chodzi.

...MDA i MDB to dłuższa opowieść...

Właśnie sprawdzam / przeglądam.

[ Dodano: 2006-03-14, 10:58 ]
Jak to jest z tym PHA, PHB ? Co one dokładnie powodują ?
Rozumiem to tak, że podanie na PHA jedynki spowoduje załączenie górnej pary tranzystorów mostka A, czyli jak się to ma do przepływu prądu przez uzwojenia, jakoś nie mogę tego za bardzo zrozumieć, a to podstawa sensu uruchomienia tego sterownika.

[ Dodano: 2006-03-14, 13:59 ]
Program wygląda tak jak poniżej, sekwencja jest według tabeli z tematu TMC239.

int main(void)
{
DDRB=_BV(0)|_BV(1)|_BV(2);
PORTB=_BV(PB0);
SPCR=_BV(MSTR)|_BV(SPR0)|_BV(SPE)|_BV(CPHA)|_BV(CPOL);
unsigned char odp;
for(;;)
{
portb0_l;
SPDR=0b00000000;
while(!(SPSR|(1<<SPIF)));
odp=SPDR;
SPDR=0b10011110;
while(!(SPSR|(1<<SPIF)));
odp=SPDR;
portb0_h;
opoznienie;

portb0_l;
SPDR=0b00000101;
while(!(SPSR|(1<<SPIF)));
odp=SPDR;
SPDR=0b10110100;
while(!(SPSR|(1<<SPIF)));
odp=SPDR;
portb0_h;
opoznienie;

portb0_l;
SPDR=0b00000111;
while(!(SPSR|(1<<SPIF)));
odp=SPDR;
SPDR=0b10000011;
while(!(SPSR|(1<<SPIF)));
odp=SPDR;
portb0_h;
opoznienie;

portb0_l;
SPDR=0b00001101;
while(!(SPSR|(1<<SPIF)));
odp=SPDR;
SPDR=0b00010111;
while(!(SPSR|(1<<SPIF)));
odp=SPDR;
portb0_h;
opoznienie;

portb0_l;
SPDR=0b00000000;
while(!(SPSR|(1<<SPIF)));
odp=SPDR;
SPDR=0b11011111;
while(!(SPSR|(1<<SPIF)));
odp=SPDR;
portb0_h;
opoznienie;

portb0_l;
SPDR=0b00000101;
while(!(SPSR|(1<<SPIF)));
odp=SPDR;
SPDR=0b11110101;
while(!(SPSR|(1<<SPIF)));
odp=SPDR;
portb0_h;
opoznienie;

portb0_l;
SPDR=0b00000111;//7
while(!(SPSR|(1<<SPIF)));
odp=SPDR;
SPDR=0b11000010;
while(!(SPSR|(1<<SPIF)));
odp=SPDR;
portb0_h;
opoznienie;

portb0_l;
SPDR=0b00001101;
while(!(SPSR|(1<<SPIF)));
odp=SPDR;
SPDR=0b01010110;
while(!(SPSR|(1<<SPIF)));
odp=SPDR;
portb0_h;
opoznienie;
}
}

Mimo to silnik się nie obraca, czuć drgania, i trzyma dość mocno ale w jednej pozycji.

dołączam też schemat z Eagla.
autor: mag32
14 mar 2006, 08:49
Forum: Elektronika CNC
Temat: TMC 239 sterowanie ISP
Odpowiedzi: 18
Odsłony: 3548

CSN jest zmieniane co 2 bajty, wygląda to tak

portb0_l; //CSN=0
SPDR=0b00001111;
while(!(SPSR|(1<<SPIF)));
odp=SPDR;
SPDR=0b10111110;
while(!(SPSR|(1<<SPIF)));
odp=SPDR;
portb0_h; //CSN=1
delayms(200); //Przerwa przed wysłaniem kolejnej instrukcji

A co mam w takim razie zrobić z tym MDA i MDB :?:
autor: mag32
13 mar 2006, 21:04
Forum: Elektronika CNC
Temat: TMC 239 sterowanie ISP
Odpowiedzi: 18
Odsłony: 3548

Program jest w C, korzystam ze sprzętowego ISPa wysyłam najpierw część starszą uzupełnioną od lewej zerami a potem drugibajt.
Czyli 0b00001111,0b10111110 na przykład.
Pierwsze 4 zera powinny być przez tmc239 ignorowane.

Jak wyglądają bajty ?

11 10 9 8 7 6 5 4 3 2 1 0 Nr bitu


1 0 0 0 0 0 1 1 1 1 1 0
1 0 0 1 1 0 1 1 1 1 1 0
1 0 1 1 0 0 1 1 1 1 0 0
1 1 0 0 0 0 1 1 1 0 1 0
1 1 0 1 1 0 1 1 0 1 1 0
1 1 1 0 1 0 1 1 0 0 0 0
1 1 1 1 0 0 1 0 1 1 0 0
1 1 1 1 1 0 1 0 0 1 1 0
1 1 1 1 1 0 1 0 0 0 0 0
1 1 1 1 1 0 1 0 0 1 1 1
1 1 1 1 0 0 1 0 1 1 0 1
1 1 1 0 1 0 1 1 0 0 0 1
1 1 0 1 1 0 1 1 0 1 1 1
1 1 0 0 0 0 1 1 1 0 1 1
1 0 1 1 0 0 1 1 1 1 0 1
1 0 0 1 1 0 1 1 1 1 1 1
1 0 0 0 0 0 1 1 1 1 1 1
1 0 0 1 1 1 1 1 1 1 1 1
1 0 1 1 0 1 1 1 1 1 0 1
1 1 0 0 0 1 1 1 1 0 1 1
1 1 0 1 1 1 1 1 0 1 1 1
1 1 1 0 1 1 1 1 0 0 0 1
1 1 1 1 0 1 1 0 1 1 0 1
1 1 1 1 1 1 1 0 0 1 1 1
1 1 1 1 1 1 1 0 0 0 0 1
1 1 1 1 1 1 1 0 0 1 1 0
1 1 1 1 0 1 1 0 1 1 0 0
1 1 1 0 1 1 1 1 0 0 0 0
1 1 0 1 1 1 1 1 0 1 1 0
1 1 0 0 0 1 1 1 1 0 1 0
1 0 1 1 0 1 1 1 1 1 0 0
1 0 0 1 1 1 1 1 1 1 1 0
autor: mag32
13 mar 2006, 20:10
Forum: Elektronika CNC
Temat: TMC 239 sterowanie ISP
Odpowiedzi: 18
Odsłony: 3548

TMC 239 sterowanie ISP

Witam.
Skonstruowałem sterownik silnika krokowego oparty o TMC 239, korzystając z noty aplikacyjnej producenta i schematu o zwiękrzonej mocy.
Ale nie w tym rzecz.
Problem polega na tym, że wysyłam do układu polecenia z procesora AVR AtMega128, a silnik zachowuje się jakby miał czkawkę, nie obraca się tylko przeskakuje po różnych trudnych do określenia pozycjach.

Wobec tego moje pytanie:
» Jak powinna wyglądać transmisja z procesora do tego układu tak by kręcić silnikiem półkrokami ? [na przykład, choć niekoniecznie]
» Z jaką prędkością można przesyłać dane do układu, CPU prauje na 8MHz

Widziałem plik przygotowany przez Markompa gdzieś w innym wątku z podziałem 1/8 ale gdy wysyłam te sekwencje to dzieje się właśnie to co opisałem wcześniej, chociaż wydaje mi się iż błędu tam nie ma.

Wróć do „TMC 239 sterowanie ISP”