Przeszukaj forum
Pokazywanie wyników dla tagów 'silnikdc'.
Znaleziono 4 wyniki
-
Dzień dobry! Chciałbym zbudować sobie samochodzik na pilot i mam problem z doborem silnika/mostka H do tegoż. Generalnie zamysł jest taki, że silnik będzie przerzucał (za pomocą czegoś w stylu łańcucha/taśmy) moc na oś napędu do której przyczepione będą koła. (Załączam rysunek poglądowy). Całość prawdopodobnie będę opierał na arduino nano. Chciałbym, by samochodzik jeździł maksymalnie szybko - cała konstrukcja ważyć będzie +- 1-1,5kg. Zastanawiałem się nad tym silniczkiem: https://abc-rc.pl/product-pol-14654-Silnik-SWIFT-Drive-540-12V-7.html i chciałem do niego znaleźć mostek H, ale albo mają jakieś śmieszne maksymalne prądy w stylu 2A albo są zabójczo drogie (znalazłem takie za >100zł) w więc znalazłem taki sterownik: https://botland.com.pl/sterowniki-silnikow-moduly/12397-cytron-md10c-jednokanalowy-sterownik-silnikow-30v13a.html. Czy ten sterownik da radę z takim silniczkiem? Czy może musze znaleźć inny (jaki?). Chciałbym zamknąć cały temat napędu w maksymalnie 100zł. Byłbym ogromnie wdzięczny za doradzenie co powinienem zrobić. Może ten silnik jest zły i jakiś inny (tańszy?) też będzie dobry?
-
Dzień dobry, Jest to mój pierwszy wpis na forum, szukałem wcześniej podobnego tematu ale go nie znalazłem, tak więc zakładam nowy. Steruję silnikiem DC za pomocą sterownika L293D, połączenie jest poprawne, steruję "ręcznie" silnikiem , więc od tej strony wszystko działa, problem pojawił się przy programowaniu STMki. Korzystając z kursu STM32 F1 HAL #4 porty GPIO próbuję wystawić sygnał sterujący silnikiem lecz pozostaje on w stanie wysokim. Jeżeli zmienię PIN na diodę LED PC13 to ta działa poprawnie. Co zrobić aby dany PIN zmieniał swój stan? while (1) { /* USER CODE END WHILE */ /* USER CODE BEGIN 3 */ HAL_GPIO_WritePin(GPIOA, GPIO_PIN_15, GPIO_PIN_SET); HAL_Delay(500); HAL_GPIO_WritePin(GPIOA, GPIO_PIN_15, GPIO_PIN_RESET); HAL_Delay(500); } /* USER CODE END 3 */ }
-
Czesc. Ma ktos ten sterownik: https://botland.com.pl/pl/sterowniki-silnikow-dc/2695-pololu-drv8838-jednokanalowy-sterownik-silnikow-11v17a.html --- Pololu DRV8838? Chcialbym sie dowiedziec jaki ma spadek napiecia na mostku. Napisalem do botlandu lecz oni tez nie wiedza - w nocie katalogowej nie ma takiej informacji. Bawil sie ktos tym sterownikiem? Z gory dzieki.
- 24 odpowiedzi
-
- Pololu DRV8838
- sterownik
-
(i 1 więcej)
Tagi:
-
Czesc. Zmontowalem sobie uklad ktory bedzie sterowal silnikami: przod i tyl. Program wgrany do nadajnika i odbiornika, ladnie pieknie wszystko pokazane w monitorze portu szergowego, ze pozycje joysticka sa odczytane lecz silniki nie ruszaja sie. Moze mi ktos wytlumaczyc dlaczego tak sie dzieje? Zasilanie 2x 18650 przetwornica wyregulowane na 6V - silniki + arduino uno/ joystick shield + uno - zasilanie z portu usb. Silniki normalne kreca sie podpiete jak na schemacie i podanie tych wartosci co w kodzie, ale bez nrfa i joysticka wiec sa sprawne oraz mostek h. Sprawdzalem tez na innym joystick shieldzie i tez tez nie dziala 😞 Czasami mi w terminalu takie cos wyskakuje (zalacznik) To nie sa bledy? RF24 wersja 1.1.6 Kod Nadajnika (joystick shield+ uno): #include <SPI.h> #include "RF24.h" #define ce 9 #define csn 10 RF24 myRadio (ce, csn); byte addresses[][6] = {"0"}; struct package { int X=1; int Y=1; }; typedef struct package Package; Package data; void setup() { Serial.begin(115200); delay(100); myRadio.begin(); myRadio.setChannel(115); myRadio.setPALevel(RF24_PA_MIN); myRadio.setDataRate( RF24_250KBPS ) ; myRadio.openWritingPipe( addresses[0]); delay(100); } void loop() { myRadio.write(&data, sizeof(data)); Serial.print("X:"); Serial.print(data.X); Serial.print(" Y"); Serial.println(data.Y); data.X = analogRead(A0); data.Y = analogRead(A1); delay(100); } Kod odbiornika (uno + silniki): #include <SPI.h> #include "RF24.h" #define ce 9 #define csn 10 RF24 myRadio (ce, csn); struct package { int X=351; int Y=328; }; byte addresses[][6] = {"0"}; int OUT1 = 5; int OUT2 = 6; int OUT3 = 7; int OUT4 = 8; typedef struct package Package; Package data; void setup() { Serial.begin(115200); delay(1000); myRadio.begin(); myRadio.setChannel(115); myRadio.setPALevel(RF24_PA_MAX); myRadio.setDataRate( RF24_250KBPS ) ; myRadio.openReadingPipe(1, addresses[0]); myRadio.startListening(); pinMode(OUT1, OUTPUT); pinMode(OUT2, OUTPUT); pinMode(OUT3, OUTPUT); pinMode(OUT4, OUTPUT); } void loop() { if ( myRadio.available()) { while (myRadio.available()) { myRadio.read( &data, sizeof(data) ); } Serial.print("X:"); Serial.print(data.X); Serial.print(" Y"); Serial.println(data.Y); int X = data.X; int Y = data.Y; if(Y>400){ digitalWrite(OUT1,1); digitalWrite(OUT2,0); digitalWrite(OUT3,0); digitalWrite(OUT4,1); }else if(Y<200){ digitalWrite(OUT1,0); digitalWrite(OUT2,1); digitalWrite(OUT3,1); digitalWrite(OUT4,0); } else{ digitalWrite(OUT1,0); digitalWrite(OUT2,0); digitalWrite(OUT3,0); digitalWrite(OUT4,0); } } }