Algorytm choppera do silnika krokowego

Do you have a question? Post it now! No Registration Necessary

Translate This Thread From Polish to

Threaded View
Witam.

Mam silnik unipolarny i 4 tranzystory sterowane poziomami logicznymi
oraz komparator od strony masy na rezestorze pomiarowym.

Chce uzyskac jakiś sensowny algorytm sterowania silnikiem krokowym.

Przekroczenie prądu w silniku sygnalizwoane jest przez komparator i
podawane na wejście INT procesora wywołujac przerwanie.

Algorytm teraz wygląda tak:

unsigned char zalaczone_cewki = 0;

void przerwanie_co_1_mikrosekunde( void )
{
    port_silnikow = zalaczone_cewki
}

void przerwanie_przy_przekroczeniu_pradu( void )
{
    port_silnikow = 0;
}

main(void)
{
    while( 1 )
    {
        zalaczone_cewki = 0x01;
        pauza_1ms();
        zalaczone_cewki = 0x02;
        pauza_1ms();
        zalaczone_cewki = 0x04;
        pauza_1ms();
        zalaczone_cewki = 0x08;
        pauza_1ms();
    }
}

Problem w tym, Ĺźe nie wiem czy to sensowny algorytm sterowania silnikiem
krokowym. Czy ktoś ma pomysł co mozna zmienić aby uzyskac sensowne
działanie? Co prawda to działa poprawnie, ale mam wrażenie, ze silnik
moze wyciągnąc więcej, tym bardziej że na scalonym sterowniku wyciąga
wyĹźsze obroty. Co robie Ĺşle ?

Re: Algorytm choppera do silnika krokowego
S
Quoted text here. Click to load it

Czy przypadkiem sekwencja nie powinna wyglądać tak:
1001
0101
0110
1010

Paweł

Re: Algorytm choppera do silnika krokowego

Quoted text here. Click to load it

zalezy. Moze byc tez tak:
1, 3, 2, 6, 4, 12, 8, 9 albo
5, 3, 10, 6, 5, 12, 10, 9

Waldek

Re: Algorytm choppera do silnika krokowego
Quoted text here. Click to load it

To tylko przykład był. W rzeczywistości mam 8 kroków a nie 4. Nie ważne,
waĹźny jest sam chopper.

Re: Algorytm choppera do silnika krokowego
Sebastian Biały przemówił ludzkim głosem:

Quoted text here. Click to load it

1. Po zmianie kroku przez pewien czas powinieneś ignorować sygnał
przekroczenia prądu.
2. Po przekroczeniu prądu i wyłączeniu drivera, powinieneś odczekać
trochę, zanim znowu włączysz driver (czas martwy). Jeśli w tym czasie
zmieniasz krok, to patrz punkt 1.

Wartości czasów musisz dobrać sam obserwując prąd na oscyloskopie i
"uciąg" silnika.

PS. to przerwanie co 1us trochę mnie rozbawiło. To przykład, czy na
serio tak masz?

Re: Algorytm choppera do silnika krokowego
Quoted text here. Click to load it

Sprawdzę.

Quoted text here. Click to load it

To niefajnie. Głównie dlatego, że moge miec różne silniki. miałem
nadzieje, ze chooperowanie nie zalezy tak silnie od silnika.

Quoted text here. Click to load it

Przykład. Chodziło mi o to ze kroki sa duzo wolniejsze od choppera.

Re: Algorytm choppera do silnika krokowego
Quoted text here. Click to load it

Uf, a juz sie balem .. ze to mozliwe.
Chociaz w sumie .. czemu nie ?

J.


Re: Algorytm choppera do silnika krokowego
Quoted text here. Click to load it

Zalezy ile u-krokow...

--
Jerry1111

Site Timeline