This is great - I am trying to build something very much like this. I see you are using two motors and two lead screws - how do you ensure that they stay in step so that the lifting table surface doesn't get skewed if PWM pulses get missed or whatever? Has that never been a problem for you? I was considering using accelerometers on the table so that corrections could be made if needed. Anyway, great work - it's a shame that nobody offers these vertical fiddle yards as a kit product. I expect somebody will do eventually.
Hi Alan. The two motors are controlled using GRBL, running on an ATMega 328 (“Arduino”). GRBL can be configured to use two outputs for two parallel motors. Until now (1,5 years of operation) that worked flawlessly, no problem regarding staying synchronized. Pulse loss only occurred during the configuration phase, when I tried how fast the stepper motors could run. But after the speed limits were known, and configuring the maximum speed 20% below that maximum speed, it always works fine. I wouldn’t invest in accelerometers or something similar, since there is no problem to solve. And yes, it would be nice if multiple people would build something similar, and a kit solution would be viable 😀
@@AikoPrasTrains Thanks for this reply. I'll have a look at using GRBL in that case. Beyond my current prototyping my ambition is to build a lift that can do trains up to about 6-7 cars long (2.5 metres or more) so it's not impossible that I will need three motors and screws. One other question if I may, how do you ensure the exact levelling of the lift to the shelves? I can see you're using IR break-beam detectors just above the track level - but I am guessing that is just to detect the passing train - not for the levelling? BTW I love that your lift has three tracks which allows moving multiple trains at once - I've seen others which only have one track which seems to me to be missing a trick! Mind you with 3 tracks on the lift and three tracks in each siding shelf I would imagine that scheduling movements get a lot more complex than in the introductory example you show in the video! Thanks again for the inspiration and advice!
First a small correction: I didn’t configure the two stepper motors as parallel (one axis) motors, but wired one as GRBL X, and the other as Y. The reason is that I wanted to be able to home both motors independently, so small differences would be compensated. This also answers your question: when the power gets switched on, homing is performed first. GRBL homes the X and Y axis at the same time, so in parallel. For homing I use (for each axis) a hall sensor (fixed) and a magnet (moving in height). These hall sensors are remarkably precise, just as the steppers. If I would built things again, and have 2,5 meter for the tracks and usage from both sides, I would take aluminum (instead of wood) for the “moving thing” holding the tracks. This would improve precision, which gets more difficult if the lift gets used from both sides. If you have more questions, let me know 😀
@@AikoPrasTrains Yes, my proto design is using a t-slot aluminum frame with a wooden top made out of offcuts of laminate flooring which is nice and flat! However, when I scale up I think that I will have to use a lighter timber for the deck (probably just 3mm plywood). In my final version the idea is to make the lift have multiple shelves as I don't have space for shelves+lift. However it will have tracks at both ends because I will be able to have a turning loop at the far end of it. So trains will come onto lift shelves from one end then be moved up to a high level line going off the other end which takes them out and back via the turning loop. As to position registration... I have experimented with IR sensors, but I can't get 100% repeatable stop points. So, I will try out your suggestion of using hall effect sensors instead. Many thanks for your offer for continued help and advice - I am sure I will need it! best wishes. Alan T.
Impressive! Really nice job. I'm also developing a lift but not as big as this though but having a problem. I wonder if you can help - I want to get a signal back from the Arduino to interlock movements etc with the Z21 & Train Controller. I thought I could use an optocoupler for the signal from the arduino and then on the output side I've tried to connect back to an occupancy unit (DR4088LN CS). I just can't get it to work properly. I stepped down the track voltage from 18Vac to 5Vac on this output side and connected the output into the DR4088LN CS. All I get is it continuously on even though the input is changing state. Any ideas ? Did you try to pass signals back to your dcc system? Any thoughts welcome. thanks
Hi. My system is able to signal back to my control system multiple things. The most important is a signal whether the lift is moving, or not (1 bit). I also signal back at what level the lift currently is (10+1=11 bits). There are also some other signals. Since my command station is a LENZ LZV100 (connected to TC-10), I signal back information via the RS-Bus. The RS-Bus is (unfortunately) not very popular, but signalling back via other buses, for example Loconet or S88, should be equally possible. From your text, I understand that you want to provide feedback of only a single bit (lift is moving). In that case your approach, via an optocoupler, should be perfect. Therefore I don't understand why it doesn't work with your DR4088LN CS. I would try to find the problem somewhere in that direction; maybe the DR4088LN CS doesn't like the fact that an optocoupler "passes current only in a single direction" (like a diode). Can you test that? (just connect a diode plus resistor to the DR4088LN, and see if it gets detected). If that is indeed the problem, you could try to replace the optocoupler by a relay (plus resistor), or connect a loconet interface directly to your Arduino. I hope this helps.
@@AikoPrasTrains Hi thanks so much for these ideas - I will try them, particularly how to connect loconet to arduino. . Interestingly, I literally connected up a relay module this morning before I saw your text and this works ! Just have the ' -'ve' of the dcc connected to the common output on the relay module and the NO signal with inline resistor connected back into the DR400LN. The DCC track voltage in my system is running at 18V ac. Not sue of your experience in this but do you think I'd have to put some filter or capacitor across the relay output so no spikes go to the DR module? I'm actually setting up dummy blocks/ signals on Train Controller switchboard and then integrating those into schedule request and start/ finish conditions . Thanks a lot !
@@ardespmaker nice! In general a capacitor will not be needed. If you connect the tracks to an occupancy feedback module, and a train is running, the detection unit may also have to deal with weird signals. And the output side of the relay remains stable soon (50ms?) after its position changed. At the relay input (coil) side it is generally good to connect a diode for protection, however.
Fantastic. Smooth and relative quiet operation. Impressive piece of mechanical engineering. Well down.
Schöne Impressionen des Loklift. 👍👍
Danke 😃. Es macht auch spass!
This is great - I am trying to build something very much like this. I see you are using two motors and two lead screws - how do you ensure that they stay in step so that the lifting table surface doesn't get skewed if PWM pulses get missed or whatever? Has that never been a problem for you? I was considering using accelerometers on the table so that corrections could be made if needed. Anyway, great work - it's a shame that nobody offers these vertical fiddle yards as a kit product. I expect somebody will do eventually.
Hi Alan. The two motors are controlled using GRBL, running on an ATMega 328 (“Arduino”). GRBL can be configured to use two outputs for two parallel motors. Until now (1,5 years of operation) that worked flawlessly, no problem regarding staying synchronized. Pulse loss only occurred during the configuration phase, when I tried how fast the stepper motors could run. But after the speed limits were known, and configuring the maximum speed 20% below that maximum speed, it always works fine. I wouldn’t invest in accelerometers or something similar, since there is no problem to solve.
And yes, it would be nice if multiple people would build something similar, and a kit solution would be viable 😀
@@AikoPrasTrains Thanks for this reply. I'll have a look at using GRBL in that case. Beyond my current prototyping my ambition is to build a lift that can do trains up to about 6-7 cars long (2.5 metres or more) so it's not impossible that I will need three motors and screws. One other question if I may, how do you ensure the exact levelling of the lift to the shelves? I can see you're using IR break-beam detectors just above the track level - but I am guessing that is just to detect the passing train - not for the levelling?
BTW I love that your lift has three tracks which allows moving multiple trains at once - I've seen others which only have one track which seems to me to be missing a trick! Mind you with 3 tracks on the lift and three tracks in each siding shelf I would imagine that scheduling movements get a lot more complex than in the introductory example you show in the video!
Thanks again for the inspiration and advice!
First a small correction: I didn’t configure the two stepper motors as parallel (one axis) motors, but wired one as GRBL X, and the other as Y. The reason is that I wanted to be able to home both motors independently, so small differences would be compensated. This also answers your question: when the power gets switched on, homing is performed first. GRBL homes the X and Y axis at the same time, so in parallel. For homing I use (for each axis) a hall sensor (fixed) and a magnet (moving in height). These hall sensors are remarkably precise, just as the steppers.
If I would built things again, and have 2,5 meter for the tracks and usage from both sides, I would take aluminum (instead of wood) for the “moving thing” holding the tracks. This would improve precision, which gets more difficult if the lift gets used from both sides. If you have more questions, let me know 😀
Btw: I don’t think you would need three motors.
@@AikoPrasTrains Yes, my proto design is using a t-slot aluminum frame with a wooden top made out of offcuts of laminate flooring which is nice and flat! However, when I scale up I think that I will have to use a lighter timber for the deck (probably just 3mm plywood). In my final version the idea is to make the lift have multiple shelves as I don't have space for shelves+lift. However it will have tracks at both ends because I will be able to have a turning loop at the far end of it. So trains will come onto lift shelves from one end then be moved up to a high level line going off the other end which takes them out and back via the turning loop.
As to position registration... I have experimented with IR sensors, but I can't get 100% repeatable stop points. So, I will try out your suggestion of using hall effect sensors instead. Many thanks for your offer for continued help and advice - I am sure I will need it! best wishes. Alan T.
Impressive! Really nice job. I'm also developing a lift but not as big as this though but having a problem. I wonder if you can help - I want to get a signal back from the Arduino to interlock movements etc with the Z21 & Train Controller. I thought I could use an optocoupler for the signal from the arduino and then on the output side I've tried to connect back to an occupancy unit (DR4088LN CS). I just can't get it to work properly. I stepped down the track voltage from 18Vac to 5Vac on this output side and connected the output into the DR4088LN CS. All I get is it continuously on even though the input is changing state. Any ideas ? Did you try to pass signals back to your dcc system? Any thoughts welcome. thanks
Hi. My system is able to signal back to my control system multiple things. The most important is a signal whether the lift is moving, or not (1 bit). I also signal back at what level the lift currently is (10+1=11 bits). There are also some other signals. Since my command station is a LENZ LZV100 (connected to TC-10), I signal back information via the RS-Bus. The RS-Bus is (unfortunately) not very popular, but signalling back via other buses, for example Loconet or S88, should be equally possible.
From your text, I understand that you want to provide feedback of only a single bit (lift is moving). In that case your approach, via an optocoupler, should be perfect. Therefore I don't understand why it doesn't work with your DR4088LN CS. I would try to find the problem somewhere in that direction; maybe the DR4088LN CS doesn't like the fact that an optocoupler "passes current only in a single direction" (like a diode). Can you test that? (just connect a diode plus resistor to the DR4088LN, and see if it gets detected). If that is indeed the problem, you could try to replace the optocoupler by a relay (plus resistor), or connect a loconet interface directly to your Arduino. I hope this helps.
@@AikoPrasTrains Hi thanks so much for these ideas - I will try them, particularly how to connect loconet to arduino. . Interestingly, I literally connected up a relay module this morning before I saw your text and this works ! Just have the ' -'ve' of the dcc connected to the common output on the relay module and the NO signal with inline resistor connected back into the DR400LN. The DCC track voltage in my system is running at 18V ac. Not sue of your experience in this but do you think I'd have to put some filter or capacitor across the relay output so no spikes go to the DR module? I'm actually setting up dummy blocks/ signals on Train Controller switchboard and then integrating those into schedule request and start/ finish conditions . Thanks a lot !
@@ardespmaker nice! In general a capacitor will not be needed. If you connect the tracks to an occupancy feedback module, and a train is running, the detection unit may also have to deal with weird signals. And the output side of the relay remains stable soon (50ms?) after its position changed. At the relay input (coil) side it is generally good to connect a diode for protection, however.
@@AikoPrasTrains Thanks for your help there - I'll add the protection and can continue with a lot more confidence. Cheers 🙂
I'll be damned!!!!!