Monday, August 23, 2010
Algorithms
There are many ways to achieve something. There are obvious ways to solve problems, but always I choose the clever solution.
Wireless Data Collector Project
Currently developing a Remote Data Monitoring and Control System. Basically a framework for a more advanced system, this two-week project may well be an opportunity to learn more of system designs.
The tangible output is a monitor control system for So-Zi, an automated vacuum cleaner, over the internet. Sensors include temperature and MEMS accelerometer and gyroscope as well as other devices that we can get our hands to. So-Zi's basic movements to be controlled are the following: forward, backward, clean, and charge.
Because the project is only a two-week endeavor, the project will implement appropriate designs requiring little setup time accordingly. This will mostly only cover the internet connectivity portion. As much as we would want to utilize ethernet controllers or wi-fi module, it is far easier and faster to connect main receiver and logger to a PC doubling as an application server to provide access from remote client/s. Improvement of this design will be done if we still have time to do so. But we most probably will be able to even after deadline.
The project will basically have 2 parts and 5 subparts. Part 1 is the local part. Composing this part are the RF modules, So-Zi module (PIC24-based) and the Data Collector module (ARM Cortex M3-based device from STM32). Subparts of this portion are the RF interface, sensors and controllers. The 2nd part is the remote part --with the host subpart and client subpart. Maybe in later posts, i'll be giving more details on each part as we develop them.
Today, I learn how to use FreeRTOS for this development. FreeRTOS provides a solution to several problems an embedded programmer have. In comparison to the traditional way of coding embedded systems, implementing this OS gives the system more robustness and flexibility. Multiple tasks can run virtually concurrently making the system very much robust and flexible.
I've implemented FreeRTOS on the Cortex-based Primer 2 as well as the PIC24 microcontroller. In the succeeding days, I plan to plan out the tasks in each devices.
The tangible output is a monitor control system for So-Zi, an automated vacuum cleaner, over the internet. Sensors include temperature and MEMS accelerometer and gyroscope as well as other devices that we can get our hands to. So-Zi's basic movements to be controlled are the following: forward, backward, clean, and charge.
Because the project is only a two-week endeavor, the project will implement appropriate designs requiring little setup time accordingly. This will mostly only cover the internet connectivity portion. As much as we would want to utilize ethernet controllers or wi-fi module, it is far easier and faster to connect main receiver and logger to a PC doubling as an application server to provide access from remote client/s. Improvement of this design will be done if we still have time to do so. But we most probably will be able to even after deadline.
The project will basically have 2 parts and 5 subparts. Part 1 is the local part. Composing this part are the RF modules, So-Zi module (PIC24-based) and the Data Collector module (ARM Cortex M3-based device from STM32). Subparts of this portion are the RF interface, sensors and controllers. The 2nd part is the remote part --with the host subpart and client subpart. Maybe in later posts, i'll be giving more details on each part as we develop them.
Today, I learn how to use FreeRTOS for this development. FreeRTOS provides a solution to several problems an embedded programmer have. In comparison to the traditional way of coding embedded systems, implementing this OS gives the system more robustness and flexibility. Multiple tasks can run virtually concurrently making the system very much robust and flexible.
I've implemented FreeRTOS on the Cortex-based Primer 2 as well as the PIC24 microcontroller. In the succeeding days, I plan to plan out the tasks in each devices.
Saturday, August 21, 2010
on accelerometer based tachometer
Well... the results were as expected.
Moving on to another project. I'll leave these stuff for now.
Moving on to another project. I'll leave these stuff for now.
Sunday, August 15, 2010
rpm counter by accelerometer
Decided to make this blog public and share some thoughts on the technical aspects of my work as well as the non-technical.
First off is a design for an accelerometer based tachometer. Basically, the prototype will have to measure accelerations and compute Revolution per Second (RPM). We thought of a couple of ways to do this. First involves measuring the centripetal acceleration. This was actually suggested by a colleague at work. If you remember from physics class, the centripetal acceleration a can be computed given perpendicular velocity and distance of point from the axis of rotation. There are several problems with this method, the limitations of the mems sensor, analog to digital conversion, and varying axis of rotation and these are probably not the least of the problems.
Problems with the first method: if you have already tried calculating for the centripetal acceleration 5 cm from the center of a 600 RPM electric fan, you would have already notice that the G exceeds standard maximum acceleration of commercial accelerometers. Also, even if the sensor is capable of high Gs, converting this to an ADC value will include quantization errors that will dictate your resolution. This is usually in tens of RPM and higher at lower RPM. Also, it should be noted that gravity may make computations a little more difficult depending on the orientation or axis of rotation.
Another thought occurred from looking at vibration measurement devices. Regardless of orientation, it is safe to say that the waveform will have to repeat itself every rotation. Fast Fourier Transforms may calculate for the component frequencies of this waveform. Suffice to say, this involves a little more complicated algorithm and digital signal processing.
Not one of these method had been implemented yet. Probably next week, we can know how FFT method would work. Not that I'm giving up on the first. We'll just have to be more creative.
Subscribe to:
Comments (Atom)
