Esempio n. 1
0
 def test_equality(self):
     A = Inductor(inductor_type=Inductor.Type.MultilayerInductor,
                  manufacturer="Murata Manufacturing",
                  partnumber="LQG18HNR10J00D",
                  working_temperature_range=TemperatureRange('-55', '125'),
                  series="LQG",
                  inductance='100nH',
                  tolerance=None,
                  q='8',
                  dc_resistance=None,
                  rated_current=None,
                  self_resonant_frequency=None,
                  max_working_voltage=None,
                  case=None,
                  note=None)
     B = Inductor(inductor_type=Inductor.Type.MultilayerInductor,
                  manufacturer="Murata Manufacturing",
                  partnumber="LQG18HNR10J00D",
                  working_temperature_range=TemperatureRange('-55', '125'),
                  series="LQG",
                  inductance='100nH',
                  tolerance=None,
                  q='8',
                  dc_resistance=None,
                  rated_current=None,
                  self_resonant_frequency=None,
                  max_working_voltage=None,
                  case=None,
                  note=None)
     self.assertEqual(B, A)
Esempio n. 2
0
 def test_NR(self):
     part = inductors_partname_decoder.resolve('NR6028T220M')
     self.assertIsNotNone(part)
     component = Inductor(inductor_type=Inductor.Type.WireWoundInductor,
                          manufacturer="Taiyo Yuden",
                          partnumber="NR6028T220M",
                          working_temperature_range=TemperatureRange('-25', '120'),
                          series="NR",
                          inductance='22uH',
                          tolerance=Tolerance('20%'),
                          q=None,
                          dc_resistance=None,
                          rated_current=None,
                          self_resonant_frequency=None,
                          max_working_voltage=None,
                          case='6028',
                          note='SMD Power Inductors')
     self.assertEqual(component, part)
Esempio n. 3
0
def decode_match(match):
    partnumber = match.group(1) + match.group(2) + match.group(
        3) + match.group(4) + match.group(5) + match.group(6) + match.group(7)
    return Inductor(inductor_type=Inductor.Type.WireWoundInductor,
                    manufacturer="Vishay",
                    partnumber=partnumber,
                    working_temperature_range=TemperatureRange('-55', '125'),
                    series=match.group(1),
                    inductance=inductance_string_to_henry(match.group(5)) *
                    Decimal(1000000),
                    tolerance=tolerance[match.group(6)],
                    q=None,
                    dc_resistance=None,
                    rated_current=None,
                    self_resonant_frequency=None,
                    max_working_voltage='40V',
                    case=dimensions[match.group(2)],
                    note=series[match.group(7)])
Esempio n. 4
0
 def test_IHLP(self):
     part = inductors_partname_decoder.resolve('IHLP2525AEER1R0M01')
     self.assertIsNotNone(part)
     component = Inductor(inductor_type=Inductor.Type.WireWoundInductor,
                          manufacturer="Vishay",
                          partnumber="IHLP2525AEER1R0M01",
                          working_temperature_range=TemperatureRange('-55', '125'),
                          series="IHLP",
                          inductance='1uH',
                          tolerance=Tolerance('20%'),
                          q=None,
                          dc_resistance=None,
                          rated_current=None,
                          self_resonant_frequency=None,
                          max_working_voltage='40V',
                          case='2525',
                          note='Commercial / High Saturation')
     self.assertEqual(component, part)
Esempio n. 5
0
def part_to_inductor(part):
    if len(part.get_manufacturers()) > 1:
        raise ValueError("Part has more than one manufacturer")
    manufacturer = part.get_manufacturers()[0] if len(part.get_manufacturers()) == 1 else None

    return Inductor(inductor_type=inductor_type_from_part(part),
                    manufacturer=manufacturer['manufacturer']['name'] if 'name' in manufacturer['manufacturer'] else None,
                    partnumber=manufacturer['partNumber'],
                    working_temperature_range=working_temperature_range_from_part(part),
                    series=None,
                    inductance=inductance_from_part(part),
                    tolerance=inductance_tolerance_from_from_part(part),
                    q=quality_from_part(part),
                    dc_resistance=resistance_from_part(part),
                    rated_current=rated_current_from_part(part),
                    self_resonant_frequency=SRF_current_from_part(part),
                    max_working_voltage=voltage_max_from_part(part),
                    case=part.get_footprint()['name'] if part.get_footprint() is not None else None,
                    note=part.get_comment())
Esempio n. 6
0
def decode_match(match):
    partnumber = match.group(1) + match.group(2) + match.group(
        3) + match.group(4) + match.group(5) + match.group(6) + match.group(
            7) + match.group(8) + match.group(9)
    series = match.group(2)
    return Inductor(inductor_type=inductor_type[match.group(2)],
                    manufacturer="Murata Manufacturing",
                    partnumber=partnumber,
                    working_temperature_range=None,
                    series=match.group(1) + series,
                    inductance=None,
                    tolerance=None,
                    q=None,
                    dc_resistance=None,
                    rated_current=None,
                    self_resonant_frequency=None,
                    max_working_voltage=None,
                    case=dimensions[match.group(3)],
                    note=applications[match.group(4)])
Esempio n. 7
0
def decode_match(match):
    partnumber = match.group(1) + match.group(2) if match.group(
        2) is not None else ""
    partnumber += match.group(3) + match.group(4) + match.group(5)
    return Inductor(inductor_type=Inductor.Type.WireWoundInductor,
                    manufacturer="Kemet",
                    partnumber=partnumber,
                    working_temperature_range=TemperatureRange('-55', '155'),
                    series=match.group(1),
                    inductance=inductance_string_to_henry(match.group(5)) *
                    Decimal(1000000),
                    tolerance=Tolerance('20%'),
                    q=None,
                    dc_resistance=None,
                    rated_current=None,
                    self_resonant_frequency=None,
                    max_working_voltage=None,
                    case=size_code[match.group(3)],
                    note=series[match.group(1)])
Esempio n. 8
0
def decode_match(match):
    partnumber = match.group(1) + match.group(2) + match.group(
        3) + match.group(4) + match.group(5)
    return Inductor(inductor_type=Inductor.Type.WireWoundInductor,
                    manufacturer="Taiyo Yuden",
                    partnumber=partnumber,
                    working_temperature_range=get_temperature_range(
                        match.group(1), match.group(2)),
                    series=match.group(1),
                    inductance=inductance_string_to_henry(match.group(4)) *
                    Decimal(1000000),
                    tolerance=tolerance[match.group(5)],
                    q=None,
                    dc_resistance=None,
                    rated_current=None,
                    self_resonant_frequency=None,
                    max_working_voltage=None,
                    case=dimensions[match.group(2)],
                    note=series_name[match.group(1)])
Esempio n. 9
0
 def test_LQG(self):
     part = inductors_partname_decoder.resolve('LQG18HNR10J00D')
     self.assertIsNotNone(part)
     component = Inductor(
         inductor_type=Inductor.Type.MultilayerInductor,
         manufacturer="Murata Manufacturing",
         partnumber="LQG18HNR10J00D",
         working_temperature_range=TemperatureRange('-55', '125'),
         series="LQG",
         inductance='100nH',
         tolerance=Tolerance('5%'),
         q='8',
         dc_resistance=None,
         rated_current=None,
         self_resonant_frequency=None,
         max_working_voltage=None,
         case=Chip('0603', T=Dimmension('0.8mm',
                                        LengthTolerance('0.15mm'))),
         note=None)
     self.assertEqual(component, part)
Esempio n. 10
0
def decode_match(match):
    partnumber = match.group(1) + match.group(2) + match.group(
        3) + match.group(4) + match.group(5) + match.group(6) + match.group(
            7) + match.group(8) + match.group(9) + match.group(10)
    series = match.group(2)

    return Inductor(
        inductor_type=inductor_type[match.group(2)],
        manufacturer="Murata Manufacturing",
        partnumber=partnumber,
        working_temperature_range=operating_temperature_range[series],
        series=match.group(1) + series,
        inductance=inductance_string_to_henry(match.group(6)) *
        Decimal(1000000),
        tolerance=tolerance[match.group(7)],
        q='8',
        dc_resistance=None,
        rated_current=None,
        self_resonant_frequency=None,
        max_working_voltage=None,
        case=dimensions[match.group(3)],
        note=None)
Esempio n. 11
0
def inductor_type_from_part(part):
    for parameter in part.request['parameters']:
        if parameter["valueType"] == "string" and parameter['name'] == "Part Type":
            decoded = decode_parameter(parameter)
            if decoded is not None:
                return Inductor.Type(decoded['value'])