Имя: Пароль:
IT
 
Комп и периферия
0 Sun_Lin
 
27.04.14
01:38
Возникла неясная идея.

Преамбула
============
Даже не уверен, что выбрал правильную секцию.
Решил обратиться к коллегам, а не специализированный форум электронщиков или СИшников, ибо ничего не посоветуют, а отправят читать книжки.
Так вот, сын у меня увлекся радиоэлектроникой, т.е. что-то собирает и что-то паяет. Но у меня другая идея возникла, которой и я бы с большим удовольствием с ним заодно занялся бы. А кроме того, у парня склад соображалки математический - может и к программированию удастся его пристрастить.

История
=========
Уже сколько раз сталкивался с такими девайсами, которые работают с связке с компом.
В 95 году принимал участие в монтаже печи сжигания жидких хлорорганических отходов - куча расходомеров, задвижек, реле, измерительных приборов, которые управлялись одним компом. Вся периферия была Honeywell. Меня слаженная работа того, что в итоге получилось, просто поразила!
В 2005 году видел и подробно поинтересовался работой растворо-бетонного узла какой-то немецкой фирмы - там вообще все компом управлялось, вот прямо начиная с забора ПГС нужной фракции, цемента и весовой пропорции между ними и заканчивая вываливанием продукта в бетоновозку.
Ну и последние лет 15 нет-нет да обсасываю про себя идею "умного дома", управляемого компом.
Да, я физфак закончил, но лабы по радиоэлектронике, на которых мы что-то писали на асме на ДВК как-то в одно ухо влетели, в другое вылетели :(

Реализация
============
Понимаю, что правильный периферийный девайс должен иметь свой контроллер, который работает на низком уровне через например последовательный порт через DLL, которая предоставляет некие API, которые можно вызывать из любого другого языка высокого уровня. И это был бы совсем простой в реализации (матрасный) вариант. Но хотелось бы совсем на пальцах понять, как не имея никакого контроллера, а например, взять какой-нибудь электромагнит, к нему приляпать небольшую схемку, которая при подаче например напряжения 0-5 мА с последовательного порта срабатывает или перестает срабатывать.
Понимаю, что надо будет это делать на низком уровне, но для этого возьмем Си например, а он уже может вполне работать с COM-портом, вплоть до того, что на нем можно пользовать АСМ-вставки, насколько я помню. Но что делать со схемкой на девайсе ?

Может кто пинет в правильном направлении ?

ЗЫ
Да, предполагаю использовать линукс и нативный ему Си.
1 fellow
 
27.04.14
02:06
Построить свой собственный arduino с электромагнитом и асм-вставками :-)
2 Sun_Lin
 
27.04.14
02:30
Ух ты!!!
Спасибо :)
3 fellow
 
27.04.14
02:37
Весёлого макетирования! :-)
4 Партизан
 
27.04.14
11:46
(1) ардуино - тормозной отстой, надо все делать самому с изучением архитектуры микроконтроллера и программированием на чистом асме.
5 Jump
 
27.04.14
11:54
(4)Далеко не каждый вот так возьмет разом изучит архитектуру контроллера и начнет писать на асме.

А ардуино позволяет устроить быстрый старт, где все просто продуманно, документированно, и куча мануалов в сети.
А уж получив опыт работы с ардуино, можно и на чистое железо и асм переходить.
6 Лаврентий Берия
 
27.04.14
11:54
(0) Цель-то какая? Процесс или результат?
7 Партизан
 
27.04.14
12:07
(5) потом просто не захочется углубляться в дебри, поэтому на выходе получится спициялист, клепающий дорогое тормознутое гуано.
8 Партизан
 
27.04.14
12:08
9 Jump
 
27.04.14
13:25
(7)Кому то захочется, кому то нет. Зависит от людей и задач стоящих перед ними.

А по поводу "получится спициялист, клепающий дорогое тормознутое гуано."
Ну адинэсники все такие - вместо того чтобы вникнуть в то как работает процессор и начать писать классные программы на асме, сидят и клепают тормознутые поделия в 1с.
10 Jump
 
27.04.14
13:29
(8)И смысл?
Я вот не хочу становиться профессиональным разработчиком микроконтроллеров, у меня другая профессия есть, и она меня устраивает.

Нахрена мне ковыряться с контроллерами и их обвязкой, если можно купить ардуину, и сделать интересную вещицу?
Если вещица будет действительно интересной и захочется пустить в серию, тогда не сложно найти профессионала который сделает аналог на более дешевом железе, и напишет быстродействующий код на низкоуровневом языке.
11 vlandev
 
27.04.14
13:30
Для "вумного дома" с головой хватит тормознутого ардуино , зачем там ассемблерные вставки? Что там ускорять то? Реакцию на смыв какашек в туалете?
12 Jump
 
27.04.14
13:33
(11)В том то и дело.
Да и разработка на ассемблере в разы медленней чем на высокоуровневом языке.
А учитывая что это будет делаться одним человеком, тут быстрота и легкость разработки решающий фактор.

А вставки на ассемблере хороши для тиражных решениий, которые продаются тысячами, и работает над проектом сотня асм программеров за хорошую зарплату.
13 Gepard
 
27.04.14
13:38
На сколько помню,  так просто только lpt порт работал.  Для последовательного нежен контроллер
14 Torquader
 
27.04.14
16:07
Любой процессор для встраиваемых систем имеет COM-порт, с помощью которого с ним можно общаться.
Также есть для него есть Ассемблер и Си, для тех, кто хочет чего-то написать.
На сайте Atmel есть всё, что нужно для работы, правда не на русском языке, но, думаю, переводы в сети тоже можно найти.
15 Sun_Lin
 
27.04.14
16:48
Так ведь понятно, что по-хорошему нужен микроконтроллер и управлять им на асме. Однако, пофантазировать, ну чисто для себя, ардуино - это великолепное решение!
16 ДенисЧ
 
27.04.14
16:54
(15) а ардуина не мк?
17 Torquader
 
27.04.14
18:00
(16) Там SDK такой, что никто и не понимает, что там внутри.
18 ДенисЧ
 
27.04.14
18:02
(17) не, ну он же контроллер? (насколько я знаю)
И достаточно маленький...
19 Torquader
 
27.04.14
18:22
(18) Самый маленький процессор имеет 8 ножек, насколько я помню, а размер - 3-4 мм.
20 Гость из Мариуполя
 
гуру
27.04.14
18:54
(0) << напряжения 0-5 мА>>

забей.
если ты напряжение измеряешь в миллиамперах, то..
это явно не твое.
21 Torquader
 
27.04.14
19:17
(20) Все учатся на своих ошибках - просто у некоторых получается "маленькая вонючая коробочка".
22 Gepard
 
27.04.14
22:20
23 Sun_Lin
 
28.04.14
00:57
(20) Да, в данном случае я ошибся (ведь речь шла о RS-232) потому что я слишком старый и древний ;) В свое оправдание могу только сказать, что 20 лет назад расходомеры еще не использовали интерфейс RS-232. Вместо этого использовалось понятие токовая петля и вся периферия общалась с компом с использованием уровней (0-5)мА, (0-20)мА, но самым употребимым был (4-20)мА. Вот именно (4-20)мА (4 мА - логический ноль, 20мА - логическая единица) и использовала вся периферия honeywell (расходомеры, датчики уровня, датчики давления и т.д.) в том чуде, о котором я было начал рассказывать в (0).

Нет, я не говорю, что я крут в отношении паяльника и осциллографа, но как физик понимаю разницу между силой тока и напряжением. И именно потому что я всегда был далек от электроники, мне так и понравилась идея с ардуино.
24 Sun_Lin
 
28.04.14
01:01
(22) Спасибо за ссылку! Немного поинтересовался дальше, не лайт версией - так там вообще удивительно: целый комп с андроидом в спичечном коробке http://habrahabr.ru/post/172895/
AdBlock убивает бесплатный контент. 1Сергей