hCNC3+ (ATMega16, Step\Dir, 3 axis, ШИМ, ручное управление).

схемы на микро контроллерах

Модераторы: Ruz_and, Master-VRI, al-drw

Аватара пользователя
Horeen
Сообщения: 1905
Зарегистрирован: Сб янв 16, 2010 00:00

Re: hCNC3+ (ATMega16, Step\Dir, 3 axis, ШИМ, ручное управлен

Сообщение Horeen » Пт июл 22, 2011 14:46

Как обычно:
viewtopic.php?f=7&t=762
viewtopic.php?f=7&t=374
Вроде ещё ни один не пожалел, кто смог собрать и удачно запустить.

vitalkalm
Сообщения: 7
Зарегистрирован: Вс июн 05, 2011 09:47

Re: hCNC3+ (ATMega16, Step\Dir, 3 axis, ШИМ, ручное управлен

Сообщение vitalkalm » Чт авг 11, 2011 13:37

Есть просьбочка. Прошу Ув. Horeen (из-за отсутсвия исходника, приходится просить автора), так как в процессе наладки спалил порт PB5 контроллера (6 нога), - теперь при подаче питания на схему, двигатель оси X сразу начинает вращаться в одну сторону (как буд-то контроллер думает, что ему 6 pin соединили с землей).
Собственно просьба: можно ли перебросить в прошивке управление осью X с PB5 на PB1? (там, наверное урежутся еще функции управления скоростью и выезд в ноль) Или, если удобней, то выкинуть управление осью X или всех осей вообще?

vitalkalm
Сообщения: 7
Зарегистрирован: Вс июн 05, 2011 09:47

Re: hCNC3+ (ATMega16, Step\Dir, 3 axis, ШИМ, ручное управлен

Сообщение vitalkalm » Чт авг 11, 2011 13:43

Ага, все, сам догнал... Теперь не работает порт MOSI, нужный для программирования. Кирдык контроллеру.

Аватара пользователя
Horeen
Сообщения: 1905
Зарегистрирован: Сб янв 16, 2010 00:00

Re: hCNC3+ (ATMega16, Step\Dir, 3 axis, ШИМ, ручное управлен

Сообщение Horeen » Чт авг 11, 2011 14:12

Понятно. Но в любом случае, я всегда не проч помочь что-то изменить (благо, не велик труд).

Ладно, вот исходник к полной версии hCNC3+ (для 8мГц), может кому-нить пригодится.
Код так и не стал оптимизировать, на комментарии скуп:

Код: Выделить всё

$regfile = "m16def.dat"
$crystal = 8000000

Ddra = &B11111111 : Ddrb = &B00000000 : Ddrc = &B11111000 : Ddrd = &B11100000 : Portb = 255 : Portc = 7 : Portd = 31
Config Int0 = Falling : On Int0 Isr_y : Enable Int0 : Set Gifr.intf0       Обработка сигналов Step\Dir
Config Int1 = Falling : On Int1 Isr_x : Enable Int1         Обработка сигналов Step\Dir
Config Int2 = Falling : On Int2 Isr_z : Enable Int2         Обработка сигналов Step\Dir
Config Timer0 = Timer , Prescale = 1024 : On Timer0 Hold : Enable Timer0 : Start Timer0       Конфигурируем таймер режима удержания
Config Timer1 = Timer , Prescale = 64 : On Timer1 Time_jog : Enable Timer1 : Start Timer1       Конфигурируем таймер джойстика

Config Watchdog = 8192                                      Конфигурируем сторожа зависонов


********************************************************* Объявление переменных *******************************************************

Dim Rs1 As Byte , Rs2 As Byte , Rs3 As Byte , Outx As Byte , Outy As Byte , Outz As Byte , Outxy As Byte
Dim D1 As Byte , D2 As Byte , D3 As Byte , Null As Bit , Hand As Bit , Hold_x As Byte , Hold_y As Byte , Hold_z As Byte
Dim Dirx As Bit , Diry As Bit , Dirz As Bit , Xreal As Long , Yreal As Long , Zreal As Long , Trim_x As Byte , Trim_y As Byte , Trim_z As Byte

Dim T As Byte , Joy_mode As Byte , Joy2 As Byte , Joy_byte As Byte , Speed_hand As Word , Z As Bit ,

Gosub Read_configurate


Enable Interrupts

********************************************************* Главный цикл программы ******************************************************

Do

If Hold_x = 128 Then Incr Trim_x Else Trim_x = 6
If Hold_y = 128 Then Incr Trim_y Else Trim_y = 6
If Hold_z = 128 Then Incr Trim_z Else Trim_z = 6

Outxy = 0

If Pinc.1 = 1 And Trim_x = 6 Then
                                     Outxy = Outxy + Outx
                                     Trim_x = 0
                                     End If
If Pinc.0 = 1 And Trim_y = 6 Then
                                     Outxy = Outxy + Outy
                                     Trim_y = 0
                                     End If
Porta = Outxy
If Pinc.2 = 1 And Trim_z = 6 Then
                                     Portc = Outz
                                     Trim_z = 0
                                     Else
                                     Portc = 7
                                     End If

Reset Watchdog                                              переодически сбрасываем сторожа зависонов
Loop

********************************************************* Реакция на сигналы Step ******************************************************

Isr_x:
Dirx = Pind.4
Gosub Stepx
Return

Isr_y:
Diry = Pind.1
Gosub Stepy
Return

Isr_z:
Dirz = Pind.0
Gosub Stepz
Return

********************************************************* Пересчёт шагов ***************************************************************

--------------------------------------------------------- Драйвер X ----------------------------------------------------------

Stepx:

Полный
If Rs1 = 1 Or Rs1 = 4 Then
If Dirx = 0 Then D1 = D1 + 2 Else D1 = D1 - 2 : If D1 > 9 Then D1 = 7 : If D1 = 9 Then D1 = 1
End If

Полный усиленный
If Rs1 = 2 Then
If Dirx = 0 Then D1 = D1 + 2 Else D1 = D1 - 2 : If D1 = 0 Then D1 = 8 : If D1 = 10 Then D1 = 2
End If

Полушаг
If Rs1 = 3 Then
If Dirx = 0 Then Incr D1 Else Decr D1 : If D1 = 0 Then D1 = 8 : If D1 = 9 Then D1 = 1
End If

If Dirx = 1 Then Incr Xreal Else Decr Xreal

Outx = 0

Подсчёт шагов 1го ШД
Select Case D1
 Case 1 : Outx = Outx + 1
 Case 2 : Outx = Outx + 3
 Case 3 : Outx = Outx + 2
 Case 4 : Outx = Outx + 6
 Case 5 : Outx = Outx + 4
 Case 6 : Outx = Outx + 12
 Case 7 : Outx = Outx + 8
 Case 8 : Outx = Outx + 9
End Select

Toggle Portd.5

Hold_x = 0

Return

--------------------------------------------------------- Драйвер Y ----------------------------------------------------------

Stepy:

Полный
If Rs2 = 1 Or Rs2 = 4 Then
If Diry = 0 Then D2 = D2 + 2 Else D2 = D2 - 2 : If D2 > 9 Then D2 = 7 : If D2 = 9 Then D2 = 1
End If

Полный усиленный
If Rs2 = 2 Then
If Diry = 0 Then D2 = D2 + 2 Else D2 = D2 - 2 : If D2 = 0 Then D2 = 8 : If D2 = 10 Then D2 = 2
End If

Полушаг
If Rs2 = 3 Then
If Diry = 0 Then Incr D2 Else Decr D2 : If D2 = 0 Then D2 = 8 : If D2 = 9 Then D2 = 1
End If

If Diry = 1 Then Incr Yreal Else Decr Yreal

Outy = 0

Подсчёт шагов 2го ШД
Select Case D2
 Case 1 : Outy = Outy + 16
 Case 2 : Outy = Outy + 48
 Case 3 : Outy = Outy + 32
 Case 4 : Outy = Outy + 96
 Case 5 : Outy = Outy + 64
 Case 6 : Outy = Outy + 192
 Case 7 : Outy = Outy + 128
 Case 8 : Outy = Outy + 144
End Select

Toggle Portd.6

Hold_y = 0

Return

--------------------------------------------------------- Драйвер Z ----------------------------------------------------------

Stepz:

Полный
If Rs3 = 1 Or Rs3 = 4 Then
If Dirz = 0 Then D3 = D3 + 2 Else D3 = D3 - 2 : If D3 > 9 Then D3 = 7 : If D3 = 9 Then D3 = 1
End If

Полный усиленный
If Rs3 = 2 Then
If Dirz = 0 Then D3 = D3 + 2 Else D3 = D3 - 2 : If D3 = 0 Then D3 = 8 : If D3 = 10 Then D3 = 2
End If

Полушаг
If Rs3 = 3 Then
If Dirz = 0 Then Incr D3 Else Decr D3 : If D3 = 0 Then D3 = 8 : If D3 = 9 Then D3 = 1
End If

If Dirz = 1 Then Incr Zreal Else Decr Zreal

Outz = 7

Подсчёт шагов 3го ШД
Select Case D3
 Case 1 : Outz = Outz + 128
 Case 2 : Outz = Outz + 192
 Case 3 : Outz = Outz + 64
 Case 4 : Outz = Outz + 96
 Case 5 : Outz = Outz + 32
 Case 6 : Outz = Outz + 48
 Case 7 : Outz = Outz + 16
 Case 8 : Outz = Outz + 144
End Select

Toggle Portd.7

Hold_z = 0

Return

********************************************************* Чтение конфигурации *********************************************************

Read_configurate:

Ddra = &B00000000 : Porta = 0
Set Portc.3 : Waitms 10

If Pina.5 = 0 And Pina.4 = 0 Then Rs1 = 3
If Pina.5 = 1 And Pina.4 = 0 Then Rs1 = 2
If Pina.5 = 0 And Pina.4 = 1 Then Rs1 = 1
If Pina.5 = 1 And Pina.4 = 1 Then Rs1 = 4

If Pina.3 = 0 And Pina.2 = 0 Then Rs2 = 3
If Pina.3 = 1 And Pina.2 = 0 Then Rs2 = 2
If Pina.3 = 0 And Pina.2 = 1 Then Rs2 = 1
If Pina.3 = 1 And Pina.2 = 1 Then Rs2 = 4

If Pina.1 = 0 And Pina.0 = 0 Then Rs3 = 3
If Pina.1 = 1 And Pina.0 = 0 Then Rs3 = 2
If Pina.1 = 0 And Pina.0 = 1 Then Rs3 = 1
If Pina.1 = 1 And Pina.0 = 1 Then Rs3 = 4

Ddra = &B11111111 : Porta = 0

D1 = 1 : D2 = 1 : D3 = 1

If Rs1 = 2 Or Rs1 = 3 Then D1 = 2 Else D1 = 1
If Rs2 = 2 Or Rs2 = 3 Then D2 = 2 Else D2 = 1
If Rs3 = 2 Or Rs3 = 3 Then D3 = 2 Else D3 = 1

Outx = 0 : Outy = 0 : Outz = 7 : Hold_x = 0 : Hold_y = 0 : Hold_z = 0
Trim_x = 0 : Trim_y = 0 : Trim_z = 0

Xreal = 1000000 : Yreal = 1000000 : Zreal = 1000000

T = 10
Reset Null

Joy2 = 0
Joy_byte = 255

Joy_mode = Pinb.1

If Joy_mode = 1 Then
Ddrb = &B00000010
Set Portb.1
End If

Speed_hand = 50000

Return

********************************************************* Работа с джойстиком *********************************************************

Time_jog:


If Joy_mode = 0 Then                                        -управление кнопками

If Joy2 = 0 Then
Joy_byte.0 = Pinb.5                                         RIGHT/MODE
Joy_byte.1 = Pinb.6                                         LEFT/X
Joy_byte.2 = Pinb.3                                         DOWN/Y
Joy_byte.3 = Pinb.4                                         UP/Z
Joy_byte.4 = Pinb.0                                         C/START
Joy_byte.5 = Pinb.7                                         -а/B
End If

If Joy2 = 1 Then
If Pinb.5 = 0 And Pinb.6 = 0 Then Reset Joy_byte.6 Else Set Joy_byte.6
If Pinb.0 = 0 And Pinb.7 = 0 Then Reset Joy_byte.7 Else Set Joy_byte.7
End If

If Joy2 = 3 Then

If Joy_byte.6 = 0 Then
  If Speed_hand < 60000 Then Speed_hand = Speed_hand + 10000
  If Speed_hand => 60000 And Speed_hand < 65000 Then Speed_hand = Speed_hand + 1000
  If Speed_hand => 65000 Then Speed_hand = Speed_hand + 100
  If Speed_hand = 65500 Then Speed_hand = 50000
  Stop Timer1 : Disable Timer1
  Waitms 150
  Start Timer1 : Enable Timer1
  End If

If Joy_byte.7 = 0 Then
 Stop Timer1 : Disable Timer1
 Toggle Null
 Waitms 150
 Start Timer1 : Enable Timer1
  End If

End If
End If






If Joy_mode = 1 Then                                        Шеснадцатибитный джойстик (Sega MegaDrive, Sega Genesis)

If Joy2 = 0 Then
Joy_byte.0 = Pinb.5                                         RIGHT/MODE
Joy_byte.1 = Pinb.6                                         LEFT/X
Joy_byte.2 = Pinb.3                                         DOWN/Y
Joy_byte.3 = Pinb.4                                         UP/Z
Joy_byte.4 = Pinb.0                                         C/START
Joy_byte.5 = Pinb.7                                         -а/B
Reset Portb.1
End If

If Joy2 = 1
Then
Joy_byte.6 = Pinb.7
Joy_byte.7 = Pinb.0
End If

If Joy2 = 2 Then Set Portb.1                                -sYN

If Joy2 = 3 Then

If Joy_byte.6 = 0 Then
  If Speed_hand < 60000 Then Speed_hand = Speed_hand + 10000
  If Speed_hand => 60000 And Speed_hand < 65000 Then Speed_hand = Speed_hand + 1000
  If Speed_hand => 65000 Then Speed_hand = Speed_hand + 100
  If Speed_hand = 65500 Then Speed_hand = 50000
  Stop Timer1 : Disable Timer1
  Waitms 150
  Start Timer1 : Enable Timer1
  End If

If Joy_byte.7 = 0 Then
 Stop Timer1 : Disable Timer1
 Toggle Null
 Waitms 150
 Start Timer1 : Enable Timer1
  End If

End If
End If







Timer1 = Speed_hand

If Joy_byte.0 = 0 Then
 Set Dirx : Set Hand : Gosub Stepx
  End If

If Joy_byte.1 = 0 Then
 Reset Dirx : Set Hand : Gosub Stepx
  End If

If Joy_byte.2 = 0 Then
 Set Diry : Set Hand : Gosub Stepy
  End If

If Joy_byte.3 = 0 Then
 Reset Diry : Set Hand : Gosub Stepy
  End If

If Joy_byte.4 = 0 Then
 Set Dirz : Set Hand : Gosub Stepz
  End If

If Joy_byte.5 = 0 Then
 Reset Dirz : Set Hand : Gosub Stepz
  End If

If Null = 1 Then                                            Возврат в "ноль"
Set Hand
If Xreal > 1000000 Then Reset Dirx Else Set Dirx
If Xreal <> 1000000 Then Gosub Stepx
If Yreal > 1000000 Then Reset Diry Else Set Diry
If Yreal <> 1000000 Then Gosub Stepy
If Zreal > 1000000 Then Reset Dirz Else Set Dirz
If Zreal <> 1000000 Then Gosub Stepz
If Xreal = 1000000 And Yreal = 1000000 And Zreal = 1000000 Then
 Reset Null
 Reset Hand
 End If
End If

Incr Joy2
If Joy2 > 3 Then Joy2 = 0

Return

********************************************************** Режим удержания ************************************************************

Hold:

If Hold_x < 128 Then Incr Hold_x Else Reset Portd.5
If Hold_y < 128 Then Incr Hold_y Else Reset Portd.6
If Hold_z < 128 Then Incr Hold_z Else Reset Portd.7

Return
********************************************************* Дальше нет ничего ***********************************************************

vitalkalm
Сообщения: 7
Зарегистрирован: Вс июн 05, 2011 09:47

Re: hCNC3+ (ATMega16, Step\Dir, 3 axis, ШИМ, ручное управлен

Сообщение vitalkalm » Чт авг 11, 2011 14:27

Ух-ты-ы. Большое Вам Спасибо!

xtrrt
Сообщения: 4
Зарегистрирован: Чт авг 11, 2011 20:31

Re: hCNC3+ (ATMega16, Step\Dir, 3 axis, ШИМ, ручное управлен

Сообщение xtrrt » Чт авг 11, 2011 20:43

Здравствуйте, я новичек в контролере ШД ето мой первый, собрал ваше устройство пока только один канал налаживаю, сегодня подключал к компу к программе mach3 теперь вот вопрос я не вижу разницы при переключении переключателей 1 и 2 согласно описанию или я просто не так понимаю полушаг ето деление шага пополам, или настроить надо mach3? Заранее благодарен за ответ.

Аватара пользователя
Horeen
Сообщения: 1905
Зарегистрирован: Сб янв 16, 2010 00:00

Re: hCNC3+ (ATMega16, Step\Dir, 3 axis, ШИМ, ручное управлен

Сообщение Horeen » Чт авг 11, 2011 21:08

Для того, что бы новые режимы шага вступили в силу, требуется выключить контроллер и включить снова.
Мач трогать не надо, если цель просто увидеть разницу.
На полушаге должно вращаться в два раза медленнее, чем было при полном шаге (когда частота Step не изменна).

Шаг одной фазой от шага двумя фазами по скорости не отличается.

Это всё не относится к управлению от джойстика, т.к. тот сам подстроится под режим шага и скорость не изменится.

xtrrt
Сообщения: 4
Зарегистрирован: Чт авг 11, 2011 20:31

Re: hCNC3+ (ATMega16, Step\Dir, 3 axis, ШИМ, ручное управлен

Сообщение xtrrt » Чт авг 11, 2011 21:54

Спасибо за ответ! Я использую ШД DUNAZUN 4SHG-023A 39S чтобы обеспечить ток 1,5А пришлось уменьшать резистор последовательно с регулятором, при етом транзисторы когда работает от джойстика сильно греются стоят сейчас без теплоотвода. Вопрос в принтере откуда я их снял были ключи на транзисторы 819 и они стояли тоже без теплоотвода неужели они тоже так грелись? Прикреплю datasheets на етот ШД хотя я думаю он вам известен.
Вложения
4shg-023a.rar
(106.36 КБ) 517 скачиваний

Аватара пользователя
Horeen
Сообщения: 1905
Зарегистрирован: Сб янв 16, 2010 00:00

Re: hCNC3+ (ATMega16, Step\Dir, 3 axis, ШИМ, ручное управлен

Сообщение Horeen » Чт авг 11, 2011 22:23

Вы превысили рекомендованный ток. Вроде как я его тоже не с потолка указывал (1а и не сильно низкоомные ШД). Случилось то, что и ожидалось.
В принтере было получше, из-за оптимальной реализации ШИМа, а не кое-как (как в моём проекте).
Да и что значит сильно? Вы же в принтере не щупали. А транзистору и +60 не температура (хотя уже рукой не удержать).

Хотите что бы не грелось? Отключайте ШИМ и питайте силовую часть от 3.3в. Хотя всё-равно на транзисторе рассеется ~2Вт, т.е. холодным без радиатора он, скорее всего, не будет.
Ещё как вариант, можно попробовать заменить ключи на полевые транзисторы с накачкой логическим уровнем.

P_M_Ch
Сообщения: 9
Зарегистрирован: Сб июн 11, 2011 06:04

Re: hCNC3+ (ATMega16, Step\Dir, 3 axis, ШИМ, ручное управлен

Сообщение P_M_Ch » Сб авг 27, 2011 22:45

Ув. Horeen, а можно ли сделать прошивку так, чтобы можно было использовать внешние драйвера с шим, но при этом на выходах МК оставались и после остановки двигателей управляющие уровни, а собственный ШИМ контроллера при этом не задействовать?
Дело в том, что у меня, да и у многих тоже, двигатели, ток которых превышает 1А. Сам контроллер просто замечательный, но драйверы и ШИМ больший ток не тянут, к сожалению.
С "родными" драйверами двигатели Sanyo Denki 103G770-1856(1.5A, 3.5V, 0.65Nm) быстрее 100 об/мин раскрутить так и не смог, при этом момент такой, что достаточно прикоснуться к шкиву пальцем и всё - тормоз, а сегодня из природной вредности вместо штатных 390ом+КТ829+HER306+LM393(просто выдрал из схемы) подключил старенький, да к тому же и не совсем работающий, драйвер на 2SC4606+MC34063, в базах - 1kOhm. Схема была опубликована в статье "Электроника и механика 3-х координатного станка с ЧПУ".
От полученного результата просто ошалел!!! Mach3 просто не хватило диапазона скорости настройки оси, чтобы остановить двигатель!!!
266,6666 шагов на оборот, 5625(предел) мм/сек, ускорение разгон/торможение кажется 350 mm/sec/sec и при этом ещё сохранялся какой-то, хоть и совсем небольшой момент. Двигатель просто свистел так, как не каждый коллекторный может! Всё устройство запитывал от лабораторного болгарина(ТЕС какой-то) с защитой по току 1А, напряжение подавал около 30-ти вольт, стрелка амперметра лежала на ограничителе и блок уходил в режим стабилизации тока, так что ток потребления замерять не смог, но движок после 30-40-ка минут прогона туда-сюда остался холодным, градусов 30-35, не больше, транзисторы в пластмассе и без радиатора нагрелись градусов до 80-ти, ещё не шипели, но больше секунды палец не удержать.
А вот после стопа двигателя на выходах МК - "0", т.е. никакого удержания и пошаговый режим не работает, хотя изначально, т.е. до разборки, и удержание и пошаговый были, правда я так и не смог настроить ток 1,5А. Опорное напряжение на входе компаратора выставляю 0,15В, а на датчике тока амплитуда импульсов ок. 0,5В, т.е. ток через двигатель порядка 5-ти ампер. Через 2 минуты изначально матовое лужение транзисторов становится зеркальным и движок градусов под 90.
Так что с нетерпением жду резюме Авторитета.
Заранее спасибо.

Аватара пользователя
Horeen
Сообщения: 1905
Зарегистрирован: Сб янв 16, 2010 00:00

Re: hCNC3+ (ATMega16, Step\Dir, 3 axis, ШИМ, ручное управлен

Сообщение Horeen » Вс авг 28, 2011 00:21

Версии для трёх МК без ШИМа и снижения тока в удержании. Просто транслятор из Step\Dir в параллельный вид, с джойстиком. Тактирование от внутренних 8мГц.

Так же добавил на первую страницу, мож ещё кому сгодится.

P_M_Ch
Сообщения: 9
Зарегистрирован: Сб июн 11, 2011 06:04

Re: hCNC3+ (ATMega16, Step\Dir, 3 axis, ШИМ, ручное управлен

Сообщение P_M_Ch » Вс авг 28, 2011 08:56

Ага, спасибо, Horeen, весьма оперативно. Сегодня попробую.

Аватара пользователя
aegis
Сообщения: 352
Зарегистрирован: Вт июн 01, 2010 23:00
Откуда: Конотоп, Украина
Контактная информация:

Re: hCNC3+ (ATMega16, Step\Dir, 3 axis, ШИМ, ручное управлен

Сообщение aegis » Вс авг 28, 2011 21:19

P_M_Ch, а куда вы подключаете драйвера?

Аватара пользователя
Horeen
Сообщения: 1905
Зарегистрирован: Сб янв 16, 2010 00:00

Re: hCNC3+ (ATMega16, Step\Dir, 3 axis, ШИМ, ручное управлен

Сообщение Horeen » Вс авг 28, 2011 22:06

Очевидно, вместо штатных. Т.к. контроллер имеет обычные выходы, представляющие собой три группы по четыре провода, точно как у VRI-CNC и вообще большинства контроллеров. Неважно что на них будет повешено (транзисторы как в оригинале, ULN2803, L298, или любой другой драйвер).

P_M_Ch
Сообщения: 9
Зарегистрирован: Сб июн 11, 2011 06:04

Re: hCNC3+ (ATMega16, Step\Dir, 3 axis, ШИМ, ручное управлен

Сообщение P_M_Ch » Пн авг 29, 2011 00:09

Совершенно верно, включаю вместо штатных. Сегодня пробовал подключить со штатным ШИМ - скорость очень резко упала. Потом пробовал со свежей прошивкой, но забыл выводы МК повесить на +5В, так что после остановки движков всё равно на выходах нули, потом ещё экспериментировл с питанием двигателей от +5-ти вольт, потом забыл снять перемычку с шины питания на выход 7805, подал +30В и наконец-то понял НЕЛЬЗЯ В ВОСКРЕСЕНЬЕ РАБОТАТЬ!!!
P.S. Завтра иду за новым процессором(если удастся найти), а так хорошо всё начиналось.


Вернуться в «применение микро контроллеров»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 0 гостей