Řízení motoru pomocí potenciometru

Odpovědět
MartinFitz

Řízení motoru pomocí potenciometru

Příspěvek od MartinFitz »

Zdravím,
potřeboval bych poradit, jak napsat program pro řízení SS motoru. Mám 10kOhm potenciometr (křížový joystick) a potřebuji jím řídit PWM výstup. Pokud bude joystick v prostřední poloze (cca 5kOhm) musí motor stát. Při natočení na jednu stranu se musí měnit šířka pulzu v závislosti na odporu joysticku. Při natočení na druhou stranu musí navíc sepnout relé - otočit kontakty, aby se změnil i směr otáčení motoru.

Zároveň by tato úloha měla běžet dvakrát - nezávisle na sobě dva motory - křížový joystick (potenciometry X, Y).
Mám Picaxe 14m2, silová část je již navržena.

Díky za pomoc, Martin F.
Uživatelský avatar
jrt
Příspěvky: 1921
Registrován: 17 úno 2013, 17:13

Re: Řízení motoru pomocí potenciometru

Příspěvek od jrt »

jrt
MartinFitz

Re: Řízení motoru pomocí potenciometru

Příspěvek od MartinFitz »

Děkuji, tento program jsem již studoval, bohužel mi vždy vyhodí chybu. Jedná se o symbol W1. Nevím vůbec co je to zač.
Ještě jeden dotaz - mám potenciometry 10kOhm, nikoliv 5kOhm. Kterým parametrem se toto určuje?

Děkuji Martin F.
AlesH
Příspěvky: 323
Registrován: 25 úno 2013, 09:18

Re: Řízení motoru pomocí potenciometru

Příspěvek od AlesH »

U toho ukázkového programu není problém se symbolem "w1", ale s názvem proměnné "pwmduty", protože to je klíčové slovo programovacího jazyka a to pak vyhazuje chybu syntaxe. Místo "pwmduty" napiš všude v programu třeba "pwmvalue" (nebo cokoliv jiného nekonfliktního) a pak už to půjde použít.

Potenciometr 10kOhm by měl fungovat prakticky stejně jako 5kOhm, bez jakékoliv změny programu. Průběh ovládání možná už nebude tak lineární, ale v tomto případě by to nemělo vadit.
Uživatelský avatar
jrt
Příspěvky: 1921
Registrován: 17 úno 2013, 17:13

Re: Řízení motoru pomocí potenciometru

Příspěvek od jrt »

U toho ukázkového programu není problém se symbolem "w1", ale s názvem proměnné "pwmduty"...
Díky za upozornění, opraveno.
jrt
MartinFitz

Re: Řízení motoru pomocí potenciometru

Příspěvek od MartinFitz »

Díky, ještě mám jeden dotaz. Nedokážu se zorientovat ve výstupní části. Místo H-můstku bych raději použil jednoduše pwm výstup (za něj předřadný rezistor a silový tranzistor) a přepínání směru relátkem (z výstupního pinu 5V do tranzistoru a na relé). Ale na mě je v tom programu moc málo instrukcí, co má ten picaxe dělat, takže to nedokážu jen přepsat, na to co potřebuji. Snažím se to pochopit ale neumím programovat, tento program potřebuji pro řízení hlavy kamerového jeřábu, který si vyrábím v dílně. Digitální technika není mým parketem. Jak na to? Jen mě prosím neutlučte, že jsem lama :)

Díky Martin
jova
Příspěvky: 361
Registrován: 16 pro 2013, 11:40

Re: Řízení motoru pomocí potenciometru

Příspěvek od jova »

A když ti to zjednoduším?

Kód: Vybrat vše

#picaxe 08m2

main:
readadc10 4, w0            	; načte hodnotu z potenciometru vývod č. 3
if w0 <= 492 then gofwd		; pokud je hodnota menší než cca střed potenciometru pak..
if w0 >= 532 then gorev		; pokud je hodnota větší než cca střed potenciometru pak..
pins = 0
goto main
gofwd:
pins = $02				; vývod č.7, sem se připojí relé
w1 = 492 - w0 * 21 / 10 MAX 1023
pwmout 2, 255, w1			; vývod č.5, výstup PWM
goto main
gorev:
pins = $01
w1 = w0 - 532 * 21 / 10 MAX 1023
pwmout 2, 255, w1			; vývod č.5, výstup PWM
goto main
MartinFitz

Re: Řízení motoru pomocí potenciometru

Příspěvek od MartinFitz »

Trefa do černého. Moc děkuji, už jsem to pochopil. Díky
M
Odpovědět