Hi Xykon, Thanks for the investigation and fix. I made a new revision r1948 with your fix. The latest version is available in SVN. This patch works with avrdude using STK500V2 as programmer. This issue is tracked at http://dangerousprototypes.com/track/view.php?id=27
Could you please verify this with Atmel Studio 6 ?
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.
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.
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 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.
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:
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.
If the transceiver has to pass FCC, I think you would have to go with the ASIC based solutions only. I hope you would get a CC2500 transceiver module with PCB antenna for around $2. May be costly for your application. There are few SPI based transceiver available from HopeRF (http://www.hoperf.com/rf_fsk/rf_transceiver.htm). They must be cheaper.
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.
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.
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?
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).
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.
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