Search the Community
Showing results for tags 'ESI'.
Found 4 results
My ESI project entry should be a fairly simple one. The first sentence describing the ESI is as follows: "The Extended Scan Interface (ESI) peripheral automatically scans sensors and measures linear or rotational motion." Luckily that's exactly what I'll be doing. I won't be pushing the ESI to its limits or bending it to some cool new purpose. However that should mean that I'll be able to get a clear idea of what the ESI does and how to use it properly. My project is to measure the flow and temperature of the coolant in my laser cutter. It's one of the cheap DC-K40 ones that you see all over eBay and as such it's very basic. It has an aquarium pump to push some coolant through the glass laser tube. This is entirely separate from the rest of the laser and seems almost like an afterthought. If you forget to switch it on before cutting - you'll quickly destroy the tube. If you let it get too hot - you'll quickly destroy the tube. If the pump fails or a tube falls off - you get the idea. As this seemed like something I was bound to do sooner or later, I've actually already made version 1.0 of my coolant monitor. It uses a MSP430G2533 and Timer_A to count the pulses from a hall effect sensor. If there are less than a certain threshold over a fix period then the laser is disabled. There's also an LM35DZ temperature sensor. Exceeding a temperature threshold will also disable the laser. These are mounted where the water exits the laser tube. It's happily protecting me from my own stupidity. It's nothing particularly special but I did a quick write-up here: http://0xfred.wordpress.com/2014/06/03/laser-improvements-coolant-monitoring/ So why move over to using the ESI? To be honest - just to find out about something new. My G2533 based circuit does the job. If the manufacturer had bother to implement anything and was doing it as cheaply as possible it could probably be done with a comparator, some resistors and capacitors. One benefit of the ESI approach would be lower power - but I've got a 40W laser running anyway. Another would be offloading this task so the MSP430 can get on with something more interesting - that I might be able to use later. For now though - I just want to find out about the ESI. Maybe I'll get some inspiration once I find out what it can do. The other burning question though... can I home etch and solder TQFP?
Thanks to an extended road trip (6000 miles) and receiving pieces for another project in the mail (hello dAISy), I'm a bit late with starting my ESI project log. But here we go. My project is to detect touch patterns on a resistive touchscreen, e.g. to wake up or unlock a device. My idea is inspired by figure 28-19 on page 772 of the MSP430FR69xx User's Guide: The picture reminds me of the circuit for resistive touchscreens: I plan to approach the project in 3 stages of incremental functionality but also difficulty: Detecting touch while ignoring touch location. This should be pretty straight forward use of AFE, TSM and PPU. Detecting touch in a specific quadrant of the touchscreen. As the ESI does not have an ADC but only a comparator, detecting the location will have to rely one a binary search algorithm: A measured voltage indicates whether touch happened above or below (and left or right) of a specific point. This will require more complex use of the TSM, maybe even invoking the PSM. Detecting a pattern of touch events by the means of a more complex state machine. Besides unknowns about the flexibility of the PSM, I also expect challenges with debouncing touch events. All the required hardware sits on my desk, so blame any delays on procrastination.
Recently there was a contest for applications using TI's ESI hardware rotation/flow sensing peripheral, I was one of the winners of that. Actually TI did a pretty cool thing and gave the prize (target board and programmer) to everybody who entered rather than just their favorite five. Go TI! In any event, here is product pitch I submitted: I also submitted a more advanced version that ties into the fuel injectors and computes instant and average mileage, but I may or may not get to that in a reasonable time period. This is my project thread for this project, if you hadn't guessed. I'll be updating this first post as progress continues, as well as making more posts in the thread. I welcome any/all input, feature ideas, suggestions, comments, etc. I'm hoping to begin work on prototype code later today, I'll probably start off using a MSP430G2553 rather than a FRAM w/ESI chip, as I'd much rather blow up a $2.70 chip than a $25 launchpad or a FRAM MCU that isn't available for sale yet. I do have a FR5969 launchpad, which has the ESI bits in it as well, that will go into use once I make sure the inputs are at the voltage(s) I think they are.
I have been interested in making a servo motor controller. I wanted a microcontroller with a hardware quadrature encoder so when TI had a call for projects utilizing the Extended Scan Interface of the MSP430FR6989, I thought this might be a good fit. Servo motors have several advantages over stepper motors including increased torque, lower power consumption, feedback control to eliminate missed steps. The problem is that servo motors are rather expensive compared to stepper motors. I obtained several surplus double-shafted, coreless DC motors with planetary gearboxes for $14. They turn easily with an old AA battery but can also be driven at 24V for increased speed and torque. I also purchased slot photointerrupters to use as quadrature encoders. I cut an encoder wheel from a tin can, drilled a hole in the middle and cut out two 90 degree wedges. The wheel was mounted on a short nylon bolt that had a 1/16" hole drilled down the center and clamped between two nuts that were rounded to provide clearance against the photo-interrupters. The photo-interrupters were mounted 135 degrees from each other. To give a proper quadrate signal, the angle between the detectors needs to be an odd multiple of half the encoder disk wedge angle, i.e. n * 90/2 where n is an odd number. 45 degrees caused physical interference between the mounting lugs of the photo-interrupters so 135 degrees was chosen. This gives 8 pulses per rotation. I am not sure what the exact gear ratio is but somewhere around 80:1. This gives about 0.56 degree per step which is on the order of the gear backlash. Here is a picture of the entire servo motor assembly. Here is an oscilloscope trace of the quadrature signals. Hopefully I can have the MSP430FR6989s driving the servo motors and doing something interesting soon. Thanks once again to TI for sponsoring the contest.