Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Locked thread
Amykinz
May 6, 2007
I have a project I'd love to get started on but I really have no idea where to start. The gist of what I need is a program that I can set patterns into that would control some sort of machine that would "actuate" the patterns, kind of like how a punchcard would be read? I can get into more detail but I don't want to drown out the question with too much extra information. Basically I just need some good info to start that will lead me in the right direction.

Adbot
ADBOT LOVES YOU

mindphlux
Jan 8, 2004

by R. Guyovich
you probably want to first seek out arch linux, that's by far the best OS for this application

then you need to figure out the input/output ratio you'll be dealing with - raspberry pi can help, but there are like 7 editions of raspberrry pi and you need to choose the right one based on your needs. If you have 7+ actuators or outputs I'd recommend raspberry pi "plus".

then you'll need a LED array to test your machine that actuates patterns in punchcards, and you'll probably need a USB punchcard reader as well,.

make sure you equip your machine with enough RAM (Random Access Modules) to accommodate your USB devices or you'll be hosed out the gate. I highly recommend sticking with the Asus or Gigabyte models of motherboards, because they have several H7M northbridge modules that facilitate different frequencies of RAM.

once you get your northbridge RAM modules talking to the USB actuators, the challenge will really be programming the whole thing up, I'd suggest "Rust" for that. You could do it in a low level language like java or python, but really rust will get you better performance with your actuators - milliseconds count in the world of robotics.

Captain Foo
May 11, 2004

we vibin'
we slidin'
we breathin'
we dyin'

Make sure you implement the three laws.

Amykinz
May 6, 2007

mindphlux posted:

you probably want to first seek out arch linux, that's by far the best OS for this application

then you need to figure out the input/output ratio you'll be dealing with - raspberry pi can help, but there are like 7 editions of raspberrry pi and you need to choose the right one based on your needs. If you have 7+ actuators or outputs I'd recommend raspberry pi "plus".

then you'll need a LED array to test your machine that actuates patterns in punchcards, and you'll probably need a USB punchcard reader as well,.

make sure you equip your machine with enough RAM (Random Access Modules) to accommodate your USB devices or you'll be hosed out the gate. I highly recommend sticking with the Asus or Gigabyte models of motherboards, because they have several H7M northbridge modules that facilitate different frequencies of RAM.

once you get your northbridge RAM modules talking to the USB actuators, the challenge will really be programming the whole thing up, I'd suggest "Rust" for that. You could do it in a low level language like java or python, but really rust will get you better performance with your actuators - milliseconds count in the world of robotics.

Thank you for the info!

Just to explain a bit further, this isn't quite for punch cards. I'm a production weaver, and my loom uses wooden bars with metal pegs to set the weaving pattern. For simple patterns, this is great, but for any with over 40 pattern lines, it starts to be difficult to get the chain of bars to cycle though the machine. I'd like to build a divice that can mount where the pattern pins would contact the levers so I don't need to manually screw metal pins into 200 (ludicrously expensive) wooden bars. So instead of punch card readers and such, just a set of actuators and LEDS that I can set a pattern into. The loom manufacturers have a system that does this but I've heard many horror stories about how it's not reliable and doesn't work well.

Lord Windy
Mar 26, 2010
Have you ever programmed before? Rust is a spectacular language, but for a beginner you will just hate yourself. An easier language like Python would suit I think. If the task is making the tightening of screws faster than the difference between milliseconds and microseconds will mean little when the task used to take minutes. I also don't recommend picking an OS until you know exactly what you want to do, though I imagine it will end up being some kind of linux.

Could you speak a little more about the process you go through to do a pattern? I've never seen this and I don't want to dispense advice without knowing more. Googling this just brings up all types of looms, from manual wooden looms in south asia to something that appears to be a printer for fabric.

It might also help to show a crude drawing of what you want.

mike12345
Jul 14, 2008

"Whether the Earth was created in 7 days, or 7 actual eras, I'm not sure we'll ever be able to answer that. It's one of the great mysteries."





mindphlux posted:

you probably want to first seek out arch linux, that's by far the best OS for this application

why

Lord Windy
Mar 26, 2010
I hope I didn't break any rules, but I went through your post history in the DIY thread to see if I could find a picture of what you meant. You did one better and had a video. I can see why you want to automate that, what a dull horrible thing. But the good thing is that this should be pretty easy.

So find 16 (I counted that many holes) actuators that will work for those pins, line them up and you can do a row at a time. I assume that was what you were planning in the first place. Pick your hardware/OS/Language based on what the actuators need, then practice getting the timing right on wood that isn't worth it's weight in gold. After that, work out a solution to controlling the thing. If you're lucky and get to use a raspberry pi you might be able to mount a tiny 5inch touch screen and can make a simple gui.

For the actual Pattern part, I suggest keeping it simple and read from a small string like such:

0X0X0X <--- Where 0 is blank and X are pins.
X0X0X0
0X0X0X

And I would make a board with a grid of 40x16 (or whatever is more correct) pins to keep your order. You'd be able to see the opposite of your pattern and it might end up being easier to keep track of where you are.

mindphlux
Jan 8, 2004

by R. Guyovich

faster malloc() on the 64 bit code when dealing with alternating IRQ's and DMAs

Lord Windy
Mar 26, 2010
Ok next question, why does Arch have faster system calls when it's running the same kernel as all the other linux distros?

Captain Foo
May 11, 2004

we vibin'
we slidin'
we breathin'
we dyin'

Lord Windy posted:

Ok next question, why does Arch have faster system calls when it's running the same kernel as all the other linux distros?

Better TICK_NO_HZ config

mindphlux
Jan 8, 2004

by R. Guyovich

Lord Windy posted:

Ok next question, why does Arch have faster system calls when it's running the same kernel as all the other linux distros?

arch linux derives some substantiated pipeline calls from BSD unix that aren't commonly implemented in linux distributions. those paired with quicker IRQ/DMA calls result in at least a millisecond or two less latency when working with system busses and low level buffers

Phobeste
Apr 9, 2006

never, like, count out Touchdown Tom, man
if you want reasonably simple control of a fair number of actuators you want an arduino (http://www.arduino.org/products/boards) unless you're good enough at this that you can get something like a beaglebone black and write PRU code to run the servos and have a linux environment at the same time, which if you are you probably should ignore this post and also this thread. then you want a bunch of hobby servos and put em in a kinda piston arrangement and you're good. you want hobby servos because you can specify position and you don't want to worry about homing. then you use the arduino servo library and bing bang boom. probably cost $50-$100 depending on how confident you are / how much you spend making your own actuator housings and stuff.

make sure to get an arduino that can run at 88 jiggawatts and be aware that one fairly significant limitation is that the rig can only be powered by lightning hitting the old church at midnight

Adbot
ADBOT LOVES YOU

Amykinz
May 6, 2007
I was looking at arduino! I guess my next step would be to find some tutorials and download a virtual sandbox thingy so I can figure out how to make this work. I expect to only need one stationary row of actuators and some sort of "next row" input. Thanks for the advice, everyone!

  • Locked thread