Do pulses CTRA / TFRK?
hal2000
Posts: 66
Hello everyone
·
I have a question
·
With CTRA / TFRK registers open generate a certain number of pulses?
·
I want to control the number of pulses
·
P 1000 at a frequency of 150kHz
·
·
I believe that we can not because CTRA / TFRK operating in Loop
I'm not sure
·
How can you do?
·
A greeting
Envio editado por (hal2000) : 5/21/2008 3:56:37 PM GMT
·
I have a question
·
With CTRA / TFRK registers open generate a certain number of pulses?
·
I want to control the number of pulses
·
P 1000 at a frequency of 150kHz
·
·
I believe that we can not because CTRA / TFRK operating in Loop
I'm not sure
·
How can you do?
·
A greeting
Envio editado por (hal2000) : 5/21/2008 3:56:37 PM GMT
Comments
funny picture
i'm not familiar with the counters. I think it is possible.
You should edit your threadtitle that way that the title already gives all important information
something like "can counters be used to create a well defined amount of pulses?"
another way would be to code this in assembler
150 kHz = 6,67 microSecs
this should be possible in Assembler
in assembler you could use the command djnz
Usermanual page 370:
DJNZ: Instruction: Decrement value and jump to address if not zero.
most commands in assembler take 4 clockcycles
at 80 MHz 1 clockcycle is 12.5 nanoseconds
so 4 clockcycles is 50 nanoseconds
so 6,67 microseconds gives you 6,67 / 0,05 = 133 commands
the fastest way to create pulses would be a loop that uses the xor and the djnz-command
as a raw picture a code-snippet (that needs some more code for working
two commands with 4 clockcycles = 8 clockcycles = 0,1 Microseconds
this would toggle PIN3 at 0,1 MicroSeconds = period 0,2 MicroSeconds = 5000 kHz
for 150 kHz you could even use the WAITCNT-command
for more information about assembler see
http://forums.parallax.com/showthread.php?p=663640
Stefan
My image, ;-) I like black humor
Sorry for my bad English
I'm learning English, four months ago
You're right the best way is to assemble
I am thinking to make a program that controls 4 stepper Motor·
Using 4 controllers for motor, propeller only has to generate steps and address
As I use micro steps need to 150kHz (only possible to assemble)
The idea is to make a library that controls the 4 engine with variable 5
steps
address
frequency of steps (speed)
acceleration
acceleration is to define a speed of transition from one sequence to another
A list of serious data
1 steps memory address frequency acceleration
··············steps···direction····frecueny····· acceleration·
Memory 2 1000····· · 1············ ··5khz············ 200······· (steps of transition from 100Hz to 5Khz)
Memory 3 300······· ·1············· ·10Hz··········· 300········(steps transitional 5Khz a10hz)
Memory 4 500······· ·1·················0hz························· (0hz is stop during 150khz/500· pause)
This is a possibility, I'm thinking about it
I'm looking for a book, I can not find any library
I'm trying to understand the propeller of assemble, gradually
I believe that this routine is not difficult to schedule
With my little knowledge, it is difficult for mi
you have a better idea?
Any suggestions would be welcome
Thanks
BTW your english is very good for somone who has just started to learn.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Paul Baker
Propeller Applications Engineer
Parallax, Inc.
(i like playing with words)
there are sevreal threads about driving stepper motors
try a search with the parallax-google searchfunction
search.parallax.com/search?ie=&q=%2B%22f%3D25%22+stepper+.spin&site=parallax&output=xml_no_dtd&client=parallax&btnG=Google+Search&access=p&sort=&lr=&num=100&ip=88.202.126.34&proxystylesheet=parallax&oe=&filter=p
this is much more effective then the build-in function
in this one AxisDriver.spin the assembly-code is quite good commented
http://forums.parallax.com/showthread.php?p=699712
but there are minmum three more threads with sourcecodes in assembly
To move 2 axis at the same time you can use the "Bresenham-Algorithm"
The "Bresenham-Algorithm" needs only addition and substraction of INTEGERs to calculate everything
it does NOT need multiplication or division or floating-point-calculation
by googling i found this PDF
www.khwarzimic.org/takveen/helix.pdf
there are o lot more hits for this keyword
Also search the propellerforum about steppermotors
best regards
Stefan
www.geckodrive.com
finance.groups.yahoo.com/group/geckodrive/ See files section for details
You can see it operating some steppers on my youtube account
www.youtube.com/user/littlestworkshop
Essentially you have a loop that lasts a fixed length of time, at first you increment the frequency (frqa) by a given amount on each loop to accelerate the motor, then you keep the frequency for the transition as you call it before decrementing the frequency on each loop to decelerate. You do not need to count pulses you just use the loop time and frequency. You have to be careful of things like short moves where there will be a triangular motion profile and also because the loops are fixed time lengths you will need to adjust the final frequency to ensure you reach your target.
It is possible to do multi axis moves by considering them as vectors, one cog can do two axes easily and you could sync multiple cogs for more. I have not done this yet as at the moment I have no need.
Can you have the code you ask? Well at the moment no. I have found that in the CNC community people are very opportunist and I know for a fact that the moment I release the code it will turn up in a dozen products. Plus the concept was not mine and I think the g-rex was an open source project originally and although I have used none of their code I have taken inspiration from the ideas, I'm not sure what to do.
Graham
Thanks to all
long time in assimilate into so much data
English => head processor (aid Goglee) + professor of English = IspanIngles interpreted.
In English there is good information
It is important, I have to learn English
Very good document StefanL38 "PDF" I had some doubts resolved.
Graham, quiet do not want to be a seller of CNC controllers
I would like to have a CNC machine, but it's not my goal.
I want to learn everything I can.
What I like most is to do experiments
I work as a technical post-production and camera operator
My experiment Timelapse
http://es.youtube.com/watch?v=StoacJtrLh4
I put on youtube the things I enjoy, there is no professional work
This will clarify for the curious.
I put a link from the driver that I use
http://www.linengineering.com/line/contents/stepmotors/R325.aspx
I long days (I think months) to understand as information ;-)
Graham