| M | T | W | T | F | S | S |
|---|---|---|---|---|---|---|
| « Jul | ||||||
| 1 | 2 | 3 | ||||
| 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 11 | 12 | 13 | 14 | 15 | 16 | 17 |
| 18 | 19 | 20 | 21 | 22 | 23 | 24 |
| 25 | 26 | 27 | 28 | 29 | 30 | 31 |
10/01/2008 by peter.
Finally getting somewhere…
The list is shrinking, not growing now.
we have a functional Menu system, new PWM control and I am just about to start porting the code to an 18F4550 and install the USB/Serial support to read data from the twitterdildonics thing I wrote in python.
I have also just got a shiny (well as shiny as matt black anodized aluminium can be) new case for the beta model.
all in all, things are going ahead.
now my Boxford project is getting left behind though.
You can’t win!!
Posted in intelligent vibrator | Print | No Comments »
06/01/2008 by peter.
Progress. Hmmm. Either too much or not enough. It really depends on how you look at it.
Phase1: Randomness
aka: the toy you can’t ignore
Random numbers: V1.0 Done (and V2.0 is a direct hardware swap so that’s not a problem)
Function “menu”: V0.2 Done
PWM output: V0.1.0 Was done. Since working on the boxford I have figured out what I was doing wrong when trying to use the built in PWM module so all that has to be changed to the new, slicker, more sensible code structure, V1.0.0.
At this point I would say that I had completed the first design with no bio-feedback. Beta unit still needs to be built though. The reason it needs to be built is that I was going to use a 16F690 to control everything until I started coming across the bits i needed to do all the stuff bellow. With the added pins and on-board peripherals needed and the fact that I have successfully used the 18F4550, which has everything I need for the expanded project, in my boxford I am going to have to change to this new chip. This means porting everything written so far and building a whole new prototype, retesting all the code and writing all the bit you will read about next.
USB connectivity: Not even started. (However I have been playing with RS232 for my CNC project so that may creep in)
USB boot loader: Less advanced than connecting through USB
LCD functions: V0.8ish working
GPS functions: V0.3.1 works but V0.4.0 with indirect addressing and pointers is being silly
WiFi: Got the board and the data sheets but not written a scrap of code yet.
Accelerometer interface: Same stage as the WiFi but should be easier.
To allow all this to work together I need to write some interface stuff that will use buttons and the LCD to allow the parameters of the, yet to be written, sensory fusion algorithm to be adjusted.
Phase 2: Bio-feedback
aka: Evil delayed pleasure generation
Not a sausage has been done on this. No part sourcing, no algorithm creation, no code writing and no signal processing electronics building.
This also brings me onto another reason why the beta model has not yet been constructed; user upgradability. This unit will most probably be tested by someone not within walking distance and to prevent every new hardware change to require the unit being sent back there must be facilities in the hardware to allow both hardware and software to be upgraded by the user, either by reflashing the PIC or by simply pluggin in a new module to the expansion port.
And that’s not all!!!!
Phase 3: T’internet
aka: computer controlled fun!!
Having recently been writing lots of software (and I must say, having to relearn all the languages used since it was ssssssssssssoooooooo ling since I did any coding I had forgotten it all) I have gotten it into my wee head to learn write a twitterdildonics (and an explanation here) application that sends an rss feed to your serial port and with a bit of luck I can modify the spindle speed control function from my boxford project to control a vibe. I also want to do some statistical analysis of the incoming text so it responds more variedly to character and also to words. Another thing I have been learning about is web protocols and I want to build a teledildonics app or two to controll all this stuff.
So the further I go the bigger the project gets and the farther from the end I get…
Oh well
Onwards and Sideways.
Posted in intelligent vibrator | Print | No Comments »
16/12/2007 by peter.
Some time ago I bought an old Boxford duet which had a somewhat old interface, requiring a serial port for general communication and a parallel port to send commands to the stepper motors. The software ran in DOS and was somewhat out dated. I have therefore started designing new hardware that only uses the serial port and should eventually only use USB, new firmware and new control software. This has proven to be of interest to people so i will document my endeavours here.
The original controller was replaced with a new one
Until i have a diagram drawn up the circuit works like this:
20 pin connector going to the stepper board is in fact used as a 10pin connector with 0V,5V,12V coming in and the direction and clock bits for the 3 axis going out. The logic therefore gets its power from the 5V pin of this connector. The 25pin D connector supplies connections for the spindle motor relays (enable, clockwise, anticlockwise) input to the PWM board for spindle speed and, access the rx and tx pins of the serial port plug on the back of the control box and a line indicating the condition of the emergency stop button.
The heart of the new design is a PIC18F4550 with the serial port pins (PortC 6 and 7) connected to a MAX232 for level conversion which is then connected to the appropriate pins from the 25pin D-sub. This provides a link from the computer to the machine. A serial to USB adaptor is then connected to the port on the back of the control box by a null modem cable and this plugs into my Windows Vista laptop and is controlled by a programme written in VB express 2008. Back at the PIC, PortD 0,1,2,3,4,5 are connected to the 20pin header pins Xclk, Xdir, Yclk, Ydir, Zclk, Zdir respectively. PortD 6 and 7 control the direction of the spindle motor and have a 1k resistor connected to them and then that goes to the base of a BC547 to switch each of the direction relays by pulling low the appropriate pin of the 25pin d-sub. A similar setup is used on PortA0 to control the spindle enable relay. the PWM input comes from the PWM output of CCP1 and at the moment simply goes staight into the input of the PWM board in teh control unit by way of the appropriate pin of the 25pin d-sub (i know a PWM running off a ref voltage generated from a PWM is a bit silly but it will be modified at a later date.) PortB 6 and 7 and PortE 3 are used for the ICSP port. There is a 20MHz local osc there too but it’s not being used at the moment as I am using the internal osc, PortB 0 is connected to the emergency stop line but this has not been implemented in software yet, neither have the opto encoders on the spindle but they will connect to PortE 0 and 1 eventually. The rest is just LEDs for debugging, flyback diodes for the realys and caps for the Max232 charge pumps.
more to follow
Posted in Boxford Duet | Print | 1 Comment »
16/12/2007 by peter.
Although it may look like this project is dead, it is not. I have just been coding away quietly in free moments and getting side tracked. This is project is in fact a side track to a side track. Anyhoo, progress is as follows:
menu programme written and in debug phase,
main modes of operation written,
PWM code update formulated.
GPS code half way through being written,
LCD code written (yup, we got ourselves a 16×2 LCD on this project!!)
Vibrator heads bought. (see here)
Posted in intelligent vibrator | Print | No Comments »
07/10/2007 by peter.
Right, After a slight detour through the world of cloak making I’m back.
Firstly GPS still not communicating with PIC, thas the first problem to solve then onto the next phase.
I have obtained some new sensors, a triaxial accelerometer and a WiFi sniffer. Both from the marvellous Elektor. (See below).
The WiFi board is the Cyprus module (mounted on its interface board for testing) and the wee thingy in the bag is the acceleromiter, the battery is for scale. (one nice thing about doing a spot of tailoring, I now have some nice photographic backdrop material. the composition of the photo is so bad because the camera battery died while doing this shot where i was trying not to get glare of the bag.)
more to follow
Posted in intelligent vibrator | Print | No Comments »
21/09/2007 by peter.
Before you think this project has lost all momentum there are just no posts for a bit at the moment due to other things going on, normal service should be resumed in a few weeks.
Posted in intelligent vibrator | Print | No Comments »
23/08/2007 by peter.
After much faffing around i ported the PWM/RNG software to a PIC10F222 since I had some lying around and they are a little more suitable for this project. This involved a bit of wire sculpture between 2 DIP8 sockets to make an adaptor for the Low Pin Count board but was doable.
The next thing was to have a go at controlling a push-pull solenoid. The idea is to create a more controllable vibration generation system so that things like triaxial accelerometers or gyros can be connected to 3 orthogonally arranged vibration sub assemblies to give different sensations depending on movement of the user (or the movement of someone, or something else *insert imagination here*). An eccentrically wieghted motor generates a conical vibration pattern which has all sorts of problems with inertia and also vibrates in 2 rotational axes. One solution would be to get a motor which has a spindle out of each end (similar to those used in model rail, HO, OO scale would be a good start but those used in N and Z scales are tiny enough to have al sorts of possibilities) and attach a weight to each end of the shaft such that the weights are coaxial and that that axis is parallel to the axis of rotation. This would give vibration in 2 linear axis. Far better is to have an inertial mass being oscillated along one axis only. Which is where a push-pull, or more accurately opposed pull-pull, solenoid comes in.
As you can see from the above pic, the board with PIC (10F222), the psu board and a driver board (consisting of 2 MOSFETs, 2 1N4004s and 2 1M res) are connected by a handful of wires together and to a pair of solenoids attached to a base and whose shuttles have been wired together. The code was so short that it didn’t even go off the bottom of the screen (I say to all you people who write programmes in the Mb and Gb range, PAH!!) It takes in the ADC value from the input connected to the pot and uses that to change the time between and duration of the pulses going to the 2 solenoids making the combined shuttles shoot back and forth at a contorted rate. These solenoids are 12V and are not very good with the 9V battery I have to hand so a small lead acid bat will need to be ordered (and possibly some smaller solenoids)
next :
Since I’m doing this in totally the wrong order (more to do with what piece of technology i get my hands on next) the next fun thing is GPS. Just need to write some code to take the data from the GPS unit and then interpret that in a cleaver way, but as you see the thing is rather impressively small (reception inside a person may pose a problem so this may have to be connected to a small RF link like ZigBee or bluetooth and put in a location with more skyview, like a hat).
Anyhoo… Onwards!!!!
Posted in intelligent vibrator | Print | 1 Comment »
15/08/2007 by peter.
So after much tinkering and coding I have a motor who’s speed is random and the amount of time it runs for at any given speed is also random.
The photo below show the finished article. The Green PCB is a Microchip Low Pin count prototyping board (came with the PICkit2) which contains a PIC16F690. A header splitter is then attached to the port on the side of the board giving me the ability to plug 2 daughter boards into the main board. On this there is a motor drive board and a hardware RNG. The RNG has already been explained, the motor drive board has a diode (1n4148) coming off the PWM output pin going to a simple low pass filter made from a 1nF cap and a 100R resistor which then drives a Darlington voltage follower to run the motor. the Darlington pair is infact a bc547 and a TIP31A since the motor is drawing up to 300mA and 2 x bc547s had a tendency to get a bit hot. There is no fly back since the LP filter should stop di/dt from getting to high (in theory). The other board is simply a LM7805 giving 5V for the PIC and 9v for the RNG. The rest, as they say, is software.
Once my wee camera decides to work again, i shall take a video of the thing working.
Edit: 100_1584.MOV
Anyone wanting more info, leave a comment and I will do schematics and tidy up and post code.
Posted in intelligent vibrator | Print | No Comments »
12/08/2007 by peter.
Electromyograph electrodes. Since any company that sells them only sell them to research institutions so they look rather hard to get hold of as an private individual/mad inventor. BUT WAIT!! Thanks to the internet and those intrepid sexual adventurers we have e-stim, although I knew of its existence before, what i didn’t know/think of until I stumbled across it, they use the thing I’m looking for in reverse, these!! and what’s more they even sell the conductive gell. Well that’s that sourcing problem sorted out, just need to find a photoplethysmometer/Geer gauge.
Oh and the volunteer to try it all on.
Posted in intelligent vibrator | Print | No Comments »
12/08/2007 by peter.
After getting my little photo sensor (one of theses) attached to my PIC I started playing with it using a torch and my little finger i can sometimes pick up a pulse but it is very sensitive to movement and the pulse only shows up in the 2 LSBs. This problem may be alleviated somewhat when measuring form inside someone. Anyhoo that is a problem to be sorted when I have a willing subject to test on.
But that aside, the electromyograph idea still needed a bit of thinking before anything could be built and I had no Idea if the output from it could be useful. Then I found this. Looks like we may be onto something here. All I need now is the person and the electrodes. Oh and the amplifier hardware. Oh and a data logging device. Hmmm… This is turning into a bit of a big project.
Posted in intelligent vibrator | Print | No Comments »