[ARDUINO, EAGLE i TY] Biblioteki Arduino dla sterownika H silnika elektrycznego

Aby uzyskać kierunek pracy odwrotny do poprzedniego wystarczy zamienić wartości napięć na portach sterujących.

Programowanie w ten sposób przysparza wiele problemów oraz możliwości popełnienia błędów. Przy kolejnych linijkach przejrzystość programu ulega rozmyciu dlatego też opracowano funkcję która w znaczący sposób upraszcza obsługę powyższego układu.

Założenia funkcji:

  • sterowanie silnikiem za pomocą polecenia ustaw_predkosc(x,y), gdzie:

x – numer silnika

y -wartość prędkości

  • umożliwienie ustawienie pracy silnika w kierunku odwrotnym za pomocą wartości ujemnych
  • wymuszenie dostosowania programu do założeń sygnału PWM (wartości (0;255))
  • zabezpieczenie przed wprowadzeniem nieznanego silnika do programu

Rozpoczynamy pisanie funkcji.

  1. Definicja funkcji

Od tej pory wywołanie funkcji będzie odbywało się poprzez wpisanie

  1. Ustawienie kierunku pracy silnika w zależności od znaku przy wartości pwm
  1. Ustawienie zabezpieczeń przed doborem wartości przekraczających przedział (0;255)
  1. Wymuszenie wyboru silnika 1 lub silnika 2

Postulaty zabezpieczeń zostały rozpisane, pozostaje jedynie dopisać przypadki zachowań silników. Schematem do opisu tego przypadków będzie poniższy wzór.

gdzie:

  • x – numer silnika
  • y – kierunek pracy
  • z1,z2 – porty sterujące
  • pwm – port pwm
  • predkosc – prędkość pracy

Wykorzystując wszystkie powyższe adnotacje funkcja powinna przyjąć następującą postać:

Umieszczając powyższą funkcję poniżej programu zyskujemy możliwość sterowania silnikami przy wykorzystaniu adnotacji:

Dla uatrakcyjnienia kodu do portu A0 został doprowadzony sygnał z potencjometru który reguluje szybkość pracy silnika. Taki efekt otrzymamy przy wprowadzeniu następujących linijek kodu:

O autorze