Linak actuator

Do you have a question? Post it now! No Registration Necessary

Translate This Thread From Danish to

Threaded View
Hej

Jeg har en lille stort problem med en linak actuator en 8051 og PWM...

alt hardwaren er i orden med en uC med inbygget PWM og en Hbro og diverse
potmetere..

problemet består i at få den fandens motor til at køre jævt og blædt under
opstart og "nedlukning" så ikke der kommer store strømspikes... det er en
24V version jeg kører med ca 3Khz PWM

Jeg vil gerne have motoren til at køre så lang som muligt ned i spænding i
tilfælde af at 24V batterierne/lader går døde.. dertil har jeg også added
24V til en ADC

Er der nogle der har lavet nogle stumper code man kan se, helst i C ?

jeg har det til at køre rimeligt, men det sker den lige kører for langt og
står og pendler, og så syntes jeg ikke måden jeg har lavet det på er så
smart... jeg har prøvet på flere måder... bla og prøve at justere det efter
dens hastighed... måle differencen på et stykke tid og så bruge det...

selve mit program er bygget om omkring en timer der interupter 128 gange i
sekundet lidt i stil med et RTOS... bare kun sekventielt)

Gode ideer modtages med kyshånd :)

Kasper





Re: Linak actuator
Hej Kasper


Quoted text here. Click to load it

Du må undskylde, at jeg ikke kan svare på dit spørgsmål men skriver
alligevel.

Jeg er også interesseret i at bruge en Linak-aktuator til at
åbne/lukke vinduer. Det er vel ikke tilfældigvis det samme, du har
gang i?

Jeg har på nuværende tidspunkt en "vinduesåbner", der er hjemmebygget
af en motor med gear fra en gammel videobåndoptager. En af tandhjulene
i gearet passer tilfældigvis til en tandstang, jeg også havde
liggende. Det virker fint - og kan styres fra min WAP-side. Jeg bruger
dog ikke noget fancy PWM styring - motoreren kobles ind/ud og strømmen
vendes med to relæer styret af en Atmel attiny15.

Jeg kunne godt tænke mig at bruge en Linak i stedet, da ovenstående
ikke kan repareres, hvis det går i stykker.

Det lyder som om du har en Linak med potentiometer. Hvor godt fungerer
det?

mvh
Nils Emil
--
My reply-address is valid.           www.bios-flash.dk
Min svar-adresse er gyldig.      Redning af døde BIOS'er

Re: Linak actuator
Quoted text here. Click to load it

Nopes :)


Quoted text here. Click to load it

skulle vel ikke være noget problem, de er stærke nok

Quoted text here. Click to load it

ganske fint, bortset fra at en lille arm knækkede inde i potmeteret den
anden dag og jeg måtte lodde den på derine indtil jeg kan få fat i noget
andet...

Kasper



Re: Linak actuator

Quoted text here. Click to load it
Det er faktisk ikke noget helt trivielt problem. Så vidt jeg kan se
ønsker du følgende:
A) Et servo system, dvs du sætter en værdi og aktuatoren kører til den
posistion.
B) Din PWM har en mode til hver vej (i modsæting til 50% PWM for stop)
C) Du ændre ikke dit sætpunkt imens actuatoren kører.
D) Normalt skal aktuatoren køre helt op i hastighed, for så at stoppe
når den rigtige position nåes. Ved mindre afstande køres langsomt.
E) Aktuatoren skal ikke bremses med kortslutning eller omvendt
polaritet når den skal stoppe.
F) Der er en nogenlunde konstant belastning på aktuatoren.

Man kan godt lave et servosystem liniært (som f.eks
hastighed=mål-nuværende). Men der nogle uliniære ting i dit system som
gør det vanskelig:
-Du ønsker at nå den maksimale hastighed.
-Ved lav spænding kører moteren slet ikke.

Desuden kan det være vanskelig helt at undgå overshoot, dvs at køre
for langt.

Jeg vil foreslå at du istedet laver en algoritme i retning a følgende:
if (lille fejl)
{
  øg langsomt PWM indtil motor begynder at køre
  sænk PWM hvis motor begynder at køre for hurtigt
  stop ved position
}
else if (stor fejl)
{
  start motor med rampe til 100%
  i passende afstand før mål stop
  vent til motor er stoppet
  undersøg om mål er nået og 'lær af det'
}
else // fejl så lille at den ikke behøver at blive korrigeret
{
}
 

Som du kan se skal er der to værdier (stor/lille fejl og afstand før
mål) som skal findes og helst automatisk rettes til. Hver værdi kan
også gøres afhængig af andre kendte faktorer. Du kan have en
stopafstand for max forsyningsspænding og en for min
forsyningsspænding og så interpolere mellem dem.

MVH Bjarne
 
  


Site Timeline