Ik heb een probleem met het aansturen van een tower pro s90 servo,
het volgende probleem: als ik mijn IC inschakel gaat de servo meteen naar uiterst rechts en de servo bromt dan (wil verder draaien)
de servo is alsvolgd aangesloten: bruin = grond, rood = 5v, orange = signaal
Voor de aansturing gebruikt ik een PIC 16F628A, de software komt rechtstreeks van pic basic projecten af.
DEVICE 16F628A ;Gebruik een 16F628A type
CONFIG INTRC_OSC_NOCLKOUT, WDT_OFF, PWRTE_ON, LVP_OFF, MCLRE_OFF
ALL_DIGITAL TRUE ;Alle ingangen digitaal
;Variabele declareren
;WORD
DIM Positie AS WORD ;WORD(!) variabele bevat de positie van de motor-as
; 76543210
PORTA = %00000000 ;Maak alle 8 bits van poortregister PORTA laag
TRISA = %11111110 ;PORTA.0 is uitgang voor de servomotor
CLEAR ;Wis alle RAM geheugen
;Hoofdprogramma
WHILE 1 = 1 ;Oneindige lus
FOR Positie = 1000 TO 2000 STEP 20 ;Omhoog tellen met stapjes van 20uSec
SERVO PORTA.0, Positie ;Stuur 'Positie' pulsjes naar PORTA.0
DELAYMS 20 ;20mSec = 50Hz, eventueel wijzigen bij ander type motor
NEXT
FOR Positie = 2000 TO 1000 STEP -20 ;Terug tellen met stapjes 20uSec
SERVO PORTA.0, Positie ;Stuur 'Positie' pulsjes naar PORTA.0
DELAYMS 20 ;20mSec = 50Hz, eventueel wijzigen bij ander type motor
NEXT
WEND ;Terug naar WHILE
ik heb al een andere servo geprobeerd (zelfde merk en type),dan krijg ik het zelfde resultaat.
als ik met de scoop meet krijg ik een variabel signaal van 1mS tot 2mS hoog en dan 20mS laag.
hopelijk kan iemand mij verder helpen
Roches
Domoticz en ESP8266, goede combo!!!
Probeer eerst eens positie van 0 tot 1000 te laten lopen...
Daarna van 2000 tot 5000 of zoiets.....
Deze waarde geeft de lengte van de korte pulsen aan.....
Ik kon zo ook geen pulsbreedte vinden op internet...
Maar probeer het gewoon.... anders de DelayMS 20 hoger of lager maken... (staat er ook bij!!!)
FOR Positie = 1000 TO 2000 STEP 20 verander dit eens in
FOR Positie = 1200 TO 1900 STEP 20 Het is mogelijk dat de uiterste servostanden net iets te ver liggen.
Ik heb dit zelf eens opgelost met de hoogste, en/of laagste waarde te veranderen.
edit; Roches was me net voor 
rew
four NANDS do make a NOR . Kijk ook eens in onze shop: http://www.bitwizard.nl/shop/
Ik ken picbasic niet, maar volgens mij wijst even googlen uit dat je de positie niet in microseconden maar in miliseconden moet opgeven.
Klopt niet echt helemaal.
Het word ook wel meestal aangegeven in Ms (1.0 - 2.0 Ms maar picbasic werkt wel degelijk met uS
Je ziet het in de code ook niet, of het om uS of Ms gaat, maar ik denk dat het commando 'SERVO' hier zelf rekening mee houd.
Dit is wat Frits (picbasic.nl)hierover schrijft:
Hoewel standaard 0° moet worden bereikt bij 1250µSec, heeft deze servo het bij mij op 700µSec.
De maximale uitslag (180°) is standaard 1750µSec, bij deze servo is dat op 2300µSec.
ik heb nu al van alles geprobeerd
0 naar 1000µS, 1000 naar 5000µS,
de delay heb ik veranderd sneller en trager,
Maar de servo blijft steeds rechtsom draaien. tot het eind en bromt dan.
zou het kunnen dat deze servo op een andere manier moet worden aangestuurd of dat er iets mis is met de servo zelf?
ik ga nu snel het huis doorzoeken naar een andere servo en die proberen.
Ik heb het probleem inmiddels ontdekt,
In het schema wat ik gebruikten stond een 10 Ohm weerstand in de + kant van de servo. Bij het opstarten van de servo probeerd deze in de ingestelde stand te gaan staan. Hier is even veel stroom voor nodig waardoor de spanning over de weerstand wel opliep top 2.2 Volt.
Hierdoor raakte de Servo van slag en blijft doordraaien. na het verwijderen van de weerstand werkt de servo normaal.
iedereen bedankt voor de reacties
rew
four NANDS do make a NOR . Kijk ook eens in onze shop: http://www.bitwizard.nl/shop/
Ja, heb ik vandaag ook gemerkt. Servos doen raar bij een "brownout".
Ik heb nu ook een servo die maar door blijft draaien.... Maar hij gaat niet brommen. Ik heb het nokkie waardoor ie niet verder kan er uitgehaald en ook de nokjes die de potmeter meenemen... 
Frits Kieftenbelt
Ohm sweet Ohm | www.picbasic.nl
De 10 Ohm serieweerstand werkt bij mij perfect in de automatische theezetter en bij de aandrijving van de spiegel van de beamer.
Bij testjes gisteren (naar aanleiding van dit topic) met andere servo's (heb inmiddels hier wat zwaardere modellen liggen) blijkt inderdaad dat de 10 Ohm weerstand beter weggelaten kan worden omdat de nieuwe grotere servo's vreemd beginnen te doen als de voedingsspanning lager wordt dan 4,2V.
Bij gebruik van de 10 Ohm serieweerstand meette ik met de scoop dat de spanning over de servo inzakte tot tegen de 2V.
De servo was toen (logischerwijs) ook niet meer te besturen.
Ik zal nog wat verdere testjes doen en hierna cursus deel 8 en de schema's hierop aanpassen.