Easyelectronics.ru

Электроника для всех
Текущее время: 13 авг 2020, 06:48

Часовой пояс: UTC + 5 часов



JLCPCB – Прототипы печатных плат за $2/5шт. два слоя. $5/5шт. четыре слоя
Крупнейший производитель печатных плат и прототипов. Более 600000 клиентов и свыше 10000 заказов в день!
Получите скидку на почтовую отправку при первом заказе в JLCPCB!

Начать новую тему Ответить на тему  [ Сообщений: 13 ] 
Автор Сообщение
 Заголовок сообщения: Покритикуйте разводку (и схему тоже, и код тоже)
СообщениеДобавлено: 07 окт 2012, 18:24 
Старожил
Аватара пользователя

Зарегистрирован: 28 янв 2010, 20:18
Сообщения: 587
Вложение:
s1i.png
s1i.png [ 13.23 Кб | Просмотров: 5121 ]

Вложение:
s2i.png
s2i.png [ 12.63 Кб | Просмотров: 5121 ]

Вложение:
s3i.png
s3i.png [ 24.38 Кб | Просмотров: 5121 ]


Схема http://ompldr.org/vZnNjdw

Спасибо.


Последний раз редактировалось amaora 22 дек 2012, 13:40, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Покритикуйте разводку (и схему тоже)
СообщениеДобавлено: 07 окт 2012, 18:59 
Старожил
Аватара пользователя

Зарегистрирован: 23 июн 2011, 10:10
Сообщения: 1000
По моему было бы проще измерять ток до транзисторов а не после.
R5 и R6 надо подключить прямо к затворам, добавить подтяжку до плюса верхним транзисторам.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Покритикуйте разводку (и схему тоже)
СообщениеДобавлено: 10 окт 2012, 23:50 
Старожил
Аватара пользователя

Зарегистрирован: 28 янв 2010, 20:18
Сообщения: 587
Основные опасения у меня были по поводу разводки земли/питания, близости ОУ к "шумящему" драйверу rs485. Но никто ничего не скзаал, похоже буду делать так (с небольшими фиксами).

Еще было бы не плохо ужать плату раза в два (и по ширине и по длине). Но возможности такой я не вижу, даже если взять в МК в MLF. Шунт, резонатор, и st485 в более мелком виде по приемлемым ценам не обнаружены. Вывести парные/тройные контакты группами а не разбрасывать их по плате. Сделать силовые дороги ещё толще и короче. Но все это только в следущей ревизии, если она будет.

Цитата:
По моему было бы проще измерять ток до транзисторов а не после.

Но это не правильно, мне нужно знать ток через двигатель.

Цитата:
R5 и R6 надо подключить прямо к затворам, добавить подтяжку до плюса верхним транзисторам.

Зачем именно к затворам? Развести чуть сложнее будет. Они только для того чтобы не было КЗ пока МК в ресете. А верхние пусть открываются как хотят, кого это беспокоит?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Покритикуйте разводку (и схему тоже)
СообщениеДобавлено: 31 окт 2012, 00:08 
Старожил
Аватара пользователя

Зарегистрирован: 28 янв 2010, 20:18
Сообщения: 587
Понял, что 0402 надо было располагать гораздо плотнее. А площадки для smd надо было делать ближе (я же их разжал в расчете на то, что буду пускать дороги под ними). Хотя подпайвать провода уже было тяжело даже к такой не очень мелкой плате.

Вложение:
s407.jpg
s407.jpg [ 69.47 Кб | Просмотров: 4792 ]


Вложение:
s410.jpg
s410.jpg [ 60.76 Кб | Просмотров: 4792 ]


Верхние транзисторы действительно открылись. На выходе ОУ почти 5/2. МК успешно определяется программатором. Пока все, что успел проверить.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Покритикуйте разводку (и схему тоже)
СообщениеДобавлено: 31 окт 2012, 00:21 
Старожил

Зарегистрирован: 24 окт 2011, 17:29
Сообщения: 2338
Откуда: Украина
хм. по фоткам - 0402 излишни. тут и 0603 прекрасно лягут. и, кажется, даже 0805...

UPD: гоню. 0805 не помещаются. а вот 0603 - самое то. и в монтаже легче.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Покритикуйте разводку (и схему тоже)
СообщениеДобавлено: 04 ноя 2012, 15:33 
Старожил
Аватара пользователя

Зарегистрирован: 28 янв 2010, 20:18
Сообщения: 587
Начались вопросы написания программы. Разбить процесс шелла на кусочки слишком сложно, делать вытеснялку жирно. Пока думаю делать так, в прерывании по таймеру делается выставление нового заполнения шим, две выборки АЦП, включаеются прерывания и начинается расчет. Шелл работает вне прерываний, в свободное время. Когда заканчивается память при выводе текста через printf то остается видимо только делать sleep. Но все это мне, что-то не очень нравится. Можно очень долго провисеть на обработке команды шелла.

Лучше было бы делать расчет не в прерывании, а с помощью планировщика. Но как это совместить с шеллом который может долго висеть на выводе текста или ещё чем-то? непонятно. На вытеснялку жаль флеша, тактов и времени на отладку.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Покритикуйте разводку (и схему тоже)
СообщениеДобавлено: 04 ноя 2012, 22:50 
Старожил
Аватара пользователя

Зарегистрирован: 23 янв 2012, 00:31
Сообщения: 1799
Откуда: Новокузнецк
amaora писал(а):
Начались вопросы написания программы. Разбить процесс шелла на кусочки слишком сложно, делать вытеснялку жирно. Пока думаю делать так, в прерывании по таймеру делается выставление нового заполнения шим, две выборки АЦП, включаеются прерывания и начинается расчет. Шелл работает вне прерываний, в свободное время. Когда заканчивается память при выводе текста через printf то остается видимо только делать sleep. Но все это мне, что-то не очень нравится. Можно очень долго провисеть на обработке команды шелла.

Лучше было бы делать расчет не в прерывании, а с помощью планировщика. Но как это совместить с шеллом который может долго висеть на выводе текста или ещё чем-то? непонятно. На вытеснялку жаль флеша, тактов и времени на отладку.

по поводу организации программ - весьма годны "конечные автоматы" - компактно и гибко.
Если шелл отжирает много времени, то его нужно разбить на куски. Конечные автоматы помогут это сделать. Если это вывод в уарт, то нужно делать отправку по прерываниям.
Опять же еще зависит какое время реакции необходимо. Если оно очень критично, то без планировщика я вижу выход только в прерывании.

_________________
elisey.su


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Покритикуйте разводку (и схему тоже)
СообщениеДобавлено: 04 ноя 2012, 23:21 
Старожил
Аватара пользователя

Зарегистрирован: 28 янв 2010, 20:18
Сообщения: 587
elisey писал(а):
по поводу организации программ - весьма годны "конечные автоматы" - компактно и гибко.
Если шелл отжирает много времени, то его нужно разбить на куски. Конечные автоматы помогут это сделать. Если это вывод в уарт, то нужно делать отправку по прерываниям.
Опять же еще зависит какое время реакции необходимо. Если оно очень критично, то без планировщика я вижу выход только в прерывании.


Я похоже нашел, что искал. В явном виде делать из задачи конечный автомат не нужно. Хотя если это не сложно, то лучше сделать. Но если там командный интерфейс, комады произвольные, да ещё и вызывают всякие printf, то сделать автомат слишком сложно.

Решение в том, чтобы вызывать одни задачи из других. Если какая-то функция явно выполняется слишком долго, то в ней можно расставить вызовы некоего shedule() который будет запускать более приоритетные задачи если таковые появились. Состояние при этом сохранится на стеке без переписывания кода для этого и без вытесняющего планировкщика. Где-то раньше видел такое, а теперь вот вспомнил.

Теперь задача написать красивый и быстрый shedule().

В общем случае надо ещё проследить за взаимодействием задач, чтобы не было бесконечного вложенного вызова одной задачи из другой и наоборот. Может и ещё какие грабли есть.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Покритикуйте разводку (и схему тоже)
СообщениеДобавлено: 05 ноя 2012, 00:25 
Старожил
Аватара пользователя

Зарегистрирован: 29 май 2010, 18:46
Сообщения: 4189
Откуда: Киев
amaora писал(а):
Решение в том, чтобы вызывать одни задачи из других. Если какая-то функция явно выполняется слишком долго, то в ней можно расставить вызовы некоего shedule() который будет запускать более приоритетные задачи если таковые появились. Состояние при этом сохранится на стеке без переписывания кода для этого и без вытесняющего планировкщика. Где-то раньше видел такое, а теперь вот вспомнил.
...
Может и ещё какие грабли есть.

Я ни разу не теоретик этого дела, но кажется, что в таком подходе граблей полно. Может быть, стоит посмотреть в сторону свитч-технологии? Я подобный подход использую давно (разве что не так грамотно подходил, как описывается в теории) и он мне кажется достаточно удобным и не накладным.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Покритикуйте разводку (и схему тоже)
СообщениеДобавлено: 05 ноя 2012, 02:06 
Старожил

Зарегистрирован: 30 апр 2010, 22:56
Сообщения: 1588
Откуда: Киев
Protothreads не подойдут?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Покритикуйте разводку (и схему тоже)
СообщениеДобавлено: 22 дек 2012, 13:28 
Старожил
Аватара пользователя

Зарегистрирован: 28 янв 2010, 20:18
Сообщения: 587
Решил сделать проще, из прерывания дергать все важные задачи, а низкоприоритетные работают по флгам в main.

Возикла только проблема, даташит/еррату перечитываю а понять не могу. Включен timer0 в режиме CTC и считает до OCR0A. Включен ADC в режиме начала измерения по событию от timer0. Чтобы все флаги сбрасывались сделал пока два обработчика прерываний, ADC и timer0_compa. Второе работает как заказывали, с частотой 1кГц, а в первом непонятно что. Частота больше раз в 10, точно не знаю, измеряю мигающими светодиодами.

Show Код, если кому не лень смотреть.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Покритикуйте разводку (и схему тоже, и код тоже)
СообщениеДобавлено: 23 дек 2012, 15:27 
Старожил
Аватара пользователя

Зарегистрирован: 28 янв 2010, 20:18
Сообщения: 587
Оказывается дело в ADC noise canceler, у меня в цикле делается sleep (в фунции relax). Это запускает преобразование. В ДШ сказано как-то не очень ясно.

a. Make sure that the ADC is enabled and is not busy converting. Single Conversion
mode must be selected
and the ADC conversion complete interrupt must be enabled.

Но в Auto Triggering режиме это тоже происходит. И как это решить не пойму, хочется делать sleep, но не хочется и нельзя выключать/включать каждый раз ADC.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Покритикуйте разводку (и схему тоже, и код тоже)
СообщениеДобавлено: 30 дек 2012, 01:44 
Старожил
Аватара пользователя

Зарегистрирован: 28 янв 2010, 20:18
Сообщения: 587
Начал бэкапить исходники вот сюда,

https://bitbucket.org/amaora/phobia-servo/src

можно разглядывать если кому это будет интересно.

На данный момент работает только cli (шелл с автокомплитом), светодиод, конвертация число<->строка. Ведутся разборки с ШИМ.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 13 ] 


Часовой пояс: UTC + 5 часов


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB