Клуб DiyAudio
Разное и полезное => Микроконтроллеры и их программирование => Тема начата: 323f от 29 Мая 2015, 18:28:52
-
Внезапно, пришёл набор, который хотел приспособить под трансомоталку. Так-то он для 3D-принтера позиционируется.
Ага. А я в этих контроллерах ни ухо ни рыло.
Теперь думаю, как окучить - с чего начать.
(http://i.ebayimg.com/00/s/NTA1WDc0Nw==/z/LrIAAOxyB9RS0MDG/$_57.JPG)
Нашёл в сети сайтик, где человек на аналогичных железках собрал моталку катушек Тесла
https://krux.org/article/Tesla_Coil_Winder
Там и исходники имеются.
Но это уже второй шаг будет, сначала надо понять, как это всё соединяется. :o
и добавил...
Ага!
Как это друг к другу приколачивается догадаться было несложно. Но теперь появились новые вопросы:
- нет ли в "Меге" залитой специализированной прошивки, которая мне вовсе ни к чему?
- как использовать прилагаемый к комплекту дисплейчик с энкодером и картридером, и где искать для него драйверы?
- RAMPS 1.4, по видимому, заточена под спец-прошивку, или её можно будет использовать и в моём случае?
Буду благодарен за подсказку, по вопросам.
И ещё, на каком сайте лучше всего почерпнуть знаний про Ардуино?
-
323f, сложности небольшие будут видимо )
http://cxem.net/tags/Arduino/page/1/
-
Точно небольшие?
Или ты так тонко издеваешься? :)
Скачал Arduino IDE, установил в XP, щаз по делам, дача, то-сё ... вечером спробую "Мегу" подцепить...
-
Точно небольшие?
ну ты ж не маленький, руки из плеч, голова на месте. значит разберешься. а большие это когда железо вообще не в тему :D
-
Ну, допустим, в общении с микроконтроллерами я, практически, младенец.
Вчера приполз практически никакой, поэтому хватило меня всего лишь на установку в ноут Android IDE, дров, ну и первый опыт - заставить "Мегу" моргать светиком.
Я уже понял, что RAMPS 1.4 "слегка избыточна для управления трансомоталкой. Но много не мало. Пока не понимаю, нужно ли мне знать её схему и распиновку, чтобы "привязаться" правильно к исходной программе намотки катушек?
Касательно дисплея, Рампа, кажется только "прокладка", а вот драйверы моторов как-то хитро разведены.
-
323f, Сергей,а ручная моталка у тебя имеется?
-
Ну, скажем, не совсем уже ручная. Шуруповёрточная, скорее.
-
323f, а ты побльше информации по своим покупкам скинь. Схемки там те де. а то мы тут нагадаем :cr:
-
Я искренне прошу прощения ,но...моталка будет изоляцию укладывать..,промазывать слои,делать отводы,зачищать их?Если да,то буду иметь реальный интерес :)
Слой мотается от 20сек до 2 минут,в среднем,в зависимости от ситуации. Основное время занимают все вышеописанные манипуляции. Вот и возникает вопрос6а оно надо ??? Ну я понимаю,если на производстве мотается партия одинаковых изделий..,без изоляции.Это наверняка продуктивно,но для наших целей..- :d_know:
Есть у меня реверсивный РД-09,думал одно время приспособить. Счетчик вроде делается из фотоэлементов и калькулятора. Да и то этот вариант под вопросом.
Ну разъясните мне,чего я не понимаю???
Еще раз сорь за :off:
и добавил...
Правда продавал чел на АП моталку интересную,вот она заинтересовала,но все равно,пока не попробую лично-сомнения.Да и цена негуманная помнится была.
-
323f, а ты побльше информации по своим покупкам скинь. Схемки там те де. а то мы тут нагадаем :cr:
Какие схемы?!
Ну вот
Arduino Mega 2560 кажется правильно цифры ...
Ramps v.1.4 это, я так понял , плата-переходник
RepRap Smart Display
Ну и пять драйверов для шаговиков
Все эти модули описываются в Вики. Как до дома доползу - кину ссылки ...
и добавил...
Паш, нет острой необходимости в станочке. Есть желание поиграться с железками/програмкмми. Если что-то выйдет - хорошо.
Торговать не буду, всеми изысканиями поделюсь.
"Токарку" мне давно уже Александр(Alexander)сделал а электронику хотелось из готовых блоков ...
-
Как говорится - "начинать надо с начала". В моём случае с точностью до наоборот. :)
Азы Ардуиноведения приходится сочетать с ковырянием в RepRap примочках.
Ну и ладно, так даже интереснее.
Как и предполагалось RAMPS1.4 - всего лишь переходник + три силовых ключа с шиной внешнего питания. Это отлично!
Значит и LED дисплей и концевики и кнопки и драйверы моторов впихнутся в неё компактно.
В программе намотчика только номера контактов править придётся.
Аналогично - RepRap Smart controller можно посчитать за три самостоятельных девайса - дисплей, клавиатуру(энкодер) и картридер.
С дисплеем разобрался:
светит
(Извините, но у Вас нет доступа в Галерею)
и символизирует :)
(Извините, но у Вас нет доступа в Галерею)
что на всё согласен
(Извините, но у Вас нет доступа в Галерею)
Картридер мне пока ни к чему, а с кнопочками буду завтра разбираться ...
А, да! Там ещё и зуммер есть! Звуковая сигнализация нам тоже пригодицца.
-
323f, ну вот. старт есть )
-
"Маленький шажок", тасазать. :)
Предчувствую засады с подгонкой сторонней программы под имеющееся оборудование.
Во всяком случае, управление дисплеем (тоже 4-х строчным, кстати) Там по-другому реализовано.
Я пока не понимаю ... :d_know:
-
323f, может проще с нуля начать? соовсем программа для этого не приспособлена.
-
323f, может проще с нуля начать? соовсем программа для этого не приспособлена.
Ну похоже на то. I2C шина там используется. Так шта-а, есть два пути - дорогой и долгий. :)
и добавил...
Ы-ы!
Как бы, блин, поаккуратнее сказать-то!
Ну, ладно.
Тогда придётся по кускам ...
С дисплеем как будто б/м понятно ...
С мотором сегодня попытаюсь хотя бы запуститься ...
А вот такой вопрос - как создать грамотный алгоритм использования энкодера?
Как подключить/опознать я кажется вкурил, а надо придумать его деятельность в системе.
Ну, типа
1. Вращение = вверх/вниз по строкам меню
2. Нажатие = выбор строки меню
3. Вращение = настройка параметра
4. Нажатие = возврат в меню
...
Есть такие готовые блоки? Или я неподготовленный свой мосх сломаю?
-
По организации меню поищи в инете, попозже постараюсь ссылок кинуть. А по энкодеру в микроконтроллерах есть статейка Андрея который blindman
-
Вчера побоялся мотор подцеплять.
Пока читаю, читаю, читаю, читаю ... видеоуроки смотрю ...
Зато разобрался с организацией выходов и взаимодействием Mega2560 + RAMPs1.4
Седня пробовать моторчик включать буду.
И всё ж в мою старую бошку не вмещается пока, архитектуру программы как делать? Меню, курсор и взаимосвязь частей проги ...
и добавил...
Мотор щаз подоткну, попробую.
А насчёт кода ты почему решил, что он совсем неподходящий?
Кстати, у парня применена библиотека меню https://github.com/jonblack/arduino-menusystem вполне годная, как, впрочем, и организация меню. Если откинуть(проигнорировать I2C составляющую, и подкатить кусок кода на LiquidCrystal library, то есть надежда на первое время. Ну, чтобы хотя бы заработало. А после уже можно с энкодером сражаться.
Кстати, очень это удачный набор оказывается. Рампа 1.4 прекрасно заменяет макетку, и не в пример компактней. Тем более, в РепРапВики есть распиновки и схемы ...
-
А насчёт кода ты почему решил, что он совсем неподходящий?
ну родной софт рампса заточен на управление головкой 3дпринтера по модельке. у тебя же несколько иные алгоритмы должны быть. а управляюзие движками модули для ардуино наверняка есть и отдельные
-
ну родной софт рампса заточен на управление головкой 3дпринтера по модельке.
У RAMPSа вообще кода нет никакого. Это просто переходник с Ардуины на остальные свистоперделки, привязывающий их к конкретным выходам Меги.
Например, в скетче дисплея надо было изменить лишь нумерацию пинов, и он заработал.
Также и с моторами. Платы драйверов "приколочены к конкретным ногами Ардуины. Прописываешь их в скетче и - "поехали".
Отличие по железу от конструкции чувака из-за кордона - у него дисплей на I2C и кнопки вместо энкодера.
и добавил...
Ы!
А мотора-то не крутисса! Вроде и код правильный, иноги найдены те шо нуна. :d_know:
Моторчик, кагбэ, разз! и встаёт колышком Тоись, ручками его за шештерёночку прокрутнуть можно, но с трудом-с! А снял питание, и опять он крутисса ..
Может, кто найдёт обшибку?
Скетчик во:
//simple A4988 connection
//jumper reset and sleep together
//connect VDD to Arduino 3.3v or 5v
//connect GND to Arduino GND (GND near VDD)
//connect 1A and 1B to stepper coil 1
//connect 2A and 2B to stepper coil 2
//connect VMOT to power source
//connect GRD to power source
int stp = A0;
int dir = A1;
int a = 0;
void setup()
{
pinMode(stp, OUTPUT);
pinMode(dir, OUTPUT);
}
void loop()
{
if (a < 48) //sweep 48 step in dir 1
{
a++;
digitalWrite(stp, HIGH);
delay(10);
digitalWrite(stp, LOW);
delay(10);
}
else
{
digitalWrite(dir, HIGH);
a++;
digitalWrite(stp, HIGH);
delay(10);
digitalWrite(stp, LOW);
delay(10);
if (a>400) //sweep 200 in dir 2
{
a = 0;
digitalWrite(dir, LOW);
}
}
}
-
:d_know: должно работать. осциллограф есть? ;D
и добавил...
хотя "должно" это в плане того что алгоритм работоспособен. может какие то ардуиновские заморочки есть :d_know:
-
Угу.
Ну, с осциллографом длинная и грустная история, а в этом топике грусти нет места.
Касательно остального ...драйвер на A4988 имеет три управляющих входа: step, dir, enable. Они через Рампу связаны с конкретными ногами Меги. Кроме того, опять же через Рампу на драйвере выбирается шаг от целого, до 1/16 перемычками в определённой комбинации. Enable я повесил в воздухе, потому как не знаю, что надо прописать по его управлению.
Перемычками выбрана1/16 шага. Возможно, что надо было полный шаг для начала поставить, но вчера времени уже не осталось на эксперименты.
По замерам: отследить импульсы, к сожалению нечем, на выходах драйвера тестер показывает 4,8 вольт на "постоянке" при питании силовой части 12вольтами. Движок слабенький, обмотки по 10 Ом, потому микросхема драйвера не греется, а движок чуть тёплый.
-
Ну, с осциллографом длинная и грустная история, а в этом топике грусти нет места.
Касательно остального ...драйвер на A4988 имеет три управляющих входа: step, dir, enable.
берем светодиоды с резисторами и подключаем их вместо драйвера. задержки с 10мс увеличиваем до 200-500 и смотрим визуально.
-
ОК
Посмотру и докладу
-
"Эге!"- сказал я.
Осциллограф показывает, что выходы А0 и А1 не реагируют. Или скетч, таки, неверно написан?
-
на голой ардуинке тестил?
блин. не спец я в ардуинах. может спецы помогут?)
-
на голой ардуинке тестил?
блин. не спец я в ардуинах. может спецы помогут?)
Не на голой. Установлена Рампа, драйвер StepStick и мотор подцеплен. Ощущение такое, что ноги А0(степ) и А1(дир) висят в неопределённом состоянии.
Упс!
Ряд ног не попал в соответствующий разъём, вот оно и ... Так что, пока отбой тревоги. Как раз эти входы в воздухе и висели.
Блин, китайцы! Ну и я хорош, конечно. Обленился тестером лишний раз ткнуть!
-
хехе. ну ничего не погорело и то хорошо.
-
хехе. ну ничего не погорело и то хорошо.
Согласен.
Ну, промежуточный итог: Жужжит, моторчик крутисса.
Ставлю задержку 1 - быстро крутисса, выбираю 1/16 шага - медленно крутисса. Как прописать задержку меньше едницы?
Если пишу 0,1 при проверке выдаёт "ошибка".
-
delayMicroseconds()
-
delayMicroseconds()
Ага, спсб.
Ну вот, всё чирикает.
Теперь на повестке вопрос: Как жЫть дальше?
В смысле, пересобирать прогу дядьки с Катушкой Тесла под мой дисплей без I2C, или начинать сразу с нуля собирать под моё железо(дисплей и энкодер)?
-
323f, как минимум изучить прогу под теслу. скорее всего интересные тебе наработки будут.
-
как минимум изучить прогу под теслу
Да оно б конечно, но нужен переводчик. :laugh:
-
323f, спрашивай )
-
Arduino: 1.6.4 (Windows XP), Плата"Arduino Mega or Mega 2560, ATmega2560 (Mega 2560)"
Изменена опция сборки, пересобираем все
sketch_jun10b.ino: In function 'void setup()':
sketch_jun10b:81: error: 'class MenuBackend' has no member named 'toRoot'
sketch_jun10b.ino: In function 'void menuUsed(MenuUseEvent)':
sketch_jun10b:132: error: 'class MenuBackend' has no member named 'toRoot'
sketch_jun10b.ino: In function 'void navigateMenus()':
sketch_jun10b:276: error: 'class MenuBackend' has no member named 'toRoot'
'class MenuBackend' has no member named 'toRoot'
Это сообщение будет содержать больше информации чем
"Отображать вывод во время компиляции"
включено в Файл > Настройки
-
вопрос то в чем?
-
Загружаю в Arduino IDE готовый, скачаный из репозитория скетч, дажк ещё под свои хотелки его не подгоняю, подгружаю нужняе библиотеки, звпускаю проверку, а он выдаёт такую ошибку компиляции.
Именно с MenuBackend.
Пичалька.
-
С одной программкой более-менее разобрался - всё шуршит. Теперь надо погонять и устранить врождённые мелкие погрешности.
В частности, в режиме "стоп" моторы желательно отключать, чтобы не грелись.
-
лучше сделать два режима с отключением и без.
-
Ну, там имеется пауза, тогда моторы подпёрты напругой.
и добавил...
Кнопочки, кнопочки ... странненько себя ведут. Ощущение такое, что входы клавиатуры в свободное от нажатий время висят неприкаянно в положении Z. И ловят наводки. Дажеесли руку рядом проносишь.
А нет ли там возможности включить "подтягивающие" резюки программно?
-
в авр запись 1 в пин настроенный как вход включает подтягивающий к + резистор. думаю в ардуино так же. то есть pinMode(pin, INPUT); digitalWrite(pin, HIGH);
-
Ага, окей. Это ты включил подтяжку к высокому уровню, а кнопка, соответственно, замыкает вывод на землю?
А если у меня кнопки замыкают вывод на +, то:
pinMode(pin, INPUT); digitalWrite(pin, LOW);?
-
323f, нет, так не прокатит. Запись нуля отключит верхнюю подтяжку, но не более того. Нижнюю надо самому вешать. Вообще стандпюарт де-факто подтяжка вверх, и просаживание сигнала вниз.
-
Что значит "самому вешать"? Резюки паять, или что-то специфическое прописывать?
Просто в исходном скетче кнопки подают +. Соответственно, все "ходы" придётся "инвертировать".
-
Резюки паять
именно.
-
Я из принципа "проинвертирую". ;)
-
Внезапно, пришёл набор, который хотел приспособить под трансомоталку. Так-то он для 3D-принтера позиционируется.
Вот тут обсуждают эту штуку. http://www.cncmasterkit.ru/viewtopic.php?f=3&t=4454
-
Ага, спасибо. Однако, их программа слишком объёмна для моих скромных целей.
Я взял набор с целью навыки отработать, 3Д-принтер меня пока не очень интересует. Может быть когда нибудь ...
-
В процессе поисков и попыток программирования натолкнулся на открытый проект трансомоталки. Конструктив понравился - дёшево и технологично!
Есть там и скетч, и схема, и печатка в Eagle.
Скорость намотки регулируется переменным резистором.
http://lechacal.com/wiki/index.php/Albawinder
(http://lechacal.com/wiki/images/f/f5/IMG_0503_small.jpg)
и добавил...
В связи с раскопками требуется помощь в адекватном переводе выражения
"Jog coil"
"Coil steps/rot"
-
Отсюда https://github.com/krux702/tesla_coil_winder ?
"Вращение катушки"
"Количество шагов на оборот катушки"
-
Ага, оттуда.
Спасибо, Андрей. Я чуть-чуть разобрался, практически поюзав скетч. Правда, пришлось кое-что поправить под Мегу и RAMPS1.4.