Показаны сообщения с ярлыком Velleman K8096. Показать все сообщения
Показаны сообщения с ярлыком Velleman K8096. Показать все сообщения

вторник, 16 июля 2013 г.

Some words about Velleman K8096 step motor controller quality & usability

Soon as I bought an oscilloscope as immediately... 

So:
1. Full step mode instead of half step (programmers decided to simplify your task, though this controller scheme allows the use of half step mode). It's not good for a stepper motor, having an angular pitch of the rotor 1.8°.
2. Instability of the impulses frequency timings chip stepper motor driver. Now it is clear what sounded like a resonant overtone when a stepper motor was running.

Screenshot:


And YouTube video (http://youtu.be/VfF1O9GuClM)



I asked the techsupport Velleman to comment on this video and screenshot (on the Velleman support forum), but this request was ignored. So I had to comment myself.

Oscillogram surprised and strongly enough. Here is a constant rotational speed, which is periodically swinging up to +/-2% (you can see it on photo and on video). It can be assumed that this occurs at the data exchange time between the controller and the API DLL. This indicates that the controller has at least one problems, or a combination of some problems: lack of PIC processor computing power; poor quality of the firmware code; poor management/exchange protocol quality; poor implementation of the management protocol (firmware and API).

The conclusions:
1. K8096 controller is suitable for use only with the stepper motor having a large angular pitch of the rotor (5° or more).
2. Despite the relatively good circuitry of the controller, the efforts of the programmers who wrote the firmware for the controller, the controller has turned out to toy with very limited usability.
3. Velleman technical support is very, very poor (if not say 'bad'). It took me almost a month to identify the causes of unstability work of a stepper motor, having an angular pitch of the rotor 1.8°. A solution was found only after buying an oscilloscope, but not through consultation with technical support. It allows me to talk about the poor quality of the controller and Velleman technical support incompetence.

четверг, 11 июля 2013 г.

О сколько нам открытий чудных... готовит Velleman K8096

Стоило только обзавестись осциллографом...

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



Попросил техподдержку Velleman прокомментировать этот видеоролик (на форуме поддержки), но они (в лучших своих традициях) это проигнорировали. Так что пришлось комментировать самому.

На минимальной скорости (частоте) эта нестабильность прекрасно видна визуально в пределах развертки
Осциллограмма достаточно сильно удивляет: здесь задана постоянная частота вращения, которая периодически гуляет на +/-2% (цифровые данные указаны для видео). Теоретически можно предположить, что это происходит в моменты обмена данными межу контроллером и программой (через API DLL). А это свидетельствует либо об одной из проблем, либо об их сочетании: нехватка процессорной мощности у PIC-процессора; плохое качество кода прошивки контроллера; плохой протокол управления; плохая реализация протокола управления. Что отнюдь не делает чести компании Velleman, скорее наоборот.

Выводы из всего увиденного получились следующие:

1) Инструментально подтвержден ранее сделанный эмпирический вывод о том, что K8096 «"затачивали" под шаговые двигатели с постоянными магнитами (как с редуктором, так и без; шаг ротора там 7,5° против 1,8°/0,9° у биполярных NEMA-совместимых)». Собственно, даже не затачивали, а просто не проверяли, судя по всему, ни с чем другим, кроме номенклатуры из трех моделей ШД, продаваемых компанией Velleman. Помимо не слишком хорошего для двигателей с шагом ротора 1,8°/0,9° полношагового режима работы микросхемы драйвера (из-за влияния собственного механического резонанса такого двигателя на точность его работы), имеет место нестабильность частоты импульсов управления, достигающая (в данном видеоролике) 4%. А если учесть, что 1% нестабильности при 200 шагах на оборот равен 2 шагам, то мы получаем ошибку, достигающую 8 шагов (+/-4 шага)! И если в установившемся режиме вращения это никак не сказывается на работе, то вот с точностью возврата в точку старта и с единичными шагами будут возникать как раз те самые нерегулярные проблемы точности управления (странные подергивания и пропуски), о которых я упоминал раньше и от которых так старательно открещивалась техническая поддержка Velleman (кстати, они так и не прокомментировали ни осциллограмму, ни видео). Таким образом, использовать K8096 можно только с редукторными шаговыми двигателями на постоянных магнитах, причем желателен угловой шаг ротора не менее 5°.

2) Несмотря на относительно неплохую схемотехнику контроллера K8096, стараниями программистов, писавших код для PIC-процессора контроллера, получилась недешевая игрушка с весьма ограниченной применимостью, почти всухую проигрывающая промышленным контроллерам, даже несмотря на разницу в цене (поскольку контроллер K8096 дополнительно требует самостоятельной сборки). Контроллер на базе Arduino/Freeduino вполне может оказаться и более качественным, и более экономичным решением (учитывая личное время, требующееся для отладки).

3) Техподдержка Velleman, как в итоге оказалось, имеет привычку нагло врать (а временами может и откровенно хамить).

4) В 4-канальном контроллере K8097 тоже используется полношаговый режим. Что там со стабильностью я доподлинно не знаю, но могу с большой долей вероятности предположить, что там все точно так же плохо (код писался, скорее всего, в одно и то же время, поскольку API один и тот же).

ps. Ну да, без осциллографа – никуда. Это давно известно.

четверг, 6 июня 2013 г.

Контроллер от Velleman продолжает радовать

Контроллер Velleman K8096 продолжает доставлять недокументированные лулзы радовать. Судя по всему, его «затачивали» под шаговые двигатели с постоянными магнитами (как с редуктором, так и без; шаг ротора там 7,5° против 1,8°/0,9° у биполярных NEMA-совместимых). А вот с биполярными и униполярными NEMA-совместимыми двигателями не отладили, ограничившись чисто конструкторской проработкой (и не учли особенности чипа L6219, могущие создавать проблемы с точностью управления).

Результат: на минимальной скорости контроллера (значение параметра = 255) двигатель (стандарт NEMA 17, на 0,3 Нм), судя по всему, попадает в область собственного резонанса, начинает ошибаться и глючить, и выходит, судя по всему, из области резонанса только при уменьшении параметра скорости до 200 и ниже (чем меньше параметр, тем выше поднимается скорость). А еще с NEMA-двигателем имеется проскок или пропуск шага при выполнении единичного шага и при смене направления, если перед этим использовалось нечетное количество шагов (данный эффект имеет спорадический характер).

воскресенье, 2 июня 2013 г.

О редкой породе козлов... и API DLL

Программисты Velleman (да и проект-менеджеры до кучи) вполне достойны занесения в Красную книгу как редкие козлы. Это же надо было суметь написать (или заказать на стороне и потом принять написанное) API DLL для наборов K8096/K8097 (наборы DIY, «собери сам») так, что вызовы set-типа (установка параметров устройства) и get-типа (получение параметров устройства) не уживаются в одном (общем) потоке (одна программа/процедура/функция/обработчик события).

Ну и ко всему этому они еще ухитрились просто «никак» документировать этот API. Ну т.е. формально все вроде бы описано, но в лоб оно не работает просто от слова «никак». Вызов get-типа начинает работать только в том случае, если он вызывается по другому событию (в другом обработчике). Соответственно при использовании данного контроллера в «реальной жизни» внезапно™ всплывают неожиданные нюансы и тонны кирпичей лулзов.

При всем при этом техподдержка на голубом глазу лепит самоуверенно пишет нам следующее:
The DLL can be used from any programming language.

воскресенье, 26 мая 2013 г.

И все-таки она крутится!

Проверил контроллер в связке с двигателем на демонстрационной программе, всё работает. Можно начинать писать своё и понемногу отлаживаться. Напомню, речь идет о написании управляющего интерфейса (приложения) на Free Pascal/Lazarus.


среда, 8 мая 2013 г.

Приехал одноканальный контроллер


Приехал одноканальный контроллер Velleman K8096. Была робкая наивная надежда, что «оно» будет assembled (собрано-спаяно). Ан нет, оказалась вполне хардкорная версия: всё аккуратной россыпью и паять-собирать его придется самому.