Arduino jako DTG sterownik - Wersja do druku +- Arduino Polska Forum (https://forum.arduinopolska.pl) +-- Dział: Korzystanie z Arduino (https://forum.arduinopolska.pl/dzial-korzystanie-z-arduino) +--- Dział: Piaskownica (https://forum.arduinopolska.pl/dzial-piaskownica) +--- Wątek: Arduino jako DTG sterownik (/watek-arduino-jako-dtg-sterownik) |
Arduino jako DTG sterownik - AU_Robert - 08-07-2016 Chciał bym rozpocząć temat DTG i Adruino W sieci można znaleść wiele programów poświęconych temu zagadnieniu. Sam przerobiłem drukarkę Epson R1500W na tego rodzaju urządzenie. Jednak konstrukcja zbudowana z płyt MDF i na bazie napędu drukarki jest nie do końca projektem który budzi zachwyt. Dla tego postanowiłem poprwaić ten projekt o sterowany silnikiem krokowym napęd stołu. Chciał bym prosić elektroników - programistów o pomoc w skompilowaniu codu do arduino w oparciu o materiały które posiadam. Mam dwa kody do arduino : 1. Arduino sterowane sygnałem z enkodera optycznego porusza silnikiem 1:1 2. Arduino sterowane 2 przyciskami przesunie stół w pozycje load i zatrzyma -end stop switch oraz eject i też stop end switch. Oba kody działaja poprawnie ale niestety nie mam pojęcia jak je połączyć w jeden działający. Więcej informacji na prv. RE: Połączenie dwóch Kodów w jeden - adix - 09-07-2016 Pokaż jakie błędy miałeś. RE: Połączenie dwóch Kodów w jeden - AU_Robert - 09-07-2016 Arduino:1.6.9 (Windows 7), Płytka:"Arduino/Genuino Uno" Silnik Nema + driver Sygnały Input z dekodera PIN 2 Direction PIN 3 Steep Next Input PIN 4 Load Pin 5 End stop PIN 6 Eject Pin 7 End Stop Output PIN 8 - motor DIR PIN 9 - motor Steep RE: Połączenie dwóch Kodów w jeden - adix - 09-07-2016 podaj kod połączony (chyba ze to ten co wysłałeś mi na pw) po błędach wynika ze masz powielone te same porty ale dokładnie odp jak kod zobaczę. RE: Połączenie dwóch Kodów w jeden - AU_Robert - 10-07-2016 (09-07-2016, 23:32)adix napisał(a): podaj kod połączony (chyba ze to ten co wysłałeś mi na pw) po błędach wynika ze masz powielone te same porty ale dokładnie odp jak kod zobaczę. Po moim połączeniu kompilacja sie udaje ale kod działa tylko na eject i stop. Reszta niestety nie. Nie mam pojęcia co jest nie tak. Jestem ciągle na etapie czytania książki o Arduino ale niestety nie za wiele udaje mi się zrozumieć. Więc z tąd moja prośba. Czy ktoś może wytłumaczyć mi jak połączyć te dwa kody w jeden działający. Założenia programu to: Sterowanie silnikiem poprzez wyjście 8-Dir i 9-Steep 2 kierunki Load-end stop 4-7 Eject-end stop 5-6 do tego włączenie silnika pin 2-3 z enkodera optycznego A i B w 2 kierunkach Może to zabrzmi skomplikowanie ale nie wiem jak to prościej wytłumaczyć. Mamy dekorer optyczny który ma 4 wyjścia A / B / +5V / GND Code : pierwszy schemat podłączenia arduino : Do tego po przyciśnięciu pin 4 silnik obraca się w jedną stronę aż do end stop który zatrzymuje go sygnałem na pin 7 i odwrotnie pin 5 aż do end stop sw. na pin 6 Oba programy działaja jak juz wspomniałem ale osobno . Więc chciał bym sie dowiedzieć jak połączyć dwa w jeden. RE: Arduino jako DTG sterownik - adix - 10-07-2016 Kod: #define encoder_a 2 //keep this on and interrupt pin RE: Arduino jako DTG sterownik - AU_Robert - 11-07-2016 (10-07-2016, 23:28)adix napisał(a): Niestety nic nie działa. RE: Arduino jako DTG sterownik - AU_Robert - 12-07-2016 (10-07-2016, 23:28)adix napisał(a): Sorki nie działa. RE: Arduino jako DTG sterownik - AU_Robert - 12-07-2016 Niestety nie jest wiele osób które postanowiły podjąć wyzwanie. Problem rozwiązałem przy pomocy znajomych więc uważam temat za wyczerpany. Pozdrawiam wszystkich. RE: Arduino jako DTG sterownik - AU_Robert - 12-08-2016 Założenia kontroli : Pin 2 i 3 sygnał z dekodera.......... Reszta : int inBtn = 4; // Momentary push button to send the Platen to the Back / Home position int outBtn = 5; // Momentary push button to eject the platen to the front position int passBtn = 6; // Automatic 2 pass Rocker style switch int motorEnable = 7; // Not used yet: Some motor drivers require a HIGH signal to enable. int motorDirection = 8; // Wire to motor driver direction pin int motorStep = 9; // Wire to motor driver Step / Pulse pin int backStop = 11; // Back or Home position |