Shop OBEX P1 Docs P2 Docs Learn Events
Converting my product to Open Source and using the Prop — Parallax Forums

Converting my product to Open Source and using the Prop

eagletalontimeagletalontim Posts: 1,399
edited 2012-01-20 22:52 in Propeller 1
Well, it is about time to release my product to the market as an Open Source project since I now have a competitor who has completely ruined the profit margin and is copying everything I do. Having the product converted to open source, I can begin a different type of approach to the issue. Basically what I have been doing is controlling an automatic transmission using the SX chip. Currently, the design is very simple using 2 buttons to let the user change gears (Up or down), and reading the RPM of the engine to stop downshifting when over a specific RPM. A 7 segment display shows what gear the transmission is in. I am hoping to convert fully to the Prop and have many more features available.

With the Prop, I can do sooo much more which is what I would like to do....but I need help since I am just now learning the Prop and the language. For now, I would like to simply recreate the product using the Prop as the brain. The problem is, I don't know what limits I have on the Prop when it comes to current supply and driving Mosfets or transistors to channel 12v positive to the solenoids. I have read some posts on how to do this, but I need a reliable way that is surface mount and cheaper than $0.75 each. I want to keep as much as possible surface mount due to size and cost. The 12v side is basically 12 to 14.5 volts and the solenoids are 30 ohm to 130 ohm. I have calculated 0.4 to 0.5 amps to activate the solenoid. On the current design, I am using an NPN transistor connected to a pin on the SX, then a TIP42 PNP transistor to control the power to the solenoid.

Here is a link to the transistors :
NPN : https://www.jameco.com/webapp/wcs/stores/servlet/ProductDisplay?storeId=10001&langId=-1&catalogId=10001&productId=26462
PHP : https://www.jameco.com/webapp/wcs/stores/servlet/ProductDisplay?storeId=10001&langId=-1&catalogId=10001&productId=33101

I can post a simple schematic of how it is connected if needed. I tested running just a mosfet directly from the pin which worked on the SX, but I am not sure on the Prop. I only have 1 development board for now :( If I could get some help with this project, I would greatly appreciate it! It sucks having something I created be taken right from under me with no care from the other person. With this, I am sure I can really spice things up a bit! So far, I have purchased Jameco's 1206 surface mount resistor bundle pack which came with 11k 1/4W resistors. I am sure I am set there for awhile :)
«134

Comments

  • jvrproductionsjvrproductions Posts: 61
    edited 2012-01-06 20:24
    eagle. sorry for my english... i have an adv company in orlando fl. i sell from websites to tv productions. most of the peaople on my city chargelesthat 50% of what i charge and i still here. i dont sell cheap service or product. i sell good quality products and service. for sure you can do something with your product. yjust because another person come an sell my service cheaper i will not close... sorry but i read your other post about the problem... hope may help
  • eagletalontimeagletalontim Posts: 1,399
    edited 2012-01-06 20:39
    I don't plan on closing my doors since that is just walking away from a problem. If I could redesign the entire board and get my cost around $10 per product without spending hundreds or thousands to get started, I would gladly stay selling like I have been for 5 years now. By going open source, I can provide a complete kit ready to go, or a DIY kit which would both be fully modifiable by the user. The full code would be free, but the kits would cost which is where I could make a little money. I just need to develop the kit at a low cost so that is why I have began this thread to hopefully get some support on the design and programming.

    Edit : My product is known world wide in the car community I am in which is a definite plus for me, but my customers are 1 time buyers. If you needed something to fix an issue but had the option to pay 2/3 cheaper for a product that does the exact same thing, why would you want to go the more expensive route? Open Source would be a better alternative IMO. It gives the product a wide range of abilities rather than being stuck with something that can't do much more than it already offers. There are plenty of people who are well more educated in the automotive and electronic field who could help create new things for the product but users still need a base to start from. That is what I would like to offer.
  • jvrproductionsjvrproductions Posts: 61
    edited 2012-01-06 20:49
    i am not the best on propeller. i only have about 8 month learning but i think its not complex to do. may you post your sche and how do you read the rpm? i work before with the 7 seg displays and the tip42 but no idea how you get the rpm reading.
  • eagletalontimeagletalontim Posts: 1,399
    edited 2012-01-06 20:56
    I have the 7 segment display already working on the Prop. The circuit to control the solenoids is what I am not sure about. As posted in the first post, I am using an NPN to activate the base of a PNP which provides power to the solenoids. The solenoids are naturally grounded, so I have to send 12 to 14.5v DC positive to them. I was hoping for a cheaper surface mount alternative to power the solenoids and use the Prop to activate the circuit.
  • pedwardpedward Posts: 1,642
    edited 2012-01-06 21:18
    Tim, there has been a lot of talk about MOSFETs lately on the forum. The short of it is that the cheapest way to drive a MOSFET is with the transistor follower circuit you are using. MOSFETs are great, but they require a high gate saturation voltage to achieve full turn on and prevent heat dissipation. That said, it's really academic. You already have the TIP42C working, find a SMT version of that and use it. I just looked on Digikey and they have the TIP42C available as an SMT KSH42CTF.

    The Prop will work fine with the NPN->PNP follower configuration.
  • CircuitsoftCircuitsoft Posts: 1,166
    edited 2012-01-06 22:11
    The bts4160dga is a little more expensive than you're looking for, but you hook it straight to the prop io pin and it provides two complete high-side switches with thermal shutdown, short circuit and reverse voltage protection, and diagnostic output. It's available at DigiKey and probably Mouser as well.

    This way, you can compete on your device being robust and not just cheap.
  • eagletalontimeagletalontim Posts: 1,399
    edited 2012-01-07 07:24
    Wow. That is pretty nice! Having a more robust product could give users a sense a safety when it comes to protection circuitry built in besides just a few diodes and a fuse. I may consider doing this. The price is definitely much higher than I would like to spend, but you get what you pay for. When looking at the product specs, it required 5.5 to 20v to power the chip. Would that have to be run from the high side of the circuit? It would not feed back to the chip would it? If it requires no additional resistors or diodes to power the solenoids, then it may be worth the purchase since it eliminates 5 pieces of the current circuit and converts it to one. Do you have a sample schematic on how it would connect to the Prop?
  • BeanBean Posts: 8,129
    edited 2012-01-07 07:28
    I would be interested in seeing the schematic and SX code. I'd be happy to give you a hand in converting it to the Propeller.

    Bean
  • eagletalontimeagletalontim Posts: 1,399
    edited 2012-01-07 07:40
    I don't have a schematic for the SX, but I can post the code. I will do that as soon as I get back from taking the trash out. The most recent version is not on this computer.
  • eagletalontimeagletalontim Posts: 1,399
    edited 2012-01-07 08:52
    Ok, here is the most recent version of the code I am using. I worry about posting this, but at this point, I have nothing to lose :p

    [PHP]
    ' All code is copyright and is not authorized for resale or redistribution

    DEVICE SX28, OSCXT2, TURBO, STACKX, OPTIONX
    FREQ 5_000_000

    level_up PIN RA.0 INPUT
    level_down PIN RA.1 INPUT
    TachIn PIN RB.4 INPUT SCHMITT
    sol_a VAR RB.0
    sol_b VAR RB.1
    TRIS_sols VAR TRIS_B
    TRIS_disp VAR TRIS_C
    level VAR Byte
    newlevel VAR Byte
    isrpm VAR BYTE
    rpm VAR WORD
    pWidth0 VAR WORD
    pWidth1 VAR WORD
    dividendMSW VAR WORD
    dividendLSW VAR WORD
    overflow VAR BIT
    doneBit VAR BIT

    ' Sparks = Cylinder / 2
    sparks CON 2

    ' RPM is in 100s EX: RPM = RPM / 100
    autoshift CON 75 '00
    shiftlock CON 45 '00
    gearonelock CON 30 '00

    GET_RPM FUNC 2, 0
    Set_level SUB 1, 1
    display_boot SUB 0
    wait SUB 1, 2
    LIMP_MODE SUB 1

    PROGRAM Start

    Start:
    TRIS_sols = %11111100
    TRIS_disp = %00000000
    display_boot
    level = 1
    Set_level 1
    isrpm = 1

    Main:
    rpm = GET_RPM
    IF rpm > 3 THEN
    IF rpm < 120 THEN
    isrpm = 1
    ELSE
    isrpm = 0
    LIMP_MODE 1
    ENDIF
    ELSE
    isrpm = 0
    LIMP_MODE 0
    ENDIF

    IF rpm >= autoshift THEN
    level = level + 1
    IF level >= 4 THEN
    level = 4
    ENDIF
    Set_level level
    do while rpm > autoshift
    rpm = GET_RPM
    IF level_up <> 0 THEN
    EXIT
    ELSEIF level_down <> 0 THEN
    EXIT
    ENDIF
    loop
    ENDIF

    IF level_up <> 0 THEN
    level = level + 1
    IF level >= 4 THEN
    level = 4
    ENDIF
    Set_level level
    ENDIF

    IF level_down <> 0 THEN
    IF rpm <= shiftlock THEN
    IF level > 2 THEN
    level = level - 1
    ELSEIF level == 2 THEN
    IF rpm <= gearonelock THEN
    level = level - 1
    ENDIF
    ENDIF
    ENDIF
    IF level <= 1 THEN
    level = 1
    ENDIF
    Set_level level
    ENDIF
    GOTO Main

    Button_Pressed:
    do while level_up <> 0
    wait 500
    loop
    do while level_down <> 0
    wait 500
    loop
    GOTO Main

    Set_level:
    newlevel = __PARAM1
    IF newlevel = 1 THEN
    sol_b = 1
    sol_a = 1
    RC = %00110000
    ENDIF
    IF newlevel = 2 THEN
    sol_b = 0
    sol_a = 1
    RC = %01101110
    ENDIF
    IF newlevel = 3 THEN
    sol_b = 0
    sol_a = 0
    RC = %01111010
    ENDIF
    IF newlevel = 4 THEN
    sol_b = 1
    sol_a = 0
    RC = %00110011
    ENDIF
    wait 500
    IF level_up <> 0 THEN
    GOTO Button_Pressed
    ELSEIF level_down <> 0 THEN
    GOTO Button_Pressed
    ELSE
    RETURN
    ENDIF

    LIMP_MODE:
    level = __PARAM1
    do
    RC = %01001111 ' ERROR : Shows E
    wait 1000
    IF level = 1 THEN
    RC = %00110111 ' High : Shows H
    ELSE
    RC = %00001101 ' Low : Shows L
    ENDIF
    wait 1000
    loop
    return

    display_boot:
    RC = %11111100
    wait 500
    RC = %11111001
    wait 500
    RC = %11110101
    wait 500
    RC = %11101101
    wait 500
    RC = %11011101
    wait 500
    RC = %10111101
    wait 500
    RC = %00000000
    RETURN

    FUNC GET_RPM
    PULSIN TachIn, 0, pWidth0
    PULSIN TachIn, 1, pWidth1
    pWidth0 = pWidth0 + pWidth1
    pWidth0 = pWidth0 * sparks
    dividendMSW = $005B
    dividendLSW = $8D80
    rpm = 1
    overflow = 0
    DO
    doneBit = rpm.15
    rpm = rpm << 1
    IF overflow = 1 THEN
    rpm.0 = 1
    dividendMSW = dividendMSW - pWidth0
    ELSE
    IF dividendMSW >= pWidth0 THEN
    rpm.0 = 1
    dividendMSW = dividendMSW - pWidth0
    ENDIF
    ENDIF
    overflow = dividendMSW.15
    dividendMSW = dividendMSW << 1
    dividendMSW.0 = dividendLSW.15
    dividendLSW = dividendLSW << 1
    LOOP UNTIL doneBit = 1
    rpm = rpm << 1
    rpm.0 = overflow
    IF dividendMSW >= pWidth0 THEN
    rpm.0 = 0
    ENDIF
    rpm = rpm / 100
    RETURN rpm
    ENDFUNC

    wait:
    IF __PARAMCNT = 1 THEN
    PAUSE __PARAM1
    ELSE
    PAUSE __WPARAM12
    ENDIF
    RETURN[/PHP]

    You can easily follow how it works and get an idea of what it is doing since I laid out the code as clean as I could.

    Below is what I have come up with for the Prop so far :

    [PHP]CON
    _CLKMODE = XTAL1 + pll16x
    _XINFREQ = 5_000_000
    solenoida = 2
    solenoidb = 3
    upbutton = 0
    downbutton = 1

    VAR
    long lastWritten
    BYTE EVal1
    byte throttle

    OBJ
    i2c : "Basic_I2C_Driver"
    BS2 : "BS2_Functions"
    throt : "RCTIME"
    lcd : "Serial_Lcd"
    num : "simple_numbers"

    PUB Main(gear)
    lcd.init(15, 9600, 2)
    lcd.displayON
    lcd.backLight(true)
    lcd.gotoxy(0,0)
    lcd.str(string("Testing Version "))
    lcd.gotoxy(0,1)
    lcd.str(string("Tims shifter V1 "))
    BS2.start (31,30)
    EVal1 := 100
    gear := i2c.ReadLong(i2c#BootPin, i2c#EEPROM, @EVal1)
    if gear < 1 OR gear > 4
    gear := 1
    gear := shiftgear(gear)
    lcd.cls
    lcd.str(string("Gear: "))
    lcd.gotoxy(5,0)
    lcd.str(num.dec(gear))
    repeat
    throttle := getthrottle
    if ina[upbutton] == 1
    gear++
    gear := shiftgear(gear)
    if ina[downbutton] == 1
    gear--
    gear := shiftgear(gear)
    repeat while ina[downbutton] == 1 or ina[upbutton] == 1
    waitcnt(30_000_000 + cnt)

    waitcnt(1_000_000 + cnt)

    PUB shiftgear(tmp)
    if tmp > 4
    tmp := 4
    if tmp < 1
    tmp := 1

    'throttle := getthrottle(tmp)

    dira[solenoida]~~
    dira[solenoidb]~~
    outa[16..23]~
    dira[16..23]~~

    if tmp == 1
    outa[solenoida] := 1
    outa[solenoidb] := 1
    if tmp == 2
    outa[solenoida] := 0
    outa[solenoidb] := 1
    if tmp == 3
    outa[solenoida] := 0
    outa[solenoidb] := 0
    if tmp == 4
    outa[solenoida] := 1
    outa[solenoidb] := 0
    outa[16..23] := numbers[tmp]
    saveval(tmp)
    lcd.gotoxy(5,0)
    lcd.str(num.dec(tmp))
    return tmp

    PUB saveval(tmp) | temp, startTime
    temp := tmp
    if temp <> lastWritten and temp <> 0
    if i2c.WritePage(i2c#BootPin, i2c#EEPROM, @EVal1, @tmp, 4)
    abort ' an error occured during the write
    startTime := cnt ' prepare to check for a timeout
    repeat while i2c.WriteWait(i2c#BootPin, i2c#EEPROM, @tmp)
    if cnt - startTime > clkfreq / 10
    abort ' waited more than a 1/10 second for the write to finish
    lastWritten := temp

    PUB getthrottle | thr
    dira[5]~~ ' Set as output
    outa[5]:=1 ' Set high
    BS2.Pause(10) ' Allow to charge
    throttle := BS2.RCTime(5,1) ' Measure RCTime
    lcd.gotoxy(13, 0)
    lcd.str(string(" "))
    lcd.gotoxy(13, 0)
    lcd.str(num.dec(throttle)) ' Display
    return throttle

    DAT
    numbers byte %0000_0000, %0101_0000, %1100_1110, %1101_1010, %0101_0011 [/PHP]
  • eagletalontimeagletalontim Posts: 1,399
    edited 2012-01-07 09:14
    Upon reading farther into the Mosfet posted above ( http://www.infineon.com/dgdl/BTS+4160DGA_DS2008_03_18_neu.pdf?folderId=db3a304314dca389011537739e37155f&fileId=db3a30431a5c32f2011a957ab5875685 ) I am seeing it as a device that can control the ground to the device, not the positive to the device. Is this correct? Due to how the solenoid is connected, I only have access to the positive lead. I also see there are 2 inputs and 2 outputs. Does this mean one chip could power both solenoids? Max current for both being active would be around 1A, 500ma per output.
  • CircuitsoftCircuitsoft Posts: 1,166
    edited 2012-01-07 11:34
    Upon reading farther into the Mosfet posted above ( http://www.infineon.com/dgdl/BTS+4160DGA_DS2008_03_18_neu.pdf?folderId=db3a304314dca389011537739e37155f&fileId=db3a30431a5c32f2011a957ab5875685 ) I am seeing it as a device that can control the ground to the device, not the positive to the device.
    Can you quote me a page number on the datasheet for that? In the section about overvoltage protection, there is a sample schematic which shows how to connect a microcontroller and a sample load. Note that schematic shows both inputs but only one output.
    I also see there are 2 inputs and 2 outputs. Does this mean one chip could power both solenoids? Max current for both being active would be around 1A, 500ma per output.
    Yes. Worst case on resistance is < 0.3 ohms per channel, and total device power dissipation should not exceed 0.9W. P=(I^2)R, I=sqrt(P/R), so max combined current is 1.8A. Just make sure you attach the thermal slug to a plane on your circuit board.


    You should probably have one external protection component, namely a reverse diode to ground, but that's much simpler than several parts to make the circuit you had.
  • eagletalontimeagletalontim Posts: 1,399
    edited 2012-01-07 11:43
    So basically, the component listed will work? If so, I will order 10 or so to tinker with. I have assembled the prop board and will be testing it in my vehicle soon. The 5V regulator does get a little warm, but I am pushing 12v through it so I figure it would dissipate some heat. If there is a regulator that will handle the voltage and amperage better, please let me know. I am just using what comes on the prop development board. From what I gather, the prop must be powered by a 3.3v power supply which is generated when connecting a 5v regulator output to the 3.3v. The regulators on the development board are quite a bit more expensive than the 7805 so the cost will go up a bit there.

    EDIT : Maybe I have something wrong since letting the circuit stay on with just the display connected, the regulator got very warm. I am using 100 ohm resistors going to each anode on the display. The cathode goes directly to ground. Do I need more resistance? The specs of the display are here : http://www.kingbrightusa.com/images/catalog/SPEC/SC03-12EWA.pdf
  • CircuitsoftCircuitsoft Posts: 1,166
    edited 2012-01-07 12:08
    So basically, the component listed will work? If so, I will order 10 or so to tinker with. I have assembled the prop board and will be testing it in my vehicle soon.
    Cool. Hope it works out. Just check the circuit board footprint.
    The 5V regulator does get a little warm, but I am pushing 12v through it so I figure it would dissipate some heat. If there is a regulator that will handle the voltage and amperage better, please let me know. I am just using what comes on the prop development board.
    The power handling of almost any linear regulator is determined by the size of the heat sink. A 78L05 is limited by the thermal resistance to any heatsink that could be attached. A 9V regulator (7809 for example) before the devboard will limit the power that needs to be dissipated by the on-board regulator.
    From what I gather, the prop must be powered by a 3.3v power supply which is generated when connecting a 5v regulator output to the 3.3v. The regulators on the development board are quite a bit more expensive than the 7805 so the cost will go up a bit there.
    You don't need to use the regulators that are on the dev board in your final design. They were chosen for the footprint/pinout and what electrical net dissipates the heat. You may find the 7805 pinout more convenient on your design. You may want to go to a switcher if you don't want as much power dissipation. Also, I've seen GM alternators push upwards of 20V in certain fault conditons.
    EDIT : Maybe I have something wrong since letting the circuit stay on with just the display connected, the regulator got very warm. I am using 100 ohm resistors going to each anode on the display. The cathode goes directly to ground. Do I need more resistance? The specs of the display are here : http://www.kingbrightusa.com/images/catalog/SPEC/SC03-12EWA.pdf
    The resistors used on the display should be determined by how bright you want it.
  • eagletalontimeagletalontim Posts: 1,399
    edited 2012-01-07 12:26
    If I raised the resistance of the resistors going to the display, wouldn't that make the prop no have to push out so much power which in turn causes the regulator to no have to keep up with as much current? Could I unsolder the existing 5v regulator from the prop development board and solder on a 7805 in it's place? If I am not mistaken, the 7805 is a 1A and the one that is on the development board is a 1.5A
  • CircuitsoftCircuitsoft Posts: 1,166
    edited 2012-01-07 12:41
    The regulator on the board is limited by the limited heat sink area. You could solder a through-hole 7805 in its place, but beware of the different pinout. Otherwise, stick the 7805 elsewhere on the board, drive its output into the 5v rail, and let the existing regulator just sit there. I've done that before as well. Just make sure the 7805 has a good heat sink, or it'll get hotter than the existing regulator.

    As I mentioned before, an off-board 7809 may be easier for now.

    For the display, 100 ohms is probably okay, but it really depends how bright you want it. 330 would be much dimmer, but also 1/3 of the current. That's up to you and your requirements.
  • eagletalontimeagletalontim Posts: 1,399
    edited 2012-01-07 14:04
    Since I am trying to keep heat down without using heatsinks if at all possible, could I simply add a 7809 to the 7085, then connect the 3.3v regulator? I know it is 3 different regulators, but the power should be clean and I could possibly keep them all surface mount. Is there not just a single regulator that can drop handle the power dissipation? I will need a 5v source for the 2x16 display, and when powered with a 7805, the regulator gets warm to the touch. I was hoping for a 5volt regulator that I could not go wrong with. The SX development board comes with a 2940 which I have read is better than the 7805, but requires a large cap and I am not sure if it can handle what I am trying to accomplish. From what I am finding out now is the power circuitry is more than likely going to have to be through hole. The reason I want to keep as much SM is to keep the cost of the PCB down as low as possible. ExpressPCB has great software, and it is easy to use and order boards from, but they are expensive for small quantities. My first board will probably be a 1 sided home etched board for testing purposes. I did find another software that is easy to design with, but I completely do not understand the gerber file stuff. With one PCB, I figure there would be 1 file saved. There are 5 files saved with each board which I don't understand.
  • CircuitsoftCircuitsoft Posts: 1,166
    edited 2012-01-07 14:30
    Gerber is basically a line drawing format. Depending on your time scale, I like BatchPCB. It's very cheap, but pretty slow. KiCad is one of the best layout programs I've used, and is free no matter what size board you're making. So, your pcb program makes a bunch of files in Gerber format, one for each layer, and a drill file. Zip them and upload them to BatchPCB, and it usually knows what file is what layer.

    If you use linear regulators, the power dissipation will always be the same no matter what part you use. Switching regulators have different challenges to them, pre-built units are expensive, and it sounds like you don't have the experience to build one yet. One easy solution is to bolt a 7809 to your case, if it's metal, and run everything off that. Better yet if you can find a 7.5v regulator.
  • eagletalontimeagletalontim Posts: 1,399
    edited 2012-01-07 15:54
    The case will be plastic to keep cost down and accidental shorts from happening since the product will allow users to add their own custom modules to the circuitry. I will probably let them have access to the high side 12v, 5v, and possibly the 3.3v on the module. I need something strong enough that will not produce too much heat which can run all of the main circuitry and still leave room for addons. The 7805 getting warm with only the Parallax 2X16 display has got to either mean I have it hooked up wrong or the 7805 is not what I need. I have over 100 7805's in stock at my house so I was hoping to use those. If I can use what I have on hand, it would be great, but ordering parts that only cost $1 and shipping is $10, I really need to be sure exactly what I need before ordering. From what I am understanding now is the power source circuitry for the electronics are going to produce heat no matter what. This means I should just find a heat sink that I can connect to each regulator then?
  • CircuitsoftCircuitsoft Posts: 1,166
    edited 2012-01-07 16:04
    Yes. Since 78xx regulators all have the tab grounded, that makes a common heat sink simpler.
  • eagletalontimeagletalontim Posts: 1,399
    edited 2012-01-07 16:27
    I just purchased a 7812 variable regulator from RadioShack and was wondering if that would be a good idea to use for the power regulation from 12 - 14 volts down to whatever would be needed to keep up with the circuitry without burning anything out. If the current draw of the circuitry causes the other 2 regulators to start getting warm or hot, would turning up the voltage help with the heat or is that basically the limit for those regulators? I would have to add more regulators for different parts of the circuit if that is the case. From the way it looks, the power supply circuit keeps getting more expensive as we speak :P The idea is go economical and ensure quality.
  • pedwardpedward Posts: 1,642
    edited 2012-01-07 16:33
    Tim, using the ground plane as a heatsink and soldering the tab to the board is a common way of doing this. Go have a look at the Megasquirt schematic for a power supply design that is robust and works well in many autos.
  • eagletalontimeagletalontim Posts: 1,399
    edited 2012-01-07 17:09
    I took a look at the megasquirt schematic and saw that it is using a 2937 which is a 5v 500ma regulator. I would be worried that would cause even more heat since the current draw of the final circuit may be very close to that. I am still trying to fully understand the current, resistance, and power calculations. I understand Ohms law, but putting the correct numbers in the formulas is another thing...

    So far with the 7812 regulator set at 8.8V, everything seems to be staying below "hot". The 7812 and the 5v regulator are warm to the touch without heatsinks. Without the 7812, the 5v regulator got hot. Should I order a small heatsink for the regulators? I already have the mosfets in my cart on digikey, but probably need to order more. The more per order saves on shipping in the long run!


    EDIT : Would something like this work or would I need a bigger heatsink? http://search.digikey.com/us/en/products/577102B04000G/HS368-ND/1216373
  • CircuitsoftCircuitsoft Posts: 1,166
    edited 2012-01-07 17:20
    That heat sink should be okay. If it's not quite enough, you can stack two back to back for better dissipation. Another option would be to get an ultra cheap cpu heatsink and drill/tap holes to mount the regulators on.
  • eagletalontimeagletalontim Posts: 1,399
    edited 2012-01-07 17:43
    I will be adding that to my order as well. They are cheap enough. Now for a 3.3V regulator....any suggestions? Would I need a heat sink on it too? I want to try and stick with 2 regulators to keep the cost down.

    EDIT : I found this on Digikey : http://search.digikey.com/us/en/products/NCP1117DT33G/NCP1117DT33GOS-ND/1483318 Would that work or should I go with a to-220 case to mount a heatsink to it?
  • eagletalontimeagletalontim Posts: 1,399
    edited 2012-01-07 18:19
    I have also found this : http://search.digikey.com/us/en/products/MCP1826S-3302E%2FAB/MCP1826S-3302E%2FAB-ND/1635996 it's a 1A (Min). What does the (Min) mean? Is this too much for the prop?
  • CircuitsoftCircuitsoft Posts: 1,166
    edited 2012-01-07 19:01
    It provides at least 1 amp with only 250mv dropout voltage. Also, keep in mind that one of the most important components of the Megasquirt power supply is the aluminum bar all the parts are bolted to. For 3.3v, I'd use what's already on the dev board.
  • eagletalontimeagletalontim Posts: 1,399
    edited 2012-01-07 19:12
    The one that is on the the development board is an LM1086 which is a 1.5A and is quite expensive from Digikey.

    http://search.digikey.com/us/en/products/LM1086IT-3.3%2FNOPB/LM1086IT-3.3-ND/363579

    Would I need a better 5v regulator since the 7805 only outputs 1A? The 3.3 would basically pull the max from the 7805 which would generate heat.
  • CircuitsoftCircuitsoft Posts: 1,166
    edited 2012-01-07 22:28
    The one that is on the the development board is an LM1086 which is a 1.5A and is quite expensive from Digikey.

    http://search.digikey.com/us/en/products/LM1086IT-3.3%2FNOPB/LM1086IT-3.3-ND/363579

    Would I need a better 5v regulator since the 7805 only outputs 1A? The 3.3 would basically pull the max from the 7805 which would generate heat.

    The 3.3 regulator won't draw more than is drawn from it. The prop doesn't draw more than 120ma, so unless there's more on the 3.3v rail than the prop and the EEPROM, you'll be fine.

    Heat doesn't come from things being overloaded, but from any draw at all. So, any 3.3v regulator will dissipate ((5-3.3)*.12)=.204 watts. So, look into thermal resistance values listed in the datasheet for whatever regulator you use to see what temperature rise you'll face.

    Mcp1700t will handle the prop and EEPROM just fine and it's $0.44 in quantity 1.

    The 5v rail needs to handle your lcd as well. I'll assume 1 amp can power it. The lm2576 is a bit harder to use than an LDO, but it'll take up to 40v in and will dissipate minimal power since it's a switching regulator. The lm2574 is just like the 2576, but it's surface mount and has a lower current limit (500ma vs 3a).
  • Dr_AculaDr_Acula Posts: 5,484
    edited 2012-01-07 22:43
    The lm2576 is a bit harder to use than an LDO, but it'll take up to 40v in and will dissipate minimal power since it's a switching regulator.

    Just to take that point from Circuitsoft a little further, switching regulators hardly even get warm at 1A and so don't need a heatsink, no matter what the input voltage. They convert one voltage to another rather than 'throwing away' voltage as heat. I've been using switching regulators almost 100% on all my propeller projects, mainly because you save board space by not needing a heatsink and when you work out the cost of the components vs the cost of the board space, switchers seem to work out cheaper.
Sign In or Register to comment.