• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Adafruit motor shield i moduł silnika dc TB6612
#1
Witam

Chciałbym sterować 3 silnikami dc 12v.

https://botland.com.pl/pl/arduino-shield...results=43

Orientuję się ktoś czy bibliotece adafruit motor jest szkic, którym można uruchamiać za pomocą przycisku impulsu 1s wszystkie 3 silniki lub czy w tym szkicu można by było takie coś zrobić? Jeden impuls silniki kręcą się na określony czas w lewo i off i drugi impuls w prawo i off. Zaprogramowanem w supli esp8266 który wysyła krótki impuls i chciałbym go wykorzystać do ster 3 silników. Z arduino jestem początkującym. 


[*]
int
pwmMotorA=5;

[*]int InMotorA1=4;
[*]int InMotorA2=3;
[*] 
[*]void setup() {               
 
[*]  //Wyjście PWM kanału A
[*]  pinMode(pwmMotorA, OUTPUT);
 
[*]  //Wyjście cyfrowe AIN1
[*]  pinMode(InMotorA1, OUTPUT);
[*]  //Wyjście cyfrowe AIN2
[*]  pinMode(InMotorA2, OUTPUT); 
[*] 
[*]}
[*] 
[*]// Nieskonczona pętla
[*]void loop() {
 
[*]  //Kanał A
 
[*]  //Ustawienie kierunku obrotów
[*]  digitalWrite(InMotorA1, LOW);
[*]  digitalWrite(InMotorA2, HIGH);
 
[*]  //Ustawienie prędkości obrotowej na 50% (zakres PWM: 8bitów czyli 0-255)
[*]  analogWrite(pwmMotorA,128);
 
[*]  //Opóźnienie 2s
[*]  delay(2000);
 
[*]  //Zmiana kierunku obrotów
[*]  digitalWrite(InMotorA1, HIGH);
[*]  digitalWrite(InMotorA2, LOW);
 
[*]  //Opóźnienie 2s
[*]  delay(2000);
 
[*]  //Zatrzymanie silnika - poprzez ustawianie wspołczynnika wypelnienia PWM na wartość 0
[*]  analogWrite(pwmMotorA,0);
 
[*]  //Opóźnienie 2s
[*]  delay(2000);
[*] 
[*]} 
 
Odpowiedź
#2
Uda Ci się to zrobić jak nauczysz się zarządzać czasem używając co najmniej millis() zamiast delay. Kurs jednak zacznij od początku, zaczynając od ostatniej lekcji wiele się nie nauczysz.
Miło być decenianym https://buycoffee.to/kaczakat
 
Odpowiedź
#3
Czytam cały czas foorbota od podstaw. Czyli jak opanuje milis to jest taka opcja sterowania na impuls lewo/prawo?
 
Odpowiedź
#4
Chciałem jeszcze dopytać żeby nic nie uszkodzić. Np w tym module L293d jeśli podłącze zasilanie zewnętrzne jak na schemacie to jeśli pobór będzie np 1,5A to nic nie uszkodze? Płytka ma 600mA na kanał jest gdy zasilanie zew nie jest podłączone? Jest z arduino? Pod piny in1 i in2 podpinam pod arduino?

Z góry dziękuję za pomoc
 
Odpowiedź
#5
Tam gdzie jest napisane DC 9-24V, to jest zasilanie modułu.
Na płytce jest stabilizator 78M05 i z niego idzie napięcie 5V do wyjścia oznaczonego DC5V.
Z tego wyjścia możesz zasilić swoje Arduino.
Arduino nie jest zasilaczem i nie polecam zasilać czegokolwiek z jego stabilizatora.
Do testów przy uruchamianiu modułów, a i owszem można, ale dla gotowe produktu to nawet polecam wylutować stabilizator z Arduino i o nim zapomnieć.
Jeśli masz problem z kodem lub sprzętem, zadaj pytanie na forum. Nie odpowiadam na PW, jeśli nie dotyczą one spraw forum lub innych tematów prywatnych.

[Obrazek: SsIndaG.jpg]
 
Odpowiedź
#6
Czyli jak użyje zasilacza na wejściu 9-24v, np 4A przy poborze silnika 1,5A to nic nie uszkodze arduino dostanie zasilanie z tego 5v. A in1 i in2 pod piny cyfrowe arduino dla obrotów lewo/prawo?
 
Odpowiedź
#7
Zgadza się.
Jeśli masz problem z kodem lub sprzętem, zadaj pytanie na forum. Nie odpowiadam na PW, jeśli nie dotyczą one spraw forum lub innych tematów prywatnych.

[Obrazek: SsIndaG.jpg]
 
Odpowiedź
#8
Dziękuję Ci za pomoc.
 
Odpowiedź
#9
Poczytałem o tych starszych układach L293d i jak to rozumieć, że piszą że na kanał max 0,6A a chwilowy 1,2A. Jak to się ma do tego zasilania, że przy eadajnosci prądowej zasilacza i poborze 1,5A moduł nie uszkodzi się? Jakie natężenie max jest w stanie wytrzymać? Nie mogę tej informacji znaleźć.
 
Odpowiedź
#10
Pierwsze z dymem idzie najsłabsze ogniwo, może być sterownik, zasilacz, silnik, przewód, bezpiecznik, ścieżka na płytce... Jak mają zabezpieczenia to po prostu się wyłączą. Jak chip ma 0,6A to nie możesz go używać z silnikiem 1,5A, silnik z kolei też nie musi pobierać 1,5A, jak chcesz by chodził na maksa to tak, ale mniejsze napięcie czy wypełnienie PWM 50% i będzie pobierał mniej. Ale co do zasady chip ma mieć zapas i jeśli do jednego podłączasz jeszcze 2 silniki to sprawdzasz w dokumentacji jakie to ma znaczenie. Np. Atmega328 może na jeden IO wytrzymać 40mA, ale nie można podłączyć 20 IO z takim obciążeniem, max dla całego chipa to 200mA.
Często jest tak, że "na opakowaniu" jest napisane dużymi literami 20A, ale w dokumentacji już 0,5A z gołym chipem i przy większym obciążeniu trzeba dodać spory radiator.
Miło być decenianym https://buycoffee.to/kaczakat
 
Odpowiedź
  


Skocz do:


Przeglądający: 1 gości