Skocz do zawartości

Arduino piszczy przy wgraniu kodu


Pomocna odpowiedź

Napisano

Witam jestem poczatkujacy. Przerobilem kurs Arduino i uzywam Arduino UNO.

Mam problem podczas programowania swojego pierwszego robota. Z gory mowie ze nie przerobilem kursu robotyki, poniewaz nie mam shielda :/

Moj problem jest nastepujacy:

Kiedy wgrywam program do mojego Arduino zaczyna piszczec... Problem pojawia sie przy analogWrite, kiedy zmieniam pwm na silnik na jakikolwiek. Kiedy pisze digitalWrite (...,HIGH); wszystko jest ok i robot jedzie do przodu (wiec to chyba nie problem zlego podlaczenia).

Zdjalem z programu czujnik i zostawilem tylko silniki z ruchem do przodu:

//pin 7,8 - 1 silnik
//pin 6 PWM dla 1 silnika
//silnik 1 - prawy silnik
//pin 2,3 -2 silnik
//pin 5 to PWM dla silnika 2
//silnik 2 - lewy silnik



void setup() { 
 pinMode(2,OUTPUT);
 pinMode(3,OUTPUT);
 pinMode(5,OUTPUT);
 pinMode(6,OUTPUT);
 pinMode(7,OUTPUT);
 pinMode(8,OUTPUT);
 analogWrite(5,100);
 analogWrite(6,100);

}

void loop()  {   

 digitalWrite(7, LOW); 
 digitalWrite(8, HIGH);
 digitalWrite(2,LOW);
 digitalWrite(3,HIGH);
}  

Kiedy analogWrite zamieniam na digitalWrite normalnie jedzie a przy tym programie zaczyna piszczec. Prosze o pomoc (pewnie popelniam jakis oczywisty blad...)

W samym Arduino to raczej nie ma co piszczeć i prędzej podejrzewałbym zagłodzone silniki. AnalogWrite() ma zakres argumentów 0-255. Próbowałeś dać więcej niż 100? Może dopiero od jakiejś większej wartości silniki ruszają? Co prawda już 100 to prawie połowa (100/255) więc już całkiem żwawo powinny dawać, ale może zrobiłeś tak słabe zasilanie lub kiepski mostek/driver, że dopiero np. 80% (czyli ok. 200) odpala napędy. DigitalWrite() wpisuje na wyjście na stałe stan 1 czyli to tak jakbyś napisał AnalogWrite(255). Silniki tak mają, ze piszczą bo w końcu to kawałek ruchomej stali (wirnik) z cewką czyli.. prawie głośnik 🙂 Jeśli są na granicy działania, podnieś robota i ręką obróć koło. Gdy ruszy to już wiesz, że napędy mają za mało prądu by wystartować na podłodze. Wtedy popróbuj z większymi wartościami niż 100.

  • Lubię! 1

Pokaż jakiś schemat, jak sterujesz te silniki? Jakiś mostek - nic o nim nie piszesz. Co do piszczenia to nie Arduino piszczy lecz silniki - słyszysz częstotliwość sygnału PWM. Dźwięki te oznaczają, że silnik chce ruszyć ... ale nie może, za niskie jest wypełnienie sygnału PWM. Napisz sobie programik, który w pętli for będzie zmieniał PWM od 0 - 255 i zaobserwuj kiedy piszczy, a kiedy przestaje i co się wtedy dzieje z silnikami.

Pozdrawiam,

  • Lubię! 1

No to albo problemy z zasilaniem (mostkiem), albo bardzo duże opory toczenia. Tak z ciekawości to jakie to silniki i mostek? Jak je zasilasz? Moje silniczki z platformy Alphabot (waveshare) działają już gdzieś przy wypełnieniu 35. Swoją drogą polecam https://www.waveshare.com/wiki/AlphaBot znajdziesz tam schematy i przykładowe programy dla Arduino i Raspberry. Analiza tych materiałów to tez nauka.

Pozdrawiam,

Silniki dostałem kiedyś na kursie Arduino, który został przerwany z powodu problemów organizacyjnych... Nauczyli mnie tylko obsługiwać się diodą xdd. Mam zestaw podobny do tego co wymagany jest do kursu robotyki tutaj ale troche mniejsza platforma dla robota i dziwna płytke przypominająca troche shield ale nie wchodzi na Arduino - złe wymiary. Silniki i koła te same co w kursie robotyki tylko silniki nie mają przyspawanych kabli.

Wgl może ma ktoś pomysł co to jest??

(pierwsze zdj silnik z kołem, pozostałe zdjęcia - płytka, której przeznaczenia nie znam)

[ Dodano: 27-01-2018, 15:21 ]

Mostek L293D zasilany z 4 paluszkówAA 1,5V

Patrząc na koła i silniczki to wypełnienie PWM przy którym startuja moim zdaniem tylko potwierdza duże opory toczenia ew. rozładowane baterie - sprawdziłbym baterie. Sama płytka wygląda na płytkę prototypową i podoba mi się. Dlaczego nie pasuje - trudno mi powiedzieć

Hmm po całym incydencie odnosze wrażenie jakby to "piszczenie" zaszkodziło silniczkom i pojazd jezdzi wolniej. To możliwe czy raczej tylko moje wrażenie?

[ Dodano: 27-01-2018, 15:39 ]

Baterie kupiłem wczoraj

Baterie kupiłem wczoraj

Co nie przeszkadza w ich sprawdzeniu pod obciążeniem za pomocą woltomierza. Troszeczkę już pewnie na nich eksperymentujesz, a silniki zużywają stosunkowo dużo prądu (energii). Pojazd będzie jeździł wolniej przy wyczerpujących się bateriach.

Zmierz napięcie na silniczkach przy pełnym wypełnieniu - o ile mnie pam8ęć nie myli to na tym mostku będziesz miał dość duże straty.

Nie mam woltomierza :/

[ Dodano: 27-01-2018, 15:47 ]

ethanek - polecisz jakis lepszy mostek?

[ Dodano: 27-01-2018, 15:53 ]

Tak wygląda moj robot (potem jeszcze ustabilizuje ten czujnik odleglosci)

[ Dodano: 27-01-2018, 15:54 ]

Dzisiaj przy PWM 190 jedzie jak go na poczatek popchne lekko piszcząc

Ja używam dwóch ogniw 18650 (wydłubane ze starej bateriinod lapka), do tego jakaś tania ładowarka i nie muszę się martwić że mi na piwo zabraknie 🙂

Z tym to ciężka sprawa. "Prądu" nigdy za wiele, a może coś typu 18650 x 2 - zawsze możesz naładować. Ja korzystam z dwóch takich zestawów. Gdy pierwszy się rozładuje trafia do ładowarki, a w to miejsce trafia drugi 🙂.

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...