Мазмұны:

Arduino үшін DIY лазерлік басқару модулі: 14 қадам (суреттермен)
Arduino үшін DIY лазерлік басқару модулі: 14 қадам (суреттермен)

Бейне: Arduino үшін DIY лазерлік басқару модулі: 14 қадам (суреттермен)

Бейне: Arduino үшін DIY лазерлік басқару модулі: 14 қадам (суреттермен)
Бейне: Измерение расстояния с помощью 6-контактного лазерного модуля VL53L0X с Arduino 2024, Шілде
Anonim
Image
Image

Бұл нұсқаулықта мен eBay-ден 3D басып шығарылған бөлшектер мен қымбат емес компоненттерді қолдана отырып, екі осьті, бір айналы лазерлік сәулелік руль модулінің құрылысын көрсетемін.

Бұл жобаның Full XY бақылауы бар Arduino Laser Show мен Real Galvos көмегімен Arduino Laser Show -ға ұқсастықтары бар, бірақ менің ойымша, арзан электромагнитті 3D басып шығарылған дизайнды бірінші рет қолданған. Мен барлық дизайн файлдарын GPLv3 астына қоямын, сонда дизайн жақсартылып, жетілдірілуі мүмкін.

Қазіргі уақытта мен тек модульді жинап, бірнеше қарапайым тест кодын жазғаныммен, менің үмітім - бір күні мен Arduino -дан бұрынғы нұсқаулық, супер жылдам аналогтық кернеулердің векторлық графикалық кодын енгізу арқылы оны келесі деңгейге көтере аламын.

1-қадам: 3D емес басып шығарылған бөліктерді жинаңыз

Лазерлік қондырғы келесі бөліктерден тұрады:

  • 4 микро соленоид
  • Бір 1/2 дюймдік айна
  • М3 төрт бұранда

Мен қолданған соленоидтар eBay -де әрқайсысы 1,45 долларға сатып алынды. Дөңгелек айна HobbyLobby қолөнер шебінде табылды - 25 пакет маған 3 доллардан аз болды. Сіз eBay -де айналарды таба аласыз.

Сізге тағы да eBay -ден арзан лазерлік көрсеткіш қажет болады. Күлгін лазер және қараңғыда винил парағы-бұл жоба үшін тамаша комбинация!

Көмек қолының жиынтығы қажет емес, бірақ лазерлік көрсеткішті ұстап тұру үшін өте пайдалы болады. Қуат түймесін басып тұру үшін үлкен байланыстырғыш қысқышты пайдалануға болады.

Сізге Arduino (мен Arduino Nano қолдандым) және электромагнитті жүргізу әдісі қажет болады. VajkF түсініктемелерде айтқандай, сіз L298 немесе L9110 негізінде жасалған H-көпірін қолдана аласыз. Олар eBay -де бірнеше долларға оңай қол жетімді және оны қозғалтқыштар мен робототехника жобаларында да қолдануға болады.

Менде H-көпір болмағандықтан, мен жеке драйверді дискретті компоненттерден жасадым:

  • Төрт NPN биполярлық транзистор (мен MPS3704 қолдандым)
  • Төрт резистор (мен 1,2 к Ом резисторды қолдандым)
  • Төрт диод (мен 1N4004 қолдандым)
  • 9В батарея мен батарея қосқышы

Электрондық компоненттер менің зертханамнан алынған, сондықтан менде олардың нақты бағасы жоқ, бірақ егер сізде бөлшектер жоқ болса немесе оларды тазалай алмасаңыз, алдын ала құрастырылған H көпірін пайдалану тиімдірек шығар. Қалай болғанда да, мен сіздің жеке құрылыстың схемасын беремін.

2 -қадам: Айнаның басқару модулін 3D басып шығару

3D Айнаның рульдік модулін басып шығарыңыз
3D Айнаның рульдік модулін басып шығарыңыз
3D Айнаның рульдік модулін басып шығарыңыз
3D Айнаның рульдік модулін басып шығарыңыз

Лазерлік рульдік модуль 3D басып шығарылған екі бөліктен тұрады: төрт электромагнитті орнатуға арналған негіз және айнаға арналған бекітілген платформа.

Мен сізге 3D басып шығаруға екі STL файлын, сонымен қатар дизайнды өзгерту қажет болған жағдайда FreeCAD файлдарын тіркедім. Барлық мазмұн GPLv3 астында, сондықтан сіз жақсартулар жасай аласыз және бөлісе аласыз!

3 -қадам: Лазерлік модульді жинаңыз

Лазерлік модульді жинаңыз
Лазерлік модульді жинаңыз
Лазерлік модульді жинаңыз
Лазерлік модульді жинаңыз
Лазерлік модульді жинаңыз
Лазерлік модульді жинаңыз
  • Төменгі бөлікке төрт электромагнитті бекіту үшін ыстық желімді қолданыңыз.
  • Айнаны жоғарғы бөліктің ортасына бекіту үшін ыстық желімді қолданыңыз.
  • Металл поршеньдерді соленоидтарға салыңыз, содан кейін жоғарғы бөлікті тіректерге қойыңыз (бірақ бұрап алмаңыз). Жоғарғы бөлікті сәл айналдырыңыз және кішкене бұрағышты қолданып, әрбір поршенді орнына көтеріңіз. Дискінің ерні поршеньдегі ойыққа сырғып түсуі керек. Сақ болыңыз, себебі 3D басып шығарылған ілмектер өте нәзік. Шыдамдылықпен және мүмкін бірнеше сәтсіз әрекеттермен сіз ілмектерді бұрамай немесе қыспай барлық төрт поршеньді орналастыра білуіңіз керек.
  • Барлық поршеньдер орналастырылғаннан кейін, M3 бұрандаларын ішіне салыңыз, бірақ оларды қыспас бұрын әр поршенді ақырын басыңыз және айна еркін қисайғанына көз жеткізіңіз. Егер ол еркін қозғалмаса немесе ұстап қалмаса, онда жоғарғы пластинаны алып тастау, бір немесе бірнеше электромагнитті босатып алу және оны сыртқа қарай сәл бұрып қайта бекіту қажет болуы мүмкін (бұған аралықтарды қою арқылы орталық тірек көмектеседі).

4 -қадам: Лазерлік меңзер жағасын басып шығарыңыз

Лазерлік меңзер жағасын басып шығарыңыз
Лазерлік меңзер жағасын басып шығарыңыз
Лазерлік меңзер жағасын басып шығарыңыз
Лазерлік меңзер жағасын басып шығарыңыз

Лазерлік меңзер жағасы лазер көрсеткішінің басына сәйкес келеді. Содан кейін сіз көмекші қолдар жиынтығын қолданып, жағаны ұстап, лазерді дәл орындыққа қоюға болады.

5 -қадам: Айдау тізбегін жинаңыз

Айдау тізбегін жинаңыз
Айдау тізбегін жинаңыз

Жетек тізбегі схемада көрсетілген. Жоғарыда айтылғандай, менің нұсқам дискретті компоненттерден жасалған, бірақ сіз H-көпірін де қолдана аласыз. Егер сіз өзіңіз құрастыруды таңдасаңыз, сізге осы схеманың төрт көшірмесін жасау қажет болады, олардың әрқайсысы үшін төрт соленоид.

Әр тізбек Arduino түйреуішіне қосылады, екеуі сол және оң соленоидты басқарады, екеуі жоғары және төмен соленоидтер үшін. Олар PWM қабілетті түйреуіштерге қосылуы керек, мысалы:

  • 9 -түйреуіш: жоғары соленоид
  • 3 -түйреуіш: Төменгі соленоид
  • 11 -түйреуіш: сол жақ соленоид
  • 10 -түйреуіш: оң жақ соленоид

Жалғыз 9В аккумуляторды электромагниттік драйверлердің барлық төрт тізбегін жүргізу үшін қолдануға болады немесе сіз үстел үстіндегі қуат көзін қолдана аласыз. Arduino USB қуатын өшіреді және 9В батареясының оң жағына қосылмауы керек. Батареяның теріс жағы жерге сілтеме ретінде пайдаланылады және оны Arduino-дағы GND түйреуішіне, сондай-ақ транзисторлардағы эмитент түйреуіштеріне қосу керек.

6 -қадам: Үлгі кодын жүктеңіз

Үлгі кодын жүктеңіз
Үлгі кодын жүктеңіз

Үлгі коды келесі мүмкіндіктермен жаңартылды:

  • PWM жиілігін механизм төмен жылдамдықта дерлік үнсіз болатындай етіп реттейді. Motion Test 1 -дегі шу толығымен жойылды!
  • Соленоидтардың сызықты емес реакциясын «сызықтандыру» үшін Шимпфтың қағазына негізделген кернеу теңдеулерін қосады.

Мен сонымен қатар осы блогтың кодына негізделген Lorenz Attractor бағдарламасын енгіздім.

Нәтижелердің сенімділігі көп нәрсені қалайды, бірақ мен әлі де жұмыс жасаймын!:)

Келесі қадамдар кодта қолданылатын кейбір әдістерді көрсетеді.

7 -қадам: дыбыс деңгейін төмендету

Менің Motion Test 1 -де сіз қатты дыбысты естисіз, әсіресе жоғары және төмен қозғалыс кезінде. Анықталғандай, бұл Arduino дыбыстық диапазонында PWM әдепкі бойынша кесу жиілігіне байланысты болды. Катушканың кернеуін тез қосу және өшіру олардың сол жиілікте дірілдеуіне әкеліп соғып, оларды кішкентай дауыс зорайтқыштарға айналдырады.

Бұл мәселені шешу үшін мен кодта PWM жиілігін арттырдым:

#define PWM_FREQ_31372Hz 0x01 // PWM жиілігін 31372,55 Гц -ге орнатады #PWM_FREQ_3921Hz 0x02 анықтайды // PWM жиілігін 3921,16 Гц -ге орнатады & 0b11111000) | жиілік; // Таймерді орнату 1 (түйреуіштер 9 және 10) жиілігі TCCR2B = (TCCR2B & 0b11111000) | жиілік; // Таймер2 (3 және 11 түйреуіштер) жиілігін орнату}

Arduino PWM жиілігін орнату - электромагнитті немесе қозғалтқышты тыныштандыратын пайдалы амал. Әр түрлі жиіліктермен тәжірибе жасап, қайсысы сізге жақсы нәтиже беретінін көріңіз. Бұл әлдеқайда жетілдірілген бағдарламалауды қажет етсе де, таймерлердің қалай жұмыс істейтіні туралы жақсы ресурс мұнда.

8 -қадам: Бұрмалануды азайту үшін кернеуді реттеу

Бұрмалануды азайту үшін кернеуді реттеу
Бұрмалануды азайту үшін кернеуді реттеу

Менің алғашқы қозғалыс сынақтарым соленоидтардың реакциясында айтарлықтай бұрмаланулар болғанын көрсетті. Motion Test 3 -те (сол жақтағы сурет) дөңгелек спираль болуы керек, оның орнына жиектері тік бұрышты торға айналды.

Бұл мәселені шешу үшін аздап математика қажет болды, бірақ мен бұл мәселені бағдарламалық қамтамасыз етуде жақсы түсінуге көмектесетін ғаламтордан таңғажайып қағазды таба алдым.

Мен жүйені баптау және алынған іздердің көрінісін жақсарту үшін мен өткен процесті қалай жалғастырасыз!

9 -қадам: Бағдарламалық қамтамасыз етуді математикамен жетілдіру

Бағдарламалық қамтамасыз етуді математикамен жетілдіру
Бағдарламалық қамтамасыз етуді математикамен жетілдіру
Бағдарламалық қамтамасыз етуді математикамен жетілдіру
Бағдарламалық қамтамасыз етуді математикамен жетілдіру

Жүйені баптаудың құпиясы Шығыс Вашингтон университетінің қызметкері Пол Х. Шимпфтың «Соленоидтық күштің егжей -тегжейлі түсіндірмесі» деп аталатын тамаша қағаз болып шықты (сілтеме). Атап айтқанда, 17 -теңдеу маған әр түрлі терминдер бойынша соленоидтық күш берді.

Келесі терминдерді өлшеу оңай болды:

  • R - менің соленоидтың кедергісі
  • l - соленоид ұзындығы
  • x - Соленоидтағы поршеньнің орын ауыстыруы
  • V - соленоидтағы кернеу

Мен соленоид шығарған күш екі осьті айнадағы 3D басып шығарылған серіппелердің күшін теңестіруі керек екенін білдім. Серіппенің күші Гук заңымен реттеледі, ол былай көрсетілген:

F = -kx

Мен к -тің мәнін білмесем де, кем дегенде, Шимпф қағазынан 17 -ші теңдеуден шыққан күш Гук заңының күшіне тең болуы керек екенін білдім.

Альфа (α) мәні күрделі болды. 13 және 14 -ші теңдеулер сол мәнді (А), бұрылыстардың саны (N) мен магниттік өткізгіштік мәндерінің (μ) ауданынан осы мәндерді қалай есептеу керектігін көрсеткенімен, мен соленоидты санау үшін оны ажыратуды қаламадым. бұрылыстар саны, мен соленоидтың өзегі жасалған материалды білмедім.

10 -қадам: Арзан компоненттерді тексеруші күнді құтқарады

Арзан компонентті сынаушы күнді құтқарады!
Арзан компонентті сынаушы күнді құтқарады!
Арзан компонентті сынаушы күнді құтқарады!
Арзан компонентті сынаушы күнді құтқарады!
Арзан компонентті сынаушы күнді құтқарады!
Арзан компонентті сынаушы күнді құтқарады!

15 және 16 теңдеулері маған қажет нәрсені берді. Менде eBay -ден 10 долларға сатып алған арзан M328 компоненттерін тексеруші болды. Ол оны соленоидтың индуктивтілігін өлшеу үшін қолдана алды, мен арматураны әр түрлі тереңдікте итеру арқылы маған әр түрлі индукциялық мәндер беретінін білдім.

Арматура толығымен салынғанмен өлшеу маған L (0) мәнін берді.

Менің соленоидтың ұзындығы 14 мм болды, сондықтан мен арматураның индуктивтілігін бес позицияда өлшедім, бұл маған L (x) әр түрлі мәндерін берді:

  • L (0,0) = 19,8 мГц
  • L (3,5) = 17,7 мГц
  • L (7.0) = 11.1 мГц
  • L (10,5) = 9,3 мГц
  • L (14) = 9,1 мГц

Содан кейін мен 15 және 16 -теңдеудің мәнін есептеу үшін электронды кестені қолдандым, белгілі бір мкр таңдау үшін, содан кейін мен жақсы сәйкестікті тапқанша өз таңдауымды өзгерттім. Бұл графикте көрсетілгендей, мкр 2,9 болғанда болды.

11 -қадам: К көктемгі тұрақтысын табыңыз, мәселені шешіңіз

Image
Image
Ағымдағы мәселелер мен мүмкін болатын шешімдерді талдау
Ағымдағы мәселелер мен мүмкін болатын шешімдерді талдау

Жалғыз белгісіз көктемгі тұрақты К болды. Мен мұны екі осьті жинақтағы соленоидтардың біріне 9В қолдану және айна төмен түсірілген қашықтықты өлшеу арқылы өлшедім. Осы мәндердің көмегімен мен K теңдеулерін шеше алдым, ол шамамен 10.41 болды.

Менде соленоидтың соққының әр түрлі позициясындағы тартылуын есептеу үшін қажетті мәндер болды. Гук заңынан F (x) серіппелі күшке тең етіп, кернеу V үшін шеше аламын.

График соленоидты кез келген қажетті позицияға жылжыту үшін кернеуді көрсетеді.

Оң жақта, кернеу нөлге тең және орналасуы 3 мм болса, бұл 3D басып шығарылған ілмектер толық босатылған кезде соленоидтың бейтарап тыныштық нүктесіне сәйкес келеді. Графикте солға жылжу якорьді соленоидқа 3D басып шығарылған ілмектердің тартылуына қарсы тартуға сәйкес келеді-бұл бастапқыда көбірек кернеуді қажет етеді, бірақ якорь соленоидқа тереңдеген сайын тарту күшейеді және қажетті кернеу сөнеді.

Бұл байланыс сызықты емес, бірақ Шимпф қағазындағы теңдеулермен мен Arduino кодын дұрыс кернеулерді шығару үшін жаза аламын, сондықтан сәуленің ауытқуы сызықты болады:

float positionToVoltage (float x) {

// Қалпына келтіретін күш ілгектермен (Гук заңы) қалаған x кезінде. const float spring_F = -spring_K * (x - spring_X0); // Соленоидтың тартылу күші топсаның қалпына келтіруші күшіне сәйкес келетін кернеу sqrt (-2*R*R*(-серіппені_F)*solenoid_len/(a*L_0*exp (-a*x/solenoid_len)))); }

Бұл менің бастапқы қозғалыс сынағыма қарағанда әлдеқайда дөңгелек спиральға әкеледі. Миссия орындалды!

12 -қадам: Дискретті компоненттерді қолданатын драйвер тізбегі туралы сұрақтар мен жауаптар

Неліктен мен соленоидты тікелей Arduino -ға байланыстыра алмаймын?

Бұл Arduino зақым келтірместен қанша ток бере алатыны туралы. Бұл бір түйінге шамамен 40 мА. Arduino 5В жұмыс істейтінін біле отырып, біз Ом заңын жүктеменің қажетті минималды кедергісін есептеу үшін қолдана аламыз (бұл жағдайда соленоид). 5 вольтты 0,040 амперге бөлу бізге 125 ом береді. Егер жүктеме үлкен қарсылыққа ие болса, біз оны тікелей Arduino -ға қосамыз, әйтпесе мүмкін емес. Кішкентай соленоид әдетте 50 Ом қарсылыққа ие, сондықтан біз оны тікелей Arduino -дан басқара алмаймыз. Егер біз мұны жасасақ, ол 100 мА тартатын еді, бұл тым көп.

Неліктен соленоид үшін 9В, ал Arduino үшін 5В пайдаланасыз?

Arduino 5 В -да жұмыс істейді, бірақ бұл электромагниттік шамадан тыс аз. Транзисторды қолдану электромагнитті Arduino үшін қолданылатын 5В -тан тәуелсіз кернеуді таңдауға мүмкіндік береді.

Бұл жобаға транзистордың жарамдылығын қалай білуге болады?

Ардуино сияқты, басты талап соленоид арқылы өтетін ток транзистордың максималды көрсеткіштерінен (атап айтқанда, коллекторлық токтан) аспауы керек. Біз электромагниттің кедергісін өлшеу арқылы қоректену кернеуін бөлу арқылы ең нашар сценарийді оңай есептей аламыз. Соленоидтар үшін 9В кернеу тогы мен 50 Ом электромагниттік кедергісі жағдайында ең нашар сценарий бізді 180мА-ға қояды. MPS3704, мысалы, коллекторлық токтың максималды мәні 600 мА, бұл бізге шамамен 3 маржа береді.

Ардуино шығысы мен транзистордың негізі арасындағы қарсылықтың минималды мәнін қалай анықтауға болады?

Arduino шығысы биполярлық транзисторлардың негізгі аяғын ток шектеу резисторы арқылы қосады. Arduino 5В жұмыс істейтіндіктен, біз 40мА төмен токты шектеу үшін қажетті қарсылықты есептеу үшін Ом заңын қолдана аламыз. Яғни, кемінде 125 Ом мәнін алу үшін 5 вольтты 0,04 амперге бөліңіз. Резистордың жоғары мәндері токты азайтады, осылайша бізге одан да үлкен қауіпсіздік маржасын береді.

Қарсылықтың максималды мәні бар ма, мен оны асыра алмауым керек пе?

Анықталады, иә. Транзисторда ағымдағы пайда деп аталатын нәрсе бар. Мысалы, егер пайда 100 болса, онда егер біз базаға 1мА қоссақ, онда транзистор бақылайтын жүктеме арқылы 100 мА дейін өтеді. Егер біз негізге 1,8мА салсақ, онда жүктеме арқылы 180мА дейін ағып кетеді. Біз бұрын 9В кезінде 180мА электромагнитті арқылы өтетінін есептегендіктен, 1,8мА негізгі ток «тәтті нүкте» болып табылады, ал біздің электроменоид толық қосылмайды.

Біз Arduino 5В сөндіретінін білеміз және біз 1,8 мА ток ағынын қалаймыз, сондықтан қарсылықты есептеу үшін Ом заңын (R = V/I) қолданамыз (R = V/I). 5В 1,8мА -ға бөлінгенде 2777 Ом қарсылық береді. Біз жасаған болжамдарды ескере отырып, біз қарсылық 125 -тен 2777 -ге дейін болуы керек деп күтеміз - 1000 Ом сияқты нәрсені таңдау бізге кез келген жағдайда қауіпсіздіктің жақсы маржасын береді.

13 -қадам: Ағымдағы мәселелер мен ықтимал шешімдерді талдау

Ағымдағы мәселелер мен мүмкін болатын шешімдерді талдау
Ағымдағы мәселелер мен мүмкін болатын шешімдерді талдау

Қазіргі прототип әлеуетті көрсетеді, бірақ бірнеше проблемалар қалады:

  1. X және Y осі бойынша қозғалыс перпендикуляр емес сияқты.
  2. Айна бағытын өзгерткен кезде секіру болады.
  3. Ажыратымдылық өте төмен және баспалдақтың баспалдақ үлгілері бар.
  4. Қозғалыстың жоғары жылдамдығында лазердің жолы діріл мен қоңырау арқылы бұрмаланады.

1) шығарылым бір ось бойымен перпендикуляр оське қозғалысты жіберетін 3D басып шығарылған икемді ілмектердің конструкциясынан туындауы мүмкін.

2) мәселе қозғаушы поршеньдер мен айна платформасы арасындағы іліністің әлсіреуіне байланысты, бұл айна X және Y осі арасындағы ауысуларда айналып кетуіне әкеледі. Бұл кенеттен қозғалыс лазерлік нүкте бақыланбайтын жылдамырақ қозғалысты жасайтын қараңғы Х -тәрізді саңылауға әкеледі.

3) мәселе Arduino PWM әдепкі бойынша тек 255 деңгейден тұратындықтан пайда болады және олардың көпшілігі кернеу қисығының пішініне байланысты босқа кетеді. Бұл 16-биттік және 65536 бірегей мәндерге қабілетті таймер1-ді қолдану арқылы айтарлықтай жақсаруы мүмкін.

4) мәселе айна мен электромагнитті жылжымалы якорь (поршеньдер) қозғалатын массаның едәуір көлемін құрайтындықтан пайда болады.

1) және 2) мәселелер механикалық конструкцияға байланысты болғандықтан, металл поршеньдерді алып тастау және оларды еңіс табағына тікелей бекітілген сирек кездесетін магниттермен ауыстыру мүмкін болуы мүмкін. Соленоидтар физикалық байланыссыз магниттерді тартатын немесе қайтаратын ашық катушка болар еді. Бұл қозғалыстың біркелкі болуына әкеледі және жалпы массаны азайта отырып, серпілу мүмкіндігін жояды.

Масса азайту - 4 -ші шығарылымның негізгі шешімі), бірақ кез келген қалған проблемалар айнаны басқарылатын түрде жеделдету және баяулату үшін бағдарламалық қамтамасыз етуде қозғалысты басқару профилін енгізу арқылы бағдарламалық қамтамасыз етуде тікелей бағытталуы мүмкін. Бұл 3D принтердің микробағдарламасында кеңінен жасалған және ұқсас әдістер мұнда да жұмыс істей алады. Міне, 3D принтерлерге қатысты қозғалысты басқаруға қатысты кейбір ресурстар:

  • «Қозғалысты басқару профильдерінің математикасы», Чак Левин (сілтеме)
  • «Басқарылатын қозғалыс түсіндірілді», (сілтеме)

Менің ойымша, трапеция тәрізді қозғалысты басқару профилін қосу айнаға қоңырау немесе діріл артефактісіз әлдеқайда жоғары жылдамдықпен қозғалуға мүмкіндік береді деп ойлаймын.

14 -қадам: Болашақ жұмыс және мүмкін болатын қосымшалар

Бұл мәселелердің шешімдерін әзірлеу үлкен көлемді жұмысты қажет ететініне қарамастан, бұл ашық көзді сәулелік руль модулі келесі қосымшалардағы гальванометр негізіндегі жобаларға қол жетімді балама бола алады деп үміттенемін.

  • Ди -джейлер мен диджейлерге арналған арзан лазерлік шоу.
  • Vectrex сияқты көне аркада ойынына арналған электр-механикалық векторлық дисплей.
  • RepRap қозғалысының рухында DIY лазерлік рульдік модулін басып шығара алатын DIY SLA 3D принтері.
  • Сандық панорамалау немесе камераларға оптикалық тұрақтандыру.
Ардуино сайысы 2017
Ардуино сайысы 2017
Ардуино сайысы 2017
Ардуино сайысы 2017

2017 жылғы Arduino байқауының екінші жүлдесі

Ұсынылған: