Технический форум по робототехнике.
SpaceQuester » 29 янв 2016, 12:25
Помогите пожалуйста с программкой, очень нужно для нужд российской науки.
Есть контроллер, с помощью него нужно управлять системой:
- на одну пару контактов нужно уметь подавать напряжение от 0 до +1.2 Вольт
- на вторую пару контактов нужно уметь подавать напряжение от 0 до +5.0 Вольт
- с третьей пары нужно снять показание тока от 0 до 0.1 милиАмера (ток постоянный, снимается с фотоумножителей Hamamatsu)
- с четвёртой пары нужно снять показание напряжения от 0 до + 5.0 Вольт (кстати, а до 10 Вольт можно снимать значения?)
Контроллер подключен к PC как COM порт. Какими командами из внешней программы на PC (пусть это будет С++ или MATLAB) нужно задавать напряжение и считывать напряжение и ток?
Спасибо!
Myp » 29 янв 2016, 13:32
к матлабу можно подключить ардуину и с неё управлять выходами и считывать входы.
http://www.mathworks.com/hardware-suppo ... n_loc_drop
loox » 29 янв 2016, 15:21
Какой контроллер?
Спсибо loox
SpaceQuester » 29 янв 2016, 16:00
С серийным портом разобрался, спасибо!
Подскажите с этой темой, пожалуйста: на пару контактов нужно уметь подавать напряжение от 0 до +5.0 Вольт (и на другую пару от 0 до 1.2 Вольта)
Контроллер: Nano (ATMEGA 328, CH340)
loox » 29 янв 2016, 16:25
Стоп, стоп
Ничего никуда не подавайте - прямиком идите читать инструкцию по эксплуатации ATMEGA 328(ARDUINO) иначе российская наука лишится ценного прибора
Прочитаете, обязательно сообщите и далее продолжим
Походу должны ответить на несколько вопросов:
- какое выходное сопротивление источника напряжения
- с какой скоростью изменяется измеряемое напряжение
- какой уровень шумов имеет источник напряжения их спектр
- какие погрешности измерения
Спасибо loox
PC
Решение научных задач с помощью любительского форума - это по Нашему, по Бразильски!
Интересно, что там с СОМ портом, с которым разобрались - жив ли бедняга?
SpaceQuester » 29 янв 2016, 18:13
C COM портом вкурил как им управлять.
Вот схема подключения питания:
https://monosnap.com/file/fIVXdfvbIXclE ... R6wGq5c6F2Пока давайте научимся задавать напряжение с ардуинки.
Scorpio » 29 янв 2016, 19:06
loox » 29 янв 2016, 21:26
Стоп,стоп
Вы прочитали инструкцию по эксплуатации Arduino ?
Вопрос не праздный - по тому что Вы пишете, вы совершенно невежественны в этой теме.
Вернитесь к пункту 1, в противном случае результат будет = 0.
Спасибо loox
PC
Дружище Scorpio, не морочите мальку голову, пора как то обучать новое поколение - а то от "умниц и умников" на форуме прохода нет. Примите мое уведомление о полном к Вам Почтении
Scorpio » 29 янв 2016, 22:03
loox писал(а): не морочите мальку голову
Все уже
сделано до нас.
loox » 31 янв 2016, 21:27
SpaceQuester
Коллега, куда же Вы пропали?
Если читаете про мегу - отлично, жду вопросов
Если обиделись на "умников" - то напрасно, простите меня старика
Задачка у Вас не тривиальная, и простыми ответами на вопросы без собственных знаний, практически не реализуема.
Если захотите помогу.
Спасибо loox
SpaceQuester » 01 фев 2016, 13:39
Начну с простых вопросов, пожалуй.
Не сразу всё мне понятно.
1) analogWrite(9, 2.5 * (255.0 / 5.0)); // D9
int sensorValue = analogRead(A0);
float voltage = sensorValue * (5.0 / 1023.0);
Serial.println(voltage);
Если подключить щуп A0 к D9 (где я ожидаю увидеть 2.5 вольта), я вижу широтно-импульсную модуляцию. И из неё мне нужно сгладить эту ШИМ до нужных мне 2.5 Вольт. Вопрос как? Здесь пишут про RC фильтр:
http://fablabs.ru/wiki/index.php/RC-%D1 ... 0%BE%D1%82Но супергладко у них тоже не получается. Как мне быть?
2) Я меряю влоб напряжение между щупами A0 и AGRN, вставляю между ними батарейку на 1.5 Вольт, и вижу что 1.5 Вольт не показывает, я вижу только шум. Почему?
Radist » 01 фев 2016, 13:50
Насчет шима расскажу. Если шим из временной области перевести в частотную, то мы увидим спектр прямоугольного импульса (первая гармоника на частоте шим) и постоянную составляющую. Вот ее и надо выделить фильтром. В данном случае речь идет о фильтре нижних частот, частный случай - RC фильтр. Это пассивный фильтр первого порядка. Идеальный фильтр выглядит как вертикальный обрыв - это фильтр бесконечно большого порядка. Чем меньше порядок - тем положе "спуск к морю". Задаваясь допуском на колебания в полосе пропускания, можно определить порядок фильтра. А затем рассчитать его. У студентов радиофаков это одна из курсовых, кажется на третьем курсе. Не знаю вашей специфики, но можно пойти и другим путем - с помощью таймера измерять время импульса/паузы шим и получать нужную информацию.
SpaceQuester » 01 фев 2016, 14:20
А достаточно ли будет RC фильтра из этой статьи:
http://fablabs.ru/wiki/index.php/%D0%A4%D0%9D%D0%A7Пишут что два последовательных RC фильтра решают эту задачу.
И вопрос еще, подключать фильтр вот так:
https://monosnap.com/file/NiBoH6kMXphTf ... aFQbJDKkpz ?
Можно потом выход с фильтра померять своей же ардуинкой через выходы A0 - AGND? Покажет нужные мне 2.5 Вольта, заданные в "analogWrite(9, 2.5 * (255.0 / 5.0)); // D9" ?
loox » 01 фев 2016, 14:53
Коллега
Решать задачу необходимо с задания самому себе,а не с широтно-импульсной модуляции.
ЗАДАЧА: хочу получить на выходе устройства программно-управляемое напряжение от xx до zz вольт с шагом yy, c
погрешностью не более +- qq
Выходное сопртивление не более ss ом -Это очеь важно
Подставьте в значения в zz xx , потом увидите возможности реализации
Loox
Radist » 01 фев 2016, 15:00
2ТС: Откуда нам знать достаточно или нет? Попробуйте и сами решите, устраивает болтанка или нет. Но по вопросам мне становится понятно, что ваши знания в этой области не достаточны. Чтобы их прокачать, нужно спрашивать не о том, что будет, а самому смотреть на это. А хороший вопрос трудолюбивого робототехника звучит примерно так: я хотел получить то то, для этого сделал вот это, а получилось совсем не то, а вот что. Что я сделал неправильно? Ключевое здесь "сделал". И даже если что-то сгорит - вы это запомните надолго. А наши ответы на вопросы по rc цепочке забудутся уже через неделю.