go_away

Author Topic: A community project for the summer perhaps?  (Read 61296 times)

0 Members and 1 Guest are viewing this topic.

Offline airman00

  • Contest Winner
  • Supreme Robot
  • ****
  • Posts: 3,653
  • Helpful? 21
  • narobo.com
Re: A community project for the summer perhaps?
« Reply #180 on: January 17, 2008, 07:00:41 PM »
Ok thank you , I see now

Check out the Roboduino, Arduino-compatible board!


Link: http://curiousinventor.com/kits/roboduino

www.Narobo.com

Offline Rebelgium

  • Supreme Robot
  • *****
  • Posts: 638
  • Helpful? 0
  • It's called the future ... We like it here
Re: A community project for the summer perhaps?
« Reply #181 on: January 18, 2008, 06:41:36 AM »
hey airman00,
the pages are for completely different purposes.
one is a module list, one is a list of requirments for PCBs and one is a design doc for the communication protocol.

you have a point though: we need a directory page for documentation. in the short term i'll put links to all pages at the top of all 3.

Communication Protocol#; http://docs.google.com/Doc?docid=ddp2r5j8_21dgt72qgz&hl=en
Module List: http://docs.google.com/Doc?docid=ddgqp9wc_0gpbcwmgm&hl=en
PCB Design: http://docs.google.com/Doc?docid=ddp2r5j8_24hhf75vck&hl=en

dunk.


Why not place the summary also on a google doc?
I'm just done with one of my exams (C++ and Java) so I had some time to go ahead and do it...
http://docs.google.com/Doc?id=dgxsd4mw_24d9kkg8gw

If anyone wants to edit it later on (when you make a new doc and want to add it), just pm me your email adress, or send me a mail at   fredje666 at gmail dot com
I'll add you to the people that are allowed to edit it.
« Last Edit: January 18, 2008, 10:32:29 AM by Rebelgium »
To relax after some hard work on robotics: A very fun free online text based MMORPG
orgcrime.net

Offline Ro-Bot-X

  • Contest Winner
  • Supreme Robot
  • ****
  • Posts: 1,431
  • Helpful? 25
  • Store: RoBotXDesigns.ca
Re: A community project for the summer perhaps?
« Reply #182 on: January 18, 2008, 10:48:15 AM »
i think the i2c and power connector should be mounted closer to one corner of the board so 38 x 38mm boards can be plugged in while still staying on the same mounting hole grid.

Ro-Bot-X: have you actually used the right angle header pin sockets in your schematic?
do you think they will do what we want? i certainly like the look of them?
got a part number for them?
also, which Eagle library are they under?
dunk.


Ok. First, I am using Eagle with imperial units since I have better snap-on-grid precision. Everywhere else I am using metric units, since I live in Europe (soon moving to Canada, but there they use them too). I am familiar with inches and feet but not at all regarding fractions of inches expressed in 100s or 1000s.

Can we agree on a position of the connectors vertically from the bottom up on a 1.5"x1.5" board? Right in the middle? My grid is 0.05" units, I need an exact position for the connectors...

The right angle header and socket need to be placed a little inward, so the boards that need to be connected get really close together (flush). Since the boards will be double sided, the connectors can be mouted underneath the board. Closer to the edge can be mounted a second connector (vertical) for stacking or wires.

The connectors are from the con-lsta.lbr (female) and con-lstb.lbr (male). The right angle are terminated with W.

Couldn't find them on DigiKey, but here they are on GradConn Interconnect:
http://www.gradconn.com/2-54mm/2-54mm-results.asp?
male headers: BB02-HA
female sockets: BB02-JB
They also have them in SMD form. And we might get samples from them.

Check out the uBotino robot controller!

Offline Ro-Bot-X

  • Contest Winner
  • Supreme Robot
  • ****
  • Posts: 1,431
  • Helpful? 25
  • Store: RoBotXDesigns.ca
Re: A community project for the summer perhaps?
« Reply #183 on: January 19, 2008, 05:41:40 AM »
Tryed to shrink the board to the minimum 1.5"x1.5" but still keeping the through hole components. I stripped the I2C connectors down to just one and the components barely have enough room to fit on the board. But there were lots of traces not done by the autoroute function.

There are 2 options here:
- go for a 1.5"x2" board
- use SMD components

Here is the picture:
Check out the uBotino robot controller!

Offline Fredrik AnderssonTopic starter

  • Robot Overlord
  • ****
  • Posts: 216
  • Helpful? 0
Re: A community project for the summer perhaps?
« Reply #184 on: January 19, 2008, 06:04:07 AM »
Man have i missed much... been hooked up with school the whole week. Well, now I'll devote some time of my weekend for the project.

Ro-Bot-X, you can always stack two pcb's which will make the module. Almost the same amount of space as in your 38x75 mm version.
Current project: Pirrh - Portable Intelligent Round Rolling Hexapod

Offline Ro-Bot-X

  • Contest Winner
  • Supreme Robot
  • ****
  • Posts: 1,431
  • Helpful? 25
  • Store: RoBotXDesigns.ca
Re: A community project for the summer perhaps?
« Reply #185 on: January 19, 2008, 06:43:21 AM »
I have changed only the tiny26 to SOIC form and got all done on 1.5x1.5" board. See below:

Edit: the blue stuff is GND.
« Last Edit: January 19, 2008, 06:47:12 AM by Ro-Bot-X »
Check out the uBotino robot controller!

Offline dunk

  • Expert Roboticist
  • Supreme Robot
  • *****
  • Posts: 1,086
  • Helpful? 21
Re: A community project for the summer perhaps?
« Reply #186 on: January 19, 2008, 09:21:58 AM »
Quote
We need to specify the placement of the I2C connectors!
i think we need Eagle templates of the different board sizes.
what do think of the ones attached?
(i don't seem to have right angled header pins in my Eagle libaries but the header pin on the left edge should be a right angle one.)

let me know if you want me to email you the Eagle files. (can't attach them here.)


dunk.

Offline Ro-Bot-X

  • Contest Winner
  • Supreme Robot
  • ****
  • Posts: 1,431
  • Helpful? 25
  • Store: RoBotXDesigns.ca
Re: A community project for the summer perhaps?
« Reply #187 on: January 19, 2008, 09:41:02 AM »
Zip them and attach them. You can get my libraries (zipped) from a few posts ago.
Check out the uBotino robot controller!

Offline dunk

  • Expert Roboticist
  • Supreme Robot
  • *****
  • Posts: 1,086
  • Helpful? 21
Re: A community project for the summer perhaps?
« Reply #188 on: January 19, 2008, 11:35:08 AM »
ah, didn't realise you could attach zipfiles.

dunk.

Offline Ro-Bot-X

  • Contest Winner
  • Supreme Robot
  • ****
  • Posts: 1,431
  • Helpful? 25
  • Store: RoBotXDesigns.ca
Re: A community project for the summer perhaps?
« Reply #189 on: January 19, 2008, 04:52:27 PM »
If I remember corectly, the pull up resistors need to be at the Main Microcontroller unit right? I guess we should include them for each board that also has UART, but install them only on one board for each system. Right?

Should the Motor modules be Master/Slave or just Slave only? Also Master modules should provide 5V power for the slave modules, right? ( I guess the Main MCU, the Sensor Module - maybe others too - need to have 5V regulators onboard to power the sensors and other devices connected directly tho the boards, not necesarily on the I2C bus.)

Can we also build a RS232 to I2C interface module? (I don't really want to change the tiny26 for something bigger just for the UART...)

Since I am working on a robot that will use a Tiny26 Modified Servo Controller, I will build this module untill we decide on the DC Motor Controller characteristics. The ones I have showed are just samples, to see the possibilities. A small size board will be enough for the modified servo controller but not enough for a DC motor controller, unless we go SMD. I would really like to have the modules small.
Check out the uBotino robot controller!

Offline paulstreats

  • Supreme Robot
  • *****
  • Posts: 1,381
  • Helpful? 21
Re: A community project for the summer perhaps?
« Reply #190 on: January 19, 2008, 06:52:12 PM »
Quote
If I remember corectly, the pull up resistors need to be at the Main Microcontroller unit right? I guess we should include them for each board that also has UART, but install them only on one board for each system. Right?

They can be anywhere really

Quote
Should the Motor modules be Master/Slave or just Slave only?

Depends on what you want from them

Quote
Can we also build a RS232 to I2C interface module?

most mcu's have this ability anyway


Offline Ro-Bot-X

  • Contest Winner
  • Supreme Robot
  • ****
  • Posts: 1,431
  • Helpful? 25
  • Store: RoBotXDesigns.ca
Re: A community project for the summer perhaps?
« Reply #191 on: January 19, 2008, 11:47:33 PM »

Quote
Can we also build a RS232 to I2C interface module?

most mcu's have this ability anyway



Well, then I need a small AVR (max 20 pins) with both abilities. Any sugestions?
Check out the uBotino robot controller!

Offline Ro-Bot-X

  • Contest Winner
  • Supreme Robot
  • ****
  • Posts: 1,431
  • Helpful? 25
  • Store: RoBotXDesigns.ca
Re: A community project for the summer perhaps?
« Reply #192 on: January 20, 2008, 04:09:39 AM »
I have the Modified Servo Controller with Encoders and LEDs for directions.
Pin 1 of the encoders is interrupt driven. The servos can be driven by Timer1 PWM.
Here are the pics:
Check out the uBotino robot controller!

Offline dunk

  • Expert Roboticist
  • Supreme Robot
  • *****
  • Posts: 1,086
  • Helpful? 21
Re: A community project for the summer perhaps?
« Reply #193 on: January 20, 2008, 06:50:50 AM »
hey Ro-Bot-X,
i'm guessing you approve of the board templates?
they seem like the most logical layout to my mind but if anyone has any reservations the sooner we decide on a standard layout the better.

Quote
If I remember corectly, the pull up resistors need to be at the Main Microcontroller unit right? I guess we should include them for
each board that also has UART, but install them only on one board for each system. Right?

correct. i think it's worth including space for them on the standard template for i2c Master modules but the resistors will only need soldered in on one module on the whole bus.
as there will always be at least one master on any i2c bus there is no point including space for the pull up resistors on any slave module.

Quote
Should the Motor modules be Master/Slave or just Slave only?

either. as we are making these i2c multi-master nodes we can have more than one master on the bus.
in this configuration a master can operate as a master or slave device.
i will point out that debugging a module with a UART is far easier as you can plug it straight into your computer and send debug info over the UART.

Quote
Also Master modules should provide 5V power for the slave modules, right? ( I guess the Main MCU, the Sensor Module - maybe others too - need to have 5V regulators onboard to power the sensors and other devices connected directly tho the boards, not necessarily on the I2C bus.)

one of the modules needs to have a 5V regulator but i don't think all masters on the bus need one.
i envisaged power regulation being done by a separate module. the power module would not need to be on the i2c bus although i think it would be an advantage so you could query it for the main battery voltage and sent it commands to switch off the power.

Quote
Can we also build a RS232 to I2C interface module? (I don't really want to change the tiny26 for something bigger just for the UART...)

easily done.
the test code i have written for the atmega8 acts a a router between it's UART and the i2c bus. with the addition of a max232 level shifter chip you can plug it straight into a PC serial port and in hyperterminal type out packets in the format discussed in the design doc: http://docs.google.com/Doc?docid=ddp2r5j8_21dgt72qgz&hl=en


Quote
Since I am working on a robot that will use a Tiny26 Modified Servo Controller, I will build this module until we decide on the DC Motor Controller characteristics. The ones I have showed are just samples, to see the possibilities. A small size board will be enough for the modified servo controller but not enough for a DC motor controller, unless we go SMD. I would really like to have the modules small.

so if you are planning on having your PCBs custom made i don't see the point in through hole components. with a little practice SMD components are easy to solder.
if you want to make the PCBs yourself using the toner transfer method i would suggest making your vias and pads far larger.
as for the small board sizes, the problem with us standardising the module size is there will often be some wasted space on a board.

in other news, i have built one of my test boards and will be trying it out later today. if all goes well i'll post the code and schematics later today (hangover permitting).


dunk.

Offline ed1380

  • Supreme Robot
  • *****
  • Posts: 1,478
  • Helpful? 3
Re: A community project for the summer perhaps?
« Reply #194 on: January 20, 2008, 09:55:30 AM »
robotx- i got a nooby Q. why would servo's need encoders?
Problems making the $50 robot circuit board?
click here. http://www.societyofrobots.com/robotforum/index.php?topic=3292.msg25198#msg25198

Offline airman00

  • Contest Winner
  • Supreme Robot
  • ****
  • Posts: 3,653
  • Helpful? 21
  • narobo.com
Re: A community project for the summer perhaps?
« Reply #195 on: January 20, 2008, 11:08:57 AM »
robotx- i got a nooby Q. why would servo's need encoders?

modified servos would need
Check out the Roboduino, Arduino-compatible board!


Link: http://curiousinventor.com/kits/roboduino

www.Narobo.com

Offline Ro-Bot-X

  • Contest Winner
  • Supreme Robot
  • ****
  • Posts: 1,431
  • Helpful? 25
  • Store: RoBotXDesigns.ca
Re: A community project for the summer perhaps?
« Reply #196 on: January 20, 2008, 03:01:36 PM »
robotx- i got a nooby Q. why would servo's need encoders?

Modified servos for continuous rotation are somewhat like DC motors but with a different command. A regular servo has a closed loop feedback. This feedback tells the motor to move if the desired position is not reached. By modifying the servo, we break this feedback loop, so the motor thinks it still has to run to reach the desired position.

Encoders give feedback to the microcontroller just like the pot does for the servo. Only encoders are like a multi-turn pot and the feedback is not done at the motor controller, but directly at the microcontroller. But the thing works the same. We set a desired position and the motor runs to reach that desired position. By doing this we can make the robot go a certain distance, then turn to change course or just stop.

So, encoders can be added to have a feedback loop for any kind of motors the robot uses. Well, maybe they can be omited for stepper motors. The stepper motors rotate a little bit for each step and then stop and hold that position. But the steppers need to be stronger than the max power needed, otherwise they may loose steps.
Check out the uBotino robot controller!

Offline ed1380

  • Supreme Robot
  • *****
  • Posts: 1,478
  • Helpful? 3
Re: A community project for the summer perhaps?
« Reply #197 on: January 20, 2008, 03:05:12 PM »
thanks i got it. i wasnt thinking of modified servos
Problems making the $50 robot circuit board?
click here. http://www.societyofrobots.com/robotforum/index.php?topic=3292.msg25198#msg25198

Offline hazzer123

  • Supreme Robot
  • *****
  • Posts: 460
  • Helpful? 3
Re: A community project for the summer perhaps?
« Reply #198 on: January 20, 2008, 03:12:49 PM »
A module that hasn't been mentioned in the list is an LCD driver module.

I would like to do this module, starting with a basic alphanumeric LCD and maybe progressing to a graphical LCD.
I'm just waiting to get a working LCD.
Imperial College Robotics Society
www.icrobotics.co.uk

Offline Ro-Bot-X

  • Contest Winner
  • Supreme Robot
  • ****
  • Posts: 1,431
  • Helpful? 25
  • Store: RoBotXDesigns.ca
Re: A community project for the summer perhaps?
« Reply #199 on: January 20, 2008, 03:19:18 PM »
Hey Dunk,

The templates are fine, but I had to move the holes closer to the corners for the parts to fit.
Are there small size AVRs that have both UART and I2C? Smaller than Mega8? I don't want tu use a big micro where I can use a small one. I guess the code may be debuged on a mega8 and then ported to a smaller micro. That's what I intend to do. Only I don't know programming verry much. I can easily do it on Bascom or Arduino, but not yet in plain C. (If I show the code in any of these languages will someone be able to port it to plain C?)

I guess I could use a PIC 16F88, it has both UART and I2C if I remember corectly. I'll check that, and I will make a board with it (again, I can program it in PBasic).

Perhaps we should choose some microcontrollers for these modules. Do we want to use the same microcontroller for all the modules, for simplicity of code? ATmega8 is perfect for this... but maybe too much for some modules and too little for others.

So, what it will be?
Check out the uBotino robot controller!

Offline Ro-Bot-X

  • Contest Winner
  • Supreme Robot
  • ****
  • Posts: 1,431
  • Helpful? 25
  • Store: RoBotXDesigns.ca
Re: A community project for the summer perhaps?
« Reply #200 on: January 20, 2008, 03:30:09 PM »
A module that hasn't been mentioned in the list is an LCD driver module.

I would like to do this module, starting with a basic alphanumeric LCD and maybe progressing to a graphical LCD.
I'm just waiting to get a working LCD.

PIC 16F88 can be used to make a serial LCD from a parallel one. Tiny26 can do it with I2C interface. Mega8 can do both interfaces. Which one do you want?

It happens that I have an old Athena microcontroller that can be programed to be a serial LCD driver. Athena is based on PIC 16F628 and is loaded with a bootloader and firmware by it's manufacturer, Kronos Robotics. The LCD instructions are hardcoded in the firmware, so a little program can make it work.
Check out the uBotino robot controller!

Offline hazzer123

  • Supreme Robot
  • *****
  • Posts: 460
  • Helpful? 3
Re: A community project for the summer perhaps?
« Reply #201 on: January 20, 2008, 03:41:30 PM »
I will be using a PIC16F series chip to do it, since i have an ICD2 and nothing to program any other brand MCU.

The first LCD module will be really simple, just making it possible to talk to parallel LCD modules with I2C. Maybe it could be a general purpose display driver and drive 7 segment displays and led bars. I dno...

The second one will be for displaying graphics on graphical LCD displays.

It doesn't matter which MCU each module uses really, as long as the I2C is well specified there will be no problem. It might be best designing modules that use both AVR and PIC though, to give people with only an AVR programmer, for example, to use every module.
Imperial College Robotics Society
www.icrobotics.co.uk

Offline dunk

  • Expert Roboticist
  • Supreme Robot
  • *****
  • Posts: 1,086
  • Helpful? 21
Re: A community project for the summer perhaps?
« Reply #202 on: January 20, 2008, 04:29:39 PM »
Quote
Are there small size AVRs that have both UART and I2C? Smaller than Mega8?

i usually use the AVRfreaks website for comparing AVRs:
http://www.avrfreaks.net/index.php?module=Freaks%20Devices&func=devCompare
the ATtiny84 or ATtiny861 look suitable.
are you sure you need a UART on this module?
maybe an i2c master could be on a different module?

so i have a pair of working test modules made and programed based on the atmega8.
the master firmware can take commands from the UART and route them over the i2c bus as described in the design doc.

i'm working on documentation of the prototype now.

Quote
I will be using a PIC16F series chip to do it, since i have an ICD2 and nothing to program any other brand MCU.

cool. the slave module version of the firmware will be quite easy to write but the master version may take a little time.
it would be great to get demo PIC code written for this project too.

FYI, you know it's possible to program AVRs without an expensive programmer? http://www.instructables.com/id/Ghetto-Programming%3a-Getting-started-with-AVR-micro/


dunk.

Offline Ro-Bot-X

  • Contest Winner
  • Supreme Robot
  • ****
  • Posts: 1,431
  • Helpful? 25
  • Store: RoBotXDesigns.ca
Re: A community project for the summer perhaps?
« Reply #203 on: January 21, 2008, 12:44:00 AM »
I like the Tiny861, thanks Dunk! It has the Mega8 flash size (even a bootloader may be installed...), with little modifications Arduino can be used to program the device. So a motor controller prototype can be easily made to work with it instead of Tiny26. I'll have to see if I can get one around here to play with.

Edit: Strike all that... It seems it doesn't have USART... But Tiny2313 has! I will remake the motor modules to work with Tiny2313.

So, for small modules should we use Tiny2313 and for bigger modules Mega8 or Mega168? Please someone suggest similar MCUs from Microchip...
« Last Edit: January 21, 2008, 10:13:24 AM by Ro-Bot-X »
Check out the uBotino robot controller!

Offline ed1380

  • Supreme Robot
  • *****
  • Posts: 1,478
  • Helpful? 3
Re: A community project for the summer perhaps?
« Reply #204 on: January 21, 2008, 10:53:20 AM »
Quote
FYI, you know it's possible to program AVRs without an expensive programmer? http://www.instructables.com/id/Ghetto-Programming%3a-Getting-started-with-AVR-micro/


done that. didnt work. maybe it's just my luck
Problems making the $50 robot circuit board?
click here. http://www.societyofrobots.com/robotforum/index.php?topic=3292.msg25198#msg25198

Offline Ro-Bot-X

  • Contest Winner
  • Supreme Robot
  • ****
  • Posts: 1,431
  • Helpful? 25
  • Store: RoBotXDesigns.ca
Re: A community project for the summer perhaps?
« Reply #205 on: January 21, 2008, 12:44:41 PM »
Hey Ed, I have tryed my luck with a simple AVR programmer but didn't work on my laptop. However I am using this programmer: http://www.wrighthobbies.net/catalog/product_info.php?cPath=23&products_id=32 So far all my AVRs work if programmed with this STK200/300 programmer. And it's only $14.95.
Check out the uBotino robot controller!

Offline ed1380

  • Supreme Robot
  • *****
  • Posts: 1,478
  • Helpful? 3
Re: A community project for the summer perhaps?
« Reply #206 on: January 21, 2008, 12:49:14 PM »
i have the serial port version of that. and the $30 programmer
Problems making the $50 robot circuit board?
click here. http://www.societyofrobots.com/robotforum/index.php?topic=3292.msg25198#msg25198

Offline Trumpkin

  • Supreme Robot
  • *****
  • Posts: 1,177
  • Helpful? 5
Re: A community project for the summer perhaps?
« Reply #207 on: January 21, 2008, 01:56:44 PM »
stay on topic people! ;D Who is going to make these modules. When are we going to make them?
Robots are awesome!

Offline hazzer123

  • Supreme Robot
  • *****
  • Posts: 460
  • Helpful? 3
Re: A community project for the summer perhaps?
« Reply #208 on: January 21, 2008, 02:18:11 PM »
With this being a project in a community full of hobbyists, the design and making of the modules will not be done on a schedule. People just do it when they have a bit of free time. There are allready a few modules in developement, but there are lots more modules planned (see http://docs.google.com/Doc?docid=ddgqp9wc_0gpbcwmgm&hl=en).

If you want to design a module, just say so in here :).
Imperial College Robotics Society
www.icrobotics.co.uk

Offline Trumpkin

  • Supreme Robot
  • *****
  • Posts: 1,177
  • Helpful? 5
Re: A community project for the summer perhaps?
« Reply #209 on: January 21, 2008, 03:19:59 PM »
for the wheel encoder module could we just use computer mice sensors but with bigger wheel parts? 
Robots are awesome!

 


Get Your Ad Here

data_list