Как подключиться к ЦАП TLC5615 с помощью FLProg?

Использование цтфро-аналоговых и аналогово-цифровых преобразователей и пользовательских блоков к ним
Ответить
Panagiotis
Сержант
Сообщения: 127
Зарегистрирован: 11.09.2015{, 20:58}
Репутация: 5
Имя: Панаётис

Как подключиться к ЦАП TLC5615 с помощью FLProg?

#1

Сообщение Panagiotis » 05.02.2017{, 12:07}

Может кто помочь с кодом, для подключения с TLC5615CP в программе FLProg?

Добавлено (05.02.2017, 12:07)
---------------------------------------------
Нашёл такой код в сети, но не знаю как с этим воспользоваться в программе FLProg

//Arduino project http://arduino.cc
//by Mini Dragon at http://minidr.com/archives/687
//This program is licensed under a Creative Commons Attribution-ShareAlike 3.0 License.
#define CS 2 //chip enable
#define CLOCK 3
#define DATA 4

#define HALF_CLOCK_PERIOD 2 //2 uS of clock period
float j=0;

void setup()
{
pinMode(DATA, OUTPUT);
pinMode(CLOCK,OUTPUT);
pinMode(CS,OUTPUT);
digitalWrite(CS,HIGH);
digitalWrite(DATA,LOW);
digitalWrite(CLOCK,LOW);
}

void writeValue(uint16_t value)
{
digitalWrite(CS,LOW); //start of 12 bit data sequence
digitalWrite(CLOCK,LOW);
//Add 2 0 at the end of the data.
//A 10-bit data word should add 2 0 at the LSB bit (sub-LSB),
//since the DAC input latch is 12 bits wide.(SEE TLC5615C DATASHEET)
data = data << 2;
for(int i=11; i>=0; i--) //send the 12 bit sample data
{
digitalWrite(DATA, (value & (1 << i) ) >> i ); //DATA ready
delayMicroseconds(HALF_CLOCK_PERIOD);
digitalWrite(CLOCK,HIGH); //DAC get DATA at positive edge
delayMicroseconds(HALF_CLOCK_PERIOD);
digitalWrite(CLOCK,LOW);
}
digitalWrite(CS,HIGH); //end 12 bit data sequence
}

void loop()
{
j=567; //in here, 567 is a example. DAC OUT=j*Vref/1024
writeValue(floor(j));
}
Последний раз редактировалось Panagiotis 05.02.2017{, 12:15}, всего редактировалось 1 раз.

Аватара пользователя
Boroda
Капитан
Сообщения: 836
Зарегистрирован: 01.05.2016{, 01:04}
Репутация: 38
Откуда: Коломна
Имя: Станислав
Контактная информация:

Как подключиться к ЦАП TLC5615 с помощью FLProg?

#2

Сообщение Boroda » 05.02.2017{, 15:14}

Немного поправил код, что Вы мне прислали, сделал блок.
Тестируйте.

Del. Исправленная ниже.
Последний раз редактировалось Boroda 06.02.2017{, 08:30}, всего редактировалось 1 раз.

Panagiotis
Сержант
Сообщения: 127
Зарегистрирован: 11.09.2015{, 20:58}
Репутация: 5
Имя: Панаётис

Как подключиться к ЦАП TLC5615 с помощью FLProg?

#3

Сообщение Panagiotis » 05.02.2017{, 15:45}

Благодарю Вам Boroda . Сейчас подключусь к плате и протестирую.

Добавлено (05.02.2017, 15:45)
---------------------------------------------
Если Boroda не составит труда? Можете посмотреть новую тему "реверсивный таймер" на плате под номер 2.
Использование АЦП мне надо было в этой программе
Последний раз редактировалось Panagiotis 05.02.2017{, 15:50}, всего редактировалось 1 раз.

Аватара пользователя
Boroda
Капитан
Сообщения: 836
Зарегистрирован: 01.05.2016{, 01:04}
Репутация: 38
Откуда: Коломна
Имя: Станислав
Контактная информация:

Как подключиться к ЦАП TLC5615 с помощью FLProg?

#4

Сообщение Boroda » 05.02.2017{, 19:06}

Panagiotis писал(а):Сейчас подключусь
 Так заканчиваются большинство тем!

П.С. У нас на одном объекте, где стоит контроль фаз, местный электрик, меняя вводной кабель со словами "ааааа, я все понял" полез в наш шкаф и.... спалил пол шкафа и три контроллера на котлах отопления предприятия! На улице минус 20 было!

Panagiotis
Сержант
Сообщения: 127
Зарегистрирован: 11.09.2015{, 20:58}
Репутация: 5
Имя: Панаётис

Как подключиться к ЦАП TLC5615 с помощью FLProg?

#5

Сообщение Panagiotis » 05.02.2017{, 21:15}

С большим уважением к Вам обращаюсь Борода, ну поймите я бился с этой темой уже несколько дней, облазил всевозможные сайты и даташиты по микросхеме этой и упёрся в стену. Как мне надо было написать тогда?

Аватара пользователя
Boroda
Капитан
Сообщения: 836
Зарегистрирован: 01.05.2016{, 01:04}
Репутация: 38
Откуда: Коломна
Имя: Станислав
Контактная информация:

Как подключиться к ЦАП TLC5615 с помощью FLProg?

#6

Сообщение Boroda » 05.02.2017{, 21:42}

Да я ж в шутку. Блок заработал? Я ж его не тестировал.

Panagiotis
Сержант
Сообщения: 127
Зарегистрирован: 11.09.2015{, 20:58}
Репутация: 5
Имя: Панаётис

Как подключиться к ЦАП TLC5615 с помощью FLProg?

#7

Сообщение Panagiotis » 06.02.2017{, 01:48}

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

Добавлено (06.02.2017, 01:48)
---------------------------------------------
Проверил, работает но есть одно непонятное для меня, входное число 620 место 1023 и при этом на выходе ЦАП  максимальное выходное напряжение присутствует

Аватара пользователя
Boroda
Капитан
Сообщения: 836
Зарегистрирован: 01.05.2016{, 01:04}
Репутация: 38
Откуда: Коломна
Имя: Станислав
Контактная информация:

Как подключиться к ЦАП TLC5615 с помощью FLProg?

#8

Сообщение Boroda » 06.02.2017{, 08:28}

Как я и думал, надо отправлять 16 бит, а не 12. В PDFке криво написано, да и пример был с 12ю битами. Люди, блин, не тестируют, а в сеть выкладывают. На github код посмотрел, там аппаратный SPI используют и 16 бит отправляют. Но я применил софтварный, чтоб ножки любые можно было использовать Тестируйте.
Вложения
5798177.rar
(12.61 КБ) 92 скачивания
Последний раз редактировалось Boroda 06.02.2017{, 09:24}, всего редактировалось 1 раз.

Panagiotis
Сержант
Сообщения: 127
Зарегистрирован: 11.09.2015{, 20:58}
Репутация: 5
Имя: Панаётис

Как подключиться к ЦАП TLC5615 с помощью FLProg?

#9

Сообщение Panagiotis » 06.02.2017{, 23:46}

Доброе утро и большое Вам спасибо Борода. Протестирую как программку ЦАП а так же элеватор и опишусь как и что.

Добавлено (06.02.2017, 23:46)
---------------------------------------------
Добрый суток времени. загрузил и проверил блок TLC5615_(CODE) но почему то результат абсолютно одинаковый с предыдущим блоком.

Аватара пользователя
Boroda
Капитан
Сообщения: 836
Зарегистрирован: 01.05.2016{, 01:04}
Репутация: 38
Откуда: Коломна
Имя: Станислав
Контактная информация:

Как подключиться к ЦАП TLC5615 с помощью FLProg?

#10

Сообщение Boroda » 07.02.2017{, 00:26}

Странно. На каком значении блок на максимум выходит?

Panagiotis
Сержант
Сообщения: 127
Зарегистрирован: 11.09.2015{, 20:58}
Репутация: 5
Имя: Панаётис

Как подключиться к ЦАП TLC5615 с помощью FLProg?

#11

Сообщение Panagiotis » 07.02.2017{, 00:41}

так же на 625

Аватара пользователя
Boroda
Капитан
Сообщения: 836
Зарегистрирован: 01.05.2016{, 01:04}
Репутация: 38
Откуда: Коломна
Имя: Станислав
Контактная информация:

Как подключиться к ЦАП TLC5615 с помощью FLProg?

#12

Сообщение Boroda » 07.02.2017{, 00:45}

Так у этой микросхемы коэффициент усиления двум равен. Если опора REFIN = 2.5 вольта, то выход будет от 0 до 5 вольт. Можно напрямую TL431 для опоры использовать.

The TLC5615 uses resistor string network buffered with an op amp in a fixed gain of 2  to convert 10-bit digital data to analog voltage levels.
Последний раз редактировалось Boroda 07.02.2017{, 00:54}, всего редактировалось 1 раз.

Panagiotis
Сержант
Сообщения: 127
Зарегистрирован: 11.09.2015{, 20:58}
Репутация: 5
Имя: Панаётис

Как подключиться к ЦАП TLC5615 с помощью FLProg?

#13

Сообщение Panagiotis » 07.02.2017{, 00:55}

да вроде так пишет в даташите, на входе у меня опорная напряжение 5 вольт

Аватара пользователя
Boroda
Капитан
Сообщения: 836
Зарегистрирован: 01.05.2016{, 01:04}
Репутация: 38
Откуда: Коломна
Имя: Станислав
Контактная информация:

Как подключиться к ЦАП TLC5615 с помощью FLProg?

#14

Сообщение Boroda » 07.02.2017{, 00:57}

На вход REFIN нельзя подавать сигнал больше (Vdd-2) вольта. Номинальное напряжение 2,048 вольта. Получается при питании 5 вольт, на REFIN должно быть от 2 до 3 вольт. А идеал 2,5.
Последний раз редактировалось Boroda 07.02.2017{, 01:00}, всего редактировалось 1 раз.

Panagiotis
Сержант
Сообщения: 127
Зарегистрирован: 11.09.2015{, 20:58}
Репутация: 5
Имя: Панаётис

Как подключиться к ЦАП TLC5615 с помощью FLProg?

#15

Сообщение Panagiotis » 07.02.2017{, 01:02}

это микросхема на плате. сейчас фотку скину

Panagiotis
Сержант
Сообщения: 127
Зарегистрирован: 11.09.2015{, 20:58}
Репутация: 5
Имя: Панаётис

Как подключиться к ЦАП TLC5615 с помощью FLProg?

#16

Сообщение Panagiotis » 07.02.2017{, 01:08}

вот и фотка платы
Вложения
5097855.jpg

Аватара пользователя
Boroda
Капитан
Сообщения: 836
Зарегистрирован: 01.05.2016{, 01:04}
Репутация: 38
Откуда: Коломна
Имя: Станислав
Контактная информация:

Как подключиться к ЦАП TLC5615 с помощью FLProg?

#17

Сообщение Boroda » 07.02.2017{, 01:15}

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

Добавлено (07.02.2017, 01:15)
---------------------------------------------
Но я бы на Вашем месте ее в штатный режим работы перевел!

Panagiotis
Сержант
Сообщения: 127
Зарегистрирован: 11.09.2015{, 20:58}
Репутация: 5
Имя: Панаётис

Как подключиться к ЦАП TLC5615 с помощью FLProg?

#18

Сообщение Panagiotis » 07.02.2017{, 01:28}

Понятно. Спасибо за помощь оказанную и поддержку Борода. Завтра то Есть сегодня уже проверю Ваш проект элеватор. Классно доработали Вы его и дополнили блоком поддерживания ноликов.

Добавлено (07.02.2017, 01:28)
---------------------------------------------
Я согласен с Вами но с другой стороны эта плата как лет 15 проработала без проблем а вывело её из строя блок питание компа который спалил процессор PIC16C77
Последний раз редактировалось Panagiotis 07.02.2017{, 01:31}, всего редактировалось 1 раз.

Ответить

Вернуться в «ЦАП и АЦП»