Skip to main content

Show Posts

This section allows you to view all Show Posts made by this member. Note that you can only see Show Posts made in areas you currently have access to.

Messages - viswa

2
General discussion / Re: I just bought this, and you what did you buy ?
Bought a Proxxon Micromot 50/E for € 34,95 (Has variable speed control.Comes with 6 triple slit steel collets.)

[attachment=0]

I used a 2A transformer with a full bridge rectifier for the 12V DC. The speed control uses a NEC 2P4M thyristor. Hence, no capacitor or regulator should be used for variable speed control to work.
4
Project development, ideas, and suggestions / Re: USB POV/Accelerometer Toy
contd.. of Part 1 (preprocession acccelerometer data):

The accelerometer plot posted in Part 1 (post) has some duplicate data. A proper data sampling produced good results for k = 0.1 in filter expression.

The new filter expression is AccelXFiltered = 0.9 * AccelXFiltered + (0.1) * AccelX; . In code, a fixed point arithmetic was used instead of floting point arithmetic.
5
Project development, ideas, and suggestions / Re: Re: USB POV/Accelerometer Toy
The PIC18F24J50 is connected to a 16Mhz crystal and PLLDIV is set to  4 and  CPDIV = 0. Yes, this MCU does not have a native floating point support. Fixed point arithmetic will be used for this filter.

MCU clock frequency has to be atleast 8 Mhz for USB to work. The USB interface is used for uploading the bitmap and after which we can reduce the clock speed further.

Thanks.
6
Project development, ideas, and suggestions / Re: USB POV/Accelerometer Toy
Thanks for your suggestion. At the moment, the MCU is configured to run fast. It supports USB. Hence, floating point arithmetic works fine. In future, we could try to run the CPU at two speeds -- one for USB (fast) and another for display (slow) to reduce power. In this case, we can decide if fixed or floating point arithmetic is useful based on the precision and performance. 

In the above plots, the data captured by PC via USB-UART has some duplicate values (which is avoided now).  At 250Hz sample rate, even k=0.1 gives a good result. I am fine tuning this value for the application.

Regards,
Viswa
7
Project development, ideas, and suggestions / Re: USB POV/Accelerometer Toy
We have developed a new software for USB POV Toy. These posts will give details of how the POV Toy software was implemented using MMA7455L Accelerometer. The code (which needs some cleanup) will be posted at the end of this series: 

[attachment=0]

a. The Accelerometer is configured for 2g sensitivity in an 8 bit mode.
b. The Accelerometer is calibrated for zero offset using the offset registers.
c. The X acceleration data is filtered before using for any decision making.
d. The X acceleration data is used for detecting when to start and when to end the scroll of bitmap.
e. Timer interrupts are used to display each column of the bitmap.

Part 1: Pre-processing Accelerometer data

The accelerometer data is very noisy. To make this data usable, some sort of filtering must be applied. A very common method is to apply a moving average with a buffer size of  say 10. In this case the average of last 10 samples is taken as current value of data. Obviously, we need to keep track of last 10 values using array.

In this implementation, we have used a First Order IIR low pass filter. This is denoted by an expression:

FilteredValue = (1 - k) * FilteredValue + k * CurrentValue. 

The accelerometer data is sampled at 250Hz. In our case, we have chosen k =  0.04 :

AccelXFiltered = 0.96 * AccelXFiltered + (0.04) * AccelX; 

This requires floating point arithmetic. The value of k was chosen by trying different values like 0.1, 0.2, 0.01, 0.02 etc.. . At 0.04 we got a smooth curve. The following plot will show the effect of the above filter on raw X data. The data is sampled @ 250Hz when waving the POV Toy.

[attachment=2]
[attachment=1]

Regards,
Viswa
8
General discussion / Re: New Microchip PIC32 chips in DIP packages are coming
[quote author="TonyD"]I've read somewhere (Parallax forums I think) that NXP may be offering their Cortex-M0 (LPC111x ??) in a 28-pin DIL.[/quote]

Any idea what the port drive strength of LPC110FD20 would be ?  http://http://www.nxp.com/products/microcontrollers/cortex_m0/lpc1100l/LPC1110FD20.html#quickreference lists every other parameter except the port drive strength. Existing NXP LPC111x ports normally provide 2mA drive strength except for one port pin which is 20mA.
10
General discussion / Re: How supportive is your employer for FOSS contribution?
My question was to ask this OHW community if they face any difficulty in contributing due to their employment . I was contributing to a OSS during my studies, but when I got an employment I was not able to contribute any further even-though the area of work is completely different.  But in this forum I see many contributions. That's why I was curious to know if their Job allows OSS contribution.
11
General discussion / How supportive is your employer for FOSS contribution?
How supportive is your employer / employment-contract for contributing to Free and Open Source software in your spare time (from home), not related to the work you are performing. 

In one of the slahdot article (http://developers.slashdot.org/comments ... id=3197967) it was said that
there are two kinds of coders:
Quote
a) coders who care are in it for only the money, who switch off at 5.00pm sharp and spend their evenings playing on a PS2; or
b) coders who live and breathe code, who actively take part in open source development, learning new tricks and techniques in their own time and come to work with fresh ideas and more experience under their belt everyday.

Are you professionals allowed to contribute for FOSS or OHW projects?
12
Breakout boards / Re: What breakout do you need/want?
Micrathene,

It was a general purpose LQFP breakout board similar to http://dangerousprototypes.com/docs/Dan ... _breakouts , which I got from local store. Unfortunately, I could not get a breadboard compatible xQFP proto board.

There is a N-MOSFET based bidirectional level converter design by Herman Schutte of NXP
(http://ics.nxp.com/support/documents/in ... n97055.pdf) . This is a cheap and best solution. It is good for serial buses like I2C. But, can not be used for pulled-up / pulled-down ports pins.

Ian,

We could also have xQFP proto-boards compatible with breadboard(DIP).
14
Breakout boards / Re: What breakout do you need/want?
Yes, I understand there are many LPC1343 breakout boards available. Most of them are over priced. I wanted to make DIP breakout of these inexpensive ARM Cortex M3/M0 .

My design goals were :
1.Free Software drivers -  API compatible with either arduino / mbed.
2.Use Qt Creator as cross-platform IDE with GCC.
3.Provide some 5v Compatible I/Os using cheap N-Mosfets.

I did build a prototype to test if LPC1343 can be flashed with GNU/Linux and Windows(as LPC1343 enumerates as Mass Storage Device). It can be programmed with GNU/Linux  as well with mcopy - I have written a documentation at http://dangerousprototypes.com/docs/LPC ... ootloaders.

NXP provided drivers are not compatible with any free-opensource license. Hence we would have to write everything from scratch. But ATMEL provides BSD/MIT style licensed drivers for their ARM Cortex-M3. Hence I thought it would be better to wait for Atmel SAM3N.

I have a picture of my prototype available at http://garden.seeedstudio.com/index.php ... dBoard.JPG
15
Breakout boards / Re: What breakout do you need/want?
My wish list for breakout boards--
1.A bidirectional logic level converter (for 3.3v <-> 5V logic translation).
2.AD9288 breakout board for use with Open Bench Logic sniffer.
3.Breakout for ARM cortex-M3 chips like LPC1114 and LPC1343.
4.CC2500 like -  RF transceiver breakout board

( ! ) Fatal error: Uncaught exception 'Elk_Exception' with message 'Please try again. If you come back to this error screen, report the error to an administrator.' in /var/www/dangerousprototypes/forum/sources/database/Db-mysql.class.php on line 696
( ! ) Elk_Exception: Please try again. If you come back to this error screen, report the error to an administrator. in /var/www/dangerousprototypes/forum/sources/database/Db-mysql.class.php on line 696
Call Stack
#TimeMemoryFunctionLocation
10.01742454440session_write_close ( )...(null):0
20.01772586016ElkArte\sources\subs\SessionHandler\DatabaseHandler->write( )...(null):0
30.01782586792Database_MySQL->query( ).../DatabaseHandler.php:119
40.06082725504Database_MySQL->error( ).../Db-mysql.class.php:273