ЧПУ на arduino

mat
mat аватар
Offline
Зарегистрирован: 05.07.2012

 Ну почему не пользовался, пользуюсь. Только не на 399 позиций... 
Хорошо, тогда такой вопрос, какой же всё- таки выбрать индикатор ? Мне что- то кажется что 16х2 хоть и бюджетный но, и по возможностям тоже, бюджетный. А 20х4 будет удобнее. Или взять графический, с тачскрином ? Там наверное ещё больше удобств ? Ну, нет у меня сейчас денег на всё. И не знаю ни фига про МК... Может, когда дисплей подключу и смогу поэкспериментировать с разными способами ?

AlexFisher
AlexFisher аватар
Offline
Зарегистрирован: 20.12.2011

На компьютере очень удобно производить мелкие вычисления в экселе... Но с  тем же успехом их можно выполнить и на калькуляторе.

Подумайте, что Вам нужно отображать на индикаторе - выбирайте достаточный, если здесь и нужен запас, то совсем не большой - на дальнейшее развитие. Судя по задачам, можно вообще обойтись 4-х разрядным 7-сегментным индикатором... Не пойму, почему 16х2 мало, Вы туда что выводить то собрались?

mat
mat аватар
Offline
Зарегистрирован: 05.07.2012

Я представления не имею, как и что будет выводиться ?. Хотел бы так, на дисплее есть строка: подача продольная- поперечная, в мм на оборот или резьба. И выбор типа - метрическая, Withwort, питчевая, модульная. Следующая строка, шаг резьбы в мм . В дюймовых, нитки на дюйм, в модульных - модуль. Выбор конуса.
Потом нужен шаг. Его нужно выбрать. Из чего ? Либо табличная, либо перебор по декадам. Можно хоть как реализовать или есть определённые ограничения ? Я же понятия не имею. Как я могу что сказать ? Когда начну работать, тогда и буду знать, а пока... Вот, сейчас нашёл индикатор от бытовой аудиоаппаратуры, думаю, как его подключить ? Подсветку нашёл, синхронизацию вроде тоже нашёл, попозже попробую подключить к Arduino. И понятия не имею, как дальше буду двигаться ? Там же нужно с библиотекой разобраться... В общем мне пока эта проблема абсолютно не ясна. Пока ясно одно, голые цифры мне не достаточны. Нужна ещё инфа, подсказывающая, что это за цифры ?
Вот, как то так думаю.

AlexFisher
AlexFisher аватар
Offline
Зарегистрирован: 20.12.2011

Думайте, что Вам нужно. Если недостаточно 2 строк, берите 4. Если нужно одновременно выводить одновременно 4 строки, конечно. Я на 8х2 индикаторе выводил название режима и 2 параметра. Пользовался сокращениями, естественно. Но это - дело вкуса. Но с тем, что и как нужно выводить на экран, нужно определиться ДО выбора индикатора. Лучше нарисовать "экраны" на бумаге с клеточками - очень для дизайна вывода информации помогает.

mat
mat аватар
Offline
Зарегистрирован: 05.07.2012

 Ну, хорошо, тогда вопрос, а кириллицу можно организовать на дисплее ? Или только латиница ? А смешанную т.е. одновременно кириллицу и латиницу ?

AlexFisher
AlexFisher аватар
Offline
Зарегистрирован: 20.12.2011

Некоторые дисплеи не имеют кирилицы, но все имеют программируемые символы. Вообще знакогенератор в дисплеях весьма оригинальный, там русские буквы есть только те, которых нет в англиском (по начертанию). Например, нет русской буквы А, используется англиская А, что создает трудности только на этапе программирования. Но есть программульки, конвертирующие русский в то, что нужно дисплею. Например, "Привет, мир!" будет выглядеть как "Ёpёіeї, јёp!" Это потому, что там такой знакогенератор:

Знакогенератор

Иначе говоря, любая русская фраза - это смесь латинских и русских символов, так что одновременно кирилицу и латиницу выводить можно :)

mat
mat аватар
Offline
Зарегистрирован: 05.07.2012

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

Tosha_info
Offline
Зарегистрирован: 01.08.2012

Спасибо всем за советы, но остался ещё один нерешенный вопрос. Допустим купил я ардуину, а дальше?

1. Какую прогу выбрать для печати 3D объектов? Например Mach3, но как подружить с ней ардуину???

2. Как зарпограммировать ардуину чтобы она понимала что её передаётся с этой проги на печать? Библиотека Stepper на www.arduino.cc есть, управлять как-то можно, но надо подружить прогу которая будет пересылать байты на печать с самой ардуиной.

Благодарю за ответ!!!

AlexFisher
AlexFisher аватар
Offline
Зарегистрирован: 20.12.2011

Если Вы берете MACH3, то дуина Вам не потребуется, потому что мач сам рулит шаговыми двигателями. Прочитайте ветку сначала, я выкладывал прогу для ардуины (свою) и клиента для отсылки G-кодов. Ардуина нужна только если в ней зашить интерпретатор и посылать в нее G-коды по USB (или по сети, если с ethernet-шилдом). Я пока своим интерпретатором недоволен (нет режима разгон-торможение шаговиков, из-за этого сильно занижена скорость холостого прохода). Буду переписывать с использованием библиотеки AF-stepper/

mat
mat аватар
Offline
Зарегистрирован: 05.07.2012

 Выкроил сегодня время, запустил индикатор от бытового аудиоцентра. Сейчас попробую поэкспериментировать с выводом символов...

Попутно вопрос, а семисегментные индикаторы, как подключать к Arduino ?

leshak
Offline
Зарегистрирован: 29.09.2011

mat пишет:

Попутно вопрос, а семисегментные индикаторы, как подключать к Arduino ?

Встречно ответ http://bit.ly/Oovkkk

И бурчание в догонку: а так ли уж это связанно с темой "Станок ЧПУ"?

mat
mat аватар
Offline
Зарегистрирован: 05.07.2012

 Обычно в Поиске надолго вязну, поэтому решил спросить здесь, в надежде на быстрый ответ. Не оправдались, надежды...
С темой, конечно, не связано, связано с человеком, который помогает. Прошу прощения.

Tosha_info
Offline
Зарегистрирован: 01.08.2012

AlexFisher пишет:

Если Вы берете MACH3, то дуина Вам не потребуется, потому что мач сам рулит шаговыми двигателями. Прочитайте ветку сначала, я выкладывал прогу для ардуины (свою) и клиента для отсылки G-кодов. Ардуина нужна только если в ней зашить интерпретатор и посылать в нее G-коды по USB (или по сети, если с ethernet-шилдом). Я пока своим интерпретатором недоволен (нет режима разгон-торможение шаговиков, из-за этого сильно занижена скорость холостого прохода). Буду переписывать с использованием библиотеки AF-stepper/

Хотелось бы взять нечто недорогое, и вполне работоспособное с Mach3.

Давайте по порядку. Сам по себе Mach3 не может рулить шаговыми двигателями, потому что Mach3 это программа, а шаговики - это железо, и между ними нужна прослойка. Для шаговиков нужны как минимум драйверы шаговых двигателей, а так же железяка, которая будет с компа с USB порта принимать данные и отправлять их на драйвер шаговых двигателей. Я нашел следующее железо:

Драйвер для шаговых двигателей, рассчитан на 2 ампера, на микросхеме L298N:

www.ebay.com/itm/Dual-H-Bridge-DC-Stepper-Motor-Drive-Controller-Board-Module-L298N-arduino-/251080674810

www.buyincoins.com/details/new-v3-arduino-driver-motor-controller-shield-l298n-2a-2-motors-module-product-11952.html

Так же хотел взять один драйвер помощнее, ампера на 3 - 4, чтобы самую тяжелую часть вдоль станины тягать, и мотор NEMA 23 (2.4A), он посильнее будет, а остальные двигателя (NEMA 17, 1.8A) чтобы работали через недорогой драйвер.

Так же нашел ещё один драйвер, кто-то на нем даже собирал маленький ЧПУ, но у него мощность маловата для моих целей:

www.ebay.com/itm/EasyDriver-Drive-Stepper-Motor-Driver-Board-For-Arduino-A112-/251104515746

Основные двигателя для всех осей кроме привода самой тяжелой части: 

www.ebay.com/itm/5pcs-NEMA17-78-oz-in-CNC-stepper-motor-1-8A-/290701903974

www.ebay.com/itm/3pcs-NEMA17-78-oz-in-CNC-stepper-motor-stepping-motor-1-8A-/300740288327

Далее, основной мозг, который будет принимать команды с компа и раздавать команды драйверам. Вначале думал сделать на Arduino 2560, но нужна программа, самому писать времени много нету. Альтернативный вариант - нашел несколько таких железяк на www.ebay.com, какую выбрать пока не определился. Основным кртерием выбора - работа Mach3 через USB, ибо ноутбук и всё такое, LPT не актуален, объём данных пересылаемых с Mach3 очень мал, никакая параллельность не нужна. Вобщем вот железяки что я нашел:

www.ebay.com/itm/ws/eBayISAPI.dll - самый недорогой, всего 20 баксов, 5 осей, работает с Mach3... 

www.amazon.com/Sabrent-DB25F-Parallel-Printer-USB-DB25F/dp/B000CRWRZ2 - переходник, чтобы LPT не пугал

www.ebay.com/itm/DIY-Engraving-Machine-MACH3-USB-CNC-4-Axis-Interface-Breakout-Board-Adapter-/180904632361 - 4 оси

www.ebay.com/itm/CNC-Router-5-Axis-TB6560-3-5A-Stepper-Motor-Driver-Board-Controller-/180869830251 - 5 осей

www.ebay.com/itm/6-Axis-MACH3-Isolated-Interface-Breakout-Board-Adapter-High-Speed-Optocoupler-/170831830940 - 6 ОСЕЙ!!!!!!!!!!!!!!!, целых 6, как поддерживает Mach3 !!!

 www.ebay.com/itm/5-Axis-CNC-Kit-TB6560-Stepper-Motor-Driver-LED-Display-Handle-Controller-/170831202095 - а этот хоть и на 5 осей, но в нем в комплекте есть индикатор в цифре и выносной пульт... не знаю на сколько это вообще нужно, но оно есть )))

===================================================

Остаётся главный вопрос. Я собираю 3D принтер и мне нужно будет подавать материал (пластиковые стержни) на разогрев, а оттуда уже будет вылазить платик и печататься. Надо подавать пластик всё время, скорость подачи пластика должна зависеть от скорости подачи печатающей головки по 3-м осям. в Mach3 это можно настроить, или надо писать свою прогу для чтения файлов с командами (посути там строки) и передачи в порт? Или всё же заюзать ардуино 2560? Вобщем я немного в растерянности...

ОЧЕНЬ ЖДУ КОНКРЕТНЫХ СОВЕТОВ!!!

За что заранее весьма признателен :)

 

 

 

mat
mat аватар
Offline
Зарегистрирован: 05.07.2012

 Вы ничего не путаете, с этими железками ?

Tosha_info
Offline
Зарегистрирован: 01.08.2012

mat пишет:

 Вы ничего не путаете, с этими железками ?

Вроде бы нет, если хотите узнать что-то конкретное то задавайте конкретные вопросы, от абстрактных мало пользы.

Tosha_info
Offline
Зарегистрирован: 01.08.2012

 Есть предложение. Я могу доработать прогу для ардуины, сделать ускорение и торможение и т.д. чтобы управлять через неё. Ардуина 2560 стоит всего 18 баксов, самый недорогой вариант, + можно прошить все G-коды и М-коды. Там софтину и интерпретатором назвать трудно, примитивный парсер посути нужен, а так же управление шаговиками через интерполяцию. А софтину на комп хотел бы написать на WPF. Смотреться будет приятно, можно добавить любой функционал под любой станок... вобщем, преждагаю скооперироваться. Можем договориться о том что скинете мне последнюю версию исходников, пообщаемся о + и - по скайпу и напишем что-то полудобнее чем Mach3. Интерфейс последнего Mach3 у меня вызвал только отвращение.

AlexFisher
AlexFisher аватар
Offline
Зарегистрирован: 20.12.2011

Заниматься своим станком пока нет времени. Вернусь к нему не раньше сентября. Пока экспериментировал - изрядно расшатал механику. На скорую руку сделал компенсацию люфта для сверловки и сверлю платы. Исходников не жалко:
1. Проект для ардуины
2. клиент для PC на VS2010

Tosha_info
Offline
Зарегистрирован: 01.08.2012

AlexFisher пишет:

Заниматься своим станком пока нет времени. Вернусь к нему не раньше сентября. Пока экспериментировал - изрядно расшатал механику. На скорую руку сделал компенсацию люфта для сверловки и сверлю платы. Исходников не жалко:
1. Проект для ардуины
2. клиент для PC на VS2010

Спасибо, будет больше свободного времени - опишу всё. Я больше ориентируюсь на много осей а не на 3, т.к. хочу сделать 3D принтер, хотя конечно фрезер (плоттер) тоже интересно, те же платы делать. В принтере надо ещё подавать материал (например пластик), следить за температурой и куча всего другого.

Krash70
Offline
Зарегистрирован: 24.09.2012

LPT себя ещё долго не изживёт. Как писал форумчанин, USB - это транспорт. Мы купили однажды переходник USB-LPT. Он не заработал. Так как отсылает команды "пакетом", а для ЧПУ нужно иметь возможность управлять отдельными пинами независимо друг от друга. Тут подойдёт переходник PCI-LPT, стоит ок 800 руб. Он полноценно эмулирует LPT - проверено неоднократно. Вообще лучше взять платку DCM4AXIC (http://www.cnccontrollers.ru/) стоит ок. 2300 руб., а всю остальную обвязку сделать на Ардуине. Платка нелохая, но иногда реле "глючат". Впрочем, их (платы) москвичи меняют. Но один небольшой минус - требуется LPT кабель с распайкой Центроникс и кроме того, распиновка в плате "зашита" жёстко. Ну и не надо забывать, что Винда тоже хочет иногда работать с LPT портом, поэтому возможны "глюки" (для этого лучше брать Windows ХР Embedded)

AlexFisher
AlexFisher аватар
Offline
Зарегистрирован: 20.12.2011

Эксплуатирую китайский станок. Для управление пришлось собрать простенький комп. Нехорошо это... Станок должен быть самодостаточен. Продаются, конечно, блоки управления, но стоят столько же, сколько и мой станок :)

Закладываю на стапеля новый станок, с более мощным шпинделем. Управление буду делать на ардуине - интерпретатор G-кода уже есть, нужно сделать правильные разгон/торможение, ну и читать G-код не через USB с компа, а с флешки или SD-карточки. Ну и экранчик, соответственно. Вот только по шаговым пока думаю... Может буду пробовать коллекторные с энкодерами.

mat
mat аватар
Offline
Зарегистрирован: 05.07.2012

 Здесь даже думать не нужно, шаговику на шпинделе не место. Мало того что, ресурсов у него не хватает для этого дела, так ещё и орёт, аки свинья на бойне. Коллекторник тут самымй уместный.

И почему вы все так упираетесь в этот G-код ? Станок должен работать самостоятельно, без компьютера. Компьютер подключается только в случае сложной или серийной работы. Но, тогда и Arduino отключается и всё управление передаётся компьютеру.

AlexFisher
AlexFisher аватар
Offline
Зарегистрирован: 20.12.2011

Во-первых, шаговик не на шпиндель, а на его таскание (оси перемещений), во-вторых, на шпинделе более уместен все же безколлекторник, но за неимением...

А G-код - это просто. Интерпретатор простенький, код в ардуину загрузил - она и работает по нему самостоятельно, не буду же я ардуининой DXF обсчитывать!

mat
mat аватар
Offline
Зарегистрирован: 05.07.2012

 Ребята, ну что, сдвинется дело с мёста ? Сколько времени прошло и ни какого прогресса... Сам я на программировании застрял, не моё это. Может кто- нибудь набросает, хотя бы фрагмент, скетча, как в Arduino ввести инфу с энкодера на 16 импульсов и как он её выдаст на выход, после вычислений, скажем, для шага резьбы 3 мм ? У самого есть мысль сигналы с энкодера подать на вход прерываний но, нет уверенности. Да и спалить, почём зря, боязно... Я уж не говорю про сами вычисления, для меня это вообще чудо.

AlexFisher
AlexFisher аватар
Offline
Зарегистрирован: 20.12.2011

Скетч делают не чтобы как ввести инфу, а чтобы ввести, а как - это Вы должны определиться самостоятельно . Так что это Вы сами себе вопросы написали. А то даже не понятно, про какой выход идет речь (выходов на ардуине много), и уж тем более никто не знает, что должен контроллер сделать с импульсами, чтобы они стали похожи на шаг резьбы 3мм :)

mat
mat аватар
Offline
Зарегистрирован: 05.07.2012

 Написал же в начале, что я ожидаю... Вот что время делает.

Попробую ещё раз. На станке хочу поставить энкодер, (сначала хотел многопозиционный переключатель поставит ) с помощью которого можно было бы выбирать, подачу-шаг, после нажатия Пуск вся инфа должна сохраниться в памяти. Для точки отсчёта используется инфа о частоте вращения шпинделя. Arduino должен выдать сигнал Step/Dir на контроллер. Ну и, само собой индикатор.

На основании такой инфы, можете написать скетч ? Или ещё что- то нужно ?

AlexFisher
AlexFisher аватар
Offline
Зарегистрирован: 20.12.2011

 Ну... времени прошло прилично, к какой схеме Вы пришли в результате - неизвестно.

Информации, конечно, недостаточно. Но, в результате понструктивного диалога, всю информацию можно получить :)

Я могу написать, но сейчас уже взялся за интересный проект. Освобожусь недельки через 2. Если к тому времени ничего не решится - обращайтесь, договоримся.

mat
mat аватар
Offline
Зарегистрирован: 05.07.2012

 Ну что ж, придётся подчиниться, грубому нажиму.

Куда ж я денусь ? Конечно подожду. По поводу схемы. Ну как я могу создать схему, если понятия не имею, какие выводы Arduino для чего нужно использовать ? По моим представлениям, ШИМ- выводы будут использованы для подключения к контроллеров, индикатора. Прерывания будут завязаны на один энкодер ввода и другой энкодер шпинделя. А это действительно, единственно приемлемый вариант ? На этот вопрос я ответить пока не могу. Когда научусь , тогда отвечу. Концевые и прочие атрибуты, будут потом подключаться, сейчас я даже над этим и не пытаюсь думать.

Если говорить откровенно то, я даже нашёл схему, которая почти подходит под мои требования, нужно только внести некоторые изменения и под Arduino подправить и программа там написана на C. Без плюсов. Я её пробовал в CodeVisionAVR загружать но, на этом мои познания заканчиваются. Самому переписать её для Arduino мне пока не по зубам. Скачал книгу CodeVisionAVR Пособие для начинающих М.Б.Лебедев 2008-600M.djvu, а STDU- viewer её не может открыть

Runtime Error!
Program: C:\Program Files\STDU Viewer\STDUViewerApp.exe

This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.

Прям невезуха какая- то... В общем, буду ждать и надеяться.

AlexFisher
AlexFisher аватар
Offline
Зарегистрирован: 20.12.2011

 Я имел в виду механическую схему, ну, может, электро-механическую, т.е. где что стоит, что ха сигналы подает, чем управляется... Короче "организационные мелочи". А вообще, задача мне довольно близка. А по поводу "подождать", я же не против, если кто другой возмется.

Tosha_info
Offline
Зарегистрирован: 01.08.2012

 Железо уже купил, только пока нет времени этим заняться. Как только освобожусь - буду делать, скину результаты ;-)

mat
mat аватар
Offline
Зарегистрирован: 05.07.2012

 Да я всякому рад, только ведь, нет никого... Ладно, сколько ждал, подожду ещё.

AlexFisher
AlexFisher аватар
Offline
Зарегистрирован: 20.12.2011

Пришли шаговики из китая. Буду ими крутить ходовые винты, но хочу обратную связь на энкодерах все равно, потому что под нагрузкой могут шаги пропускать.

mat
mat аватар
Offline
Зарегистрирован: 05.07.2012

 Не могут, а будут. Спрашивается, зачем ставить шаговик, если энкодер будете применять ? Тогда уж ставьте серво... В чём смысл Вашего выбора ?

AlexFisher
AlexFisher аватар
Offline
Зарегистрирован: 20.12.2011

Срвы с нужными характеристивами дорого. А обратную связь хочу не с ходового вала, а с объекта, им перемещаемого. Что-типа измерения люфтов, вибраций, калибровки ускорений... Со временем можно попробовать заменить шаговик на коллекторник.

Tosha_info
Offline
Зарегистрирован: 01.08.2012

 Я планирую на шаговых всё делать. Двигло уже есть, контроллеры и интерфейсы тоже, осталось CNC железо взять (рельсы и т.д.)

mat
mat аватар
Offline
Зарегистрирован: 05.07.2012

 Да какие там нужные характеристики ? Что Вы будете, лопатки турбин обрабатывать ? Первый попавшийся коллектроник, печка с того же автомобиля, удовлетворит любые амбиции, для токарного станка. Тихо и не дорого. Только, энкодер должен стоять всё таки на валу двигателя. Попытка поставить его в другом месте, доставит много неожиданных эффектов и не мало удивления, только не точность. Это будут и вибрации и могучие удары и даже звуки, похожие на завывания ветра в трубе. Проходили, слышали... Токарный станок, это не тот объект, в который нужно вкладывать уйму денег, чтобы создать нечто, способное поразить воображение, точностью обработки. Не упоминая про то, что это домашняя мастерская. Ребята, будьте реалистами.

Tosha_info, ну, Вам теперь отступать некуда, деньги потрачены, задуманное куплено. Только, imho, достанут Вас эти вопли и скрежет шаговиков. На микро шаг надежды мало, не те режимы на токарном станке.
Будем надеяться что у Вас, всё получится так, как задумано.

AlexFisher
AlexFisher аватар
Offline
Зарегистрирован: 20.12.2011

Ну, во первых, CNC - это не токарный станок, во-вторых, на микрошаге движки работают практически бесшумно.

Чтобы получить хороший результат, система должна быть охвачена общей обратной связью. А чтобы не было неожиданностей типа "стучит" или "пошло в разнос", есть такая наука - автоматика, где все считается. Заумная, конечно, но очень действенная. 

Я хочу ввести общую обратную связь в основном для контроля и автокалибровки, основная работа будет вестись "по старинке"

mat
mat аватар
Offline
Зарегистрирован: 05.07.2012

 Я не обсуждаю, что такое CNC, я просто говорю что, дома CNC НЕ НУЖЕН. На CNC нужно зарабатывать, а не развлекаться. Конечно, если у Вас есть в достаточном количестве денежные знаки то, да, можете сделать домой. Только, я бы, при наличии такого количества этих же знаков, сделал иначе.

Что такое автоматика прекрасно знаю. Мне бы скетч, а остальное я сам сделаю. Помогите пожалуйста.

Kislorof
Offline
Зарегистрирован: 30.10.2012

Так а что там вашего скетча то? В библиотеках для драйвера двигателья есть всё, что вам надо. 

mat
mat аватар
Offline
Зарегистрирован: 05.07.2012

 Проблема в том, что я в этом деле полный нуль. Мне бы хотя бы скелет скетча, а мясо я бы поробовал нарастить. Конкретно, я не знаю как в скетче расписать ввод в контроллер данных с энкодера, запись и сохранение введённых параметров в память. Из этих ( введённых ) данных сформировать сигнал для управления контроллером и сравнивать инфу с энкодера шпинделя и винтов подач. Имеются в виду не энкодеры на винтах, а энкодеры на двигателях винтов подач. И ещё нужно выводить на индикатор инфу. В общем, мне кажется тут готовыми библиотеками не отделаться. Нужно ещё как- то эти библиотеки к делу пристроить... Мне это не по зубам, не моё это. Обещали помочь и, похоже, времени нет у людей. Ребята, может кто набросает блоки и связи между ними. А я бы попытался содержимое сотворить... Ну, надо же что- то делать. Сколько времени прошло,а дело с места даже не сдвинулось.
По отделности все эти примеры с подключением дисплея, энкодера, движков  я проделал. Только пользы от них никакой. Ну, или я не могу их использовать с пользой. Помогите пожалуйста, если можете.

Kislorof
Offline
Зарегистрирован: 30.10.2012

Тогда для начала посоветую AFCE - во-первых очень удобно писать алгоритмы, а во-вторых - она сразу по ним пишет код на с++ - если подойти с умом кнопок жать придется в 10 раз меньше))))

Энкодер вешаете исключительно на прерывание т.к. иначе вы будете пропускать с него сигналы

По алгоритму - читай выше. Пишешь, например в нем отдельные фукции-заглушки (пустые, которые ничего не делают) в нужных местах - типа тут сделать это, тут сделать то. Потом Пишешь каждую отдельную функцию как программу, вылизываешь её, и вставляешь вместо очередного блока в программу. И когда делаешь всё так по шагам - всё оказывается не так уж и сложно. По энкодеру скоро буду писать кусок - могу поделиться, но у меня он будет выполнять не контролирующую функцию как должен по идее, а управляющую - у меня вся система пляшет от показаний другого энкодера. 

mat
mat аватар
Offline
Зарегистрирован: 05.07.2012

Если я правильно понимаю, AFCE это какая то программа ? Хорошо, поищу.

Я уже думал над таким вариантом, сначала написать заглушки, а потом наполнять их содержимым. Только, дальше этих размышлений, я не смог продвинуться. Ну, как например будет выглядеть заглушка, для управления контроллером ? Управлять двигателем можно, imho, по заранее составленной таблице подач- шагов и по расчёту на лету. Как я слышал, по таблицам якобы Arduino будет быстрее обрабатывать но, это всё, что я смог понять. Или, набрал я на энкодере величину подачи, скажем 0,05мм/об. На индикаторе я это могу показать, хотя не совсем так, как хочу но, это пока можно пропустить. А вот, как эту подачу теперь занести в память и в заглушку уравления контроллером ? И как из контроллера получить ( вывести ) сигнал ? В общем, на каждом шагу, передо мной как и перед любым новичком, встаёт масса вопросов и непоняток ? А ответы на них я сам, конечно же не смогу дать, ибо знаний нет. А у кого эти знания есть, нет времени или желания, возиться с такой ерундой. И со мной тоже.

Пойду, поищу AFSE, может и вправду, стану программистом ? Кстати, а программа, созданная в AFSE, совместима с Arduino ? Или потом ещё нужно будет её переводить для Arduino ? 

Kislorof
Offline
Зарегистрирован: 30.10.2012

На 95% совместима. По поводу сложности - вот вы опять пытаетесь режить всё и сразу - а надо решать постепенно. Большую задачу разбивайте на меньшие, эти меньшие ещё на меньшие и по итогу вы будете задавать четкие конкретные вопросы. Попробую объяснить на пальцах: первый оператор "если режим работы" - и у нас пошла ветка по управлению шаговиками, иначе - ветка по считыванию клавиатуры и подготовке параметров к работе. Забываем про одну ветку и занимаемся второй - точно так же разбиваем её на части из которых будет состоять наш рабочий режим - отдельно чтение параметров, отдельно анализирование положения, отдельно шагание и тд. 

mat
mat аватар
Offline
Зарегистрирован: 05.07.2012

Вам, с Вашим уровнем знаний кажется что, всё просто и Вы не понимаете, почему другие, не могут этого понять ?

Ну например: подключил я энкодер, дисплей, по схемам и скетчам, взятыми с инета. И даже работают, могу менять по своим параметрам. А вот как сделать выбор позиции в строке и выбор параметра в этой позиции, в скетче нет. И как теперь я смогу это сам сделать ? Да ни в жисть ! Сначала нужно научиться.

Ладно, оставим как есть и попробуем другую заглушку, управление контроллером. И что я теперь могу придумать, если я никогда этого не делал ? О.К. для начала привяжем верёвки, между контроллером и Arduino. Энкодеры как положено привяжем на прерывания, здесь ума много не надо. Вход контроллера Step и Dir, привяжем к свободным ногам Arduino. В скетче назначин эти ножки выходами. Дык, я даже понятия не имею, какие и сколько нужно поставить скобок. А уж про пробелы перед ними и после них для меня вообще тайна, покрытая мраком. Сколько раз уже сталкивался, в одном скетче так пишут, в другом по другому и никаких комментариев. Пробовал сам писать и ничего не заработало, какую- то ошибку находит. А как эту ошибку устранить никто не знает. Ясное дело, после таких мучений фиг чего поймёшь...

А такой вопрос, скачал я AFCE и теперь думаю, из готовой программы, можно создать алгоритм ? Т. е. проделать обратное. Есть у меня программа, написанная для AVR AtMega644 вот её бы, переписать на Arduino, чтобы можно было по ней вникать в дебри программирования ?

Kislorof
Offline
Зарегистрирован: 30.10.2012

Обратно оно не работает. 

По поводу знаний. Простите, новы лезите в прокраммирование микроконтроллеров, хоть и упрощенное, но всё же. И тут хочешь - не хочешь, а придется учит С++ хотя бы минимально - т.е базовые вещи

step962
Offline
Зарегистрирован: 23.05.2011

Kislorof пишет:
. И тут хочешь - не хочешь, а придется учит С++ хотя бы минимально - т.е базовые вещи


Иными словами: первая "функция-заглушка", которую необходимо реализовать - синтаксис языка. И это совсем не страшно. Там всего-то с десяток конструкций.

mat
mat аватар
Offline
Зарегистрирован: 05.07.2012

Да где ж эти конструкции почитать ?! Я скачал несколько книг в формате .djvu но, они почему- то не желают открываться, run time error...

Ребята, вот например для Вас, перевести программу с языка С++ на котором пишут для AVR, на тот же C++, только для Arduino, трудная задача ?

AlexFisher
AlexFisher аватар
Offline
Зарегистрирован: 20.12.2011

mat пишет:

Ребята, вот например для Вас, перевести программу с языка С++ на котором пишут для AVR, на тот же C++, только для Arduino, трудная задача ?

Программа для AVR - это и есть программа для ардуино, потому что ардуино - суть AVR с некоторым обвесом. А программирование для ардуино возможно и на чистом с, есть тема и есть ссылки на материалы. Arduino IDE - это программирование на Wiring - это надстройка над с, облегчающая программирование за счет использования специализированных библиотек. При этом синтаксис и методы программирования (даже с-шные функции) остаются такими же.

Вот только когда пишешь на с, приходится учиться "заливать" программу в контроллер через программатор или через штатный avrdude, но с коиандной строки.

Кстати, я готов Вам помогать. Если пожелаете. Пришлите мне механическую и электрическую схемы - начнем разбираться.

a-fisher@yandex.ru

 

mat
mat аватар
Offline
Зарегистрирован: 05.07.2012

Я честно говоря уже и не надеялся на Вас, думал, достал Вас своими вопросами и Вы просто отошли в сторонку.

Но, раз такое дело, поехали. Отправил.

AlexFisher
AlexFisher аватар
Offline
Зарегистрирован: 20.12.2011

2 laputakoshte

Ну за...... уже одинаковыми постами! ОДНОГО было вполне достаточно. А так, это уже СПАМ!

Призываю его игнорировать!

mat
mat аватар
Offline
Зарегистрирован: 05.07.2012

AlexFisher, Вы бы отмашку дали, получили или нет, схему ? Я вроде как, жду...