Перейти к контенту
МОРСКОЙ АКВАРИУМ - форум Аква Лого

Аква Лого / мы на связи
Аква Лого в VK
Аква Лого в Телеграмм
Аква Лого в соцсетях

МРТ для рыбок

Лопатоносы

Кольчужные сомы

svyaz

DIY 6-Канальный контроллер LED c тач-панелью "3.2"

Рекомендуемые сообщения

В Arduino на PWM можно вывести от 0 до 255, то есть получается 8 бит.

а повысить разрядность имеется возможность?

Поделиться этим сообщением


Ссылка на сообщение

а повысить разрядность имеется возможность?

Ну разве что программными методами, таким макаром у Arduino и все выводы можно превратить в PWM ;)

Но как будет с быстродействием всего остального уже трудно судить....

 

Тут читал что якобы у Atmel в спецификации что то говорится об 16 битном таймере на выводах 1,3,4 и 5.... типа не реализовано осталось..... но мне трудно судить о таких сложностях самому, можно тут почитать (3 сообщение с низу) и сделать выводы самому.

Поделиться этим сообщением


Ссылка на сообщение

 

Тут читал что якобы у Atmel в спецификации что то говорится об 16 битном таймере на выводах 1,3,4 и 5.... типа не реализовано осталось..... но мне трудно судить о таких сложностях самому, можно тут почитать (3 сообщение с низу) и сделать выводы самому.

Так и я читал что вроде имеются так называемые 16-ти битные таймеры (правда что значит таймеры не знаю) и вроде Кирасо реализовал 10 бит с Ардуины. Ладно надо наверно у него подробней спросить. В любом случая, если это реализуется, то значит можно делать основной костяк, а потом уж наверно в код добавлять программыне изменения, ну и наверно нашего гуру Вадима тоже спросим.

Поделиться этим сообщением


Ссылка на сообщение

у avr mega1280 / mega 2560

 

6 таймеров

Т0 и Т2 8ми битные и содержат по два сравнивающих регистра и соответственно по 2 ШИМа (есть ньюанс, см. ниже)

Т1, Т3, Т4, Т5 16ти разрядные регистры и содержат по 3 сравнивающих (16ти разрядных) регистра, т.е. в сумме еще 12 ШИМ.

 

в итоге эти чипы содержат 16 аппаратных ШИМ, только наружу можно вывести 15!

 

у таймеров можно выбрать: частоту (за счет предделителя системной частоты), режим ШИМа ( FastPWM или PhaseCorrectPWM ), разрядность для 16ти разрядных таймеров ( фиксированные: 8, 9, 10 бит, или вообще любой счет до 16ти разрядов за счет регистра ICR ).

 

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

по мне так проще настроить все напрямую.

 

главное не трогать предделитель частоты Т0 и режим, т.к. на нем сидят всякие millis(); delay(); и т.п.

 

зы: можно ШИМы реализовать и программно, но высокой частоты сделать будет проблематично, и будут съедаться временные рессурсы чипа. т.е. либо slowPWM, либо ставить master и slave чипы.

Изменено пользователем Kiraso (см. историю изменений)

Поделиться этим сообщением


Ссылка на сообщение

у таймеров можно выбрать: частоту (за счет предделителя системной частоты), режим ШИМа ( FastPWM или PhaseCorrectPWM ), разрядность для 16ти разрядных таймеров ( фиксированные: 8, 9, 10 бит, или вообще любой счет до 16ти разрядов за счет регистра ICR ).

 

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

по мне так проще настроить все напрямую.

 

главное не трогать предделитель частоты Т0 и режим, т.к. на нем сидят всякие millis(); delay(); и т.п.

 

зы: можно ШИМы реализовать и программно, но высокой частоты сделать будет проблематично, и будут съедаться временные рессурсы чипа. т.е. либо slowPWM, либо ставить master и slave чипы.

Кирасо, уважаемый, я немного тугой в цифровых технологиях, можно немного разжевать, а именно

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

2. Какой высокой частоты не удастся получить? и какова оптимальная частота, ниже которой не стоит подавать на драйверы?

Спрошу здесь, хотя надо в вашей ветке: вы какие использовали драйверы?

3. Вы говорили что вы видите разницу между 8 и 10 бит, а если честно реально намного большая разница? она стоит того чтобы с этим заморочиться?

Поделиться этим сообщением


Ссылка на сообщение

Кирасо, уважаемый, я немного тугой в цифровых технологиях, можно немного разжевать, а именно

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

2. Какой высокой частоты не удастся получить? и какова оптимальная частота, ниже которой не стоит подавать на драйверы?

Спрошу здесь, хотя надо в вашей ветке: вы какие использовали драйверы?

3. Вы говорили что вы видите разницу между 8 и 10 бит, а если честно реально намного большая разница? она стоит того чтобы с этим заморочиться?

 

1. несколько строк кода на Си в инициализации, плюс корректировка диапазона ввода от пользователя, плюс корректировка места хранения настроек, плюс коректировка собственно обработчика значения ШИМа во времени. честно скажу, исходники данного проекта не смотрел, банально не до этого. поэтому лучше спросите у svyaz

2. аппаратный ШИМ можно сделать достаточно высокочастотным (чипу пофигу, на то он и аппаратный)

при тактовой частоте в 16 МГц у ардуины по дефолту стоит предделитель на 64 и FastPWM режим для T0 (системный), т.е. 256 отчетов за один период ШИМ (частота ШИМа по дефолту ~1кГц), для остальных таймеров по дефолту режим PhaseCorrectPWM, т.е. 512 отчетов за один период ШИМ (все таймеры настроены на 8 бит), соответственно частота ~512Гц.

 

если настраивать по своему то максимум при 8 битном ШИМе, FastPWM и предделителе = 1, частота ШИМа будет 62,5кГц. Если уменьшить разрядность ШИМа (регистр ICR),то частоту можно получить еще выше, только зачем?

 

выбор частоты ШИМа, дело сугубо индивидуальное, но ниже 100 Гц точно не стоит, а выше... выше зависит от драйверов (при увеличении частоты ШИМа в большинстве драйверов, в силу конструктивных особенностей, имхо, уменьшается разрешение диммирования, т.е. подавай хоть 16 разрядный ШИМ, а толку будет мало).

 

у меня на самом обыкновенном PT4115

 

3. разница есть, но вот заморачиваться,имхо, не стоит. не парьтесь, раз не шибко сильны в данном вопросе, 8ми разрядов более чем достаточно.

Изменено пользователем Kiraso (см. историю изменений)

Поделиться этим сообщением


Ссылка на сообщение

Вам код в ардуино нужно "залить" только один раз, если не хотите ждать лишние 2-3 секунды, берите плату на последней версии USB UART (ATmega16U2) :)

Вадими, перечитал, я так понял, что вы имели ввиду время именно загрузки в контроллер кода с исправлениями, ну типа тзменениями, и это выльется в лишние 2-3 секунды, или вообще реакции на команды потом будут медленнее в чипе 8U2?

Поделиться этим сообщением


Ссылка на сообщение
... время именно загрузки в контроллер кода ...
имхо :tuplu: :) Изменено пользователем Александр Авдеев (см. историю изменений)

Поделиться этим сообщением


Ссылка на сообщение

Вадим, перечитал, я так понял, что вы имели ввиду время именно загрузки в контроллер кода с исправлениями, ну типа тзменениями, и это выльется в лишние 2-3 секунды, или вообще реакции на команды потом будут медленнее в чипе 8U2?

Только время загрузки скетча, все остальное у всех 2560 мег одиннаково, за исключением Arduino Mega ADK - которая имеет на борту дополнительный USB Host интерфейс, для подключения устройств с интерфейсом USB.

 

post-972-1341057277_thumb.jpg

 

Возможно я сам с собой разговариваю, но вдруг тему читают такие же как я "модификаторы" и это им сэкономит время.

Подружить одновременно езернет и радиомодуль NRF24L01 (на последнем скетче от Джейми) удалось используя альтернативные библиотеки, для Ethernet библиотека Webduino.

Для NRF24L01 - библиотека с софтверным SPI (пины, назначаем сами) Качать ту, что для Arduino v1.1

Поделиться этим сообщением


Ссылка на сообщение

Согласовывать нужно так как драйверу Mean Well для включения на полную яркость нужно 10v, в ардуино питание 5v, если подключить прямо к ардуино - будут работать на половину яркости.

post-972-1340545895_thumb.jpg

Вадим, еще вопросец по согласованию, щас читал мануал на LDD, выдержка

"Power ON with dimming: DIM ~ -Vin >2.5 ~ 6VDC or open circuit"?

Еще хотел спросить про схема часиков и согласование с экраном? На первой странице только для вентилей схемка

Поделиться этим сообщением


Ссылка на сообщение

Возможно я сам с собой разговариваю, но вдруг тему читают такие же как я "модификаторы" и это им сэкономит время.

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

1 - проект коммерческий и тогда надо сразу об этом писать в начале темы

2 - человек сказал, а что сказал не понял или не знает что делать дальше, да к тому же еще и помоши не просит.

Так что так держать, а мы за тобой подтянемся :1219:

Начал свое рытью по железу:

Ардуина 8 - такая

Ардуина 16 - такая

Экран - такой

Прото шилд - вот такой

или такой

думаю разницы нет

Ну и платку согласования думаю можно сделать самому если Вадим поделится схемкой.

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

Как такие наброски?

Изменено пользователем Вовка (см. историю изменений)

Поделиться этим сообщением


Ссылка на сообщение

Вадим, еще вопросец по согласованию, щас читал мануал на LDD, выдержка

"Power ON with dimming: DIM ~ -Vin >2.5 ~ 6VDC or open circuit"?

У меня нет драйверов LDD для реальных испытаний, возможно отпишутся в теме те, кто их реально подключал, но если там реально нужно 6v - можно использовать схему на NPN транзисторе из первого сообщения (ту, что для драйверов ELN) , а питание собрать например на LM317

 

post-972-1341062829_thumb.jpg

Еще хотел спросить про схема часиков и согласование с экраном? На первой странице только для вентилей схемка

Cхема часов (Сообщение #13) Согласующие резисторы (Сообщение #193)

Изменено пользователем svyaz (см. историю изменений)

Поделиться этим сообщением


Ссылка на сообщение

Вадим, а есть фото вашей макетки снизу?

Поделиться этим сообщением


Ссылка на сообщение

Вадим, а есть фото вашей макетки снизу?

Та, которая покупная, такая как по ссылке, только у меня штырьки не запаяны, их нет в комплекте вообще. Ну такую вот мне знакомый подсуетил :)

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

 

post-972-1341069399.jpg

Поделиться этим сообщением


Ссылка на сообщение

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

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

Спасибо.

Поделиться этим сообщением


Ссылка на сообщение

Уже есть экраны 4.3" TFT LCD Screen Module:272 x 480 и 5.0" TFT LCD Screen Module:800x480, будут работать? Есть смысл такие брать, тяжело будет адаптировать для наших целей? :tuplu:

http://iteadstudio.com/store/index.php?mai...products_id=541

http://iteadstudio.com/store/index.php?mai...products_id=542

Я на всякий случай спросил у Джейми по поводу этих экранов и он подтвердил мою теорию.

Оба эти контроллера совместимы.Важно отметить здесь количество пикселей. Мой код написан для экрана размером 240х320, так что при загрузке на любой из этих контроллеров, он не будет на весь экран, вы просто увидите черные полосы в нижней и правой части экрана.

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

"Использовать для других вещей" - имеется ввиду вынести туда кнопки меню, добавить датчико температуры, сделать кнопку fish food и. т. д.

Ну и еще он сказал, что в следующей версии Jarduino будет веб интерфейс, я так понимаю через Wi-Fi и расширенные функции ручного управления.

Поделиться этим сообщением


Ссылка на сообщение

У меня нет драйверов LDD для реальных испытаний, возможно отпишутся в теме те, кто их реально подключал, но если там реально нужно 6v - можно использовать схему на NPN транзисторе из первого сообщения (ту, что для драйверов ELN) , а питание собрать например на LM317

Позавчера подключал драйвера LDD-1000H и LDD-700L к Arduino на прямую. Dсе работает, дополнительных транзисторов не надо.

Поделиться этим сообщением


Ссылка на сообщение

Возможно я сам с собой разговариваю, но вдруг тему читают такие же как я "модификаторы" и это им сэкономит время.

Подружить одновременно езернет и радиомодуль NRF24L01 (на последнем скетче от Джейми) удалось используя альтернативные библиотеки, для Ethernet библиотека Webduino.

Для NRF24L01 - библиотека с софтверным SPI (пины, назначаем сами) Качать ту, что для Arduino v1.1

Отлично, Вадим, спасибо огромное!

Хорошая идея - повесить NRF24L01 на отдельный софт-SPI. И еще очень нравится взять несколько одинаковых Mega2560 с почти одинаковым кодом, только чтобы один из них был мастер с экраном, а остальные слейвы, с подключенными исполнительными устройствами, а по радиоканалу просто мастер будет изменять состояние соответствующих переменных, а слейвы соответственно, будут это отрабатывать. Тогда можно будет использовать обычный код Jarduino/Sebduino с небольшими модификациями. Все это особо радует на фоне новости, что Джейми готовит новую версию с веб-интерфейсом!

 

Для NRF24L01 надо выбрать на ардуине свободную ногу, на которой есть аппаратные прерывания. На меге аппаратные прерывания возможны на пинах 2 (прерывание 0), 3 (#1), 21 (#2), 20 (#3), 19 (#4), и 18 (#5). На 18 ноге висит реле возвратной помпы (себдуино), на 19 - помпа автодолива (себдуино), на 20 и 21 висит I2C /часы/, остаются ноги 2 или 3. Ну, пусть IRQ висит на 2 ноге. Осталось еще выбрать 3 свободные ноги на эмуляцию MOSI, MISO и CLK. Хорошо бы договориться, чтобы не плодилась масса несовместимых вариантов с совершенно разными распиновками.

Поделиться этим сообщением


Ссылка на сообщение

Позавчера подключал драйвера LDD-1000H и LDD-700L к Arduino на прямую. Dсе работает, дополнительных транзисторов не надо.

То есть не смотря на то,что с ардуины идет всего 5 вольт а для ЛДД указано до 6вольт, драйвер выдает все 100% тока?

 

К Вадиму. То есть в принципе не должно быть проблем с бОльшим дисплеем акромя пересчета пикселей? Про другие проблеиы имею ввиду что вы ранее указывали что-то там с бибилиотеками (пишу с телефона не могу все посмотреть ранее)

Изменено пользователем Вовка (см. историю изменений)

Поделиться этим сообщением


Ссылка на сообщение
То есть не смотря на то,что с ардуины идет всего 5 вольт а для ЛДД указано до 6вольт, драйвер выдает все 100% тока?

На вход LDD можно подавать сигнал с напряжением логической "1" в диапазоне между 2.5 и 6В. Ток драйвера от напряжения не зависит, он управляется исключительно через ШИМ. Так что, 5В с Ардуино идеально подходит безо всякого согласования

Поделиться этим сообщением


Ссылка на сообщение

К Вадиму. То есть в принципе не должно быть проблем с бОльшим дисплеем акромя пересчета пикселей? Про другие проблеиы имею ввиду что вы ранее указывали что-то там с бибилиотеками (пишу с телефона не могу все посмотреть ранее)

В библиотеке UTFT есть поддержка контроллера SSD1963, на которых собраны новые дисплеи и сигналы на 40 pin разъеме, полностью совпадают с маленьким экраном "3,2" дюйма, используемым в текущей версии кода.

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

Поделиться этим сообщением


Ссылка на сообщение

Осталось теперь подождать чуть чуть, чтоб побольше начали делать большие дисплеи, чтоб цена упала.

Вопрос - сколько?

Да, Вадим, а так в принципе как 3,2 совсем маленький и не читабелен или пойдет для тех кто без очков?

П.С. кто в очках просьба не обижаться, сам хочу большой, но цена пока кусается.

Поделиться этим сообщением


Ссылка на сообщение

Собрал вчера один комплектик.

 

Дисплей 320х240 на базе SSD1289, конкретно вот этот.

 

Подключал через ITDB02 Arduino MEGA Shield v1.1 KIT (кстати, неудобно, что в этом наборе они все резисторы в один пакетик кладут, визуально 1к от 10к отличить довольно трудно - на 10к полоска оранжевая, а на 1к - красная. Пришлось с мультиметром возиться, чтобы резисторы отсортировать).

 

В общем, загрузил последний код (1.2) от Джейми, получил белый экран, старая версия на Arduino 022 тоже не пашет. Попробовал загрузить код Sebduinov2, на этот раз был темный экран, время от времени мерцающий. Демо-коды ITDB02 тоже не работают. Не знаю, в чем тут может быть дело.

 

P.S. Подключал отрезком шлейфа от IDE HDD, выломав защитную заглушку на одном пине (которая присутствует для защиты от неправильного подключения HDD). Проверял мультиметром, контакт под заглушкой имеется.

 

post-11962-1341293925_thumb.jpg

Изменено пользователем vahegan (см. историю изменений)

Поделиться этим сообщением


Ссылка на сообщение

Собрал вчера один комплектик.

 

Дисплей 320х240 на базе SSD1289, конкретно вот этот.

 

Подключал через ITDB02 Arduino MEGA Shield v1.1 KIT (кстати, неудобно, что в этом наборе они все резисторы в один пакетик кладут, визуально 1к от 10к отличить довольно трудно - на 10к полоска оранжевая, а на 1к - красная. Пришлось с мультиметром возиться, чтобы резисторы отсортировать).

 

В общем, загрузил последний код (1.2) от Джейми, получил белый экран, старая версия на Arduino 022 тоже не пашет. Попробовал загрузить код Sebduinov2, на этот раз был темный экран, время от времени мерцающий. Демо-коды ITDB02 тоже не работают. Не знаю, в чем тут может быть дело.

 

 

В версии 1.2 надо некоторые строчки подправить, в этой теме уже было про исправления, у Джейми есть исправленная версия "Jarduino_v1_2_graph16", там уже исправления внесены, скачать можно там, пароль - тот который он высылал.

Поделиться этим сообщением


Ссылка на сообщение

Пожалуйста, авторизуйтесь, чтобы оставить комментарий

Вы сможете оставлять комментарии после авторизации



Войти

×
×
  • Создать...

Политика обработки персональных данных