
Cześć Wszystkim.
Chciałbym zaprezentować drugą odsłonę sterownika dla silników DC (wersja 1 link ). W wersji v1 najsłabszym elementem było w zasadzie PCB (długie, cienkie ścieżki, cienka folia miedziana, …?) i brak zintegrowanego mikrokontrolera, który by nadzorował pracę. Część mocy w zasadzie została ta sama (HIP4081 + IRF1405). Trudno o mosfety z lepszym stosunkiem cena/korzyść.





(Zdjęcia 1 i 2 są tymczasowe, później podmienię na aktualniejsze)
Co się zmieniło?
• Wbudowany mikrokontroler (ATmega168/328)
• Dodane zabezpieczenie temperaturowe
• PCB z foli miedzianej 70um
Jako sygnały wejściowe można podać póki co sygnał z odbiornika RC albo też z analogowego joysticka potencjometrycznego. Tryb jest automatycznie wykrywany, następnie (jeśli robimy to po raz pierwszy) trzeba skalibrować zakresy. Dane kalibracji są przechowywane w pamięci EEPROM. Dodatkowo jest alarm niskiego napięcia, ustawiony dla dwóch akumulatorów żelowych w szereg i alarm temperaturowy (szybkie piski) ustawiony póki co na ok. 65 stopni.
Na PCB są dwa otwory, do których można przykręcić przez dystanse wentylator 70x70mm (niestety tylko dwa otwory udało mi się upakować, po przekątnej, ale jest stabilnie).
Wyprowadzone jest też złącze ISP do programowania (dodatkowo są na nim dwie zworki [A], [B], które można później do czegoś wykorzystać) oraz UART (na zworkach hamulca i miksowania kanałów) do zabaw w przyszłości.

Zbudowałem go na napięcie nominalne 24V, jednak bardzo łatwo dostosować go do 36V. Troszkę więcej manewrów i mamy też 48V (przetwornica, mosfety, transile, …)
Schemat:

W załączniku plik eagle SCH+BRD.
Proszę uszanować moją pracę, trochę czasu poświęciłem za zaprojektowanie PCB i jeśli ktoś będzie chciał sobie wykonać takie płytki, to nie usuwać moich danych.
Póki co, konstrukcja sprawdza się bez większych (patrz ostatni punkt) zastrzeżeń. Robiłem trochę testów, z warunkami niekorzystnymi dla mostka z wykorzystaniem pojazdu na silnikach 2x250W, m.in.:
Link do filmu na vimeo (niestety, chyba się nie da wstawić tutaj tego odtwarzacza)
https://vimeo.com/164119433
Prąd mierzyłem ACS758+LCD+Arduino – niestety nie jestem w stanie określić, na ile ten pomiar jest ‘prawdziwy’. Jeśli ma ktoś pomysł, jak przetestować ten mostek, np. pod obciążeniem 20-40A przez 60 sekund – proszę napisać, spróbuję coś takiego zrobić.
I na koniec… co by można poprawić?
• Wkradł się kruczek i przy opisach wejść mam dwa razy I3 zamiast I1 (I1 jest ten obok O2), drugi kruczek to D3 trzeba wlutować odwrotnie, chyba, że znajdziemy diodę która ma anodę na pinie1, a na pinie2 katodę
• Szybszy procesor? Ta biedna ATmega musi chodzić na 12MHz, żeby udało się wygenerować PWM 24,5kHz (generuję 4 sygnały PWM, można by dodać zewnętrzną logikę i wtedy generować tyko 2 sygnały…). Trzeba było trochę pokombinować w sofcie, żeby przebieg na wyjściu procka był stabilny (potrafił się często rozsynchronizować). Podejrzewam o to przerwania (ADC, TOV i PCINT), są konieczne do zliczania impulsów w trybie odbiornika dla RC. Lepiej by było dać kwarc 16MHz, ale wtedy PWM miałby 32kHz – niepotrzebne grzanie mostka – trzeba przemyśleć, czy warto.
• Jeszcze grubsza folia miedziana…? Są firmy, które oferują folię 140um – czy warto?
• Gniazdo ‘zasilania’ – może bezpośrednio lutować przewody do PCB, żeby wyeliminować niepotrzebne straty cieplne – zależy od obciążenia.
• Radiator – dla silników 250W taki spokojnie, ale to spokojnie wystarcza. Można by zrobić takie hybrydy, że na daszek tego przykręcimy jakiś inny, żeberkowany
• Najważniejsze – czujnik prądu. Tego brakło tutaj całkowicie. Pomysł: próbkować prąd z dużą częstotliwością, jeśli jest większy niż maksymalny dopuszczalny to redukujemy PWM. Być może udało by się ocalić wtedy mostek od przypadków, gdzie wyjścia są fizycznie, przypadkowo zwarte lub też wał silnika zablokowany.
• Przetwornica 12V – może coś mniejszego, bardziej kompaktowego, szybszego… Opierałem się na sprawdzonym rozwiązaniu, chociaż mogłem zaryzykować.
PS. Mogę odsprzedać nadmiarową ilość płytek, którą musiałem zamówić.
edit 28.04 - dodane zdjęcia tyłu PCB
Cool? Ranking DIY