Hi all.
I invested some time on trying to get a feeder working better with plastic tape. I hated the noise the stepper motor drive assembly made and components moving around is really annoying. I lost all confidence I could get decent performance. Paper tape and larger capacitors on plastic tape seemed to be okay but 0603 and sot23 sized components are just a nightmare.
I have prototyped an initial idea based on a new stepper motor driver using a TMC2208 which offers super smooth movement. I also believe one thing that might have improved things is that when the pin moves the tape forward, I think sometimes it rubs on the tape as it drops down again. So before the pin drops down, backing the pin off slightly appears to help.
Attached is a video of the new movement. You can see it is almost silent compared to the original feeder. I will finalise code to get one feeder working properly and put it on test. I think I shall then get a board layout done.
https://www.youtube.com/watch?v=cCyK2nTpS0M
Trev
This video shows the backing off idea for the pin.
https://www.youtube.com/watch?v=1AR7i8RnFxg
Can't say I've had many issues with plastic tapes, apart from one occasion with some 0603 LEDs that came on really thin stuff that would bounce 50% of parts out as the tape advanced. Of course that was on a crazy-urgent job where I had to place about 10K of them... After a day of messing about with masking etc, I got it down to 10%, and fortunately Digikey had enough extra stock!
Those Trinamic drivers are pretty close to magic.
Something I'd definitely do if I were doing a new feeder board would be to manually select single/double feed, as it's a PITA having to do new feeder definitions if you have a mix of 4 & 8mm part pitches.
I find the feeders so noisy. I did manage to get along okay with sot23 but it wasn't brilliant, always shaking a little as the tape moves. Even the odd 1206 capacitor would ping out of the tape. Each feeder stepper motor had a different noise too. Always felt like the thing was about to shake to pieces. I have had quite a lot of 0603 leds to place so it has been an ongoing torture for me.
I have done a feeder control board design, built a prototype and currently it is on a feeder and appears to be working. The feeder is almost silent apart from the harsh pin hammering the plate. If they had just made the pin slightly different, it would not hit the plate but limit at the base of the solenoid body. If I can adjust that the feeder will be pretty much silent and I think create virtually no vibration during tape movement. I did notice putting a weight on the tape end did tension the tape and help with vibrations from the pin hitting the plate.
Wish I could find a silent vacuum pump. That noise really does start to wear on you after a few hours.
Anyway, here are some pics of the first prototype. I bought the TMC2208 from Farnell as I tried some previously from Amazon and think they are not quite right. They worked kinda but I just didnt trust them. I used the TMC2208 rather than the TMC2209 because the 2208 has a higher voltage rating of 39V which is needed to work with the existing transformer.
https://uk.farnell.com/trinamic/tmc2208-silentstepstick/stepper-driver-board-2-phase-motor/dp/2822166
The design uses an Arduino Mega as it was easy to prototype with and test and has loads of io, etc. I bought it from Amazon and the board appears to work fine. I do not understand how they can sell them so cheap but the board does appear to be working. If I get any problems I can just swap it out for a genuine Arduino Mega.
https://www.amazon.co.uk/gp/product/B06XKMZ3T9/ref=ox_sc_saved_title_6?smid=AZF7WYXU5ZANW&psc=1
The board uses the existing transformer and supports the current wiring plugs for solenoids, motor and the dip switches. It has a RS232 driver IC so that takes care of the power supply issues between versions of feeders.
After building the prototype, correcting a few mistakes and adding some wiring help on the silkscreen I created issue 1.0. Image attached of the cad. I have ordered some bare boards.
I am thinking of removing the dip switch panel and adding one of these usb panel mount cables. This will enable you to plug a usb cable into the board without having to dismantle the feeder.
https://www.amazon.co.uk/gp/product/B01KMSGR2E/ref=ox_sc_act_title_1?smid=AO0LUWUCC7MI3&psc=1
This will create a virtual com port for the board which will enable configuration to be done from any terminal application. My current thoughts are:
Press 0 - 9 will index that lane. No need to press return. Tap a few times and it will index a few times. Should make loading a feeder a lot easier.
Bb is used to set BANK address. b being 'A' - 'H'. So BA would set address to Bank A for example.
Lln will set the lane index multiplier. l represents lane, n the feed multiplier. So L02 will set lane 0 to index 2 times for every index cmd received.
Some wish list commands
Sls will set the speed for each lane. l - represents lane, s represents speed from 1 - 10. Idea being that some parts you can move faster than others if you want to. It should help with experimentation but reckon a speed would probably be found that just works for all.
Mln will set number of steps for an index. l - represents lane, n is the number of steps. This might be useful for creating half index movements for 0402 but not sure it is worth the hassle. Anyone tried 0402 on an rv?
Anybody got any other suggestions for features?
Being a terminal based interface means it should work with any PC, etc. Also the USB port means that firmware upgrade of the boards is really easy via Arduino IDE and does not require opening a feeder up. You will not even have to power the feeder, the USB cable will power the board so configuring the feeder can be done without mains power or needing to be near the machine.
Once it is all working I shall likely release all the files open source. I might make a batch of boards if there is interest. Would probably be the basic board without the drivers and arduino as people can choose where they want to source these from. I think this would make the board pretty cheap really.
Quote from: trev on September 05, 2021, 08:56:26 AM
Wish I could find a silent vacuum pump. That noise really does start to wear on you after a few hours.
I've considered offboarding the pump and putting it in a soundproof box. Not sure if turn-on delay or flow rate might be an issue, obviously you'd want to keep the vacuum valve in the arm near the nozzle.
Quote
I am thinking of removing the dip switch panel and adding one of these usb panel mount cables. This will enable you to plug a usb cable into the board without having to dismantle the feeder.
TBH I'd much rather have physical switches, as having to mess with USB connections, USB drivers and other software can be a faff, especially as running USB-serial under Win98 might be a challenge.
How about this :
Location switches stay as normal
Set SW8, and send an index command from within RV place - this increments the index count for the selected lane 1,2,3,4 then back to 1
Instead of actually indexing, maybe just click the pin solenoid <n> times to indicate the number of indexes
This avoids the need for any other software or connection, uses the UI you'll already be using when setting feeders up, and only needs two DIP switch clicks to set up a whole feeder.
The only minor issue is if you forget to set SW8 back off afterwards, you don't want it to reprogram the indexes if you then run a job. Maybe have it click a pin periodically as a reminder, or have a timeout after setting SW8.
Quote
Anyone tried 0402 on an rv?
I've done 0402 LED matrices - pretty sure they were on 2mm tape - I think the "half index" option (by alternating pick position) works OK, and unlike the normal index counts, it's in the right place, i.e. the CDF and not the feeder def, so not as inconvenient to use.
Not sure how you'd even do half indexing sensibly within the feeder
Index idea.
Using SW8 is an interesting idea. If set, then an index command would increment that lane index count and the pin would flip up and down <indexcount> number of times to feedback instantly current set value. The pins can be pulsed quickly enough for it not to be annoying I think and that would provide instant feedback. It is a neat idea that does keep everything contained. Maybe SW8 when triggered would toggle all the pins to indicate you are in that mode. Then a timeout would be set for several minutes. Timeout reset upon receiving an indexing command. At the end the pins would do the toggle sequence again to indicate you have exited the mode.
I had another idea. For those with a laptop at hand, it is so quick to upload firmware with Arduino IDE. We could have a section at the top of the code file or a header file with defines in it and just re-flash the feeder to change settings.
// SECTION IN CODE
#define INDEX_ADDR 'A'
#define LANE0_INDEXCOUNT=2
#define LANE1_INDEXCOUNT=1
..
#define LANE2_INDEXCOUNT=4
//
SW4 could be used to select mode. If SW4 is on then the flash programmed values are used. If it is off then SW0-SW2 set the address and SW8 can be used to program the indexcounts. That seems most natural as normal use is for SW4 to be off and the feeder would act as normal I think.
Any other features?
Trev
Quote from: trev on September 06, 2021, 09:48:36 AM
Index idea.
Using SW8 is an interesting idea. If set, then an index command would increment that lane index count and the pin would flip up and down <indexcount> number of times to feedback instantly current set value. The pins can be pulsed quickly enough for it not to be annoying I think and that would provide instant feedback. It is a neat idea that does keep everything contained. Maybe SW8 when triggered would toggle all the pins to indicate you are in that mode. Then a timeout would be set for several minutes. Timeout reset upon receiving an indexing command. At the end the pins would do the toggle sequence again to indicate you have exited the mode.
I think the easy answer is simply to have a pin "tick" every couple of seconds while SW8 is set, disabled for a 5 sec timout after the last index is set before it starts ticking again. I think that would be enough to remind you to unser SW8, but not so annoying if you need to walk away in the middle of setting up
Quote
I had another idea. For those with a laptop at hand, it is so quick to upload firmware with Arduino IDE. We could have a section at the top of the code file or a header file with defines in it and just re-flash the feeder to change settings.
Except when you've not used the machine for a month or two, you then have to dig out the laptop, remember how to do it all etc. For people not familiar with Arduino it's a big faff.
Quote from: trev on August 31, 2021, 01:10:22 PM
This video shows the backing off idea for the pin.
https://www.youtube.com/watch?v=1AR7i8RnFxg
Hard to see from the vid, but I think you may be backing off a bit too much, risking hitting the back of the hole on a paper tape.
The general operation is as follows.
1. The stepper moves back until it detects the limit switch. This is the starting position and thus is used to home the pins.
2. Upon an index cmd, the pin solenoid is energised and we wait 100ms.
3. Stepper is moved forward x number of steps. With 1/16 setting on the TMC2208 I think I am at around 480 to 500 steps. Configurable and good resolution to fine adjust.
4. Back off 30 steps I think. Not final value.
5. De-energise the solenoid and wait 100ms.
6. Back off whilst checking every step if we have hit the limit switch. This homes the pin ready for the next cmd. Check every step in case the pin got jammed and did not move forward properly.
This appears to give a reliable positioning method every time.
I did experiment with a crude acceleration method. 125 steps slow, 250 normal speed, 125 slow again. I think going slow to start with might help to reduce slippage of the tape winder band whilst also reducing any vibrations initially.
Also it is easy to move forward nice and slow and then move back quicker.
with proper acceleration and deceleration, you may be able to reduce motor current without missing steps, so the driver runs cooler.
When I first started development with the tmc2208 the motor was running very hot. I started disabling the motor after each index to try to cool it down. Once I set the threshold current on the driver to approx. 300mA the motor now runs with no noticeable temperature and I do not disable the motor at all. It appears to have good torque to it. What is great is that it is all programmable so tweaking is no issue.
The driver is supposed to detect when no power is required but I have not enabled this feature yet and tested it.
The stepper motor is not pushing the driver very hard. It doesn't need any heatsink. Only issue I had was the motor itself getting warm as mentioned above.
For those interested in the USB version, the USB adapter fits perfectly where the dip switch board went without any case modification.
I do not see an issue to have dual interface. People can leave the dip switches in place and fit the USB elsewhere if they want.
So if you plug the USB in you can connect via a terminal application and configure the system. If you flip SW8 then you can also program via indexing method Mike suggested. Terminal interface will display all settings by pressing enter.
I assembled the feeder and ran into issues with the pin action creating massive vibration when it hit the plate. With the current setup I measure a voltage of 39V on the solenoid pins under no load which seems too high. I had previously seen around 37V. It depends on the load the transformer is under but it seems very high.
I stripped the whole feeder down again to see what I could do. After a lot of tinkering I felt the pin was hitting the plate very hard so I decided to take a bit of the shoulder off the pin. You can see the before and after in the images attached.
The sound before I did this mod was a hard metal hitting metal sound. I think it was a very sharp impact which was causing the leds to bounce out of the tape or flip upside down. The sound now is more of a thud from the metal plate that moves the pin hitting the base of the solenoid. It seemed still though to be very hard and I could see 0603 leds still bounce a bit. It was better but not ideal.
So next I changed the solenoid voltage. I connected my bench power supply and found that the solenoid moves from as low as 15V. I know at 39V the solenoid gets really hot if you are doing repeated operations. I settled the PSU on approx. 19V and this seems to have good pin movement but reduces the energy of the pin movement impact. I settled on 19V because this is the voltage created when the mains transformer is wired in parallel instead of in series. I am not sure if over time the solenoids need more voltage to move pins. Maybe dirt build up makes the pin harder to move. Maybe temperature has an impact. I do not know but I am convinced at present 39V is just too high.
I have some boards to make which will enable me to test the feeder with several thousand component placements so I think this will provide me with good data. For now this latest video shows decent feed of 0603 leds with approx. 19V powering the solenoid and the stepper. I also tweaked the speed and acceleration/deceleration profile.
https://youtu.be/xdlcmy4m140
I wonder if there may be some mileage in ramping the solenoid current using PWM to reduce the speed?
The solenoid seems to move pretty quick, maybe 10s of ms. I read up a bit and you need that kick to get the thing moving. Once it has moved into position you can reduce the current/voltage to hold it in position but the initial movement needs to be good. I do not know how much variation there is between a cold day and a warm day. Or even from solenoid to solenoid production variation.
Maybe the original pins do not need to be machined if the voltage level is set correctly. I am hoping, once the PCBs arrive I can build one up with the secondaries connected in parallel. I think it really only needs one secondary connected now as the current consumption is greatly reduced. Probably I can wire across the one bridge rectifier and test it out. Might be as simple as that. But if the pins do need to be changed that is not the end of the world. It would certainly make replacing the controller board a lot easier if the pins did not need changing.
But if I also need to use a bench supply and program the voltage to just be on the edge each time, that is not the end of the world for me. I mean 18V-20V at 400mA is nothing really. All the feeders could be powered from a basic bench supply very easily. The transformers could be completely removed. The big cap on the board would help with solenoid current draw but everything else I reckon would be pretty stable. I do not think there would be much voltage drop in the cables powering the feeders from a supply.
This would be totally over the top but be able to serve all the feeders connected and is pretty cheap really.
https://cpc.farnell.com/tenma/72-10480/power-supply-1ch-30v-3a-adjustable/dp/IN06822?st=bench%20power%20supply
Trev
Not sure how long it would last but this is dirt cheap
https://www.amazon.co.uk/SHNITPWR-Universal-Power-Adapter-Transformer/dp/B091L5GB6W/ref=sr_1_6?dchild=1&keywords=adjustable+power+supply&qid=1631529962&s=electronics&sr=1-6
This panel mount one looks interesting. It could be installed inside the RV power enclosure and then feed the cable so no external cable alterations would be required. Then you can adjust the voltage from the panel. Nice and tidy.
https://www.amazon.co.uk/Voltage-Regulator-Programmable-Adjustable-Converter/dp/B08P7PG7R5/ref=sr_1_37?dchild=1&keywords=adjustable+power+supply&qid=1631530107&s=electronics&sr=1-37
Anyone know if these blow up a lot?
From memory ISTR the transformer has 2 windings in series - could it be as simple as just using one winding to reduce the voltage? I would think the stepper would be OK with the reduced voltage with speed ramping and the smoother control the Trinamic driver gives.
I have now done around 2000 placements with a feeder installed with the new controller design. It has not missed a beat and appears to be performing very very nicely. Lovely smooth movement means the components are always in the same position and I think this helps placement be that little bit more repeatable. Also being so quiet is fantastic.
I was not using lots of plastic tape due to the job I had to get done. It was mainly paper but there were 2 plastic tapes on the bank. They were quite thick, the one held a SOT23-5 and the other a 1210 inductor. The SOT23-5 moved very smoothly with not shaking in the tape. Position again was very repeatable.
What I did find out though is the reduced voltage for solenoid operation is because I did not fit the extra springs on the grey feeder. This style feeder has 2 sets of springs to help stop the pins sticking and I did experience a bit of pin sticking. When I checked a different feeder I found the solenoid voltage needed to be up at around 24V to work reliably due to the extra force of the springs. Still seems that 37-39V is quite high.
The other thing is that with higher voltage the solenoid does not like to be energised for long. With the original design moving the tape quickly, the solenoid was on for less time and this may have helped keep heat down. We this design design if the voltage is less this might balance out.
I have another mod to try to stop the pin hitting the plate that does not require any machining of the pins. If this works then I think I will have a final solution.
Finally I have attached a pic of the first hand soldered controller board built from PCBs I got made. Everything appears to be working as expected.
I did a run of a few boards today and compared using a feeder with an old control board in it with one with my new design. I have to say, the old feeder is so fast. I am not sure why they felt the need to move the tape so quickly though. They have so much time between placements! Maybe when using merge moves or something and the feeder is right next to the camera, it needs to be. The speed can not help when winding the tape back though. I much prefer my new design.
I am going to build a few more boards up and convert some more feeders. I then have a big job to get done and this should really put the board through final testing.
Trev
Quote from: trev on September 23, 2021, 10:29:18 PM
I am not sure why they felt the need to move the tape so quickly though.
For multiple feeds perhaps.
Been a while since I did work on this. All my attention up until today had been with a grey feeder where the positioning pin is right at the front of the feeder. I was still finding that despite motion being good everything else was rubbish. I just could not get reliable movement and was feeling beaten. The tape would lift up sometimes and the pin not move it. With too little tension on the pin the tap would still bounce about. I was a bit gutted after all the work I had done. I felt it was never going to work. It was working perfectly for SOT23 and thicker tape but 0603 LEDs was still bad.
Today though I found the motivation to try again but with a blue feeder. These feeders have the positioning pin at the middle of the feeder right next to the rubber band. This seems to have made a massive difference. With the super smooth motion my board created there is no vibration of leds when the tape is moved. The stepper motor gearing does not chatter at all. But what's different is the positioning pin is so far from the open end of the tape that it does not affect the leds at all when it snaps up and down. So the original issue with blue feeders I think was mainly the movement rather than the action of the pin going up and down. With the grey feeders the issue is that movement and also the pin being so close to the open end of the tape that it caused vibration when snapping up and down.
I placed 350 leds today and had no pickup failures. It was perfect. Will keep using it but it is looking very positive finally.
Have attached link to led movement in action. It is super smooth every time which I also think helps reduce band slippage and also reduces the risk of the pin stretching the hole in the plastic tape and causing movement failure.
https://youtu.be/0Wu516kW94U
Trev
Quote from: trev on January 12, 2022, 09:45:29 PM
https://youtu.be/0Wu516kW94U
Trev
Looking very nice
Side view of a feeder in action using my new board. It also shows the mechanism for anyone who hasn't opened a feeder.
https://youtu.be/JyTG3TL-eME
Used the controller board with several feeders and reliability of the board is excellent. Specifically regarding 0603 leds which was the main reason I designed a replacement controller, have placed 1400 leds and the movement was perfect everything single time.
Hello Trev,
I was wondering what happened to your controller project.
I am interested in changing the drive boards in our old workhorse's feeders.
It would be good to have a drive board that does ramping or smooth as we do find certain components can jump around.
Did you have any plan to make these boards available to others or was it just a pet project?
Hi
I used the board on several feeders and it performs fantastically well. I think I placed 1000s of 0603 leds and jumping was greatly reduced. Some feeders have the pins at the front ( grey feeders ), some have them at the back ( blue feeders ). I found on the grey feeder some times the action of the pin would also contribute to the bouncing. So if you have blue feeders then I think it works better. It might be other things too but I think that's what I found.
The solution I used as I was investigating the problem and using the boards was to wire the transformer inside to power the control board but then I used an external supply to power the solenoids. This allowed me to monitor them and see what voltage worked best. Reducing the voltage to experiment with the pin impact. I think though in the end I settled on 24V and it was find for a lot. With the transformer, the voltage is all over the place and I think too high most of the time.
Also I found that when you start to slow the feed speed down, the solenoids are energised for longer and the transformer voltage is too high to turn the solenoid on for that long. 24V enables you to slow things down and not overheat the solenoids.
The software for the controller is Arduino based and had a menu to control everything. I ended up putting a panel mount usb connector on the back of the feeder and I would plug into that to configure it from a terminal programme.
It was always a work in progress but was at a stage where it was working. I do have some boards and would be happy to provide all the source code and schematics so you could modify/adapt it to your own needs.
How many boards would you be looking for?
Hi Trev,
Thats a good question.
I am thinking initialy I am after a few boards to try out and tinker with.
If this works out well then I would probably want to retrofit most of our feeders down the line.
I have a cache of chinese arduino megas collecting dust in my stores from old venture which would be ideal.
We still use our RV a lot for certain jobs and I am on a bit of a mission to fix or improve a number of the known issues we suffer with the feeders which prevent an operator walking away from the machine while it is running.
It would also be nice to add some features to the feeders which would make life easier.
I have a few feeders that are already wired up and some spare boards. Might be useful having some already fitted for reference and to enable you to experiment before taking apart your feeders? And to have some more feeders.
I would likely sell these relatively cheap if you are interested.
Do you need any other spares whilst at it as I am having a final clear out and may put some stuff on eBay in the new year if I can't sell them to someone on here for a good price.
Hi. Did you get my messages?
Quote from: Greasemonkey on December 19, 2024, 12:11:38 PMHi Trev,
Thats a good question.
I am thinking initialy I am after a few boards to try out and tinker with.
If this works out well then I would probably want to retrofit most of our feeders down the line.
I have a cache of chinese arduino megas collecting dust in my stores from old venture which would be ideal.
We still use our RV a lot for certain jobs and I am on a bit of a mission to fix or improve a number of the known issues we suffer with the feeders which prevent an operator walking away from the machine while it is running.
It would also be nice to add some features to the feeders which would make life easier.