Wpis z mikrobloga

Hmm, mój kontroler silników właśnie się spalił, co mnie z lekka zdziwiło. Kontroler to standardowy 2xHG7881, podpięte 2 silniczki z Imax=600mA, wszystko zasilone z 8.5V ograniczonego do 1.5A.

Kod w uproszczeniu którym to sfajczyłem:

digitalWrite(IA, HIGH);
analogWrite(IB, 127);
delay(5000);
digitalWrite(IB, LOW);
analogWrite(IA, 127);

I w sumie po za nagłym odwróceniem kierunku (na malutkich motorkach bez obciążenia...) nie wiem czemu miałby się spalić... nawet podanie 2x HIGH nie powinno przecież nic zrobić, czy się mylę?

#programowanie #januszeprogramowania #januszeelektroniki #elektronika #arduino
Pobierz
źródło: comment_ozvSf0w5Muc8gQvUW46DjXFdoku703bo.jpg
  • 6
@shido: Na pewno to zrobię, bo taniej wychodzi niż bawienie się z mosfetami i diodami ale ciekawi mnie czemu zdechł... ja bardziej progrmista niż elektronik.

@zachwiej: Prawdę mówiąc nie przyglądałem się dokładnie dokumnetacji sugerując się tylko przykładem kodu. Czyli wychodzi na to, że zawsze na jednym z wejść musi być stan niski a na drugim PWM aby sterować kierunkiem? Stan wysoki + wysoki powoduje wewnętrzne zwarcie?
@zachwiej: O widzisz, tutaj owszem to widać. Ja na szybko spojrzałem sobie na truth table i kod z https://www.bananarobotics.com/shop/How-to-use-the-HG7881-(L9110)-Dual-Channel-Motor-Driver-Module
Jak widać w przykładzie "forward" powinno to działać.
Jak już poczułem, że coś się przypala a zasilacz zaczął pikać spojrzałem w pierwszy datasheet: https://www.openimpulse.com/blog/wp-content/uploads/wpsc/downloadables/L9110-Motor-Driver-Datasheet.pdf - teoretycznie przy H-H powinno dać na wyjściu L-L. Prawdopodobnie jednak (jak to w chinach) ktoś przyoszczędził na zabezpieczeniach...

Czyli tak na prawdę aby nim sterować potrzeba użyć