|
Алгоритм работы системы управления |
|
|
|
Aug 20 2013, 08:11
|
Участник

Группа: Участник
Сообщений: 29
Регистрация: 20-03-11
Пользователь №: 63 737

|
Добрый день форумчане,
Нужна ваша помощь в составлении алгоритма работы следующей системы на базе MEGA 32. Система делает следующее: 1. меряет температуру в 3х точках с помощью датчиков DS18B20, и выводит на lcd дисплей, температура никак не обрабатывается и является чисто информационной. 2. меряет температуру 1 датчиком и в зависимости от температуры регулирует обороты двигателя с помощью симистора. 3. меряет температуру 1 датчиком и в зависимости от температуры регулирует мощность ТЭНа 1 с помощью симистора.
Всего в системе 5 датчиков ds18b20. 4 из них имеют разрядность 9 бит, 1 - 12 бит(для ТЭНа).
4. обработка "детектора нуля" и управление 2-мя триаками. (Так как нагрузка активно-индуктивная) 5. вывод значений мощности (ШИМ) тэна и мотора на lcd.
Собственно на данный момент разработана схема, вытравлена и распаяна. Схему не привожу ибо все просто. На данный момент меряю температуру 5-ю датчиками и вывожу на лсд, но процесс считывания занимает уйму времени в контроллере, около 3 с на один цикл для 5и датчиков. Собственно этот вариант не устраивает, так как совсем не остается времени для обработки детектора нуля и управления симисторами. Если кто то сталкивался с подобным, подскажите умную мыслю пожалуйста.
Может имеет смысл использовать второй контроллер для обработки детектора нуля и симисторов? или можно организовать работу одним контроллером, но ускорить считывание с датчиков?
|
|
|
|
|
 |
Ответов
|
Aug 20 2013, 09:02
|
Участник

Группа: Участник
Сообщений: 29
Регистрация: 20-03-11
Пользователь №: 63 737

|
да, моих знаний не хватает, буду курить даташит по работе с таймером.
Вот еще алгоритм по работе детектора нуля и симистора тоже до конца не понятен. Я прошеряю состояние перехода через ноль, в момент перехода, а точнее, за некоторое кол-во милисекунд я получаю импульс с детектора нуля, в этот момент я должен начать отсчет полупериодов, по 10мс на полупериод, и в зависимости от требуемой мощности пропускать например только четные для 50% мощности, или каждый 10 период для 10% мощности. я на правильном пути?
|
|
|
|
Сообщений в этой теме
eugmai86 Алгоритм работы системы управления Aug 20 2013, 08:11 kovigor Цитата(eugmai86 @ Aug 20 2013, 11:11) про... Aug 20 2013, 08:27 eugmai86 да, использую стандартную библиотеку CV AVR... Aug 20 2013, 08:37 kovigor Цитата(eugmai86 @ Aug 20 2013, 11:37) да,... Aug 20 2013, 08:43 MrYuran 1-wire замечательно вешается на свободный UART.
Кс... Aug 20 2013, 08:44 ArtemKAD Цитата(eugmai86 @ Aug 20 2013, 12:02) Я п... Aug 20 2013, 14:45  Tanya Перестаем засекать пересечение нуля - используем о... Aug 20 2013, 15:09  eugmai86 Цитата(ArtemKAD @ Aug 20 2013, 17:45) 1) ... Aug 22 2013, 07:35   kolobok0 Цитата(eugmai86 @ Aug 22 2013, 11:35) ...... Aug 22 2013, 10:12 eugmai86 спасибо, буду коварять Aug 20 2013, 09:17 kolobok0 Цитата(eugmai86 @ Aug 20 2013, 12:11) ...... Aug 21 2013, 10:19 vgo1 Алгоритм Брезенхема более или менее ровномерно рас... Aug 22 2013, 07:51 eugmai86 Цитата(vgo1 @ Aug 22 2013, 10:51) Алгорит... Aug 22 2013, 08:13  Tanya Цитата(eugmai86 @ Aug 22 2013, 12:13) есл... Aug 22 2013, 08:38 eugmai86 да, все заработало в протеусе, буду пробовать в же... Aug 23 2013, 11:11
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|