To jest podłączenie z drukarki fiskalnej Elzab Eco(po odczycie).
Tam siedzi kompletny układ na Atmega32(wskazówka dla innych z kąt brać gotowe układy) i ma właśnie podłączone przewody silnika według moich danych(złącze). Niestety ma połączone wszystkie Stroby w jedno i szarpie mocno prądem, dlatego zrobiłem własny układ.
W tym podłączeniu pracują zawsze dwie cewki silnika i wał ustawia się pomiędzy cewkami.
Obecnie silnik pracuje prawidłowo, przewija papier z opuszczoną głowicą.
Znaleziono 7 wyników
Wróć do „Atmega162/Atmega32 BA6845FS”
- 12 sty 2017, 08:22
- Forum: Silniki Krokowe / Sterowniki Silników Krokowych
- Temat: Atmega162/Atmega32 BA6845FS
- Odpowiedzi: 11
- Odsłony: 2176
- 11 sty 2017, 23:09
- Forum: Silniki Krokowe / Sterowniki Silników Krokowych
- Temat: Atmega162/Atmega32 BA6845FS
- Odpowiedzi: 11
- Odsłony: 2176
Silnik - drukarka termiczna MLT288 i MLT388 mają ten sam silnik
W nocie określony jako
Motor(VH) 0.5 A MAX 0.3 A mean current VH=7.2V, 840PPS
Feeding pitch 0.125 mm Motor's 2 stepping span
Characteristics of the Stepping Motor
Table 4-1 General Characteristics of the Stepping Motor
Item______________________________Rating
Type______________________________Permanent magnet type
No. of phases_______________________4 phases
Driving system______________________Bipolar chopper driving
Excitation__________________________2-2
Winding resistance/phase______________18 Ω / phase
Rating voltage_______________________7.2 V
Driving current_______________________Approx. 0.5 A
Driving frequency_____________________To be determined by driving voltage
IN OUT
11_______21_____12_____22_______________11_____21_____12_____22
--------------------------------------------------------------
_1_______1_______1_______1________________7_______0_______0_______0
_1_______0_______1_______1________________7_______7_______0_______0
_0_______0_______1_______1________________0_______7_______7_______0
_0_______1_______1_______1________________0_______0_______7_______0
_1_______1_______0_______1________________7_______0_______0_______0
_1_______0_______0_______1________________7_______0_______0_______0
_0_______0_______0_______1________________7_______0_______7_______0
_0_______1_______0_______1________________0_______0_______7_______0
_1_______1_______0_______0________________0_______0_______0_______0
_1_______0_______0_______0________________0_______0_______0_______0
_0_______0_______0_______0________________0_______0_______0_______0
_0_______1_______0_______0________________0_______0_______0_______0
_1_______1_______1_______0________________0_______0_______0_______0
_1_______0_______1_______0________________0_______7_______0_______0
_0_______0_______1_______0________________0_______7_______0_______0
_0_______1_______1_______0________________0_______0_______0_______0
Wygląda na to że miałem uszkodzony scalak Brak wyjścia 22
Po wymianie
IN OUT
11_______21_____12_____22_______________11_____21_____12_____22
--------------------------------------------------------------
_1_______1_______1_______1________________7_______0_______0_______7
_1_______0_______1_______1________________7_______7_______0_______0
_0_______0_______1_______1________________0_______7_______7_______0
_0_______1_______1_______1________________0_______0_______7_______0
_1_______1_______0_______1________________0_______0_______7_______7
Uzyskałem pełny obrót
Po wymianie silnik szaleje.
Dzięki za pomoc.
W nocie określony jako
Motor(VH) 0.5 A MAX 0.3 A mean current VH=7.2V, 840PPS
Feeding pitch 0.125 mm Motor's 2 stepping span
Characteristics of the Stepping Motor
Table 4-1 General Characteristics of the Stepping Motor
Item______________________________Rating
Type______________________________Permanent magnet type
No. of phases_______________________4 phases
Driving system______________________Bipolar chopper driving
Excitation__________________________2-2
Winding resistance/phase______________18 Ω / phase
Rating voltage_______________________7.2 V
Driving current_______________________Approx. 0.5 A
Driving frequency_____________________To be determined by driving voltage
IN OUT
11_______21_____12_____22_______________11_____21_____12_____22
--------------------------------------------------------------
_1_______1_______1_______1________________7_______0_______0_______0
_1_______0_______1_______1________________7_______7_______0_______0
_0_______0_______1_______1________________0_______7_______7_______0
_0_______1_______1_______1________________0_______0_______7_______0
_1_______1_______0_______1________________7_______0_______0_______0
_1_______0_______0_______1________________7_______0_______0_______0
_0_______0_______0_______1________________7_______0_______7_______0
_0_______1_______0_______1________________0_______0_______7_______0
_1_______1_______0_______0________________0_______0_______0_______0
_1_______0_______0_______0________________0_______0_______0_______0
_0_______0_______0_______0________________0_______0_______0_______0
_0_______1_______0_______0________________0_______0_______0_______0
_1_______1_______1_______0________________0_______0_______0_______0
_1_______0_______1_______0________________0_______7_______0_______0
_0_______0_______1_______0________________0_______7_______0_______0
_0_______1_______1_______0________________0_______0_______0_______0
Wygląda na to że miałem uszkodzony scalak Brak wyjścia 22
Po wymianie
IN OUT
11_______21_____12_____22_______________11_____21_____12_____22
--------------------------------------------------------------
_1_______1_______1_______1________________7_______0_______0_______7
_1_______0_______1_______1________________7_______7_______0_______0
_0_______0_______1_______1________________0_______7_______7_______0
_0_______1_______1_______1________________0_______0_______7_______0
_1_______1_______0_______1________________0_______0_______7_______7
Uzyskałem pełny obrót
Po wymianie silnik szaleje.
Dzięki za pomoc.
- 11 sty 2017, 19:55
- Forum: Silniki Krokowe / Sterowniki Silników Krokowych
- Temat: Atmega162/Atmega32 BA6845FS
- Odpowiedzi: 11
- Odsłony: 2176
Niestety to nie koniec moich zmagań
po zmianie czasów rozdzielających kroki silnika (inne operacje) zaczął znowu głupieć.
Doszedłem do wniosku że muszę dokładnie zbadać temat i to co ustaliłem:
Po lewej piny sterujące po prawej napięcia na wyjściu
po lewej stany logiczne, po prawej napięcia zmierzone na wyjściu bez podłączonego silnika.
IN OUT
11_______21_____12_____22_______________11_____21_____12_____22
--------------------------------------------------------------
_1_______1_______1_______1________________7_______0_______0_______5,5
_1_______0_______1_______1________________7_______7_______0_______5,5
_0_______0_______1_______1________________0_______7_______7_______0
_0_______1_______1_______1________________0_______0_______7_______0
_1_______1_______0_______1________________5_______0_______1_______5
_1_______0_______0_______1________________1_______7_______0_______0
_0_______0_______0_______1________________1_______7_______0_______1
_0_______1_______0_______1________________5_______0_______0_______3
_1_______1_______0_______0________________5_______3_______0_______3
_1_______0_______0_______0________________1_______1_______0_______0
_0_______0_______0_______0________________1_______1_______0_______0
_0_______1_______0_______0________________5_______3_______0_______3
_1_______1_______1_______0________________7_______5_______0_______5
_1_______0_______1_______0________________7_______3_______0_______5
_0_______0_______1_______0________________0_______0_______7_______0
_0_______1_______1_______0________________0_______1_______7_______0
Silnik podłączony jest do Wyprowadzeń OUT
cewki podłączone są
1 cewka OUT 11 i 12
2 cewka OUT 21 i 22
po zmianie czasów rozdzielających kroki silnika (inne operacje) zaczął znowu głupieć.
Doszedłem do wniosku że muszę dokładnie zbadać temat i to co ustaliłem:
Po lewej piny sterujące po prawej napięcia na wyjściu
po lewej stany logiczne, po prawej napięcia zmierzone na wyjściu bez podłączonego silnika.
IN OUT
11_______21_____12_____22_______________11_____21_____12_____22
--------------------------------------------------------------
_1_______1_______1_______1________________7_______0_______0_______5,5
_1_______0_______1_______1________________7_______7_______0_______5,5
_0_______0_______1_______1________________0_______7_______7_______0
_0_______1_______1_______1________________0_______0_______7_______0
_1_______1_______0_______1________________5_______0_______1_______5
_1_______0_______0_______1________________1_______7_______0_______0
_0_______0_______0_______1________________1_______7_______0_______1
_0_______1_______0_______1________________5_______0_______0_______3
_1_______1_______0_______0________________5_______3_______0_______3
_1_______0_______0_______0________________1_______1_______0_______0
_0_______0_______0_______0________________1_______1_______0_______0
_0_______1_______0_______0________________5_______3_______0_______3
_1_______1_______1_______0________________7_______5_______0_______5
_1_______0_______1_______0________________7_______3_______0_______5
_0_______0_______1_______0________________0_______0_______7_______0
_0_______1_______1_______0________________0_______1_______7_______0
Silnik podłączony jest do Wyprowadzeń OUT
cewki podłączone są
1 cewka OUT 11 i 12
2 cewka OUT 21 i 22
- 19 gru 2016, 18:40
- Forum: Silniki Krokowe / Sterowniki Silników Krokowych
- Temat: Atmega162/Atmega32 BA6845FS
- Odpowiedzi: 11
- Odsłony: 2176
Re: Atmega162/Atmega32 BA6845FS
Nie, nie tutaj był problem
zmieniłem sekwencję
void nextstep(uint8_t dir)
{
if(step==0)
{
MPort &= ~((1<<IN11)|(1<<IN21));
}
if(step==1)
{
MPort |= (1<<IN11);
MPort &= ~((1<<IN21));
}
if(step==2)
{
MPort |= (1<<IN11)|(1<<IN21);
}
if(step==3)
{
MPort &= ~((1<<IN11));
MPort |= (1<<IN21);
}
step++;
if(step>3)step=0;
//_delay_ms(10);
}
i działa akceptowalnie.
dziękuję za odpowiedzi
zmieniłem sekwencję
void nextstep(uint8_t dir)
{
if(step==0)
{
MPort &= ~((1<<IN11)|(1<<IN21));
}
if(step==1)
{
MPort |= (1<<IN11);
MPort &= ~((1<<IN21));
}
if(step==2)
{
MPort |= (1<<IN11)|(1<<IN21);
}
if(step==3)
{
MPort &= ~((1<<IN11));
MPort |= (1<<IN21);
}
step++;
if(step>3)step=0;
//_delay_ms(10);
}
i działa akceptowalnie.
dziękuję za odpowiedzi
- 19 gru 2016, 10:57
- Forum: Silniki Krokowe / Sterowniki Silników Krokowych
- Temat: Atmega162/Atmega32 BA6845FS
- Odpowiedzi: 11
- Odsłony: 2176
Re: Atmega162/Atmega32 BA6845FS
Może ja nie czytam między wierszami więc nie rozumiałem.
Spróbuję z opóźnieniami.
Problem w tym że jeżeli wstawię opóźnienia wtedy znacznie spowolni się prędkość obrotowa silnika.
Spróbuję z opóźnieniami.
Problem w tym że jeżeli wstawię opóźnienia wtedy znacznie spowolni się prędkość obrotowa silnika.
- 19 gru 2016, 09:35
- Forum: Silniki Krokowe / Sterowniki Silników Krokowych
- Temat: Atmega162/Atmega32 BA6845FS
- Odpowiedzi: 11
- Odsłony: 2176
Re: Atmega162/Atmega32 BA6845FS
pitsa pisze:quote]
Najpierw powoli - jak żółw – ociężale.

I teraz jako moderator oceń swój post i to co wnosi on do dyskusji.
- 17 gru 2016, 09:18
- Forum: Silniki Krokowe / Sterowniki Silników Krokowych
- Temat: Atmega162/Atmega32 BA6845FS
- Odpowiedzi: 11
- Odsłony: 2176
Atmega162/Atmega32 BA6845FS
Mam problem z układem BA6845FS jest to sterownik silnika krokowego do 1A 12V
PDF BA5845FS
Zasilam go z napięcia 7,5V (napięcie nie zależne od silnika)
Podpięty jest do Atmega162(lub Atmega32)
Efekt jest taki że rzuca silnikiem, a jeżeli już załapie to kręci się albo przypadkowo albo w złą stronę.
Chodzi o sekwencję.
Jak prawidłowo powinno się nim sterować?
PDF BA5845FS
Zasilam go z napięcia 7,5V (napięcie nie zależne od silnika)
Podpięty jest do Atmega162(lub Atmega32)
Efekt jest taki że rzuca silnikiem, a jeżeli już załapie to kręci się albo przypadkowo albo w złą stronę.
Kod: Zaznacz cały
uint8_t step = 0;
#define MPort PORTC
#define IN11 2
#define IN21 1
#define IN12 3
#define IN22 4
...
void nextstep(uint8_t dir)
{
if(step==0)
{
MPort &= ~((1<<IN11)|(1<<IN21));
}
if(step==1)
{
MPort &= ~((1<<IN11));
MPort |= (1<<IN21);
}
if(step==2)
{
MPort |= (1<<IN11)|(1<<IN21);
}
if(step==3)
{
MPort |= (1<<IN11);
MPort &= ~((1<<IN21));
}
step++;
if(step>3)step=0;
}
int main (void)
{
//Inicjacja Silnika
DDRC = ((1<<IN11)|(1<<IN21)|(1<<IN12)|(1<<IN22));
MPort = (1<<IN11)|(1<<IN21)|(1<<IN12)|(1<<IN22);
MPort |= (1<<IN12)|(1<<IN22);
...
}
Jak prawidłowo powinno się nim sterować?