![]() | |
| Home Page | Mark Forums Read | Today's Posts | My Replies | Classifieds | Reviews | Photo Gallery | Web Links | Share Files | Advertise With Us | Ad List |
| |||||||
| This forum is sponsored by: |
![]() |
| | LinkBack | Thread Tools | Search this Thread | Display Modes |
|
#1
| |||
| |||
Hi all, I'm building a vibration sensor for mills and Lathes. I'm using a basic stamp and a Hitachi H48C Tri-Axis Accelerometer Module from Parallax. I can receive values from the accelerometer to VB6 application. I'm trying to send a keystroke to Mach3 to reduce the feed rate if the vibration comes over a limit. I'm using this to send the keystrokes from VB6 to Mach but it does not work. AppActivate "Mach3" SendKeys "%{up}", True 'for the up arrow or AppActivate "Mach3 CNC Control Application" SendKeys "%{up}", True 'for the up arrow Any ideas? Thanks |
|
#2
| ||||
| ||||
| Not a clue, but I love your idea! Please let us know how it works out! That is kind of one thing that sucks about programming with CAD/CAM, there are many places in the program where you could increase the feedrate because the chip load is much lighter, yet your stuck with one constant feedrate for that particular operation... Michael |
|
#3
| ||||
| ||||
| could you use a recorded (like a marco) key stroke pattern and then tell the stamp to send it to a USB controller when the limit has been exceeded? anotehr other option: if your controller board has some inputs for home switches, limit switches, etx. you could configure the stamp to operate within parameters of a switch (i.e. give a high signal when the vibration limit is exceeded.) and then tell you your controller software to perform a feed rate reduction when that switch is giving a high value. i'm just learning to program in C, so i'm afraid i'm pretty much useless as software goes. |
|
#4
| |||
| |||
| I can use the basic stamp to send keystrokes to a PC but I use the VB to collect "samples" every second (20 samples), after that I make an average and I compare this number with the samples of a previous reading (previous second) If there are lot vibrations I need to send keystrokes to reduce the feed rate else I'm increase it. That the idea..... |
|
#5
| ||||
| ||||
| if you have a second basic stamp, have the first one send a high signal to the second one. the second one then does the keystroke send. the other thing is that the single stamp should be able to execute the keystroke send after the limit has been exceeded. if you set the program up to do its monitoring phase, then once the limit is exceeded, it takes half a second to send the keystrokes, then resumes its monitoring phase, you might be able to do it with a single stamp. |
| Sponsored Links |
|
#8
| |||
| |||
| now then, my only comment on this other than that is that the basic stamp PROBABLY does not relaly run fast enough to make good measurements. I'm thinkint this way... If you have a system that is vibrating (cutting) you need to make sure that the rate of acceleration measurement (ie, position that relates to the vibrations) is at least the nyquist rate of teh chattering that you are trying to avoid. If the chattering is at about 10khz, you need to be sampling at twice that to be able to determine that the 10khz signal is occuring, otherwise you get aliasing on the signal. The basic stamp is a SLOW device. To do this 'right' you should probably be sampling the data at the nyquist rate for the chattering, and then performing a DFT on it to pull out the harmonic components. the DFT would show a spike at the chattering frequency such that you could then easily decide if it was chattering or not and then reduce the feed rate. Pics aren't that hard to program, and there are basic compilers out there that would generate code that runs much faster than on a basic stamp! Good luck. Rick |
|
#9
| |||
| |||
| apache405's second suggestion is the optimal solution IMO. Trigger an input when vibration exceeds preset limits. You should also try to off load the vibration analysis in the basic stamp. Though having programmed basic stamps it's not very powerful for this use; but it doesn't mean you can't do it or get creative. I also wouldn't want something inserting keystrokes. I feel you would be asking for an accident... bump the machine and it does something unexpected. Jack |
|
#10
| |||
| |||
| Hello Efrag You can achieve this by adding the required string to the keyboard buffer in the BIOS area of memory, and moving the pointers to suit. With VB you can Peek and Poke and the locations are: 0x041a is the next character in the buffer 0x041c is the last character in the buffer 0x041e is the first character of the 16 byte circular buffer I have used this several times in the pre-windows area and I can see (via the old dos program debug) that it is still used today with XP. As for programming a PIC I am using Source Boost in C, which is excellent, and I know they have a Basic compiler but as I have not used it I cannot comment on it. If any of this is unclear please email me direct and I will attempt VB code which you can correct! Regards rgammage |
| Sponsored Links |
|
#11
| |||
| |||
I R intrigued now. |
|
#12
| |||
| |||
| Efrag A couple of thoughts on the principle- 1. I think you will find that this approach is very similar in concept to knock detection in modern automobiles/ecus. That is, you are looking for a vibration signature that is buried within a lot of machine noise. Without any benefit of test, I suspect that you will find it very difficult to differentiate 'offending' signatures like chatter from other signatures like drive harmonics or system coupling/resonance. Even varying the spindle speed, the cutter geometry, or the stock material will have a significant effect. Long story short, my guess is that without a whole lot of effort, you are going to get a ton of false positives. So far as I know, the big machines do not leverage this approach- they use path speed optimization from the toolpath generator, and also strain gauges on the drives. If an accelerometer was simple and effective, it would be in common use. 2. I dont believe a stamp has the power required to oversample and interpret the vibration signatures. You will probably need to look at the dsPic or equivalent that is designed to do digital signal processing. Or, there are a number of OEM knock detection chips for automotive that you can repurpose- assuming that they are configurable enough to catch the events in question. I have done a lot of work in knock detection in engines- and it is far more complicated than just looking for a voltage spike. And, the signature of the event changes for each engine geometry and placement of the sensor. Good luck- Rob |
![]() |
| Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
| Thread Tools | Search this Thread |
| Display Modes | |
| |
Similar Threads | ||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| fanuc magnetic sensor | keithmech | Fanuc | 11 | 05-04-2009 08:30 PM |
| magnetic sensor | keithmech | General Electronics Discussion | 0 | 07-28-2007 07:04 PM |
| non ARC height sensor | sunmix | General Electronics Discussion | 1 | 11-05-2006 12:51 PM |
| Help with Irda sensor on computer | jtree83 | Computers and Networking | 0 | 04-17-2005 10:35 PM |
| Optical sensor... | aghobby | DIY-CNC Router Table Machines | 1 | 09-08-2004 12:17 PM |