ዝርዝር ሁኔታ:

አርዱዲኖ እና TLC5940 PWM LED Driver IC: 7 ደረጃዎች
አርዱዲኖ እና TLC5940 PWM LED Driver IC: 7 ደረጃዎች

ቪዲዮ: አርዱዲኖ እና TLC5940 PWM LED Driver IC: 7 ደረጃዎች

ቪዲዮ: አርዱዲኖ እና TLC5940 PWM LED Driver IC: 7 ደረጃዎች
ቪዲዮ: On/OFF LED using Arduino Programming Full Video Basic To Advanced Languages #onoffledusingarduino 2024, ሀምሌ
Anonim
አርዱዲኖ እና TLC5940 PWM LED Driver IC
አርዱዲኖ እና TLC5940 PWM LED Driver IC

በዚህ ጽሑፍ ውስጥ የቴክሳስ መሳሪያዎችን TLC5940 16-channel LED ሾፌር IC ን እንመረምራለን። ይህንን የምናደርግበት ምክንያት ብዙ ኤልኢዲዎችን - እና እንዲሁም ሰርጎችን ለመንዳት ሌላ ፣ ቀላሉ መንገድ ለማሳየት ነው። በመጀመሪያ ፣ የ TLC5940 ጥቂት ምሳሌዎች እዚህ አሉ። በዓለም ዙሪያ በነፃ በማድረስ TLC5940 ን ከ PMD Way ማዘዝ ይችላሉ።

TLC5940 በ DIP ስሪት ውስጥ ይገኛል ፣ እና እንዲሁም ላይ-ተራራ። በእውነቱ ምቹ ክፍል ነው ፣ ይህም በ PWM (የ pulse-width modulation) በኩል የአስራ ስድስት የግለሰብ ኤልኢዲዎችን ብሩህነት እንዲያስተካክሉ ያስችልዎታል-እና የበለጠ ለመቆጣጠርም ከአንድ በላይ TLC5940 ዴዚ-ሰንሰለት ማድረግ ይችላሉ።

በዚህ መማሪያ ወቅት አንድ ወይም ከዚያ በላይ TLC5940 ICs ን በ LEDs እንዴት እንደሚቆጣጠሩ እንገልፃለን እንዲሁም ሰርቪስ መቆጣጠርን እንመለከታለን። በዚህ ጊዜ ፣ በዚህ ሂደት እርስዎ እንደሚጠቅሱት እባክዎን የ TLC5940 (.pdf) ቅጂን ያውርዱ። በተጨማሪም ፣ እባክዎን እዚህ ሊገኝ የሚችል የ TLC5940 Arduino ቤተ -መጽሐፍትን በአሌክስ ሊዮን ያውርዱ እና ይጫኑ። ቤተመጽሐፍት እንዴት እንደሚጫኑ እርግጠኛ ካልሆኑ እዚህ ጠቅ ያድርጉ።

ደረጃ 1 - የ TLC5940 ማሳያ ወረዳ ይገንቡ

የ TLC5940 ማሳያ ወረዳ ይገንቡ
የ TLC5940 ማሳያ ወረዳ ይገንቡ

የሚከተለው ወረዳ ከአርዱዲኖዎ ወይም ተኳሃኝዎ አስራ ስድስት LED ን ለመቆጣጠር የሚያስፈልገው ዝቅተኛው ነው። በተለያዩ ተግባራት ለመሞከር እና የሚቻለውን ሀሳብ ለማግኘት ሊጠቀሙበት ይችላሉ። ያስፈልግዎታል:

  • አርዱዲኖ ኡኖ ወይም ተኳሃኝ ቦርድ
  • እስከ 20 mA ድረስ ወደፊት ሊኖራቸው የሚችል 16 መደበኛ ፣ የዕለታዊ LEDs
  • 2 kΩ resistor (10%ይስጡ ወይም ይውሰዱ)
  • 0.1uF ሴራሚክ እና 4.7uF ኤሌክትሮላይቲክ capacitor

የ LED አቅጣጫውን ልብ ይበሉ-እና TLC5940 የጋራ- anode LED ነጂ መሆኑን ያስታውሱ-ስለዚህ ሁሉም የ LED አኖዶች አንድ ላይ ተገናኝተው ከዚያ ወደ 5 ቮ።

ደረጃ 2

ለዚህ ልዩ ወረዳ ፣ የውጭ 5V የኃይል አቅርቦት አያስፈልግዎትም - ሆኖም ለወደፊቱ አንድ ሊያስፈልግዎት ይችላል። የተቃዋሚው ዓላማ በ LED ዎች ውስጥ ሊፈስ የሚችል የአሁኑን መጠን መቆጣጠር ነው። አስፈላጊው የተከላካይ እሴት በሚከተለው ቀመር ይሰላል

R = 39.06 / ኢማክስ አር (በኦምስ ውስጥ) የተከላካይ እሴት እና ኢማክስ (በአምፔስ ውስጥ) በ LED ዎች ውስጥ እንዲፈስ የሚፈልጉት የአሁኑ የአሁኑ ከፍተኛ መጠን ነው።

ለምሳሌ ፣ የ 20 mA ወደፊት ፍሰት ያላቸው LED ዎች ካሉዎት - የተቃዋሚው ስሌት R = 39.06 / 0.02 = 1803 Ohms ይሆናል። አንዴ ወረዳው ከተሰበሰበ - የአርዱዲኖ አይዲኢን ይክፈቱ እና ለ TLC5940 ቤተ -መጽሐፍት በምሳሌ አቃፊ ውስጥ ያለውን ንድፍ BasicUse.pde ይስቀሉ።

በቪዲዮው ላይ ከሚታየው ጋር ተመሳሳይ የሆነ ውፅዓት ሊቀርብዎት ይገባል።

ደረጃ 3 - TLC5940 ን መቆጣጠር

አሁን ወረዳው ይሠራል ፣ TLC5940 ን እንዴት እንቆጣጠራለን? በመጀመሪያ ፣ አስገዳጅ ተግባራት - በስዕሉ መጀመሪያ ላይ ቤተመጽሐፉን ያካትቱ ከ ጋር

#"Tlc5940.h" ን ያካትቱ

እና የሚከተለውን ወደ ባዶነት ማዋቀር () በማስቀመጥ የላይብረሪውን መጀመሪያ ያድርጉ

Tlc.init (x);

x አማራጭ ግቤት ነው - ንድፉ ልክ እንደጀመረ ሁሉንም ሰርጦች ወደ አንድ ብሩህነት ማቀናበር ከፈለጉ በ Tlc.init () ተግባር ውስጥ በ 0 እና በ 4095 መካከል እሴት ማስገባት ይችላሉ።

አሁን ሰርጥ/ኤልዲአይ ለማብራት ወይም ለማጥፋት። እያንዳንዱ ሰርጥ ከ 0 ወደ 15 ተቆጥሯል ፣ እና የእያንዳንዱ ሰርጥ ብሩህነት በ 0 እና በ 4095 መካከል ሊስተካከል ይችላል። ይህ ባለ ሁለት ክፍል ሂደት ነው… አንደኛ-የሚያስፈልጉትን ሰርጦች እና የየራሳቸው ብሩህነት (PWM) ለማዘጋጀት ከሚከተሉት ተግባራት ውስጥ አንድ ወይም ከዚያ በላይ ይጠቀሙ። ደረጃ):

Tlc.set (ሰርጥ ፣ ብሩህነት);

ለምሳሌ ፣ የመጀመሪያዎቹን ሶስት ሰርጦች በሙሉ ብሩህነት እንዲኖራቸው ከፈለጉ ፣ ይጠቀሙ

Tlc.set (0, 4095); Tlc.set (1, 4095); Tlc.set (2, 4095);

ሁለተኛው ክፍል TLC5940 ን ከክፍል አንድ በሚፈለገው መመሪያ ለማዘመን የሚከተሉትን መጠቀም ነው -

Tlc.update ();

ሁሉንም ሰርጦች በአንድ ጊዜ ማጥፋት ከፈለጉ በቀላሉ ይጠቀሙበት

Tlc.clear ();

ደረጃ 4

ከተጣራ ተግባር በኋላ ወደ TLC.update () መደወል አያስፈልግዎትም። የሚከተለው የሁሉም ሰርጦች ብሩህነት/PWM እሴቶችን ወደ ተለያዩ ደረጃዎች የሚያቀናብር ፈጣን ምሳሌ ንድፍ ነው።

#"Tlc5940.h" ባዶ ማዋቀር () {Tlc.init (0); // መጀመሪያ TLC5940 ን ይጀምሩ እና ሁሉንም ሰርጦች ያጥፉ}

ባዶነት loop ()

{ለ (int i = 0; i <16; i ++) {Tlc.set (i, 1023); } Tlc.update (); መዘግየት (1000); ለ (int i = 0; i <16; i ++) {Tlc.set (i, 2046); } Tlc.update (); መዘግየት (1000); ለ (int i = 0; i <16; i ++) {Tlc.set (i, 3069); } Tlc.update (); መዘግየት (1000); ለ (int i = 0; i <16; i ++) {Tlc.set (i, 4095); } Tlc.update (); መዘግየት (1000); }

ለእያንዳንዱ ሰርጥ/ኤልኢዲ የግለሰባዊ ብሩህነት የመቆጣጠር ችሎታ የ RGB LEDs ን ሲቆጣጠርም ጠቃሚ ሊሆን ይችላል - ከዚያ ለእያንዳንዱ ንጥረ ነገር በተለያዩ የብሩህነት ደረጃዎች በኩል አስፈላጊ ቀለሞችን በቀላሉ መምረጥ ይችላሉ። በቪዲዮው ውስጥ አንድ ማሳያ ይታያል።

ደረጃ 5 - ሁለት ወይም ከዚያ በላይ TLC5940s ን በመጠቀም

ብዙ ኤልኢዲዎችን ለመቆጣጠር አንድ ላይ ጥቂት ጥቂት TLC5940s ን ዴዚ-ሰንሰለት ማድረግ ይችላሉ። በመጀመሪያ - በሰርቶ ማሳያ ወረዳው ላይ እንደሚታየው ቀጣዩን TLC5940 ን ወደ አርዱinoኖ ያሽከርክሩ - የመጀመሪያውን TLC5940 የ SOUT ፒን (17) ከሁለተኛው TLC5940 ወደ SIN ፒን (26) ከማገናኘት በስተቀር - ውሂቡ ከአርዲኖ ሲጓዝ ፣ የመጀመሪያው TLC5940 ወደ ሁለተኛው እና የመሳሰሉት። ከዚያ ሶስተኛው ካለዎት ሂደቱን ይድገሙት ፣ ወዘተ የአሁኑን የሚያቀናብር ዳግም አስጀማሪን አይርሱ!

በመቀጠል በ TLC5940 ቤተመፃህፍት አቃፊ ውስጥ የሚገኘውን tlc_config.h ፋይል ይክፈቱ። የ NUM_TLCS ዋጋን በአንድ ላይ ወደተገናኙዋቸው የ TLC5940 ዎች ብዛት ይለውጡ ፣ ከዚያ ፋይሉን ያስቀምጡ እና ፋይሉ Tlc5940.o እንዲሁም በተመሳሳይ አቃፊ ውስጥ ይገኛል። በመጨረሻም IDE ን እንደገና ያስጀምሩ። ከዚያ ከመጀመሪያው የሁለተኛውን እና ተጨማሪ TLC5940 ሰርጦችን ማመልከት ይችላሉ። ማለትም ፣ የመጀመሪያው 0 ~ 15 ፣ ሁለተኛው 16 ~ 29 ፣ ወዘተ ነው።

ደረጃ 6 - ሰርቪስ በ TLC5940 መቆጣጠር

TLC5940 የ PWM (የ pulse-width modulation) ውፅዓት ሲያመነጭ ፣ ሰርቮስን ለማሽከርከርም በጣም ጥሩ ነው። ልክ እንደ ኤልኢዲዎች - በአንድ ጊዜ እስከ አስራ ስድስት ድረስ መቆጣጠር ይችላሉ። ሸረሪት መሰል ሮቦቶችን ፣ እንግዳ ሰዓቶችን ለመፍጠር ወይም አንዳንድ ጫጫታ ለመፍጠር ተስማሚ።

የእርስዎን servo በሚመርጡበት ጊዜ በሚሠራበት ጊዜ (ከከፍተኛው የአሁኑ በአንድ ሰርጥ) ከ 120 mA በላይ መሳል አለመቻሉን ያረጋግጡ እና እንዲሁም በዚህ አጋዥ ስልጠና መጨረሻ ላይ “የአሁኑን እና ሙቀትን ማስተዳደር” ክፍልን ያዳምጡ። እና ከ servos ጋር የውጭ ኃይልን ይጠቀሙ ፣ በአርዱዲኖ 5 ቪ መስመር ላይ አይታመኑ።

አንድ servo ን ለማገናኘት ቀላል ነው - የ GND መስመር ከ GND ጋር ይገናኛል ፣ 5 ቮ (ወይም የአቅርቦት ቮልቴጅ መሪ) ከእርስዎ 5v (ወይም ሌላ ተስማሚ አቅርቦት) ጋር ይገናኛል እና የ servo መቆጣጠሪያ ፒን ከ TLC5940 ውጤቶች አንዱ ጋር ይገናኛል። በመጨረሻ - እና ይህ አስፈላጊ ነው - በ TLC5940 የውጤት ፒን (ቶች) እና በ 5 ቮ መካከል መካከል 2.2 ኪΩ resistor ያገናኙ። Servo ን መቆጣጠር ከ LED የተለየ አይደለም። በስዕሉ መጀመሪያ ላይ የመጀመሪያዎቹን ሁለት መስመሮች ያስፈልግዎታል

#"Tlc5940.h" ን ያካትቱ "tlc_servos.h"

ከዚያ የሚከተለው በባዶ ማዋቀር ()

tlc_initServos ();

በመቀጠል ፣ የትኛውን ሰርቪ (ሰርጥ) እንደሚሠራ እና አስፈላጊውን አንግል (አንግል) ለመምረጥ የሚከተለውን ተግባር ይጠቀሙ።

tlc_setServo (ሰርጥ ፣ አንግል);

ልክ እንደ ኤልኢዲዎች ከእነዚህ ውስጥ ጥቂቶቹን በአንድ ላይ መሰብሰብ እና ከዚያ ትዕዛዙን በ

Tlc.update ();

ስለዚህ ያንን ሁሉ በተግባር እንይ። የሚከተለው ምሳሌ ንድፍ በ 90 ዲግሪዎች ላይ አራት ሰርዶዎችን ያጠፋል።

#"Tlc5940.h" ን ያካትቱ "tlc_servos.h"

ባዶነት ማዋቀር ()

{tlc_initServos (); // ማስታወሻ -ይህ የ PWM ድግግሞሽ ወደ 50Hz ዝቅ ያደርገዋል። }

ባዶነት loop ()

{ለ (int ማዕዘን = 0 ፤ አንግል = 0 ፤ አንግል--) {tlc_setServo (0 ፣ አንግል); tlc_setServo (1 ፣ አንግል); tlc_setServo (2 ፣ አንግል); tlc_setServo (3 ፣ አንግል); Tlc.update (); መዘግየት (5); }}

ቪዲዮው ይህንን ንድፍ ከአራት servos ጋር በተግባር ያሳያል።

እርስዎ servos ወደ ትክክለኛው አንግል የማይሽከረከሩ ከሆነ - ለምሳሌ እርስዎ 180 ዲግሪዎችን ይጠይቁ እና እነሱ ወደ 90 ወይም እዚያ ብቻ ይሽከረከራሉ ፣ ትንሽ ተጨማሪ ሥራ ያስፈልጋል።

በ TLC5940 Arduino ቤተመፃህፍት አቃፊ ውስጥ የሚገኘውን የ tlc_servos.h ፋይል መክፈት እና ለ SERVO_MIN_WIDTH እና SERVO_MAX_WIDTH እሴቶችን መሞከር ያስፈልግዎታል። ለምሳሌ SERVO_MIN_WIDTH ን ከ 200 ወደ 203 እና SERVO_MAX_WIDTH ን ከ 400 ወደ 560 ይለውጡ።

ደረጃ 7: የአሁኑን እና ሙቀትን ማቀናበር

ቀደም ሲል እንደተጠቀሰው ፣ TLC5940 በአንድ ሰርጥ ቢበዛ 120 mA ማስተናገድ ይችላል። አንዳንድ ሙከራ ካደረጉ በኋላ TLC5940 እንደሚሞቅ ያስተውሉ ይሆናል - እና ያ ጥሩ ነው።

ክፍሉን ከማጥፋቱ በፊት ሊበተን በሚችለው የኃይል መጠን ላይ ከፍተኛ ገደብ እንዳለ ልብ ይበሉ። እርስዎ የተለመዱ የአትክልት ልዩ ልዩ LEDs ወይም ትናንሽ ሰርጎዎችን ብቻ የሚጠቀሙ ከሆነ ኃይል ችግር አይሆንም። ሆኖም TLC5940 ን ወደ ከፍተኛው ለመጠቀም ካቀዱ - እባክዎን በቤተመጽሐፍት ደራሲዎች የቀረቡትን ማስታወሻዎች ይገምግሙ።

መደምደሚያ

እንደገና ከአርዱኖዎ ጋር በማይታመን ሁኔታ ጠቃሚ ክፍልን ለመቆጣጠር መንገድዎ ላይ ነዎት። አሁን በአንዳንድ ምናብ ሁሉንም ዓይነት የእይታ ማሳያዎችን መፍጠር ወይም በብዙ ሰርቪስ መዝናናት ይችላሉ።

ይህ ልጥፍ በ pmdway.com ለእርስዎ ቀርቦልዎታል - በዓለም ዙሪያ ነፃ መላኪያ ጋር TLC5940 ምርቶችን ለሠሪዎች እና ለኤሌክትሮኒክስ አፍቃሪዎች ሁሉ ይሰጣል።

የሚመከር: