automat na Arduino Nano problem ze sterowaniem silnikiem krokowym

Dyskusje o programowaniu mikroprocesorów.

pukury
Moderator
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 4
Posty: 7277
Rejestracja: 23 lis 2004, 22:41
Lokalizacja: kraków

Re: automat na Arduino Nano problem ze sterowaniem silnikiem krokowym

#11

Post napisał: pukury » 22 cze 2022, 15:01

Hej.
Z zakłóceniami nigdy nic nie wiadomo :mrgreen:
Taki BLDC może siać pięknie.
Na jakich częstotliwościach pracuje sterownik ? - cholera wie.
Jak masz oscyloskop to sprawdź co tam się na masach dzieje.
pzd.


Mane Tekel Fares

Awatar użytkownika

pitsa
Moderator
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 3
Posty: 4169
Rejestracja: 13 wrz 2008, 22:40
Lokalizacja: PL,OP

Re: automat na Arduino Nano problem ze sterowaniem silnikiem krokowym

#12

Post napisał: pitsa » 22 cze 2022, 22:07

and10 pisze:Zgodnie z radami podłączyłem kondensatory pod piny arduino

Jakie piny, jakie kondensatory, jakie rezystory na podciąganiu wejść?
Na pewno, nie ma błędów w programie? Czasem może być pierdułka, której nie zobaczysz bo nie zdajesz sobie sprawy, że to może mieć wpływ. Przykład? Mnożenie wartości zmiennej przez liczbę bez ".0" na końcu.
zachowanie spokoju oznacza zdolności do działania
ᐃ 🜂 ⃤ ꕔ △ 𐊅 ∆ ▵ ߡ


Autor tematu
and10
Czytelnik forum poziom 1 (min. 10)
Czytelnik forum poziom 1 (min. 10)
Posty w temacie: 11
Posty: 11
Rejestracja: 14 cze 2022, 12:55

Re: automat na Arduino Nano problem ze sterowaniem silnikiem krokowym

#13

Post napisał: and10 » 23 cze 2022, 07:43

Niestety oscyloskopu nie mam i nie mam jak sprawdzić. Ale jak pisałem silnik jest klatkowy trójfazowy i podłączyłem go bezpośrednio do sieci, a sterowanie z innego obwodu z filtrem przeciwzakłóceniowym na wejściu.
Kondensatory 100nF dałem na arduino do masy Vin +5v i Aref
do podciągania wejść wykorzystuję INPUT_PULLUP
zamieszczam kod funkcji w której występuje błąd:
void odetnij() {
digitalWrite(ez2,LOW); //dociska materiał załączenie przekaźnika podającego napięcie na elektrozawór
digitalWrite(ez1,LOW); //opuszcza piłę - II -
while (digitalRead(kran4)!=LOW) {delay(50); }//opuszcza piłę
silnikk.moveRelativeInSteps(-40); <--- wywołanie tej funkcji nie działa przy włączonym silniku
digitalWrite(ez1,HIGH); //podnosi piłę
while (digitalRead(kran3)!=LOW) {delay(50);}
digitalWrite(ez2,HIGH); //cofnięcie docisku
licznik++;
}
ponieważ elektrozawory sterują siłownikami pneumatycznymi to używam delay.

Awatar użytkownika

TOP67
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 1
Posty: 2224
Rejestracja: 17 wrz 2018, 10:47
Lokalizacja: Wrocław
Kontakt:

Re: automat na Arduino Nano problem ze sterowaniem silnikiem krokowym

#14

Post napisał: TOP67 » 23 cze 2022, 08:41

Próbowałeś debugować program?
Nie działa wywołanie funkcji, czy sama funkcja? Dopisz na jej początku linijkę, która mrugnie diodą.

Spróbuj wpisać dodatkowe Delay na sztywno (bez sprawdzania kran4). Może zakłócenia powodują, że odczyt jest zafałszowany i silnik próbuje kręcić, zanim odpuszczą elektrozawory.


drzasiek90
Specjalista poziom 3 (min. 600)
Specjalista poziom 3 (min. 600)
Posty w temacie: 2
Posty: 966
Rejestracja: 25 kwie 2016, 11:58
Lokalizacja: Jodlowa
Kontakt:

Re: automat na Arduino Nano problem ze sterowaniem silnikiem krokowym

#15

Post napisał: drzasiek90 » 23 cze 2022, 08:47

Jaki jest sterownik do silnika krokowego?
Może program się wykonuje ale sterownik silnika krokowego się wiesza. Czasami bywa tak, że połączysz jakąś komunikację np. bez masy i nieraz działa (przez pojemności gdzieś się zamyka) ale jak dojdzie jakieś obciążenie czy zakłócenia to przestaje działać. Sprawdź połączenia między mikrokontrolerem a sterownikiem silnika krokowego.


Autor tematu
and10
Czytelnik forum poziom 1 (min. 10)
Czytelnik forum poziom 1 (min. 10)
Posty w temacie: 11
Posty: 11
Rejestracja: 14 cze 2022, 12:55

Re: automat na Arduino Nano problem ze sterowaniem silnikiem krokowym

#16

Post napisał: and10 » 23 cze 2022, 09:11

funkcja jest z biblioteki SpeedyStepper i jej wywołanie wcześniej i później działa
sterownik TB 6600 . Podłączenie sprawdziłem jest ok

Awatar użytkownika

pitsa
Moderator
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 3
Posty: 4169
Rejestracja: 13 wrz 2008, 22:40
Lokalizacja: PL,OP

Re: automat na Arduino Nano problem ze sterowaniem silnikiem krokowym

#17

Post napisał: pitsa » 23 cze 2022, 09:51

A ten Nano nie za dużo zasila urządzeń zewnętrznych? Może mu energii nie starcza na obsłużenie sygnałów do silnika krokowego?
Zalecane jest stosowanie rezystorów podciągających w celu uzyskania większej stromości impulsów sterujących.
zachowanie spokoju oznacza zdolności do działania
ᐃ 🜂 ⃤ ꕔ △ 𐊅 ∆ ▵ ߡ


Autor tematu
and10
Czytelnik forum poziom 1 (min. 10)
Czytelnik forum poziom 1 (min. 10)
Posty w temacie: 11
Posty: 11
Rejestracja: 14 cze 2022, 12:55

Re: automat na Arduino Nano problem ze sterowaniem silnikiem krokowym

#18

Post napisał: and10 » 23 cze 2022, 10:39

steruje 5 elektrozaworami przez przekaźniki, które mają optoizolację i sterownikiem silnika krokowego. To chyba nie jest za dużo.


tristar0
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 2
Posty: 2002
Rejestracja: 21 sty 2020, 17:48
Lokalizacja: Toruń miasto Tadeusza R

Re: automat na Arduino Nano problem ze sterowaniem silnikiem krokowym

#19

Post napisał: tristar0 » 23 cze 2022, 12:15

Przerabiałem podobny temat pare lat temu na wyjściach sterujących arduino wstawić transoptory , same wyjścia podciągnąć rezystorem do +5v bo pullup to działa dobrze na stole .
Każdy ma prawo do życia w wolnym kraju !


drzasiek90
Specjalista poziom 3 (min. 600)
Specjalista poziom 3 (min. 600)
Posty w temacie: 2
Posty: 966
Rejestracja: 25 kwie 2016, 11:58
Lokalizacja: Jodlowa
Kontakt:

Re: automat na Arduino Nano problem ze sterowaniem silnikiem krokowym

#20

Post napisał: drzasiek90 » 23 cze 2022, 12:21

Bez oscyloskopu trochę ciężko ale można pokombinować.
A multimetr chociaż masz?
Trzeba sprawdzić, czy w momencie, gdy silnik krokowy ma pracować, pomiędzy pinami ENA- i ENA+ występuje potencjał (multimetr albo diodka LED) i czy jest wystarczający. Tak samo na DIR i STEP.
Jak program w tym momencie ma się wykonać bezwarunkowo to programu nic nie zakłóci. Więc albo masz w sofcie bajzel i jest jakiś warunek albo w momencie gdy silnik pracuje nie działa coś pomiędzy mikrokontrolerem a silnikiem krokowym (przewody, zasilanie, sterownik, ...). Pamiętaj, że port mikrokontrolera ma ograniczoną wydajność prądową.
Pokaż schemat, będzie łatwiej znaleźć gdzie jest błąd.

ODPOWIEDZ Poprzedni tematNastępny temat

Wróć do „Arduino, Raspberry pi i inne systemy mikroprocesorowe”