Zikzak - crummiest 8bit console/computer ever .. but I'm making it!


So I've recently got a request from my brother concerning electronics.


He wants to make a cheap and dirty elevator to replace the stairs in his house.


He said that can take care of the mechanical part of it, but never touched electronic neither micro controllers.


So he asked me to try.


I accepted :P


Since I want to be sure to make something more or less safe and functional, rather than relying on PIC or MSP430 (not that they're unreliable, but my code running on those is!), I decided to go for arduino, granting me easy access to various ready-to-use libraries if needed and a vast amount of tutorials and documentation.


I already have a precise idea of the global layout of the circuit (number of push buttons, relays, …), but I have to figure a few thing :


I'll have to extend the number of I/O one way - shift registers - or another - SPI external gpio chip -


I'll have to use higher voltage in some parts of the circuit because the cables are going to be lengthy


Will I make a dedicated PCB or a shield for the arduino?





I'll get my arduino uno around the end of next month, we'll see then.
 
Last edited by a moderator:
It's not my idea, if you have any remarks… anyway he won't care a single bit xD
 
Quick reply .. If you've got some avr's, just use them .. Use arduino tool to build the hex file and upload to avr with your isp or whatever.. Arsuino is just avr + ftdi usb->serial asaptor, but you can flash any other way :)


Jeffphone
 
I agree, I could hack an AVR ISP with my MSP430 launchpad.

I guess Pandora could also program µcontrollers using the exposed GPIOs from the EXT port, since it's doable with a raspi.

But since my brother agreed to buy me an Arduino StarterKit from Watterott (this one), why would I? ;)

…Let's be honest, I'll probably try to do it later. Because getting an EXT to ISP cable out of my bag and "burning" my AVR with my pandora would be totally cool :D
 
So I've recently got a request from my brother concerning electronics.


He wants to make a cheap and dirty elevator to replace the stairs in his house.
haha, that sounds dangerous
 
haha, that sounds dangerous
That's why I said.He doesn't care :D

He found an electric winch able to pull 450Kg, twice that with a pulley. He'll probably buy that one.

I bet he is going to try it using the winch remote at first.

If he deems it safe enough, we'll add the electronic parts to get an "elevator". (well at least the basics of an elevator xD)

EDIT: I ordered the arduino starter kit I've found and a protoshield with screw terminals, I could probably have found a cheaper shop, but it'll be faster to order there.

I added a good little electric motor (with a nice gearbox) to make a simplified model of the elevator. But I forgot to order the mounting bracket for the motor… I guess I'll have to hack one myself.

I'll order some "el cheapo" mini pulleys and a length of ø 0.5mm wire on later, on ebay.
 
Last edited by a moderator:
How would you drive the big guy? Is it just like any other DC motor?

I've been working (slowly, so little free time :/) on a RC 'car'/tank/thing for a few months, from 'scratch' (okay, I'm not bending/drilling metal myself.. bought a basic chassis to get me started) .. got good progress. Driving motors isn't too bad :) (PWM to a motor and away you go.) The high amperage is what gets you .. my car is 6 wheels, and when you do a full reverse from forward to back on 6 wheels, it draws a good 20A

An elevator carrying a tonne of weight.. thats gotta be a bitching amount of amperage, I'd hate to wire that up and also meet safety guidelines :) How many amps will that pull?

The actual electronics should be easy.. fun project too :) Your buddy is crazy, but awesome :)

jeff
 
Regarding your car (and the lift for that matter, assuming it's properly counterbalanced) wouldn't it be cheaper to bring the car to a halt when going from forward to back (or vice versa) by shorting out the motor, then applying voltage to get it going again (in the opposite direction).


Of course, I've never really understood how that works in detail, so doing it in practice (especially at a large scale) is done entirely at your own risk.
 
The real motor will be an electric winch with a remote. This remote has up and down buttons.

So I'm going to use the arduino to "pilot" two relays that will replace those buttons. That way, no problem with voltage or intensity of the current needed.

If you're talking about the "test rig" motor, with its gearbox it turns really slowly but has high torque. From pololu website, it needs 6V, min 70mA, max 1.6A depending on the load (from what I read it's stalling at 9Kg-cm :P ). That's still manageable since it'll be the only "high power" load of the circuit.

I'll probably have to hack some kind of brake to prevent damages to the gearbox. (not a problem on an actual winch, they're equipped with automatic brake)

EDIT : Reading the Amps consumed by the motor could be a solution

e.g. : if Amps consumed are between the minimum needed to make the motor rotate and the maximum before stalling because the load is too high, then keep brakes open.
 
Last edited by a moderator:
Cool approach .. Sounds 'easy' :)


I'd like to look up how to ge voltage and current readings .. I suppose former can be an ADC if low V.. Should monitor current in my car/thing... 6 motors ftw :)


Pics soon...


Jeffphone*


Baby boy is night terrors now ... Hours to get him asleep and wakes screaming 2am ... My evenings are shot :/
 
OKay, check this shit out :)

- bought a used robot vehicle chassis

- added 6 motors to it, added 6 big moon rovor tires > fairly traditional so far

- built a mcu, receiver, driver thing.. so now it takes RC transmitter (from an RC plane) to drive it

- theres a space up front thats empty.. thats where thr aspberry-pi and webcam turret go .. for driving it via phone from a distance. (ad-hoc wifi); thats not done yet, so not on the car

---> yes, tempted to add a potato gun, but my wife would die of shame

- going to find a red/black car shell (maybe 1/5th scale I'm thinking) to make it look awesome :)

https://www.youtube.com/embed/-l5wx1s7KC4?feature=oembed

pic:

https://fbcdn-sphotos-f-a.akamaihd.net/hphotos-ak-prn2/992963_610529898979320_225587708_n.jpg
 
Yep, using ADC lines as voltmeter (0 to 5V in an arduino) :D

With reliable components, you just have to adapt the level of the voltage to what the ADC can take, you won't loose much precision.

opamp.jpg


That circuitry (found here) is an option for an ammeter, from what I read it's accurate enough to get reliable readings.

Another, and easier, option would be to get a ready to use pcb with an ACS714 (or another chip of the same family depending on how large the current you want to measure is) like this one from pololu. And connect it's output to the arduino, with a typical error of 1.5%, it's comparable to what most of the good multimeters get (not the high-end ones, of course).

0J1308.200.jpg


Your 6 wheeled remote-controlled car/tank/thing looks promising, I hope to see more about it ^^
 
Last edited by a moderator:
So little time lately.. my baby being Mr Night Terrors now, so hours to get him to sleep, and then he wakes up screaming an hour later and so on .. keeping me up a lot, and sleeping with the guy lately so I get rest at all :o

Last night I wired up the ISP programming header on the 'car' (lets call it a car); I've got a 6 foot USB cable to the programmer (AVR ISP MKii) so shoudl be able to hook it up, program it live; building and debugging live on breadboard is king, but with the car have to unhook the board from the motors and unscrew it from its perch, so slows you down .. so now can have an umbilical as it drives around, to keep things fast. But only had 30 mins last night between kid falling alseep, getting him into his bed without waking, and befoer next cycle .. so I wired it up, but no time to test it yet (argh, I hate that.. 2 more mins, I'd have known if the soldering worked :P )

So hopefulyl tonight I can turn up the torque/voltage on the motors (go faster) and get some turning working. Right now I'm trying to be fancy and use 'elevon' mode on the right-stick (RC airplane transmitter for now), so as you press forward, it increases the throttle voltage; as you tip left/right, it favors the voltage more to the opposite side, to try and turn; but hard to get it right.. and what is desirable?

ie: if you just go left on stick (no forward tilt), is that 0 power, but leaning to turn left (ie: nothing happens), or should that do a turn? ie: In a way, top-left shoudl be full power turn left, but a little trickier to code; or maybe full-left is turn left, and full forward is full both sides forward.. what woudl top-left be then?

Certainly full-left no forward, turning left, is easier to code at 2am with no sleep, so I may go abck to that, to avoid some goofing around with the math..

Being able to go fwd/back,a nd turn left/right on the spot, is still pretty good for this step; then work on more fine tuned control and turning while moving etc....

... and start thinking (while sitting with kid to calm him down all night..) about the r-pi integration, since it can talk USB to the webcam, and wifi to the phone, and i2c to the mcu that does everything else. Steering via Pandora is the goal (and phones of course.)

ie: right now mcu is doing all the thinking, but the goal is..

mcu is the motor driver; it also talks ADC and such, so its taking the RC receiver signals and figuring out their intent.

Rigth now it then drives motors, but its supposed to talk i2c to r-pi to say ('received signal XX')

Its supposed to also listen i2c for instructions from r-pi ("drive forward" sort of thing)

Thsi way the RC receiver is optional (if its doing stuff, great, if not, wait for input from r-pi).

R-pi in turn can run a webserver or daemon that talks wifi to pandora and phones; webcam to display high framerate to the pandora or phones, and d-pad and onscreen buttons for direction and cam-turret control.

Then r-pi ill i2c to mcu to instruct it what to do (rotate/tiolt camera, move forward/back/etc..).

Should be geek-awesome to walk around with pandora, driving the car/thing via remote video display :)

jeff
 
Depends what your use case here is I guess. On a standard RC car as I recall, the X-axis just controlled the steering rack and the y-axis the motor, so just going left and right would just wiggle the front wheels at you.


On the other hand, this is a programmable 6-wheeler akin to the old Bigtrak, and there IIRC if you said RIGHT 90 it would go forward and right 90 degrees. Though that was a bugger to get right if you didn't know its turning circle pretty accurately before you started.


Since you've got an independent 6 wheels, I'd have thought it best to be able to drive it like a tank - so spin on the spot if you put one set of wheels in reverse. If you stop one set and drive the other you turn around the set of stopped wheels, and if you drive them both forward at different rates you can turn while moving.


That said, to do that accurately you're going to need pretty good feedback to the MCU on what your wheels are actually doing. As I said earlier, you can fake that up if you can lock the wheels by shorting them out on one side, but if you want to be able to turn at speed you're going to need some way to resist the chassis' tendency to just go perpendicular to your axles.
 
Its 'differential', so like a tank; but its not 'on' and 'off'; each motor can be varied in speed.. in practice, I got them hooked up all 3 on each side together.. seems stupid to vary each one independantly ..... unless you put an expensive speed decoder wheel on each motor, so each can be measured speed independantly.. then yo ucoudl better handle .. 'wheel 4 is on tile, wheel 5 is on carpet, adjust to compensate slippage'; but I don't care that much :)

But still.. turning on the spot sdtill ahs velocity; turn right side off, left side to full? half? 1/4? varies the on-spot turning; or turn right backwards, while left forwards, for true on spot? what speeds for each?

So if you're going forward and then slowly drift the stick to the right, do you _Reduce_ the right side a little, or increase the left side, or stop the right side, or reverse the right side...

They're all different kinds of turning right. So how to map the different rightness with the single X/Y stick? hmmm :)

It is tempting to use the left stick for left side, and right stick for right-side, and truly drive 'like a tank'; but that uses up both sticks, and on my transmitter, the left stick is 'floppy' (you set it, it doesn't mov back) where the right stick is spring-back-to-middle kind. Its for planes .. left side throttle, right side for ailerons and elevators. So I'm using rifght stick for all turning, and left stick to control webcam turret rotation :)
 
I guess the only way to find out is to try it and see. I'd expect reducing right side and keeping left side as is will result in an overall deceleration, while speeding up left and keeping right the same should accelerate the buggy. You could try to maintain speed by increasing left while reducing right speeds, but try it out and you might find the slower speed when turning is useful and more realistic. Or perhaps I'm entirely wrong, as I've missed some artifact of the way this works.


Of course, if you're already travelling at max +V, the only option is to one set of the wheels to turn.
 
I'm thinking of working in terms of target speed and a speed-change hreshokd; even without monitoring wheel speed this coukd help..


So from 0.0 you hit full throttle, so code could set target of max.max (say 100.100) .. And then a per 100ms max step of say .. 15pts (cor discussion); this way it'd take a full second cor cat to max speed, and it'd do it a little bit every tenth second


Then you hit full right (say) .. Target becomes 0.100 .. So it statts dropping the one side 15 pys at a time every tenth second until it matches


Smoother accel/decel/turns


Add in logic to do shorts(fast full stop) and maybe stuff like .. If delta is huge, that means try harder (wheels opposite dir turn, not just slow one side down) ...


So piloting works in terms of goal and the controllers work on getting you there


...


Ziz .. I' try to catch up; doing the boards from phone while pinned in bed with screamy baby .. Can't edit configs :) (yes, i should stash my pandora here, but rather not screw up conf changes :) .. Try not to change them 3 or 4 times in a row next .. Just bad timing for me lately. Sure hope kid gets past this night terror phase fast .. Killing me :0 .. 4 hours sleep a night is a drag :)
 
Back
Top