Transferring data over induced coupling


Closed Thread
Results 1 to 20 of 20

Hybrid View

  1. #1
    Join Date
    Oct 2004
    Posts
    448

    Default Transferring data over induced coupling

    I built a propeller clock (one of those POV things) a few years back, and am always looking for ways to improve the design.

    My version uses a brushless fan motor, with a hand wound pair of coils to form an air-core transformer to transfer power to the rotating clock PCB.

    The 'primary' is driven by a 555 oscillating at about 32 Khz; this I found to be somewhere near the optimal value. The pic on the PCB does everything, including driving the display, reading the RTC etc.

    Now, I'd like to move the RTC to the base unit, to make the rotating PCB significantly lighter (the RTC chip, battery, holder). So, I need a way to transfer the time information to the rotating PCB; one way of course, would be to use IR.

    But, I was wondering if I could inject this information into the transformer coil itself? Suppose I use another pic in the base to read the RTC, and then output the time serially, how could I incorporate that in the 32 KHz signal required by the transformer primary? Would it make sense to interrupt the modulation from the 555 to inject the time signal every few 100s of ms? I suspect the power transfer can tolerate this. My worry is, how well would the raw serial output travel over the induced coupling? And also, how easy would it be to filter out that signal from the rotating 'secondary'?

    Yet another idea would be to get rid of the 555, and use the base pic itself to generate the 32 Khz, and periodically stop that to give out the time serially.

    Do hope this doesnt sound too confusing.

    Any suggestions, folks?

    Regards,

    Anand
    Attached Images Attached Images   

  2. #2
    Join Date
    Nov 2003
    Location
    Wellton, U.S.A.
    Posts
    5,924


    Did you find this post helpful? Yes | No

    Default

    I have not tried sending data over a coupling like that, but are you sure this will help?
    You will still have hardware on the arm for the receiving PIC and you probably need/want that for a counter balance.

    The easy way to cut down on the weight would be surface mounts.

    But the induction idea is intriguing. Of the top I wonder if the same or similar protocol used for IR would work...
    Dave
    Always wear safety glasses while programming.

  3. #3
    Join Date
    Jul 2003
    Posts
    2,405


    Did you find this post helpful? Yes | No

    Default

    You definitely can communicate with coils. Look at the data sheet for the MCP2030. You
    can use the MCP2030 with any PIC type.

    Or use the PIC16F639 with the built-in MCP2030. I used the 16F639 to build the ID badge
    in the attached photo. The board on the right is the initiator, which communicates with the
    ID badge up to about 6 foot away with 125kHz pulsed communications.

    Look for AN1024 PKE System Design Using the PIC16F639 for schematics.

    I built this for a customer, so I can't share all the code, but I can give you enough to get
    started if you need it.

    Here's some more good info: http://ww1.microchip.com/downloads/e...Doc/51637a.pdf
    Attached Images Attached Images  
    Regards,

    -Bruce
    tech at rentron.com
    http://www.rentron.com

  4. #4
    Join Date
    Oct 2004
    Posts
    448


    Did you find this post helpful? Yes | No

    Default

    Quote Originally Posted by mackrackit View Post
    You will still have hardware on the arm for the receiving PIC and you probably need/want that for a counter balance.

    The easy way to cut down on the weight would be surface mounts.

    But the induction idea is intriguing. Of the top I wonder if the same or similar protocol used for IR would work...
    Thanks for the insight.

    Getting rid of the CR2032+its holder itself would reduce the weight significantly. Of course, looking at the RTC consumption I could use a much smaller battery with solder tabs. I agree, I would need to redesign the PCB, but a slimmer, longer board with the pic right at the very opposite end should be enough of a balance, I think.

    SMDs? Sure, but I just havent mustered the guts to make the transition yet

    And of course, IR would be the easiest way to go, but there would be issues with it interfering with the index pulses. Also, if I dont use IR, I could also get rid of the 3 pin module I am currently using. Plus, I find the concept of being able to achieve this thru' the existing hardware (nothing extra specifically for that) too tempting!

    Regards,

    Anand

  5. #5
    Join Date
    Nov 2003
    Location
    Wellton, U.S.A.
    Posts
    5,924


    Did you find this post helpful? Yes | No

    Default

    SMDs are not that bad. One or two now and then a loupe and a "pointy" iron will do. More? A toaster oven works fine.

    But I am going to look at Bruce's idea. Six feet! WOW! That would be great for many things.
    Dave
    Always wear safety glasses while programming.

  6. #6
    Join Date
    Oct 2004
    Posts
    448


    Did you find this post helpful? Yes | No

    Default

    Bruce, thanks for the pointer; it made for some very interesting reading.

    Like Dave says SIX FEET? Wow!

    My requirement is to transmit just a few mm, so I'm hoping I could get away without using any extra hardware at all. The question I'm wondering about, considering the *very* modest range requirement, would I need to modulate the Debugout signal, or just feed it to the MOSFET driving the coil every few 100s of ms (the rest of the time the coil wouldkeep getting its 32 KHz for power transfer).

    BTW, I had no idea of the existence of the 16F639. Sure opens up loads of possibilities!

    Regards,

    Anand

  7. #7
    Join Date
    Jul 2003
    Posts
    2,405


    Did you find this post helpful? Yes | No

    Default

    It took a bit of experimentation to get the 6+' distance. It's all about placement of the
    small RFID LF antennas on the receiving unit. Once you get that dialed-in you get a
    whopping range. The first pictures were the initial prototypes. These had around 3+'
    range.

    This picture is the final version that works at 6+' range. If you compare placement of the
    small RFID antennas on this one to the one above you'll know how/where to put them for
    excellent range. You can walk up to the initiator with the ID badge in your back pocket, and
    it still gets solid comms.

    The final ID board is about 1/3 the size of a credit card, and modified to fit into a keychain
    type plastic enclosure.

    SMD caps & resistors are all 0402 size. Boy were those fun to hand-solder on the last
    prototype. Phew...

    would I need to modulate the Debugout signal
    I used a TC4422A high-speed MOSFET driver to drive the large LF antenna, and PWM to send
    data like this;
    Code:
    ID_Init:   
        T1CON.0 = 0  ' Shut-down Timer1 during wake-up routine
        ' Wakeup sequence. 4mS ON, 500uS gap, 2mS ON, 2mS OFF. Then
        ' follow up with header & data.
        CCP1CON = 12   ' PWM ON
        PAUSEUS AGC_STABLE
        CCP1CON = 0    ' PWM OFF
        PAUSEUS GAP
        CCP1CON = 12
        PAUSEUS 2210   ' 2mS ON
        CCP1CON = 0
        PAUSEUS 2210   ' 2mS OFF
        ' Wakeup sequence complete
        
        CCP1CON = 12   ' Send header after initial wakeup
        PAUSE 1        ' 1mS high on receiver LFDATA pin
        CCP1CON = 0
        PAUSEUS 500    ' header complete
        
        ' Transponder should now be waiting for data payload
        FOR LOOPS = 0 TO 7 ' loop for all 8-bits
        CCP1CON = 12
        IF DAT.0[LOOPS] THEN
           PAUSEUS 500
        ELSE
           PAUSEUS 250
        ENDIF
        CCP1CON = 0
        PAUSEUS 500    ' this pause allows 500uS for ID badge to respond
        NEXT LOOPS     ' after challenge code is sent.
        CCP1CON = 0    ' turn off PWM
        ' Data payload complete
        PAUSE 5        ' Pause a bit so interrupt flag-bit can be set when ID badge responds
        TMR1L = 0
        TMR1H = 0      ' Clear Timer1 count before re-enabling
        T1CON.0 = 1    ' Re-enable Timer1 on exit
        RETURN
        
        ' Notes: After wakeup the receivers 16F639 AFE inactivity
        ' timer will expire after 16mS. Any gap in transmision that
        ' exceeds 16mS will require another wakeup sequence before data
        ' can be sent.
    The receiving end just uses PULSIN to grab the inbound data.
    Attached Images Attached Images  
    Last edited by Bruce; - 27th January 2010 at 16:31.
    Regards,

    -Bruce
    tech at rentron.com
    http://www.rentron.com

Similar Threads

  1. Using Nokia LCD
    By BobP in forum mel PIC BASIC Pro
    Replies: 300
    Last Post: - 3rd May 2018, 04:47
  2. Nokia 3310 display text
    By chai98a in forum mel PIC BASIC Pro
    Replies: 0
    Last Post: - 26th August 2007, 03:39
  3. Big characters on HD44780 4x20
    By erpalma in forum mel PIC BASIC Pro
    Replies: 23
    Last Post: - 7th January 2007, 02:21
  4. LCD + bar graph
    By DynamoBen in forum mel PIC BASIC Pro
    Replies: 13
    Last Post: - 5th October 2005, 14:50
  5. Sinus calculating !
    By Don Mario in forum mel PIC BASIC Pro
    Replies: 29
    Last Post: - 28th November 2004, 23:56

Members who have read this thread : 0

You do not have permission to view the list of names.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts