Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky

Domáce Hardware Siete Programovanie Softvér Otázka Systémy

Ako vytvoriť Pulse Width Modulation ( PWM ) v Verilog module na spustenie motora /Servo

modulácia šírkou impulzov je jeden spôsob , ako kontrolovať rotáciu alebo postavenie elektromotorom alebo serva . Použitie Verilog HDL , ukážem , ako ľahké je používať čítače s cieľom vytvoriť PWM . Veci , ktoré budete potrebovať
Xilinx ISE
FPGA
Servo /motora
Zobraziť ďalšie inštrukcie Cestuj 1

Tak ako robí PWM prácu ?

Mať pravidelnú obdĺžnikový signál , meníme pracovný cyklus ( modulovať ) byť menšie , alebo väčšie , a preto ovládať svoje zariadenie .

Prečo používať PWM ?

Jedná sa o jednoduchý digitálny na analógový prevod technika , ktorá nevyžaduje ADC .
2

Ok , takže umožňuje premýšľať , čo vstupy , výstupy , registre , čítače budeme potrebovať a ktoré konštrukcie chceme vytvoriť .

chcem použiť osem prepínačov na Spartan FPGA doske kontrolovať , ako sa môj motor /servo pohyby alebo ako rýchlo alebo pomaly chcem ho presunúť

Vstupy : . hodiny , 8 switchesOutputs : pwmRegisters : pwmCounters : 16 bit počítadlo ( sa vysvetliť , prečo 16 bitov neskôr )
3

Viete , čo je taktovacia frekvencia vášho FPGA a aké obdobie chcete použiť .

Mám Spartan FPGA doska s 50MHz hodiny . Chcel by som obnoviť signál každú 1 milisekundu ( t ) . Aplikujeme nasledujúce výpočet nájsť obdobie krivky ( p )

p = t * FPGA hodiny

V mojom prípade :

p = 0,001 sekundy * 50MHz = 50000

Vedieť , moja p je dôležité , aby vypočítala svoju krok oneskorenie ( sd ) :

sd = p /256 = 195

Prečo som používať 256 ? Budem sa pomocou 8 prepínačov kontrolovať svoje servo /motor , takže 2 ^ 8 = 256.
4

Nakoniec chceme použiť náš čítač nášho pracovného cyklu . Ak chcete vypočítať , koľko bitov skladať naše počítadlo používame :

log2 ( SD ) = koľko bitov je naša počítadlo

keď čítač je menšia ako sd ( krok oneskorenie ) vynásobí hodnotou spínače ( čo môže byť v rozsahu od 0 do 255 ) , to je naša pracovný cyklus .

Najnovšie články

Copyright © počítačové znalosti Všetky práva vyhradené