Na stronie PyroElectro.com można znaleźć projekt sterownika silnika opartego na układzie CPLD. Praca silnika sterowana jest przy użyciu potencjometru – sygnał analogowy jest przekształcany przy użyciu konwertera A/D MAX150 i po digitalizacji trafia do układu CPLD EPM7128, który generuje sygnał PWM podawany do kontrolera silników prądu stałego SN755410NE. Kod dla układu CPLD został napisany w języku VHDL.
Na schemacie urządzenia można wyróżnić 3 podstawowe bloki. Sterownik silnika jest połączony z układem CPLD za pomocą 2 przewodów. Kondensator powinien być umieszczony jak najbliżej układu, aby zapewnić stabilną pracę silnika. Układ przetwornika A/D dokonuje konwersji w momencie podania impulsu na wejście WR, będące pod kontrolą układu CPLD. W układzie zastosowano również blok diod LED, wizualizujących sygnały PWM. Szczegółowe działanie wszystkich bloków zostało omówione w innych artykułach autora.
Opisując teorię działania sterownika, należy omówić działanie przetwornika A/D. Układ MAX150 pracuje w trybie WR – po podaniu impulsu na to wejście konwersja rozpoczyna się. Proces działania całego sterownika został przedstawiony na poniższym rysunku:
Przetwornik MAX150 digitalizuje napięcia z zakresu ograniczonego dwoma wartościami: Vref+ i Vref- (w projekcie odpowiednio +5V i 0V). Poniższy wzór pozwala obliczyć wartość napięcia po konwersji w 8-bitowym formacie.
Z kolei poniższe 2 rysunki objaśniają działanie sygnałów PWM (modulacja szerokości impulsu). Pierwszy z nich pozostaje przez 80% czasu włączony – to znaczy, że napięcie +5V jest podawane przez 80% czasu trwania sygnału. Jest to „mocny” sygnał – podany na wejście układu SN754410 sprawi, że silnik będzie obracał się szybko do przodu. Drugi z sygnałów jest zbliżony do pierwszego, lecz tutaj napięcie +5V jest podawane przez jedynie 30% czasu trwania sygnału. Ponieważ przez 70% czasu trwania sygnału podawane jest napięcie 0V, układ SN754410 sprawi, że silnik będzie obracał się do tyłu z umiarkowaną prędkością. W razie podawania sygnału 50%/50% silnik nie będzie się obracał. Również poniższe 2 animacje ilustrują sposób sterowania silnika sygnałami PWM.
Oprogramowanie układu CPLD składa się z dwu bloków. Pierwszy z nich odpowiada za sterowanie przetwornikiem A/D, drugi – generacją impulsów PWM. W przypadku konwersji A/D układ CPLD wysyła impuls na wejście WR przetwornika i po kilku mikrosekundach odbiera dane cyfrowe. Kod generujący impulsy PWM pozwala uzyskiwać sygnały z zakresu od 99/1 do 1/99.
Kod: VHDL
Kod: VHDL
Działanie całego urządzenia można obejrzeć na zamieszczonym nagraniu.
Źródło
Fajne? Ranking DIY
