Szybkie pytanie / szybka odpowiedź

Awatar użytkownika
Miś
Posty: 746
Rejestracja: 22 kwie 2016, 14:23
Kontaktowanie:

Re: Szybkie pytanie / szybka odpowiedź

Postautor: Miś » 27 lip 2018, 8:42

Kama, po co Ci regulacja prędkości ? Wystarczy programator czasowy. Ja chyba wybrałbym jednak silnik DC, jeśli udało by się roztrajbować jakiś stary magnetowid w celu pozyskania silniczka i przekładni ślimakowej. A jak nie to faktycznie mały krokowiec, stepstick, arduino i po krzyku.
-- MIŚ --

Awatar użytkownika
Kama
Posty: 111
Rejestracja: 20 kwie 2016, 6:18
Lokalizacja: Łódź
Kontaktowanie:

Re: Szybkie pytanie / szybka odpowiedź

Postautor: Kama » 27 lip 2018, 10:11

Miś pisze:Kama, po co Ci regulacja prędkości ? Wystarczy programator czasowy. Ja chyba wybrałbym jednak silnik DC, jeśli udało by się roztrajbować jakiś stary magnetowid w celu pozyskania silniczka i przekładni ślimakowej. A jak nie to faktycznie mały krokowiec, stepstick, arduino i po krzyku.


Ty wiesz, że chyba masz rację... (nie pierwszy raz).

Gdybym wynalazł jakiś np. 3 obr/min to w zupełności będzie wystarczyć.

Ja potrzebuję sterować ilością obrotów na dzień w przedziale od 230 obr/dziennie do 1350 obr/dziennie, więc rozdzielnikiem będzie czas kiedy silnik obrotu nie wykonuje (proste i genialne).

Ale jak zmienić kierunek obrotów takiego silnika DC? Podać odwrotnie napięcie?

Awatar użytkownika
Miś
Posty: 746
Rejestracja: 22 kwie 2016, 14:23
Kontaktowanie:

Re: Szybkie pytanie / szybka odpowiedź

Postautor: Miś » 27 lip 2018, 10:40

Ale jak zmienić kierunek obrotów takiego silnika DC? Podać odwrotnie napięcie?
Dokładnie tak. Sterowanie albo poprzez jakiś mały przekażnik, albo 4 tranzystorki w układzie mostka H albo gotowym scalaczkiem sterownika silnika DC np L9110 z takiego modułu: https://abc-rc.pl/modul-podwojnego-sterownika-l9110
-- MIŚ --

kuzyn z Poznania
Posty: 212
Rejestracja: 21 cze 2016, 22:59
Lokalizacja: Poznań
Kontaktowanie:

Re: Szybkie pytanie / szybka odpowiedź

Postautor: kuzyn z Poznania » 27 lip 2018, 11:43

Miś pisze:Kama, po co Ci regulacja prędkości ? Wystarczy programator czasowy. Ja chyba wybrałbym jednak silnik DC, jeśli udało by się roztrajbować jakiś stary magnetowid w celu pozyskania silniczka i przekładni ślimakowej. A jak nie to faktycznie mały krokowiec, stepstick, arduino i po krzyku.


Miś masz na myśli silnik od windy?

Awatar użytkownika
Kama
Posty: 111
Rejestracja: 20 kwie 2016, 6:18
Lokalizacja: Łódź
Kontaktowanie:

Re: Szybkie pytanie / szybka odpowiedź

Postautor: Kama » 27 lip 2018, 12:18

Dzięki za podpowiedź w zakresie tego gotowego układu!

Wynalazłem takie silniczki o parametrach:

Load speed: 14r / min
Output torque: 1.2kg*cm

Wydaje mi się, że powinny dać radę bez problemu zakręcić mocowaniem z zegarkiem.

Obrazek

Awatar użytkownika
Sławek
Posty: 436
Rejestracja: 15 maja 2016, 5:45
Kontaktowanie:

Re: Szybkie pytanie / szybka odpowiedź

Postautor: Sławek » 28 lip 2018, 13:19

Robiłem jaki czas temu koledze taki rotomat ;)
Z tego co miałem pod ręką, czyli na L298 i Attiny84.
Działa tak, że pracuje przez 5min w ciągu każdej godziny, czyli 5min pracy, 55min przerwy, następnie zmiana kierunku obrotów i od nowa. Prędkość obrotu jest regulowana potencjometrem.

Schemat :

schemat.png


Program prosty jak drut :

/*

DIY-LAB SN: #1001 v1.X 02/10/2016
 
Oryginalne źródło :           http://rctruck.pl
Oryginalny firmware :         by Slawek K.
                             
 
Schemat & Strona projektu :   http://rctruck.pl
 

Program do obsługi kontrolera sterującego slinikiem do napędu
mechanizmu nakręacania zagarków typu Automatic

Zasada działania :
- obrót silnika przez 300 s (5 min)
- pauza 3300 s (55 min)
- obrót silnika z przeciwnym kierunku przez 300 s ( 5min)
- pauza 3300 s (55 min)
-- powtórka sekwencji
- możliwość regulacji prędkości silnika za pomocą potencjometru

Parametry sterownika :
- napiecie zasilania 7-12V
- prąd standardowy 1.5A, szczytowy do 3A
- mikrokontroler Atmega Attiny84
- driver silnika L298
- potencjometr 10K

*/


// definicje pinów

#define INPUT3 7 // pin IN3 na L298
#define INPUT4 6 // pin IN4 na L298
#define ENABLE 5 // pin ENABLE na L298
#define POTENCJOMETR A7 // pin potencjometru
#define CZAS_OBROTU 300000 // 5 min
#define CZAS_PRZERWA  3300000 // 55 min


unsigned long poprzedni = 0; // zmienna do obliczania czasu
int odczyt = 0; // zmienna od odczytu danych z potencjometru
int pwm = 0; // zmienna sterująca wartością PWM



void setup() {
  
  pinMode(ENABLE, OUTPUT);
  pinMode(INPUT4, OUTPUT);
  pinMode(INPUT4, OUTPUT);
  pinMode(POTENCJOMETR, INPUT);
  
  digitalWrite(ENABLE, LOW);
  digitalWrite(INPUT3, LOW);
  digitalWrite(INPUT4, LOW);
  analogWrite(ENABLE, 0); // wyłączenie silnika przy starcie programu
 
}


void loop() {

  odczyt = analogRead(POTENCJOMETR); // odczyt danych z potencjometru
  pwm = map(odczyt, 0, 1023, 0, 255); // mapowanie danych z potencjometru z zakresu 0-1023 do zakresu 0-255 dla PWM

// testowanie czasów dla poszczególnych funkcji 

    if (millis() - poprzedni <= CZAS_OBROTU) {
      digitalWrite(INPUT3, LOW); // ustalenie kierunku obrotów silnika
      digitalWrite(INPUT4, HIGH); // ustalenie kierunku obrotów silnika
      analogWrite(ENABLE, pwm); // załączenie silnika z prędkością wyznaczoną poprzez zmienną pwm o wartości 0-255
    }
    
    
    if ((millis() - poprzedni > CZAS_OBROTU) && (millis() - poprzedni <= CZAS_OBROTU + CZAS_PRZERWA)) {
      analogWrite(ENABLE, 0); // wyłaczenie silnika
    }
    
    
    if ((millis() - poprzedni > CZAS_OBROTU + CZAS_PRZERWA) && (millis() - poprzedni <= CZAS_OBROTU + CZAS_PRZERWA + CZAS_OBROTU)) {
      digitalWrite(INPUT3, HIGH); // ustalenie kierunku obrotów silnika na przeciwny
      digitalWrite(INPUT4, LOW); // ustalenie kierunku obrotów silnika na przeciwny
      analogWrite(ENABLE, pwm); // załączenie silnika z prędkością wyznaczoną poprzez zmienną pwm o wartości 0-255
    }
    
    
    if ((millis() - poprzedni > CZAS_OBROTU + CZAS_PRZERWA + CZAS_OBROTU) && (millis() - poprzedni <= CZAS_OBROTU + CZAS_PRZERWA + CZAS_OBROTU + CZAS_PRZERWA )) {
      analogWrite(ENABLE, 0); // wyłaczenie silnika
    }
    
    
    if (millis() - poprzedni > CZAS_OBROTU + CZAS_PRZERWA + CZAS_OBROTU + CZAS_PRZERWA ) {
      poprzedni = millis(); // resetowanie zmiennej poprzedni
    }

  
}



Możesz to wrzucić na jakieś zwykłe arduino (tylko trzeba zmienić nr pinów) i moduł https://botland.com.pl/sterowniki-silni ... modul.html

Użył silnika z przekładnią kilkadziesiąt obrotów/min.

Pozdr
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.

Awatar użytkownika
Kama
Posty: 111
Rejestracja: 20 kwie 2016, 6:18
Lokalizacja: Łódź
Kontaktowanie:

Re: Szybkie pytanie / szybka odpowiedź

Postautor: Kama » 31 lip 2018, 9:25

Sławek pisze:Robiłem jaki czas temu koledze taki rotomat ;)



Dzięki! :OK:

Wyprowadziłem się z domu i czas zacząć inwestować we własne narzędzia...
Potrzebuję zaopatrzyć się w jakąś stację lutowniczą - macie coś godnego polecenia?


Awatar użytkownika
Kama
Posty: 111
Rejestracja: 20 kwie 2016, 6:18
Lokalizacja: Łódź
Kontaktowanie:

Re: Szybkie pytanie / szybka odpowiedź

Postautor: Kama » 31 lip 2018, 16:15

sol pisze:https://www.gotronik.pl/852d-stacja-lutownicza-hot-air-na-gorace-powietrze-2w1-zaoxin-p-555.html

polecam


Dzięki za propozycję!

Zastanawiam się jeszcze nad tym: https://pl.aliexpress.com/item/KSGER-Ne ... Title=true

Koleżeństwo na reprapy.pl zachwalało dzisiaj.

sol
Posty: 361
Rejestracja: 19 kwie 2016, 20:09
Kontaktowanie:

Re: Szybkie pytanie / szybka odpowiedź

Postautor: sol » 31 lip 2018, 18:36

jak w tą stronę zmierzasz to może zapoznaj się z poniższym :)

https://www.youtube.com/watch?v=erKCA71q7cg


Wróć do „Luźne pogaduchy”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 0 gości