Archives |
Conserving MCU pins via the I2C busTuesday, January 27. 2009Trackbacks
Trackback specific URI for this entry
No Trackbacks
Comments
Display comments as
(Linear | Threaded)
Just a few late results. I shifted the stepping regimen to half stepping which made the motion of the NEMA 17 very, very smooth. I duct taped the anti-backlash assembly to the drive shaft of the NEMA and was able to get it to deliver about 1,100 pps under a useful load and transition at a rate of about 7 mm/sec using a 1/4-20 threaded rod (1.27 mm/turn metric pitch).
Have you tried extending the i2c bus to get an idea how long it can be before interference becomes a problem?
Nophead has said that the I2C standard is primarily an on-board bus and shouldn't extend more than a few inches at most. That is the rule of thumb that I have been using. I believe Nophead's primary motive in such a short length is that apparently I2C is particularly sensitive to EMI. Repraps, which use both brushed and brushless motors are rife with this sort of situation. OTOH, last night Vik, referenced a FAQ about I2C {http://www.esacademy.com/faq/i2c/q_and_a/faq/i2cqa1.htm} which indicated that distances of 9-12 feet could be reached without a lot of drama as long as bus cables were shielded. While for me the I2C bus length question is interesting, as a practical matter I can't see myself exploring it since I have no need for long I2C buses in the work I am pursuing.
Another I2C IO expander worth playing with is the MAX6956. It has 20 IO lines in DIP package form. These have a very flexible access scheme. You can address any of the ports in multiple bit widths at arbitrary start locations. It supports on-change interrupts, using one of the IO pins as an IRQ handshake line. It also drives LEDs with its adjustable constant current setting.
The best part is you can sample them free from Maxim :)
I use them here:
http://arduinonut.blogspot.com/2008/10/tier-jerker.html
Love the writing.
Charlie
At a bit over $8 from Digikey, that's a pretty pricey chip. For now, I am favouring cheaper, lower capacity chips that I can scatter over my board design and connect to the MCU via the bus to clean up the complexity of traces.
You can stick to Windows if you want... but your archtypical bright twelve year olds are all running Linux already. I don't know where they picked it up, but a quick survey of my nieces and nephews found that nearly all of them knew of, and used regularly Firefox and Ubuntu. Welcome to the middle of the adoption bell curve.
http://en.wikipedia.org/wiki/Usage_share_of_operating_systems
While the stats that I have access to are not broken down by age echelon, the simple truth of the situation is that Linux use on desktops averages about 1% of the market. Even if usage by 12 year-olds is a magnitude higher than the overall average it is still not a significant fraction. I'm not a Microsoft cheerleader. Their nutjob DRM fixation makes me crazy. All the same, the reality out there for at least the next several years is that they've basically got the market.
You're (perhaps unintentionally) preferentially selecting a dataset to match your claim. Initially the discussion was about bright (above average intelligence) twelve year olds, now you're talking about the (presumably less intelligent) population of desktop computer users in the developed world. Admittedly we've got a dearth of data, but you started with a group that (for instance) navigates social networks with ease, and just cited a group that largely doesn't know what a social network is.
Not all of my younger relatives used Ubuntu on their home machines... most didn't (their parents wouldn't know what to do with it). However, they all responded nonchalantly "Yeah, we use it at school to get around the myspace block" or "so-and-so has that on his computer, it's cool I guess. It has firefox!".
Take it for what you will... There certainly appears to be a generation gap.
"There certainly appears to be a generation gap." Oh, there certainly is. I have a son who is graduating university in April. He certainly used a Linux startup disk to get around blocks at his high school and as well used another to crack passwords in windows systems for which the passwords had been lost. He knows his way around Linux and knows how to use it to accomplish his purposes. What is important though, is that, for him, Linux is merely a means to an end. He has, over the years, not found Linux compelling enough to commit to it as a full-time operating system. As to which "bright" twelve year olds I am talking about, I'm talking about the top 5-10% (IQ120+), not the top 1-2%(IQ130-135+). My son is in about the top 0.1%
Indeed. Unfortunately, switching from one thing to another is always hardest for those of us most skilled in the use of the original. In other words, counter-intuitively, those of us who are most intelligent, and most actively use computers, have the hardest time switching to linux -- we have the most functionality to re-learn and replace. That's gotten easier over the years (when I switched to using Linux 100% of the time, the only browser was Netscape 4.x and there was no such thing as a word processor, let alone an office suite). It can still be a challenge for the most accomplished users to switch, but for the regular folk, and even above average folk, it's a cakewalk these days.
|