Skocz do zawartości

[Arduino][mostek H][PWM] Redukcja zakłóceń akcelerometru od silnika DC


mhl

Pomocna odpowiedź

Witam, posiadam mostek H zrobiony z takich elementów:

układ TD340i, tranzystory IRL3713, całość jest obudowana generalnie wg wskazań producenta w datasheet poniżej

Mam tez Arduino i akcelerometr Analog Devices ADXL311JE +-2g, który ma swój stabilizator napięcia i kondensator przy zasilaniu

do tego wszystkiego podpięty jest silniczek http://www.gravesrc.com/GWS_370C_MO_412T_MOTOR_p/gwsg1012.htm

Problem jest w tym, że gdy tylko załączy się silnik, to wskazanie z akcelerometru zaczyna wariować zarówno przy dużej jak i małej częstotliwości PWM (30Hz-1kHz).

na obrazku jest pokazany kąt wyliczany z akcelerometru (na dole): linia ciągła, gdy silnik nie pracuje, szumy, gdy pracuje.

Silnik jest oddalony od akcelerometru o jakieś 20cm. Bieguny silnika są zepnięte ze sobą kondensatorem 0.1uF. Arduino i silnik zasilane są z oddzielnych źródeł, ale oczywiście mają wspólną masę która idzie do Arduino.

Czy dobrym rozwiązaniem byłby transoptor do rozdzielenia mas? Np. HCPL2631? A może wystarczy tańszy CNY17? Standardowo używam częstotliwości PWM 490Hz, przerwanie obsługujące silnik (jego kierunek i prędkość) załącza się z częstotliwością 256Hz, nie wiem czy to tym się kierować przy doborze?

datasheet TD340i http://www.digchip.com/datasheets/parts/datasheet/456/TD340I.php

datasheet ADXL311JE http://pdf1.alldatasheet.pl/datasheet-pdf/view/83688/AD/ADXL311JE.html

Link do komentarza
Share on other sites

Fajnie, że opisałeś to w miarę dokładnie, ale w tym przypadku będzie potrzeba dużo więcej szczegółów.

Narysuj w formie schematu blokowego wszystkie elementy tego systemu: Arduino, źródła zasilania, akcelerometr, ew. inne moduły cyfrowe, wszystkie mostki, silniki, przekaźniki itp elementy wysokoprądowe ze szczególnym uwzględniem prowadzenia przewodów mas i zasilań. Gdzie się łączą kable masy, gdzie zasilania, gdzie są umieszczone (i jakie) stabilizatory, gdzie masz podłączone kable ew. nieizolowanych interfejsów (USB, RS232, video itp). Zaznacz też poziomy napięć i choćby orientacyjne pobory prądów oraz mniej więcej grubości kabli i ich typ (ekranowany, skrętka, zwykły drut itp). No wiesz, pokaż taki projekt złożeniowy okablowania całości.

Link do komentarza
Share on other sites

No więc tak, płytka do silnika jest mniej więcej tak jak na stronie 19 datasheet, tylko nie ma tam potencjometru, po prostu podaję na wejście PWM z Arduino (IN1 PWM, IN2 to kierunek obrotów)

stabilizator napięcia dla akcelerometru to LE33

Poglądowe okablowanie było takie, że PWM szło bezpośrednio do TD340i i masa była wspólna i silnik dał się ładnie sterować, teraz zrobiłem coś takiego na transoptorach CNY17, ale mam problem tego typu, że przy włączonym PWM z Arduino jakieś sterowanie jest, natomiast przy wyłączonym, silnik chodzi na max obrotach (rezystor R2 1,5k Ohm, za mały?). Rezystor R1 = 250 Ohm. Nie widać na schemacie tranzystorów i wyprowadzeń do silnika, ale chyba w tym przypadku nie są istotne. Układ CNY17 na dole od lewej piny 123, na górze 654. Kable to zwykłe druty w izolacji.

Żyroskop jest zupełnie niewrażliwy, natomiast akcelerometr bardzo szumi, nawet przy małych obrotach i małej częstotliwości PWM.

Pomiary postaram się porobić i dołączyć po południu.

Ale co się okazuje, efekt izolacji jest żaden, nadal akcelerometr szumi.

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

Wywal tę optoizoalcję, bo i tak jest wspólna masa wszystkiego.

Płytki stykowe to najkrótsza droga do kłopotów.

Jeżeli masz sygnały analogowe, to tak, jakbyś robił wzmacniacz audio. Myśl o każdym sygnale mierzonym jak o parze przewodów. Gdzie powstaje - z jednej strony, i kto go mierzy i względem czego - z drugiej.

Czujniki podłącz przez wydzielone kabelki: masa, sygnał, zasilanie, podłączone wprost do czujnika i do płytki komputerka. Masa najlepiej gdzieś blisko masy procesora (ADC względem niej mierzy!), zasilanie gdzieś blisko stabilizatora. Najlepszy byłby kabelek ekranowany dwużyłowy: ekran to masa, jedna żyła to zasilanie i druga to sygnał z czujnika. Pamiętaj, że jeśli impedancja wyjściowa źródła jest duża, to do takiego przewodu (jeśli nie ma ekranu) wchodzą wszelkie zakłócenia promieniowane z silników i z innych kabli.

Jeżeli po takich zmianach nie będzie wystarczająco dobrze, pomyślimy nad filtrowaniem. Zawsze to jakaś porażka bo spada pasmo sygnału ale akurat takie czujniki można trochę obciąć. Powodzenia.

Możesz dla pewności - jeszcze przed złapaniem się za lutownicę - narysować proponowny układ i go tu pokazać.

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.