Mark maybe we can work this out together with Henrik's assistance. I went to the micro chip site and used their processor selector to find one that had the PWM built in. It looks like the 12F752 has what I need to try to get the HPWM to work. The datasheet says
• Capture, Compare, PWM (CCP) module:
- 16-bit Capture, max. resolution = 12.5 ns
- Compare, max. resolution = 200 ns
- 10-bit PWM, max. frequency = 20 kHz
Thats what I am looking for right? I've not read the rest of the datasheet. I picked this one out because I think I have one here already to start to work with.
Thanks
David
Mark,
Yeah, for precise positioning feeding the pulses back into the PIC and count them OR integrate generated velocity over time to calculate position. Possible but not exactly easy to get right, I'd say.
But for the application described here I don't think precise position control is needed, just precise velocity which the CCP module will do without any software overhead - except during acceleration.
Depending on the needed frequency and acceptable jitter perhaps the NCO available in some devices would be even better for this.
David,
At your desired conveyor belt speed, what approximate frequency are you generating? Is it 100Hz, 1000Hz, 5000Hz?
For the CCP module you could use the HPWM command but if you want to implement acceleration then I would ditch HPWM and set the registers manually.
/Henrik.
Henrik, Thanks.... well that is going to be trial and error at this point. I actually am going to have to hook up my conveyer belt and use the pulse method I've been using so I can get an idea. i need to see the spray turned on and how fast I can make the part travel under the spray and get it coated good. It's not going to be traveling very fast I'm sure. When I manually spray my parts with my detail sprayer I'm not moving my hand very fast over the parts. At this point I really could not say at how many feet per minute or anything like that. My gearing ratio is going to affect that too. Right now I have about a 1:1 ratio on there. Now that I see what I am working on is do-able I've ordered my aluminum framing material so I can start to bring things together. The speed of the belt will be constant. Start - go a little distance, Stop
What do you think about the 12F752 just to tinker around with the HPWM... I asked because I never worked with PWM before just wanted to make sure that pic will work. Reading the specs and looking at some sample code I think just to mess around that will work.
Thanks
David
I see no reason for it not to work.
But with an 8-pin device you're quickly running out of pins, step pulses out, solenoid drivers, perhaps a sensor of some sort to detect the items on the belt, a start/stop button, perhaps some means to output debug information or parts count to a LCD? It adds up...
If you already have it go ahead and play, if you're ordering it and there's no real reason for an 8-pin device then perhaps something like the 16F1825? More pins, more FLASH, more RAM and an UART. It does also cost more but I reccon you're not building thousands of these so it doesn't matter much :-)
Henrik, agreed about the need for the extra pins. I will be switching to the 16F series for sure I've already thought of the extra pins I will need stop/start, Jog, , manual speed, lcd, direction, sensors, etc... I just quickly looked on microchip part picker and I am pretty sure I had the 12F but I didn't see any on their list that had HPWM in the 16F series that I had and I want to get started and have things worked out. Going to order some 16F's now which will take about a week to get here, I don't want to wait to see it work. I have a good bit of time to test things before I would actually put my conveyer to use I still need to work on the frame and belt mechanism itself. The framing material will be here in about a week I will keep this thread going as I progress through adding different functions to the PIC
Thanks
David
This is going to be a stupid question and one I could answer myself by just testing it but I will ask anyway. If the stepper is set to 1600 pulses per revolution and I send it 800 pulses I'm assuming it is going to go around half way and stop... see a stupid question the I guess figuring in the gear ratio you could get very small movement like in a 3D printer (I'm not doing a 3D printer but I thought it would be a good example.)
Thanks
David
Bookmarks