Jump to content
R3M0ND

Запуск двигателя переменного тока от PIC16F84A

Recommended Posts

Помогите разобраться с инвертором, собрал по такой схеме

Скрытый текст

2321.thumb.png.3ce2f2edb17b49462f8940618df5e6b7.png

Транзисторы поставил TIP3055, резисторы в базе на 22 Ом. 

Двигатель переменного тока A2212/6T 2200KV

Скрытый текст

73333-1.jpg

С МК подаю импульсы на транзисторы в такой последовательности:

VT1,VT3,VT5
пауза (10 тыс. машинных циклов)
VT1,VT5,VT6
пауза (10 тыс. машинных циклов)
VT1,VT2,VT6
пауза (10 тыс. машинных циклов)
VT2,VT4,VT6
пауза (10 тыс. машинных циклов)
VT2,VT3,VT4
пауза (10 тыс. машинных циклов)
VT3,VT4,VT5
пауза (10 тыс. машинных циклов)

и зациклил это 

Подключил двигатель, он просто дребезжит, но не крутиться. Измерил напряжение между фазами, тестер показал 2В...

Подключал еще лампу накаливания автомобильную на 12В, спираль слегка загоралась

В чем может быть проблема ? 

 

 

Share this post


Link to post
Share on other sites

Верхние транзисторы не открываются полностью. Обычно в верхнее плечо ставят pnp транзисторы. Другой вариант поставить готовые драйверы.

Share this post


Link to post
Share on other sites
16 минут назад, snn_krs сказал:

Верхние транзисторы не открываются полностью. Обычно в верхнее плечо ставят pnp транзисторы. Другой вариант поставить готовые драйверы.

Надо именно на транзисторах 

Share this post


Link to post
Share on other sites

Тестирование литиевых батареек Fanso в нормальных условиях

Компания Компэл, эксклюзивный дистрибьютор компании Fanso, предлагает широкий перечень ЛХИТ, позволяющий подобрать элемент питания, в наибольшей степени соответствующий конкретным требованиям. Для тестирования параметров, указанных в Datasheet, специалисты Компэл организовали в апреле 2019 г. полугодовой тест на постоянный разряд в нормальных условиях четырех наиболее популярных моделей литий-тионилхлоридных и литий-диоксидмарганцевых батареек Fanso.

Посмотреть результаты первого среза

Поставил pnp транзисторы, тоже не работает 

Share this post


Link to post
Share on other sites

@R3M0ND Транзисторы VT1, VT2, VT3 включены по схеме эмиттерных повторителей. В самом идеальном случае при всём "желании" они не выдадут двигателю больше 5 В (напряжение высокого уровня порта МК). А фактически будет ещё меньше - около 0,7 В упадёт на p-n-переходе, и ещё на базовом резисторе.

Share this post


Link to post
Share on other sites

Новое бюджетное семейство микроконтроллеров STM32G0 и планы его развития

Семейство STM32G0 сочетает в себе лучшие качества представителей семейств STM32F0 и STM32L0 - относительно высокую производительность и низкое энергопотребление. Модели STM32G0 имеют упрощенную схему питания, улучшенную периферию, систему тактирования и быстрые порты в/в, доп.средства защиты ПО, повышенную устойчивость к статическим разрядам, широкий ассортимент корпусов, обновленные пакеты библиотек для STM32CubeMX. STMicroelectronics планирует развивать новое семейство.

Подробнее...

1 минуту назад, Zer0 сказал:

@R3M0ND Транзисторы VT1, VT2, VT3 включены по схеме эмиттерных повторителей. В самом идеальном случае при всём "желании" они не выдадут двигателю больше 5 В (напряжение высокого уровня порта МК). А фактически будет ещё меньше - около 0,7 В упадёт на p-n-переходе, и ещё на базовом резисторе.

А если их включить в режиме ключа ? 

Share this post


Link to post
Share on other sites

"В лоб" всё равно не поможет. Напряжение питания МК меньше напряжения питания мотора, поэтому "верхние" транзисторы P-N-P будут всегда открыты.

Это только кажется, что научился кодить - и Бога за бороду ухватил. При незнании хотя бы основных принципов связи МК с периферией толку всё равно не будет.

Share this post


Link to post
Share on other sites
14 часа назад, R3M0ND сказал:

В чем может быть проблема ? 

В кривой схеме или кривой программе. Или во всем сразу. Взять осцилл и ткнуться на выходы. Вопросы отпадут сами. Ну и схема точно кривая. Силовая часть должны выглядеть хотя бы как-то так:

image.thumb.png.54e3919e245fee9675f10dacf0d4b14b.png

Share this post


Link to post
Share on other sites
Posted (edited)

При включении по схеме эмиттерного повторителя, когда нагрузка в цепи эмиттера, на нагрузке не получится получить напряжение большее, чем поступает на базу. А на базу приходит 5 В с порта МК. Чтобы на нагрузке получить при таком включении 15 В, нужно подавать в базу никак не меньше 15 В.

PNP транзисторы Вы как подключили? Это раз. И второе - они будут открываться низким уровнем! Но возникнет ещё одна проблема - закрыть их не получится т.к. МК больше 5 В не выдаст.

Edited by Zer0

Share this post


Link to post
Share on other sites
Только что, Falconist сказал:

При незнании хотя бы основных принципов связи МК с периферией толку всё равно не будет.

Да это даже не связь МК с периферией, а базовые знания принципов работы транзистора...

Share this post


Link to post
Share on other sites

С pnp будет другая проблема, их не получится нормально закрыть.

Share this post


Link to post
Share on other sites
26 минут назад, BARS_ сказал:

В кривой схеме или кривой программе. Или во всем сразу. Взять осцилл и ткнуться на выходы. Вопросы отпадут сами. Ну и схема точно кривая. Силовая часть должны выглядеть хотя бы как-то так:

Не подскажете в какой последовательности подавать импульсы на транзисторы в вашей схеме ? 

А чтобы pnp закрыть можно просто высокий потенциал подать на базу ?
А чтобы открыть соответсвенно низкий 

Share this post


Link to post
Share on other sites

У вас бесколекторный двигатель. И просто так его не запустить. Нужна довольно сложная прошивка, предполагающая обратную связь от двигателя. Без неё надо как минимум плавно повышать обороты и использовать ШИМ для регулировки подаваемой мощности. В противном случае рискуете пожечь транзисторы или сам двигатель.

Share this post


Link to post
Share on other sites
34 минуты назад, R3M0ND сказал:

А чтобы pnp закрыть можно просто высокий потенциал подать на базу ?
А чтобы открыть соответсвенно низкий 

Да, PNP открываться будут низким потенциалом. А чтобы закрыть, нужно, чтобы потенциал базы был подтянут к потенциалу эмиттера - тогда ток через p-n-переход база-эмиттер транзистора прекратится, и транзистор закроется. Вся проблема в том, что нужно потенциал базы поднять до потенциала эмиттера, а у эмиттера потенциал 15 В. МК выдаёт только 5 В, и это меньше, чем 15. Транзистор останется открыт. Не спасёт положение даже перевод пина порта "на вход" т.к. каждый пин подключен внутри МК через диод к земле и к шине питания.

Делайте по схеме @BARS_ , там всё как положено, и логика управляющих импульсов останется та же, как и была с NPN транзисторами.

Share this post


Link to post
Share on other sites

@Zero, можете написать в какой последовательности подавать импульсы ? А то что-то я уже запутался...

Share this post


Link to post
Share on other sites
Posted (edited)

Вот у Вас в самом первом сообщении схема, там шесть NPN транзисторов.

Вот замените/измените силовую часть как рекомендует @BARS_ , а логику управления оставьте как в Вашей самой первой схеме с шестью NPN-транзисторами.

А вообще в журнале Радио была статья: "А. Долгий. Задающий генератор для трехфазного инвертора." Там и программа для автоматической генерации прошивки сразу есть.

Edited by Zer0

Share this post


Link to post
Share on other sites

Собрал силовую часть по схеме @BARS_ , поставил транзисторы КТ816\КТ817

Написал программу для плавного повышения оборотов, по совету @Vitemk

Скрытый текст

M1
       movlw  b'00101001'
       movwf  PORTB
       call   pause
       movlw  b'00100101'
       movwf  PORTB
       call   pause
       movlw  b'00100110'
       movwf  PORTB
       call   pause
       movlw  b'00010110'
       movwf  PORTB
       call   pause
       movlw  b'00011010'
       movwf  PORTB
       call   pause
       movlw  b'00011001'
       movwf  PORTB  
       call   pause
       goto   M2
       
M2 
       movlw  b'00101001'
       movwf  PORTB
       call   pause2
       movlw  b'00100101'
       movwf  PORTB
       call   pause2
       movlw  b'00100110'
       movwf  PORTB
       call   pause2
       movlw  b'00010110'
       movwf  PORTB
       call   pause2
       movlw  b'00011010'
       movwf  PORTB
       call   pause2
       movlw  b'00011001'
       movwf  PORTB  
       call   pause2
       goto   M3   
       
M3 
       movlw  b'00101001'
       movwf  PORTB
       call   pause3
       movlw  b'00100101'
       movwf  PORTB
       call   pause3
       movlw  b'00100110'
       movwf  PORTB
       call   pause3
       movlw  b'00010110'
       movwf  PORTB
       call   pause3
       movlw  b'00011010'
       movwf  PORTB
       call   pause3
       movlw  b'00011001'
       movwf  PORTB  
       call   pause3
       goto   M4         
       
M4 
       movlw  b'00101001'
       movwf  PORTB
       call   pause4
       movlw  b'00100101'
       movwf  PORTB
       call   pause4
       movlw  b'00100110'
       movwf  PORTB
       call   pause4
       movlw  b'00010110'
       movwf  PORTB
       call   pause4
       movlw  b'00011010'
       movwf  PORTB
       call   pause4
       movlw  b'00011001'
       movwf  PORTB  
       call   pause4
       goto   M5      
       
M5 
       movlw  b'00101001'
       movwf  PORTB
       call   pause5
       movlw  b'00100101'
       movwf  PORTB
       call   pause5
       movlw  b'00100110'
       movwf  PORTB
       call   pause5
       movlw  b'00010110'
       movwf  PORTB
       call   pause5
       movlw  b'00011010'
       movwf  PORTB
       call   pause5
       movlw  b'00011001'
       movwf  PORTB  
       call   pause5
       goto   M6            
       
M6 
       movlw  b'00101001'
       movwf  PORTB
       call   pause6
       movlw  b'00100101'
       movwf  PORTB
       call   pause6
       movlw  b'00100110'
       movwf  PORTB
       call   pause6
       movlw  b'00010110'
       movwf  PORTB
       call   pause6
       movlw  b'00011010'
       movwf  PORTB
       call   pause6
       movlw  b'00011001'
       movwf  PORTB  
       call   pause6
       goto   M6          
 
;delay = 30'000 machine cycles
pause       movlw       .245
            movwf       Reg_1
            movlw       .39
            movwf       Reg_2
wr          decfsz      Reg_1, F
            goto        wr
            decfsz      Reg_2, F
            goto        wr
	      return
	    
;delay = 24'999 machine cycles
pause2      movlw       .118
            movwf       Reg_1
            movlw       .33
            movwf       Reg_2
wr2         decfsz      Reg_1, F
            goto        wr2
            decfsz      Reg_2, F
            goto        wr2
	        return

;delay = 19'999 machine cycles	    
pause3
	        movlw       .248
            movwf       Reg_1
            movlw       .26
            movwf       Reg_2
wr3         decfsz      Reg_1, F
            goto        wr3
            decfsz      Reg_2, F
            goto        wr3
	        return
	    
;delay = 14'998 machine cycles
pause4
	        movlw       .121
            movwf       Reg_1
            movlw       .20
            movwf       Reg_2
wr4         decfsz      Reg_1, F
            goto        wr4
            decfsz      Reg_2, F
            goto        wr4
	        return

;delay = 9'998 machine cycles
pause5
	        movlw       .251
            movwf       Reg_1
            movlw       .13
            movwf       Reg_2
wr5         decfsz      Reg_1, F
            goto        wr5
            decfsz      Reg_2, F
            goto        wr5
	        return

;delay = 5'000 machine cycles	    
pause6
	        movlw       .125
            movwf       Reg_1
            movlw       .7
            movwf       Reg_2
wr6         decfsz      Reg_1, F
            goto        wr6
            decfsz      Reg_2, F
            goto        wr6
	        return

 

Двигатель гудит, но не вращается. Иногда когда рукой вал повернешь двигатель начинает вращаться.

И еще транзисторы начинают нагреваться  

 

Share this post


Link to post
Share on other sites

Значит неправильно работает программа. Самый простой вариант поиска причины - осциллограф. Просто посмотреть, как идет чередование фаз.

Share this post


Link to post
Share on other sites
44 минуты назад, R3M0ND сказал:

Написал программу для плавного повышения оборотов

серьезно?! ^_^ может для начала с теорией  управления безколекторниками ознакомится  https://habr.com/ru/company/npf_vektor/blog/367653/  да бы не заниматься рукаблудием с 84м пыхом , ему эта задача не по силам.

Share this post


Link to post
Share on other sites
15 минут назад, IMXO сказал:

серьезно?! ^_^ может для начала с теорией  управления безколекторниками ознакомится  https://habr.com/ru/company/npf_vektor/blog/367653/  да бы не заниматься рукаблудием с 84м пыхом , ему эта задача не по силам.

Надо шим алгоритм составить, чтобы был сдвиг между фазами на 120 градусов. По сути 84А должен справиться... 

@BARS_

Подключил осциллограф

Скрытый текст

5d0ccbdcf0d64_bandicam2019-06-2116-20-59-600.jpg.64739409c540e3b92e6969951ba20ce1.jpg

 

Share this post


Link to post
Share on other sites
2 минуты назад, R3M0ND сказал:

84А должен справиться... 

ну-ну... удачи...

Share this post


Link to post
Share on other sites
Только что, IMXO сказал:

ну-ну...

А с PIC16F690 получится ? 

Share this post


Link to post
Share on other sites

будем все камни микромягких перечислять или сходим на оф.сайт апноты по управлению безколекторникими изучим? их есть там.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

×
×
  • Create New...