Как подключиться к ЦАП TLC5615 с помощью FLProg?
-
- Сержант
- Сообщения: 129
- Зарегистрирован: 11 сен 2015, 20:58
- Имя: Панаётис
Как подключиться к ЦАП TLC5615 с помощью FLProg?
Может кто помочь с кодом, для подключения с 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));
}
Добавлено (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 фев 2017, 12:15, всего редактировалось 1 раз.
- Boroda
- Капитан
- Сообщения: 836
- Зарегистрирован: 01 май 2016, 01:04
- Откуда: Коломна
- Имя: Станислав
- Контактная информация:
Как подключиться к ЦАП TLC5615 с помощью FLProg?
Немного поправил код, что Вы мне прислали, сделал блок.
Тестируйте.
Del. Исправленная ниже.
Тестируйте.
Del. Исправленная ниже.
Последний раз редактировалось Boroda 06 фев 2017, 08:30, всего редактировалось 1 раз.
-
- Сержант
- Сообщения: 129
- Зарегистрирован: 11 сен 2015, 20:58
- Имя: Панаётис
Как подключиться к ЦАП TLC5615 с помощью FLProg?
Благодарю Вам Boroda . Сейчас подключусь к плате и протестирую.
Добавлено (05.02.2017, 15:45)
---------------------------------------------
Если Boroda не составит труда? Можете посмотреть новую тему "реверсивный таймер" на плате под номер 2.
Использование АЦП мне надо было в этой программе
Добавлено (05.02.2017, 15:45)
---------------------------------------------
Если Boroda не составит труда? Можете посмотреть новую тему "реверсивный таймер" на плате под номер 2.
Использование АЦП мне надо было в этой программе
Последний раз редактировалось Panagiotis 05 фев 2017, 15:50, всего редактировалось 1 раз.
- Boroda
- Капитан
- Сообщения: 836
- Зарегистрирован: 01 май 2016, 01:04
- Откуда: Коломна
- Имя: Станислав
- Контактная информация:
Как подключиться к ЦАП TLC5615 с помощью FLProg?
Так заканчиваются большинство тем!Panagiotis писал(а):Сейчас подключусь
П.С. У нас на одном объекте, где стоит контроль фаз, местный электрик, меняя вводной кабель со словами "ааааа, я все понял" полез в наш шкаф и.... спалил пол шкафа и три контроллера на котлах отопления предприятия! На улице минус 20 было!
-
- Сержант
- Сообщения: 129
- Зарегистрирован: 11 сен 2015, 20:58
- Имя: Панаётис
Как подключиться к ЦАП TLC5615 с помощью FLProg?
С большим уважением к Вам обращаюсь Борода, ну поймите я бился с этой темой уже несколько дней, облазил всевозможные сайты и даташиты по микросхеме этой и упёрся в стену. Как мне надо было написать тогда?
- Boroda
- Капитан
- Сообщения: 836
- Зарегистрирован: 01 май 2016, 01:04
- Откуда: Коломна
- Имя: Станислав
- Контактная информация:
Как подключиться к ЦАП TLC5615 с помощью FLProg?
Да я ж в шутку. Блок заработал? Я ж его не тестировал.
-
- Сержант
- Сообщения: 129
- Зарегистрирован: 11 сен 2015, 20:58
- Имя: Панаётис
Как подключиться к ЦАП TLC5615 с помощью FLProg?
Нет к сожалению не тестировал пока что. Когда писал Вам мне позвонили с завода была поломка и пришлось пойти срочно туда, только что вернулся и сейчас проверю после того как опишу вам в трёх словах алгоритм.
Добавлено (06.02.2017, 01:48)
---------------------------------------------
Проверил, работает но есть одно непонятное для меня, входное число 620 место 1023 и при этом на выходе ЦАП максимальное выходное напряжение присутствует
Добавлено (06.02.2017, 01:48)
---------------------------------------------
Проверил, работает но есть одно непонятное для меня, входное число 620 место 1023 и при этом на выходе ЦАП максимальное выходное напряжение присутствует
- Boroda
- Капитан
- Сообщения: 836
- Зарегистрирован: 01 май 2016, 01:04
- Откуда: Коломна
- Имя: Станислав
- Контактная информация:
Как подключиться к ЦАП TLC5615 с помощью FLProg?
Как я и думал, надо отправлять 16 бит, а не 12. В PDFке криво написано, да и пример был с 12ю битами. Люди, блин, не тестируют, а в сеть выкладывают. На github код посмотрел, там аппаратный SPI используют и 16 бит отправляют. Но я применил софтварный, чтоб ножки любые можно было использовать Тестируйте.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось Boroda 06 фев 2017, 09:24, всего редактировалось 1 раз.
-
- Сержант
- Сообщения: 129
- Зарегистрирован: 11 сен 2015, 20:58
- Имя: Панаётис
Как подключиться к ЦАП TLC5615 с помощью FLProg?
Доброе утро и большое Вам спасибо Борода. Протестирую как программку ЦАП а так же элеватор и опишусь как и что.
Добавлено (06.02.2017, 23:46)
---------------------------------------------
Добрый суток времени. загрузил и проверил блок TLC5615_(CODE) но почему то результат абсолютно одинаковый с предыдущим блоком.
Добавлено (06.02.2017, 23:46)
---------------------------------------------
Добрый суток времени. загрузил и проверил блок TLC5615_(CODE) но почему то результат абсолютно одинаковый с предыдущим блоком.
- Boroda
- Капитан
- Сообщения: 836
- Зарегистрирован: 01 май 2016, 01:04
- Откуда: Коломна
- Имя: Станислав
- Контактная информация:
Как подключиться к ЦАП TLC5615 с помощью FLProg?
Странно. На каком значении блок на максимум выходит?
-
- Сержант
- Сообщения: 129
- Зарегистрирован: 11 сен 2015, 20:58
- Имя: Панаётис
- Boroda
- Капитан
- Сообщения: 836
- Зарегистрирован: 01 май 2016, 01:04
- Откуда: Коломна
- Имя: Станислав
- Контактная информация:
Как подключиться к ЦАП TLC5615 с помощью FLProg?
Так у этой микросхемы коэффициент усиления двум равен. Если опора 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.
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 фев 2017, 00:54, всего редактировалось 1 раз.
-
- Сержант
- Сообщения: 129
- Зарегистрирован: 11 сен 2015, 20:58
- Имя: Панаётис
Как подключиться к ЦАП TLC5615 с помощью FLProg?
да вроде так пишет в даташите, на входе у меня опорная напряжение 5 вольт
- Boroda
- Капитан
- Сообщения: 836
- Зарегистрирован: 01 май 2016, 01:04
- Откуда: Коломна
- Имя: Станислав
- Контактная информация:
Как подключиться к ЦАП TLC5615 с помощью FLProg?
На вход REFIN нельзя подавать сигнал больше (Vdd-2) вольта. Номинальное напряжение 2,048 вольта. Получается при питании 5 вольт, на REFIN должно быть от 2 до 3 вольт. А идеал 2,5.
Последний раз редактировалось Boroda 07 фев 2017, 01:00, всего редактировалось 1 раз.
-
- Сержант
- Сообщения: 129
- Зарегистрирован: 11 сен 2015, 20:58
- Имя: Панаётис
-
- Сержант
- Сообщения: 129
- Зарегистрирован: 11 сен 2015, 20:58
- Имя: Панаётис
Как подключиться к ЦАП TLC5615 с помощью FLProg?
вот и фотка платы
У вас нет необходимых прав для просмотра вложений в этом сообщении.
- Boroda
- Капитан
- Сообщения: 836
- Зарегистрирован: 01 май 2016, 01:04
- Откуда: Коломна
- Имя: Станислав
- Контактная информация:
Как подключиться к ЦАП TLC5615 с помощью FLProg?
Ну если опора завязана на 5 вольт, то о линейности говорить не приходится. Думаю ее можно более менее корректно использовать в диапазоне цифр от 0 до 511, а выше уже нелинейный участок пойдет.
Добавлено (07.02.2017, 01:15)
---------------------------------------------
Но я бы на Вашем месте ее в штатный режим работы перевел!
Добавлено (07.02.2017, 01:15)
---------------------------------------------
Но я бы на Вашем месте ее в штатный режим работы перевел!
-
- Сержант
- Сообщения: 129
- Зарегистрирован: 11 сен 2015, 20:58
- Имя: Панаётис
Как подключиться к ЦАП TLC5615 с помощью FLProg?
Понятно. Спасибо за помощь оказанную и поддержку Борода. Завтра то Есть сегодня уже проверю Ваш проект элеватор. Классно доработали Вы его и дополнили блоком поддерживания ноликов.
Добавлено (07.02.2017, 01:28)
---------------------------------------------
Я согласен с Вами но с другой стороны эта плата как лет 15 проработала без проблем а вывело её из строя блок питание компа который спалил процессор PIC16C77
Добавлено (07.02.2017, 01:28)
---------------------------------------------
Я согласен с Вами но с другой стороны эта плата как лет 15 проработала без проблем а вывело её из строя блок питание компа который спалил процессор PIC16C77
Последний раз редактировалось Panagiotis 07 фев 2017, 01:31, всего редактировалось 1 раз.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 0 гостей