Mechanically Multiplexed Flip-Dot Matrix

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
a few weeks ago i built a prioritizing mechanical multiplexer which used one main motor to drive three outputs it did this by driving the main motor up and down a linear axis to affect each output gear arrangement in turn there's some code running on an arduino to control it which allows us to prioritize how and in which order the outputs are controlled i programmed it to target the largest difference between demand position and output for each of the three channels first and also made sure it would finish controlling the output it was currently targeting rather than getting distracted by any other changes until it had finished and then it could go and move on to the next largest error that needed fixing the priority could of course be further influenced by external sensors or inputs if we wished this type of mechanism could be used to control equipment where one large expensive motor is required but the outputs are low priority i asked for suggestions in the video as to what i should do with the concept and i got a record number of comments in the video the most popular was some sort of mechanical data visualization display where it's not so important how quickly it updates a clock time and date or temperature etc i've recently been looking at flip dot displays these are mechanical displays where each dot is pushed or pulled by an electromagnet which becomes permanently polarized when it's momentarily energized in either polarity however each dot has an actuator behind it and the display requires a controller that can address them all the bigger the display the more actuators are required and the more complicated and costly both the display and controller become and the more power it requires for large concurrent updates so today i'm going to attempt to build a flip dot display concept using mechanical multiplexing in a similar way to my prioritizing mechanical multiplexer project so we can save some money on actuators and controllers this is only a concept though so it's going to be built on a rather larger scale than regular flip display so we can clearly see how it works i wanted to use ping pong balls as the dots because i've got a lot so my original idea was a simple flip over unit which would show or hide the ping pong ball this however doesn't stack in a very compact fashion due to its envelope of motion i also thought about having some units that rotate vertically driven by a rack and pinion type of arrangement but again it was hard to get them close enough without the gears overlapping also getting them to always align in the right place would be hard so i came up with a modified version of the first idea with the pivot point closer to the ball which is now a fake half ping-pong ball to allow more clearance for the mechanism behind it thanks to 3d fuel for the filament for this project and lots of other projects so check out my channel for more 3d printing projects and check out 3dfuel.com here's my real ping pong ball on the original mechanism next to my fake 3d printed half ping pong ball and here's the new mechanism which allows me to get the pivot point much closer to the ball i've used the four bar link mechanism to flip over the dot and the top bar has this u shaped hook in which we'll poke the actuator in so we can flip over each dot as we pass by the back that seems to work pretty smoothly and gravity will hold it in either position when it's upright because most of the mass is flipped over the pivot point in this prototype i'm going to use small 9 gram servos to flip over each digit although we could use some other type of actuator like a solenoid and we'll discuss this at the end of the video i'm only making a 3x5 display for now so we can check this out as a prototype but as we'll see we'll be able to make it much much bigger if we wanted to without many more actuators with the pivot point in this position i can stack three vertically as close as i can get them horizontally which makes a square matrix each column is separated by a vertical wall which threads onto the axles and each one is separated by washers so now we just need to keep adding our columns and build up the whole display which is going to be five columns wide as well as the vertical walls which also act as sides on each end there's also a top and bottom and that encloses the whole display and makes the whole thing nice and rigid but before we carry on with the assembly it's time for a quick ad from the video's sponsor which is autodesk and as you may have realized i use autodesk fusion 360 to design this whole project fusion 360 is the only truly integrated computer rated design computer-aided manufacturing computer-aided engineering and pcb tool on the market in this project i use fusion 360 to design all of the parts and most importantly simulate the linkages and joints in the design so i could pretty much check it was going to work before i printed all the parts and tried to assemble it fusion 360 can also turn your 3d designs into more traditional 2d drawings really quickly so you can annotate dimension and document with more precision to ensure manufacturing accuracy autodesk have great support to resolve issues quickly every subscriber has access to autodesk support specialists via email online chat and telephone also remote desktop assistant so you can get secure hands-on support and there are also lots of other online resources like the knowledge base which is full of documentation and tutorials there are training videos and also a community support forum so use my special link to download a 30-day trial of fusion 360 now and i'll put that link in the description box for this video right let's get on with the assembly for the flip dot display so just a quick test manually to check those all run smoothly before i put the final column and the final end on and that looks pretty good so here we are with the five columns but before i do put the end on we need to put in something that's going to hold the servos that's going to run up and down in the back to switch them all as it passes by and our aim here is to hold three servos vertically which run on a horizontal runner going up and down on the back and flipping those mechanisms over using the u-shaped hook and that looks like this which is three servos with custom servo horns i printed to make them slightly longer so they reach far enough and you'll also notice there's a nut on there which is for a lead screw so we can drive it up and down the same as the mechanical multiplexer we built before the lead screw will be mounted on a bearing on one end and the motor on the other end where it's driven and the whole mechanism is going to go up and down in these slots which is just grooves in 3d printed plastic with a couple of plates to help keep them aligned that seems to run pretty freely and i haven't lubricated this or anything it's just plastic plates in those slots in those rails well that still seems to run fine if i manually turn the lead screw so i'm pretty hopeful it'll run fine with the motor pushing it the motor's mounted on the end plate of the whole thing and coupled on to the lead screw so now if i manually turn that we can still see it runs perfectly freely so it's looking pretty good from a mechanical point of view the electronics are very similar to the previous mechanical multiplexer i'm using an arduino to control everything and also the l298 again which is a really bad old motor driver but there's hardly any load on this motor so it should be fine i also have an additional voltage regulator set at five volts to power the three servos so now it's time for some rudimentary coding and testing and first of all i'm just going to flip those dots over in turn in one column and those servos seem to have more than enough force to flip them and there's enough clearance for them to move up and down so so far it seems pretty good the motor that drives the linear axis has an encoder on the back so that we can position it accurately i'm just doing a test here to drive it up and down and you'll notice i've got small pauses in between the columns so we can move the servos to the previous state of the next column so we can move it from the previous state to the next state without the levers on the servos jamming this isn't totally ideal and we'll discuss alternatives to this at the end of the video let's try that again but actually flip all of the dots over and now that this works i'm pretty happy with the mechanics the electronics and the control i'm currently only flipping dots as we pass in one direction and of course we could make a higher refresh rate although it's still pretty slow by flipping them when we pass back in the other direction as well we just need to be careful to save the previous state of the dot so we can move those servo levers back into the previous state when it's in the intermediate position between columns and the servo levers don't jam so i'm working my way up to that with a few different patterns so here we are just flipping the top and bottom columns then working back in the previous direction to flip just the middle column and reset the top and bottom columns to black uh this is my final demo for now although we'll discuss making it more efficient and making it run faster at the end i'm just sending characters over a serial terminal on my patterns are encoded into arrays although we could have a serial protocol to send the patterns as well and of course we're refreshing the display in both directions so we're remembering the previous pattern so the servos can move to the correct intermediate state between columns to the previous state of the dot and flip it to the new state as they pass by i can color the display or white or all black and those two triangular patterns and one of those is inverted and i'm just going to count up from zero to six in the pattern of a dice so obviously the first one is one and as we wipe back we can then go and flip those dots to get two and so on all the way up to six that's three and this should be four but i did it in the wrong order so we've actually got five so let's come back and do four and finally six let's just go and color the whole thing in white and then in black again so remember that this is just a proof of concept it's not the most efficient or fastest display to refresh of course but the concept does work so mechanically and electronically you know i can put the data into an array to represent the display and it will refresh on each direction to update it a part of the inefficiency is down to the actuator design of course because we have to go and flip those servos to the previous state of the dot to actually pass by so that servo horn goes through the hook in the right position without jamming even if there's no change to that dot so a different type of actuator would probably be more efficient probably an electromagnet like an actual flip dot because then there's an air gap there's no physical contact so it wouldn't matter we could reinforce that dot or change if we wanted or just wipe along the back without making any changes and we wouldn't have to get those hooks and the levers into the hooks to actually get them onto the next column and then we could take all the pauses out we could probably take the pauses out anyway but i just left them in there because it seems a lot safer we could continuously move that axis along and just flip the servos as we go and get the time of flight perfectly right but i didn't want to risk it jamming or things snapping off so that'll be an efficiency as well obviously the main thing about this is though that it's mechanically multiplex so if we made this much longer and extended this out then it wouldn't actually take any more servos or any more motors to go and flip the extra columns because we've still got those three servos passing all the way along and if we made more rows then all we need is another servo per row so we can make a 10 by 10 display and we'd only have 10 servos then we'd need to control rather than all those actuators for 100 for the whole display and all the power that's required and everything else including the logic something to control 100 actuators so that's the main concept of this and if you think you've got more ideas for mechanical multiplexing then let me know in the comments and we'll try and build some other prototypes so for now i'm going to publish this as open source all the canon code is on github and the link is in the description to this video and all of that's open source and feel free to do what you want with it and so if you'd like to support me through patreon or youtube channel membership those links are in the description as well and youtube channel members and patrons get the videos up to a week early with no ads in and also get access to sneak peeks and pictures of what's coming up so you can be part of that discussion all right that's all for now [Music] you
Info
Channel: James Bruton
Views: 146,524
Rating: 4.9071784 out of 5
Keywords: mechanical multiplexing, flip dot display, one servo flip dot display, flip dot matrix, build a flip dot display, coding with arduino, arduino project, building an arduino project, arduino controlled flip dot display, arduino controlled display, arduino controlled screen, how do flip dots work, build a flip dot, flip dot prototype, easy flip dot display, 3d printed flip dots
Id: tzm8KB9QgJg
Channel Id: undefined
Length: 13min 50sec (830 seconds)
Published: Mon Jun 14 2021
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.