Skocz do zawartości

Jak zamienić sygnał z manetki na taki do ESC?


Otiscom2

Pomocna odpowiedź

Witam, wie ktoś jak mogę kontrolować esc ( fvt 120a ) manetką elektryczną przez arduino ? Bezpośrednio nie mogę ponieważ manetka daje sygnał analogowy a do regulatora wchodzi jakiś inny . Jak w arduino zrobić taką zamianę ? Chodzi mi o to aby arduino zadziałało jak tester serw, ponieważ on działał przy tym regulatorze.

Edytowano przez Otiscom2
Link do komentarza
Share on other sites

@Otiscom2, wnioskuję (chociaż podałeś mało informacji), że manetka to potencjometr, natomiast do regulatora ESC "wchodzi" prawdopodobnie sygnał PWM (https://forbot.pl/blog/kurs-arduino-silniki-pwm-serwomechanizm-zewnetrzne-biblioteki-id3913 - początek artykułu, ESC odczytuje np. wypełnienie 0% jako brak obrotów, a 100% - maksymalne obroty).

Należy odczytać rezystancję i na jej podstawie wygenerować sygnał PWM - można to zrobić za pomocą tradycyjnego układu NE555, ale jeżeli chcesz arduino - nie ma problemu, poczytaj o przetworniku ADC (https://forbot.pl/blog/kurs-arduino-pomiar-napiecia-przetwornik-adc-id3819) i zastanów się jak będzie wyglądał kod generujący sygnał PWM (będzie banalny)

Edytowano przez wn2001
Link do komentarza
Share on other sites

Zapomniałem dodać manetka jest kciukowa a esc umożliwa obrót silnika w obie strony. O ile dobrze zrozumiałem powstało coś takiego:

#include <Servo.h>;

Servo esc;

void setup() 
{
   esc.attach(3);
   esc.writeMicroseconds(1500);
   Serial.begin(9600);
}

void loop() 
{
  int val;
  val=analogRead(A0);
  val=map(val,178, 876, 1000, 2000);
  esc.writeMicroseconds(val);
  Serial.println(val);
  delay(100);
}

 

Link do komentarza
Share on other sites

Niestety nie wiem, do czego to układ, gdzie będzie służył, jak sobie wyobrażasz sterowanie, mogę zgadywać - w ESC są dwa piny - PWM od prędkości - o nim mówiłem i od kierunku - stan niski to jeden kierunek, wysoki to drugi. Jeśli silnik ma kręcić się tylko w jedną stronę, trzeba podpiąć pin od kierunku na stałe do "plusa" lub "minusa". Jeżeli ma wyglądać to w ten sposób, że zerowe obroty to środek, manetka w dół to w lewo, a w górę w prawo - też da się takie coś na arduino zrobić.

Napisz więcej szczegółów, może jakiś kod? Trudno mówić ogólnikowo 🙂

 

 

Edytowano przez wn2001
Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

Racja już tłumaczę, chciałbym spróbować przerobić rower na elektryczny na podstawie tego filmu https://www.youtube.com/watch?v=9rIIJbDkpN8&amp;t=11s . Jak przewiniesz film do 4.52 tam pojawia się problem o którym mówię. Manetka kciukowa daje sygnał analogowy a ESC ( regulator prędkości do autek rc ) chce cyfrowy. Chciałbym puścić 3 kable od manetki ( gnd 5v i sygnał ) przez arduino i z arduino wyjść masą i pinem sygnałowym. W samym arduino chciałbym uzyskać zamianę niestety nie wiem jak. Próbowałem za pomocą tego kodu :

#include <Servo.h>;

Servo esc;

void setup() 
{
   esc.attach(3);
   esc.writeMicroseconds(1500);
   Serial.begin(9600);
}

void loop() 
{
  int val;
  val=analogRead(A0);
  val=map(val,178, 876, 1000, 2000);
  esc.writeMicroseconds(val);
  Serial.println(val);
  delay(100);
}

niestety brak reakcji  ze strony Esc😞. Dodatkowym problemem jest fakt, że potrzebuję aby silnik kręcił się tylko w jedną stronę a nie w dwie , myślę że można tak wyskalować wartość wychodzącą z arduino że problem zniknie lub popróbować inaczej skalibrować sam regulator.

Link do komentarza
Share on other sites

no tak z manetki czyli jak zwykły potencjometr to masz ok analogread(A0) , a sterowanie to jak serwem czyli sygnał 1500 to środek 1000 w jedną stronę,a 2000 w druga . zmień map() z 1000 na 1500 lub odwrotnie z 2000 na 1500. A

9 godzin temu, wn2001 napisał:

@Otiscom2, wnioskuję (chociaż podałeś mało informacji), że manetka to potencjometr, natomiast do regulatora ESC "wchodzi" prawdopodobnie sygnał PWM (https://forbot.pl/blog/kurs-arduino-silniki-pwm-serwomechanizm-zewnetrzne-biblioteki-id3913 - początek artykułu, ESC odczytuje np. wypełnienie 0% jako brak obrotów, a 100% - maksymalne obroty).

Należy odczytać rezystancję i na jej podstawie wygenerować sygnał PWM - można to zrobić za pomocą tradycyjnego układu NE555, ale jeżeli chcesz arduino - nie ma problemu, poczytaj o przetworniku ADC (https://forbot.pl/blog/kurs-arduino-pomiar-napiecia-przetwornik-adc-id3819) i zastanów się jak będzie wyglądał kod generujący sygnał PWM (będzie banalny)

tu masz sterowanie serwomechanizmem to sama co esc, wątek o pwm 

  • Lubię! 1
Link do komentarza
Share on other sites

Jeżeli ta manetka jest dedykowana do ebików to najpewniej jest zbudowana na halotronie. Oznacza to tyle, że nie uzyskasz zmiany napięcia od 0 do VCC tylko od (o ile dobrze pamiętam) 1V do 4.2V. Wyjście poza tę granicę w jedną lub drugą stronę oznacza najczęściej uszkodzenie halotrona (niektóre sterowniki ebikowe potrafią to wykryć). Najłatwiej będzie to zmierzyć zasilając manetkę z 5V i sprawdzając napięcie wyjściowe w obu skrajnych pozycjach.

Link do komentarza
Share on other sites

Dzięki wszystkim za szybką pomoc @Mechano tak, ta manetka jest do ebików dlatego w map() jest od 178 do 876 . Na zwykłym potencjometrze było by od 0 do 1023 chyba. @simpson777 Dzięki tobie ESC ożyło wystarczyło dać 1500, 2000 . Jak silnik ma kręcić się w drugą stronę to 1500 - 1000 . Dzięki wszystkim temat do zamknięcia 🙂

 

Link do komentarza
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.