Skocz do zawartości

Elvis

Użytkownicy
  • Zawartość

    2613
  • Rejestracja

  • Ostatnio

  • Wygrane dni

    195

Wszystko napisane przez Elvis

  1. Moim zdaniem "lepiej" jest zaprojektować 2 identyczne bloki - każdy z atmegą. Mniej roboty, jeden program, a ew. rozszerzenie na 3 procesory też łatwiejsze. Jeśli będzie więcej kanałów niż niezbędne, to może w przyszłości się przydadzą. Pierwszy problem to programowy PWM - jeśli użyjesz atmege8, to może być za mało kanałów sprzętowych, a programowo uzyskać stabilny sygnał nie jest łatwo. Najlepiej od razu pogodzić się z programowaniem w asemblerze, albo zmienić procesor. Jak chodzi o schemat to rezystor podciągający reset i kondensator filtrujący są po złej stronie switcha... Kondensator C10 jest po prostu zwarty.
  2. Taki sam błąd był niedawno - brakuje pętli głównej programu. Po dojściu do końca następuje reset... Dodaj na końcu: while (1) { }
  3. Twój schemat odpowiada układowi po prawej stronie w dokumentacji. Wystarczy dodać 2 rezystory - R2 i R3 wg. dok. LM339. Taka zmiana to niby niewiele, ale może bardzo poprawić działanie układu. Histereza ma wbrew pozorom bardzo dużą zaletę - filtruje zakłócenia. Niestety sygnał z czujnika odbiciowego nie jest cyfrowy, ale jak najbardziej analogowy. Oznacza to, że napięcie na kolektorze fototranzystora poza 0V i 5V może przyjmować wszystkie wartości pośrednie. Problem pojawia się, gdy to napięcie jest bliskie napięciu z którym je porównujemy (środkowe wyjście potencjometru). Wtedy nawet niewielkie (rzędu miliwoltów) zmiany napięcia będą powodowały zmiany stanu komparatora - na jego wyjściu pojawią się szpilki, czyli szybkie zmiany. W rezultacie procesor zamiast jednego sygnału /przerwania otrzyma ich całe mnóstwo. Może to powodować bardzo nieprzyjemne i nieprzewidywalne efekty. Program z pozoru poprawny może czasem działać zupełnie źle. Histereza niejako "filtruje" takie zmiany. A elektronicznie wymaga raptem 2 rezystorów. Wystarczy przewidzieć na nie miejsce na płytce - w pierwszej wersji możesz wlutować w ich miejsce zwory. Podczas uruchomienia zwory zawsze można zastąpić rezystorami i poprawić działanie układu.
  4. Moze jakas petla w programie by sie przydala. Chociaz pusta na koncu...
  5. Tak, masa jest potrzebna. Ale stabilizator zawsze wprowadza spadek napiecia.
  6. Tak to raczej nie zadziala. Zobacz schemat w dokumentacji LM339, jest tam przyklad konfiguracji z histereza. A pullup powinien byc do 5V
  7. Komparator ma wyjscie OC, wiec moze rezystory pullup warto dodac? A przy okazji latwo histereze wprowadzic
  8. Czy uklad jest zasilany z USB? Jesli tak to stabilizator 5V jest nie tylko niepotrzebny, ale nie ma szans dzialac poprawnie.
  9. Jak chodzi o problem z przerwaniami to może być jeszcze jedna przyczyna. Podczas przełączania odczytywanego stanu mogą pojawiać się zakłócenia i procesor zamiast jednego impulsu (przerwania) otrzymuje ich całe mnóstwo. Jeśli masz dostęp do oscyloskopu, proponuję zobaczyć jak wygląda sygnał. Na próbę można też programowo liczyć liczbę wywołań przerwań. Najprościej jest dodać układ z przerzutnikiem Schmitta, można też po odebraniu przerwania na pewien czas wyłączać detekcję kolejnych przerwań.
  10. Wrócę do tego co na początku pisałem - model z prostą cewką jest zbytnim uproszczeniem. Postaram się później poszukać płytki i wkleję wyniki pomiarów. [ Dodano: 22-05-2012, 19:15 ] Ok, więc opiszę moje spostrzeżenia. Układ testowy jest bardzo prosty. Do kluczowania używam układu ULN2065. Układ zawiera klucze oraz diody zabezpieczające. Diody są połączone razem i bezpośrednio lub przez diodę zenera podłączone do VCC. Zasilanie 5V, silnik hybrydowy, w sumie jakiś dziwny, ale to nie ma większego znaczenia - testowałem na różnych, efekt jest ten sam. Steruję tylko jednym uzwojeniem - dla normalnej pracy efekty są podobne. Więc wejście ULN2065 sterowane jest z PWM - okres 10ms, wypełnienie 20% (2ms). Na oscylogramach sygnał sterujący jest na CH4 (zielony). CH1 mierzy napięcie na silniku, a CH2 prąd, raz płynący przez silnik, później przez diody zabezp. Temperatur nie mierzyłem, ale będzie łatwo zgadnąć. Na początek układ z samymi diodami zabezpieczającymi (wbudowanymi w ULN2065). Anody podłączone do kluczy i silnika, katody do VCC. Pomiar prądu silnika: Pomiar prądu diod zabezp: Jak pierwszy raz to zobaczyłem, to zwątpiłem w wykłady z elektrotechniki - prąd na silniku jest nieciągły! (przy większym napięciu jest to jeszcze lepiej widoczne). [ Dodano: 22-05-2012, 19:19 ] A teraz wersja z DZ 15V. Dioda podłączona jak wcześniej rozmawialiśmy. Prąd silnika: I prąd diody: Mierzyłem też temperatury - przy diodzie zenera 2V7 osiągała 150-200stopni... Natomiast dla 15V bardziej nagrzewa się ULN niż dioda. Ale wszystkie temperatury są bardzo przyzwoite. No i oczywiście sam silnik udało się wysterować znacznie szybciej. [ Dodano: 22-05-2012, 19:21 ] Ciekaw jestem co sądzicie o tych wynikach.
  11. Nie dam 100% głowy za ten konkretny silnik, ale na hybrydowym jest dokładnie odwrotnie. Jeśli jest tylko dioda, albo zenerka o małym spadku (np. 2V7), to tracimy bardzo dużo mocy na nagrzewanie diody. Za to zastosowanie diody 20V powoduje minimalny spadek mocy. W projekcie nad którym pracuję używamy bardzo podobnego sterownika, z tą diodą były niezłe zabawy. Mogę zmierzyć temperaturę przy diodzie zenera 20V i 2V7 - różnica jest spora.
  12. Możesz trochę uprościć schemat dając 1 diodę zenera zamiast 4.
  13. Postaram się więcej napisać później, ale tak na szybko: Dioda zenera jak pisze Marek powinna być włączona szeregowo ze zwykłą diodą. Zenerka powinna być wpięta w kierunku przewodzenia (anoda do VCC), zwykła dioda w kierunku zaporowym. Ja zakładam, że efekt będzie dokładnie odwrotny - silnik da się wysterować z większą prędkością, a moc wytracana na diodach będzie znacznie mniejsza.
  14. Ten pomysł z komparatorami niestety nie będzie działać. W momencie, kiedy prąd płynący przez rezystory pomiarowe osiągnie zadany poziom, komparator wyłączy prąd. Niestety spowoduje to natychmiastowy spadek napięcia na rezystorze pomiarowym. Komparator ponownie się załączy i znowu wyłączy. Wszystko będzie zależało od prędkości komparatora, ale nie ograniczy prądu w spodziewany sposób. Proponuję porównać rozwiazanie z L297 - tam jest komparator, ale po przekroczeniu prądu, przerzutnik RS powstrzymuje układ przed natychmiastowym załączaniem ponownie. Kolejny błąd to model. Oczywiście prąd można opisać równaniem e^(-R/Lt), ale to za prosty model dla silnika krokowego. Też go używałem, do momentu, gdy sprawdziłem sondą prądową, jak wygląda prąd płynący przez uzwojenie. Polecam jeszcze jedno usprawnienie - diody zabezpieczające, katodą zamiast do + zasilania, podłącz do diody zenera, np. 20V. Daje to znaczne przyspieszenie sterowania silnika - może nawet L298 nie będzie potrzebny.
  15. W schemacie brakuje jednej, za to bardzo ważnej rzeczy - diod. Od razu uprzedzam, że w przypadku sterowania unipolarnego te diody mogą być kluczowe i niestety nie sprawdza się prosty model, w którym traktujemy silnik jak 4 spięte razem cewki.
  16. Jak jesteśmy przy "beyond" i temacie - może zamiast dziadka LM358 warto pomyśleć o MAX4249: http://pl.farnell.com/maxim-integrated-products/max4249esd/ic-wzmacniacz-operacyjny-niski/dp/1550516 Powinien pracować od 2.4V, chociaż rodziłbym sprawdzić na wszelki wypadek.
  17. Xweldog, cieszy mnie że podałeś definicję, niestety nie do końca się z nią mogę zgodzić, do "Lub" jest ok, niestety dalej nie jest już tak dobrze. Czy mógłbyś podać źródło definicji? Najpierw tak na logikę. Rail jak słusznie zauważasz to szyna zasilania. Skoro jest rail-to-rail, można zgadywać, że chodzi o układ, który pracuje z napięciami od jednej do drugiej szyny. Cytat z: "Wzmacniacze operacyjne" Piotr Górecki, Wydawnictwo BTC, 2004 Warszawa, str. 77 Nie zamierzam nikomu, ani polecać ani odradzać układu LM358. Ma on swoje wady i zalety. Nie jest wzmacniaczem typu rail-to-rail, co nie znaczy że nie można go wykorzystywać. Sam używam go w niektórych projektach (dla mnie jego zaletą jest niska cena).
  18. Xweldog, nie powieneś na Marka1707 narzekać. Głupoty piszesz i robisz ludziom wodę z mózgów. Po pierwsze nie ma układu 358. Jest LM358, LMV358 itd.. Układ LM358 nie jest rail-to-rail. Zarówno wejście jak i wyjście układu nie może osiągać dodatniego napięcia zasilania V+. Natomiast układ LMV358 posiada wyjście rail-to-rail. Z dokładnością do mV można na wyjściu osiągnąć zarówno ujemne jak i dodatnie napięcie zasilania. PS. Podaj proszę, w którym datasheet-cie producent deklaruje że LM358 jest rail-to-rail?
  19. Ja tylko dla porównania podam linik do modułu STM32F4Discovery: http://pl.farnell.com/stmicroelectronics/stm32f4discovery/terminala-ewaluacyjny-stm32f4-discovery/dp/2009276?Ntt=STM32F4Discovery Moim zdaniem moduł wymiata
  20. Jako ciekawostkę napiszę, że jest to teoretycznie możliwe. Dostępne są płytki z wbudowanym systemem Linux. Można na nich bez problemu uruchomić serwer PHP. Odpowiednie skrypty mogłyby sterować robotem. Pytanie jest tylko PO CO? Z mojej strony powiem tylko, że o czymś takim myślałem. Chciałem mieć robota, który pilnuje mieszkania, gdy jestem poza domem...
  21. Zupełnie nie rozumiem, o co wam chodzi z tym zasilaczem. Zachowuje się bardzo porządnie. Minusem są długie kable, a na nich spadki napięcia. Ja też znalazłem przyczynę dużych szumów w poprzednich pomiarach. Dla 100mV powinienem zmniejszyć dzielnik sond z 10x na 1x. Zmieniłem i jest od razu ładniej. Pomiar raz jeszcze, CH1 napięcie na silniku, CH2 prąd: Po dołożeniu 1000uF i 100nF przy zasilaczu (pomiar jest przy silniku): Przy okazji postanowiłem trochę eksperymentować, podłączyłem kondensatory zaraz przy silniku, zmierzyłem na nich napięcie i prąd płynący z zasilacza: Na koniec zmierzyłem prąd płynący między silnikiem i kondensatorami:
  22. Zakładam, że komputer, bo zakłócenia są większe jeśli kable koło niego leżą. W każdym razie zasilacz jest raczej dobrej jakości i nie spodziewałbym się po nim dużych niespodzianek. Natomiast wykresy prądu, które pojawiały się na początku wynikają raczej z komutacji, nie z pracy zasilacza. Co do napięcia, to zmierzyłem tylko dla porządku - takie były głosy na forum.
  23. Niestety trochę mi komputer śmieci, ale wygląda to tak: Przy obciążeniu 10Ohm jest już lepiej:
  24. Tak jak napisałem, oscylogram na CH1 to zasilanie. Przestawiłem na AC, bo przy DC nic ciekawego nie było widać. Zasilacz laboratoryjny, raczej nie powinien siać.
  25. Może to trochę pomoże w dyskusji: Podłączyłem silniczek do zasilacza 5V, prąd stały bez czegokolwiek poza kablami między zasilaczem, a silnikiem. Na CH1 widać napięcie, CH2 to prąd. Oscylogram napięcia był tak zaśmiecony, że musiałem filtr 20MHz włączyć. Na wszelki wypadek dołączam też pomiar bez filtru. Mnie najbardziej zaskoczyło, że bez jakiejkolwiek filtracji (nawet kondensatora), zakłócenia samego silnika są bardzo małe.
×
×
  • Utwórz nowe...