Author Topic: Understanding a DC motor with an Onboard PCB with PIC16F616  (Read 5245 times)

0 Members and 1 Guest are viewing this topic.

Offline TonyBarrTopic starter

  • Contributor
  • Posts: 10
  • Country: us
Understanding a DC motor with an Onboard PCB with PIC16F616
« on: January 18, 2017, 03:45:09 am »
Hello,  I am an engineer working in the advanced engineering department of a U.S.A. based automotive supplier. We are benchmarking electromechanical valves and pumps used in engine cooling systems in an effort to expand our product offerings.  We just recently purchased a small "auxiliary water pump" used in Audi vehicles to provide coolant flow to the turbocharger after the engine is shut-down (a so-called "after-run" pump used to protect the turbo bearings from burning up on shut-down).  I attempted to apply 9VDC to all combinations of the three terminals, but could not get the pump to spin.  Later I measured the resistance across each pair combination of the terminals and found each to be in the kOhms.  Following this, I cut the back cover off of the plastic motor housing and found a PCB with many surface mount components including a PIC16F616 microcontroller. 

I am a mechanical engineer with no DC motor controller experience.  Could somebody help me and provide some explanation of why such a PCB would be needed for a simple pump? It is possible that the motor is intended to be reversed or stopped to control or reverse the pump flow in this application.  Also, how could I actually power this motor on the bench?

Thanks!

Tony
« Last Edit: January 18, 2017, 03:47:32 am by TonyBarr »
 

Offline batteksystem

  • Regular Contributor
  • *
  • Posts: 167
  • Country: hk
    • My ebay store
Re: Understanding a DC motor with an Onboard PCB with PIC16F616
« Reply #1 on: January 18, 2017, 03:53:05 am »
Most likely the device will be listening for command from ECU to activate / de-activate the pump. I don't think this PIC has built in CAN. Do you see any CAN chip in addition to the MCU?
 
The following users thanked this post: TonyBarr

Offline noidea

  • Supporter
  • ****
  • Posts: 209
  • Country: au
Re: Understanding a DC motor with an Onboard PCB with PIC16F616
« Reply #2 on: January 18, 2017, 04:05:26 am »
As well as activate / deactivate the pump may also be variable speed in accordance with the input on the S terminal, ideally you would test one of these insitu and see what sort of signal it is being fed from the ECU and work back from there.
 
The following users thanked this post: TonyBarr

Online amyk

  • Super Contributor
  • ***
  • Posts: 8264
Re: Understanding a DC motor with an Onboard PCB with PIC16F616
« Reply #3 on: January 18, 2017, 04:10:51 am »
Which Audi, which pump? A quick search only finds 2-terminal pumps with no electronics. It'd be worth finding a wiring diagram for the car to see what that S terminal is connected to (my guess would be the ECU, probably some sort of 1-wire serial protocol.)

It might not even be a simple brushed DC motor but a brushless one (disassemble the mechanical part of the pump to see), given the multiple MOSFETs visible on the board.
« Last Edit: January 18, 2017, 04:13:55 am by amyk »
 
The following users thanked this post: TonyBarr

Offline TonyBarrTopic starter

  • Contributor
  • Posts: 10
  • Country: us
Re: Understanding a DC motor with an Onboard PCB with PIC16F616
« Reply #4 on: January 18, 2017, 04:20:11 am »
Hello and thanks for the quick response.  I'm not sure how to recognize the CAN chip.  However, here is what I have identified on the PCB in addition to the passive components:

2 x Infineon OptiMOS-T2 Power-Transistors (marked as 4N06L26)
2x Infineon OptiMOS-P2 Power-Transistor(marked as 4P04L11)

There are 5 very small 6 pin chips as well, that I can identify and 2 three pin surface mount devices that are marked "50t."  I just noticed that the 3 terminal connectors are marked S, - and +.  If you know what there are three terminals that would be very helpful. Also, why does the motor need to be "listening for a command" as you suggest?  why isn't it just turned on and off?

Thanks!

Tony
 

Offline TonyBarrTopic starter

  • Contributor
  • Posts: 10
  • Country: us
Re: Understanding a DC motor with an Onboard PCB with PIC16F616
« Reply #5 on: January 18, 2017, 04:37:49 am »
Thanks for the reply!.  This pump is used for 2 applications in the 2017 Audi 2.0L TFSI engine, one for the cabin heater during engine warm-up and the other for after-run cooling of the turbocharger.  It is not the one amyk identified.  This is a much smaller unit with the PCB pictured in my original post.

I suspect it is a brushless DC servo motor.  When I rotate the motor, there are 4 distinct positions where the magnets in the motor want to stop.  Tomorrow I will fully cut away the plastic housing to reveal the motor itself.

Based on the feedback so far, it appear that the circuitry is required perhaps to vary the speed of the motor.  I purchased the part from the Audi dealership and do not have an actual vehicle to test.  However, I could probably rent one from the dealer and do some probing. . .

Thanks!

Tony
 

Offline JPortici

  • Super Contributor
  • ***
  • Posts: 3461
  • Country: it
Re: Understanding a DC motor with an Onboard PCB with PIC16F616
« Reply #6 on: January 18, 2017, 07:03:11 am »
start by identifying the chips.

only one we know of: http://www.microchip.com/wwwproducts/en/en026028

see that there is the HV variant of the pic? those cheapo's may have chosen this so they wouldn't need a voltage regulator, but only a resistor on the VDD pin. unless "+" is 5V already of course.

since i don't think it neets constant control, the message rate will be low so i suppose it's communicating via lin (more probably lin. i don't think it uses SENT, i don't see the hardware needed and the communication would be unidirectional so no feedback).
hook up a scope with lin/sent decoding on the signal line (like a picoscope for example) and analyze the traffic.

why is it needed for such a simple device? beats me. but if i have to guess, you can be more precise than sending an analog signal. you can connect multiple actuators/sensors on the same line if the bus bandwidth allows for it which means less connections on the ECU, less protected inputs, less wires, ...
« Last Edit: January 18, 2017, 07:05:58 am by JPortici »
 
The following users thanked this post: TonyBarr

Offline Jeroen3

  • Super Contributor
  • ***
  • Posts: 4078
  • Country: nl
  • Embedded Engineer
    • jeroen3.nl
Re: Understanding a DC motor with an Onboard PCB with PIC16F616
« Reply #7 on: January 18, 2017, 07:49:29 am »
It does not have enough terminals for CAN bus. It will need at least 4 terminals for that. Gnd, Supply, H and L.

The 4 mosfets point to a H-bridge. That would mean it can reverse.
The 4 sot-6 packages are probably gate drivers.
One of the sot-6 packages has a combi-pin. This could be the voltage regulator for the pic.
The bottom could be loaded with an opamp and a shunt to detect stall conditions.

The S pin seems to have a resistor circuit with 20k an 1k. Meaning it's probably a digital input, maybe PWM.
« Last Edit: January 18, 2017, 07:51:30 am by Jeroen3 »
 
The following users thanked this post: TonyBarr

Offline TonyBarrTopic starter

  • Contributor
  • Posts: 10
  • Country: us
Re: Understanding a DC motor with an Onboard PCB with PIC16F616
« Reply #8 on: January 18, 2017, 02:07:38 pm »
Thanks again for all the helpful comments!  The PIC model is PIC16F616 -H/SL (H= -40°C to +150°C, SL =  14-lead Small Outline (3.90 mm) (SOIC) package).  As I mentioned, I don't have a vehicle to instrument at this time, so I can only make inferences based upon the device and its function.  I think the most likely the controller is needed to be switched on and off via PWM as the driver count in a modern ECU is limited.  If the H-bridge is an indication of a reverse condition, then there is a possibility that that is a function, however reversing a centrifugal pump does not reverse the flow, so I'm not sure why they would do this.

I'll post as I learn more.  Thanks again!

Tony
 

Offline ajb

  • Super Contributor
  • ***
  • Posts: 2599
  • Country: us
Re: Understanding a DC motor with an Onboard PCB with PIC16F616
« Reply #9 on: January 18, 2017, 04:34:07 pm »
The three transistors in the middle are definitely in an H-bridge configuration (IPG20N06S4L is a dual N-channel part).  Looks like the other IPG20N06S4L is maybe doing input protection (sort of looks like the two drains are connected together)?  The IPD50P04P4L are P-channel, so at least a couple of the SOT packages above them are probably level shifters, perhaps simply discrete transistors.  In addition to reverse, an H-bridge permits mixed-decay.  Examining the pump itself may give some insight into which they might be doing, if it's a (mechanically) bidirectional type then it's more reasonable to expect that they are reversing it for some reason. 

Having better photos of both sides of the board where the copper is easier to see would be helpful.  It's a bit hard to tell what's going on in the bottom right corner near the S pin in the current photo.

Edit:  The resistors and caps around the 6-pin SOT on the left make me think that's an op-amp.
« Last Edit: January 18, 2017, 04:46:41 pm by ajb »
 
The following users thanked this post: TonyBarr

Offline mikerj

  • Super Contributor
  • ***
  • Posts: 3237
  • Country: gb
Re: Understanding a DC motor with an Onboard PCB with PIC16F616
« Reply #10 on: January 18, 2017, 05:11:18 pm »
It could be controlled by LIN bus which is only one wire, but I'm wondering if the 'S' connection is for a temperature sensor?
 
The following users thanked this post: TonyBarr

Offline TonyBarrTopic starter

  • Contributor
  • Posts: 10
  • Country: us
Re: Understanding a DC motor with an Onboard PCB with PIC16F616
« Reply #11 on: January 18, 2017, 07:49:37 pm »
I am not familiar with the LIN bus, however I just learned that VW/Audi are part of the LIN consortium.  Perhaps the "S" terminal is for "slave," as this is a Master - Slave network.  Based upon what I know so far this part is likely controlled on a LIN bus.

I was also not familiar with the H-bridge of 3 MOSFETS that several contributors have observed.  I don't know what this pump would need to be reversed as it is a centrifugal pump, which still pumps in the same direction regardless of rotation (however, reversed impeller rotation would be a lower efficiency pump).

There are cases where this pump may experience "reverse flow" where the motor will be driven in reverse, thus generating current.  Would this condition warrant an H-bridge (i.e. for protection)? 

Thanks again for the help!

Tony
 

Online amyk

  • Super Contributor
  • ***
  • Posts: 8264
Re: Understanding a DC motor with an Onboard PCB with PIC16F616
« Reply #12 on: January 19, 2017, 12:13:29 pm »
They are likely using the MCU to drive the brushless motor and also for receiving/sending commands/status. A bit more reverse-engineering of the PCB and its interconnects will be useful to confirm that.
 

Offline ovnr

  • Frequent Contributor
  • **
  • Posts: 658
  • Country: no
  • Lurker
Re: Understanding a DC motor with an Onboard PCB with PIC16F616
« Reply #13 on: January 19, 2017, 01:08:14 pm »
This is unlikely to be a brushless motor; it only has a H-bridge to drive it, and there are only two large terminals soldered in the middle of the board - not the three you would expect. Also, since I expect it takes a fair bit of power, I doubt it's a single-phase brushless motor (like some newer computer fans run).

As others have mentioned, I expect that this communicates over a LIN bus (on the S - for signal - pin). I doubt you'll get it running any time soon without knowing the protocol details.

You could always try applying power directly to the two large pins in the middle of the board to see what happens. If it does consume a fair bit of power without doing anything productive, it is actually a brushless motor.


Edit: As for the "why": With a local controller like this, you can easily control the motor speed, get motor diagnostics (I expect there's a feedback path), and generally "increase value" (right up until it breaks). It seems that everything in a modern car absolutely must be made as complicated as possible. For example, here's the sunroof controller from a Tesla Model S.
« Last Edit: January 19, 2017, 01:14:59 pm by ovnr »
 
The following users thanked this post: TonyBarr

Offline TonyBarrTopic starter

  • Contributor
  • Posts: 10
  • Country: us
Re: Understanding a DC motor with an Onboard PCB with PIC16F616
« Reply #14 on: January 19, 2017, 04:10:18 pm »
Thanks again for all of the excellent posts.  It is really fun learning about the electronics in the pump and how they function and what they have to offer.  I was quite surprised to see the circuit board when I opened up the pump housing, but now it is getting a bit clearer as to why all this complexity is being added to an otherwise simple device.

OK, I removed the PCB from the pump housing today and took photos of the back side.  All of the photos are attached.  As you can see, removing the PCB revealed what appears to be some type of position sensing device, perhaps a Hall Effect device.  Also, when I applied 9VDC to the motor terminals, I found that I could only get the motor to rotate by quickly reversing the polarity.  Perhaps this indicates that the electronics also play the role as a commutator.

Comments welcome!

Thanks,

Tony
 

Offline ovnr

  • Frequent Contributor
  • **
  • Posts: 658
  • Country: no
  • Lurker
Re: Understanding a DC motor with an Onboard PCB with PIC16F616
« Reply #15 on: January 19, 2017, 05:45:16 pm »
OK, so it is a single-phase brushless motor. :D

The thing you've labelled "encoder" is a hall-effect sensor that senses the magnetic field of the rotor, and provides position (and hence speed) feedback.
 

Offline TonyBarrTopic starter

  • Contributor
  • Posts: 10
  • Country: us
Re: Understanding a DC motor with an Onboard PCB with PIC16F616
« Reply #16 on: January 19, 2017, 08:23:09 pm »
Thanks to all the helpful contributors to this post!  Here are my conclusions for this small motorized automotive water pump used in certain 2017 Audi 2.0L TFSI equipped vehicles:

1.)  The motor is a brushless DC motor, which requires a controller (onboard PCB in this case) and a Hall Effect position sensor for commutation.  Because of the brushless design, the motor cannot be powered directly using only a DC source (which I confirmed).

2.) The motor assembly has a 3 connector terminals, +, - and S.  The + and - terminals are presumably the DC power supply while the S is assumed to be the Signal terminal needed for the presumed LIN bus (Local Interconnect Network).  This assumption is supported with Audi/VW being a member of the  LIN Consortium.

3.)  The PCB contains a PIC16F616 microcontroller.  I am assuming this is needed to interpret and direct the commands received from the LIN bus.  The most basic command being of course to turn the motor on and off.  One contributor observed that there was 21k resistors at the S terminal, which he said indicated a digital input (which the LIN would be).

4.)  The PCB also contains 4 MOSFET devices, one pair of IPG20N06S4L  and one pair of IPD50P04P4L.  It was suggested that only 3 of the MOSFETs were used in the H-bridge, while one one of the  IPG20N06S4L maybe used for input protection.  I assumed that an "H-bridge" would need 4 devices, but perhaps not?

5.)  Most likely the motor is either on or off (my assumption).  We purchased the pump as we suspected there was some type of flow shut-off capability in this coolant circuit, but the parts diagrams from the dealer did not support this and not it appears now that the pump does not have this capability.

6.)  Another observation posted regarding other devices on the PCB: 
    •  The 4 sot-6 packages are probably gate drivers.
    •  One of the sot-6 packages has a combi-pin. This could be the voltage regulator for the pic.
    •  The bottom could be loaded with an opamp and a shunt to detect stall conditions.

Wow, all for a small water pump! Keep the comments coming if you have any additional observations or expertise to share!

Thanks,

Tony

 

Offline Jeroen3

  • Super Contributor
  • ***
  • Posts: 4078
  • Country: nl
  • Embedded Engineer
    • jeroen3.nl
Re: Understanding a DC motor with an Onboard PCB with PIC16F616
« Reply #17 on: January 19, 2017, 08:58:53 pm »
3) I doubt that it's LIN. From engineering point of view bit-banging a LIN bus would not be very cost effective. Can you determine to which of microcontrollers pins the S signal goes to?
 

Offline ovnr

  • Frequent Contributor
  • **
  • Posts: 658
  • Country: no
  • Lurker
Re: Understanding a DC motor with an Onboard PCB with PIC16F616
« Reply #18 on: January 19, 2017, 09:30:54 pm »
4) The IPG20N06S4L is a dual MOSFET - two electrically separate transistors in a single package. The H-bridge has four MOSFETs total, just split over three packages - as opposed to the traditional four.

6) There are no opamps on the bottom of the board, nor does there appear to be any shunts.


If you post high-res shots of the board - both sides - it'd be easier to further reverse-engineer it. If they're too large for the forum, try imgur.com.
 

Offline TonyBarrTopic starter

  • Contributor
  • Posts: 10
  • Country: us
Re: Understanding a DC motor with an Onboard PCB with PIC16F616
« Reply #19 on: January 20, 2017, 01:11:23 am »
I've attached some high res photos of both sides of the PCB.  I did some probing with my multimeter to find which microcontroller pin the S terminal was connected to, but measuring resistance between the S terminal and each pin, the resistance was quite high (90 kOhm to 0.5 MegOhm) so the path is not clear to me.

Thanks!

Tony
 

Offline ovnr

  • Frequent Contributor
  • **
  • Posts: 658
  • Country: no
  • Lurker
Re: Understanding a DC motor with an Onboard PCB with PIC16F616
« Reply #20 on: January 20, 2017, 10:33:53 am »
It's not directly connected.

Some quick observations:

* The two SOT23-6 devices near the top are the upper gate drivers. The lower MOSFETs of the H-bridge are driven directly from the MCU. This is fine if you don't need to reverse direction on every cycle.
* The SOT23-6 device above the MCU is connected to the signal pin. There doesn't seem to be any common bus transceivers (one-wire ones at least; plenty of RS485 receivers, but the pinouts don't really match well) in that package, so it may be something else pressed into that role.
 
The following users thanked this post: TonyBarr

Offline jnz

  • Frequent Contributor
  • **
  • Posts: 593
Re: Understanding a DC motor with an Onboard PCB with PIC16F616
« Reply #21 on: January 20, 2017, 08:11:05 pm »
3) I doubt that it's LIN. From engineering point of view bit-banging a LIN bus would not be very cost effective. Can you determine to which of microcontrollers pins the S signal goes to?

Wat?

LIN is UART.  You could bitbang it just fine.

What would implicate whether it was LIN or not would be if there is a LIN Transceiver around as it's a 12V physical layer. But really, if you're bitbanging LIN, you could just use a pushpull instead of a transceiver too. I doubt it's LIN without a transceiver because that's a little hokey for an OE vehicle mfg.

LIN also doesn't need a specific datawire as there are LIN-over-Power transceivers.
« Last Edit: January 20, 2017, 08:15:25 pm by jnz »
 
The following users thanked this post: TonyBarr

Offline SeanB

  • Super Contributor
  • ***
  • Posts: 16276
  • Country: za
Re: Understanding a DC motor with an Onboard PCB with PIC16F616
« Reply #22 on: January 21, 2017, 08:21:00 pm »
Goes to pin8 of thre micro, so likely is just a 5V data line, and has a little protection from 12V. Probably an input only, to get data off a slow rate line like the K line.  Yes VAG still has it in there so must use it, not fast, not fancy but only 12v serial data packets.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf