Cześć wszystkim,
mam dwa główne problemy, na które od dłuższego czasu nie mogę znaleźć rozwiązania.
Najpierw z grubsza opiszę układ na którym pracuję.
Układ przeznaczony jest do sterowania modelem RC i zasilany jest albo z USBasp (zmierzone napięcie na wyjściu to ok. 4,2V) albo z układu BEC z ESC (zmierzone 5,2V na wyjściu, ESC redox 40A 2-3S, BEC 5V/3A). Jednym z elementów jest wyjście na serwomechanizm, który przysparza mi trochę problemów.
Software wgrany na mikrokontroler:
1.
Układ zrealizowany jest zarówno na płytce PCB (jak na zdjęciu powyżej) oraz na płytce stykowej. Początkowym problemem było serwo (MicroServo SG-90), które działało bezproblemowo w układzie z płytką stykową. Natomiast po przeniesieniu mikrokontrolera na PCB, serwo wieszało się po kilku/kilkunastu sekundach pracy. Wydaje mi się, że to oznacza, że software nie jest problemem.
Dopiero ponowne podłączenie zasilania do układu lub reset mikrokontrolera powodowało powrót układu do pracy na kolejne kilka sekund.
Po wymianie serwa na nowsze (RacerStar DS6209MG) oba układy zaczęły działać poprawnie przy zasilaniu z układu BEC z ESC. Natomiast przy zasilaniu z USBasp, MicroServo w ogóle nie reaguje, natomiast sygnał na oscyloskopie schodzi do 0V. Nowsze serwo mimo, że nie reaguje, to pozostawia poprawny kształt sygnału wyjściowego.
Tutaj moje pytanie brzmi, jaka jest możliwa przyczyna takiego zachowania?
2.
Po odkryciu działającego układu (nowsze serwo + zasilanie układem BEC) spróbowałem zasilić układ zasilaczem laboratoryjnym (ZHAOXIN RXN-305D) napięciem 5V z maksymalnym dostępnym amperażem na wyjściu. Plus i minus podpięte w miejsce układu BEC z ESC. Sygnał na oscyloskopie ma poprawny kształt, zachowuje się tak samo (amplituda i szerokość sygnału PPM) jak przy podpięciu układu BEC. Serwo jednak nie wykonuje żadnych obrotów, oprócz delikatnych wibracji. Zmiana źródła zasilania powoduje, że serwo zaczyna działać poprawnie.
Jest to sytuacja, której nie jestem w stanie zrozumieć, stąd moje zapytanie do bardziej doświadczonych kolegów o możliwe przyczyny takiego zachowania.
Dopuszczam możliwość, że schemat elektryczny ma jakieś błędy, jest to w sumie pierwsze PCB, które zaprojektowałem. Jestem świadom braków na tym schemacie (tj. przycisk Reset, LED itp.). To wszystko będzie realizowane w kolejnych wersjach tego projektu. W pierwszej wersji chodzi mi wyłącznie o funkcjonalność podstawowego układu.
W między czasie zlutowałem drugą płytkę i sprawdziłem jej połączenia, aby upewnić się, że wszystko jest zgodnie ze schematem. Na drugiej płytce zmieniłem również wartość kondensatorów przy zasilaniu mikrokontrolera (z 10nF na 100nF).
Będę bardzo wdzięczny za Waszą pomoc, ponieważ chciałbym rozwiązać i zrozumieć występujące problemy zanim przejdę do dalszych etapów projektu.
mam dwa główne problemy, na które od dłuższego czasu nie mogę znaleźć rozwiązania.
Najpierw z grubsza opiszę układ na którym pracuję.
Układ przeznaczony jest do sterowania modelem RC i zasilany jest albo z USBasp (zmierzone napięcie na wyjściu to ok. 4,2V) albo z układu BEC z ESC (zmierzone 5,2V na wyjściu, ESC redox 40A 2-3S, BEC 5V/3A). Jednym z elementów jest wyjście na serwomechanizm, który przysparza mi trochę problemów.
Software wgrany na mikrokontroler:
#include <Adafruit_TiCoServo.h>
Adafruit_TiCoServo Ster;
void setup() {
Ster.attach(STER_PIN, 1000, 2000);
}
void loop () {
int y = (millis() / 1000) % 18;
y = y * 10;
Ster.write(y);
}1.
Układ zrealizowany jest zarówno na płytce PCB (jak na zdjęciu powyżej) oraz na płytce stykowej. Początkowym problemem było serwo (MicroServo SG-90), które działało bezproblemowo w układzie z płytką stykową. Natomiast po przeniesieniu mikrokontrolera na PCB, serwo wieszało się po kilku/kilkunastu sekundach pracy. Wydaje mi się, że to oznacza, że software nie jest problemem.
Dopiero ponowne podłączenie zasilania do układu lub reset mikrokontrolera powodowało powrót układu do pracy na kolejne kilka sekund.
Po wymianie serwa na nowsze (RacerStar DS6209MG) oba układy zaczęły działać poprawnie przy zasilaniu z układu BEC z ESC. Natomiast przy zasilaniu z USBasp, MicroServo w ogóle nie reaguje, natomiast sygnał na oscyloskopie schodzi do 0V. Nowsze serwo mimo, że nie reaguje, to pozostawia poprawny kształt sygnału wyjściowego.
Tutaj moje pytanie brzmi, jaka jest możliwa przyczyna takiego zachowania?
2.
Po odkryciu działającego układu (nowsze serwo + zasilanie układem BEC) spróbowałem zasilić układ zasilaczem laboratoryjnym (ZHAOXIN RXN-305D) napięciem 5V z maksymalnym dostępnym amperażem na wyjściu. Plus i minus podpięte w miejsce układu BEC z ESC. Sygnał na oscyloskopie ma poprawny kształt, zachowuje się tak samo (amplituda i szerokość sygnału PPM) jak przy podpięciu układu BEC. Serwo jednak nie wykonuje żadnych obrotów, oprócz delikatnych wibracji. Zmiana źródła zasilania powoduje, że serwo zaczyna działać poprawnie.
Jest to sytuacja, której nie jestem w stanie zrozumieć, stąd moje zapytanie do bardziej doświadczonych kolegów o możliwe przyczyny takiego zachowania.
Dopuszczam możliwość, że schemat elektryczny ma jakieś błędy, jest to w sumie pierwsze PCB, które zaprojektowałem. Jestem świadom braków na tym schemacie (tj. przycisk Reset, LED itp.). To wszystko będzie realizowane w kolejnych wersjach tego projektu. W pierwszej wersji chodzi mi wyłącznie o funkcjonalność podstawowego układu.
W między czasie zlutowałem drugą płytkę i sprawdziłem jej połączenia, aby upewnić się, że wszystko jest zgodnie ze schematem. Na drugiej płytce zmieniłem również wartość kondensatorów przy zasilaniu mikrokontrolera (z 10nF na 100nF).
Będę bardzo wdzięczny za Waszą pomoc, ponieważ chciałbym rozwiązać i zrozumieć występujące problemy zanim przejdę do dalszych etapów projektu.