LINUX.ORG.RU

Посоветуйте АЦП.

 , , , старое по


0

2

В самобытной системе нужно установить АЦП, через которое система будет управляться с помощью персонального компьютера. От АЦП нужно: два аналоговых канала управления моторами (напряжениями от -1 до +1 В) и аналоговые измерения напряжения на трёх датчиках (напряжения тоже низкие). Характерная частота опроса датчиков 0,1 секунды.

Хотелось бы АЦП с библиотеками, которые можно задействовать под Linux или FreeDOS ( http://www.freedos.org/ ). К самобытной системе есть исчерпывающая документация и исходные коды управляющей программы (язык Turbo Pascal). Поэтому АЦП можно выбрать относительно свободно.

Но у меня возможны разные стратегии выбора:

1) Попытаться минимизировать труд на миграцию и рефакторинг программы. В виртуальной машине (KVM-Qemu? VirtualBox?) установить необходимое ПО (операционка, вероятно, FreeDOS). АЦП должно быть безглючно доступно виртуальной машине. Получится ли это в отношении USB АЦП? А PCI платы? Будет ли «плавать» реальная частота опроса больше чем на реальной системе, без виртуализации, или нет разницы?

2) Выбрать АЦП с хорошей поддержкой под Linux (или иную систему - FreeDOS, и т.п.), переписывать ПО на Си, FreePascal (под Java наверняка нет библиотек). Некороткий путь, но тоже реальный.

В идеале бы применить первую стратегию. Ценны любые советы.



Последнее исправление: cetjs2 (всего исправлений: 1)

получается - не просто АЦП, а еще и с двумя двуполярными ШИМ выходами.
Если есть познания, то можно взять какую-нить ATmega (у нее на борту несколько АЦП и ШИМ) и на ней слепить. Для двуполярного ШИМ - мост на мосфетах, а для связи с компом использовать RS-232, для чего на борту имеется USART.
Arduino?

lnx
()
Ответ на: комментарий от lnx

Похоже аналоговые напряжения на выходе ЦАП получаются только с помощью ШИМ ( http://easyelectronics.ru/avr-uchebnyj-kurs-ispolzovanie-shim.html ). Я правильно понял? Да, нужно иметь на выходе плавное изменение аналогового напряжения от - до + 1В.

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

Artif
() автор топика
Ответ на: комментарий от Artif

Делай на микроконтроллере, вон на атмеге, как уже сказали. Плавную регулировку напряжения можно получить и на ШИМе.

Artificial_Thought ★★★★
()
Ответ на: комментарий от Artif

Ну можно еще использовать R 2R ЦАП, но как быть с двуполярностью - не знаю. А для управления какой-либо нагрузкой обычно используется ШИМ.

lnx
()
Ответ на: комментарий от lnx

В принципе и с R-2R - двуполярность - не проблема, отдельным выходом управлять ключами подключенными к выходу матрицы, но не вижу смысла, если есть ШИМ.

lnx
()
Ответ на: комментарий от Artif

если есть познания в программировании - написать софт для платы особого труда не составит. Можно взять мегу с памятью побольше - на 16 или 32КБ и особо не заморачиваться с кодом, но, думаю, для такой задачи ATmega88 или 168 - заглаза. Паскаль для AVR есть, если что, есть даже BASIC. Да и на счет мосфетов - при таком малом напряжении в 1Вольт, похоже, надо будет использовать обычные биполярники разной проводимости.

lnx
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.