В данной статье опубликован прибор для измерения механической силы воздействия света на лопасти школьного радиометра.
Прибор состоит из Радиометра, 2х микроконтроллеров pic16f84, модуля woodman usb для связи устройства с ПК, лазерного модуля и резистивного датчика.
В данной статье так же имеется программа для расчётов на ПК написанная на Delphi, листинги программ для обоих микроконтроллеров, схема и фотографии прибора!
Статья написана при поддержке портала света https://eurosvetplus.ru/katalog-kompaniy/wpbdp_category/proizvoditeli-i-postavshchiki-svetodiodnyh-svetilnikov-v-rossii/.
Краткая аннотация:
За основу работы взят метод наблюдения и измерения давления света, разработанный П.Н. Лебедевым. Основная идея работы состоит в автоматическом измерении числа оборотов лопастей радиометра при его освещении источником света и дальнейшего вычисления с помощью компьютера силы воздействия источника света на лопасти. Работа разбита на две части: теоретическую и техническую. В теоретической части показана обоснованность этого метода измерения и дан вывод формулы, с помощью которой производят вычисление силы воздействия источника света на лопасти радиометра. В технической части дается схема, устройство и описание работы, сконструированного на базе радиометра, электронного прибора для измерения силы механического воздействия источника света на поверхность тела.
Далее предлагаю пропустить теоретическую часть и перейти непосредственно к самому устройству!
Прибор состоит из Радиометра, 2х микроконтроллеров pic16f84, модуля woodman usb для связи устройства с ПК, лазерного модуля и резистивного датчика.
При прерывание лазерного луча микроконтроллер передаёт логическую 1 на модуля woodman usb и электронный счётчик с 7 сегментным 3 разрядным индикатором, так же реализованный на базе микроконтроллера pic16f84.
********** Листинги программ ************
Программа для МК DD1
Start:
Pot 2,255,b0
If b0 > 125 then HL1
If bo <= 125 then HL2
HL1:
Goto start
HL2:
High
Goto start
программа для МК DD2 (счётчика)
Segments Var PORTB
Digits Var PORTA
i Var Byte
n Var Byte
Value Var Word
ii Var Word
d var byte
TRISB = $80 ' Set segment pins to output
TRISA = $f0 ' Set digit pins to output
Value = 0
mainloop
For ii = 0 To 9999
GoSub display ' Display the value
'*
gosub counter
if Value = 9999 then Value = 0
Next ii
GoTo mainloop ' Do it forever
'*
' Subroutine to send the number (0 - 9999) in Value to LEDs
display
For i = 0 To 3 ' Loop through 4 digits
n = Value Dig i ' Get digit to display
GoSub display1 ' Display the digit
Pause 1 ' Leave it on 1 millisecond
Next i ' Do next digit
Return
' Surboutine to display one digit on LED
' i = digit number
' n = number to display
display1
Digits = $ff ' All digits off to prevent ghosting
' Convert binary number in n to segments for LED
Lookup n, [$40, $79, $24, $30, $19, $12, $02, $78, $00, $10], Segments
' Set digit pin i to 0 (on) and the rest of the pins to 1 (off)
Digits = ~Dcd i
Return
counter
if porta.4=0 then
d=0
endif
if (porta.4=1 and d=0) then
value=value+1
d=1
endif
return
Расчёты можно осуществлять в 2х режимах.
1 - через расчётную программу на ПК
2 - используя встроенный в прибор счётчик. (найти скорость зная количество прерываний лазерного луча за единицу времени)
>>Программа для расчёта на компьютере<<
Заключение:
Данная работа была представлена на научной конференции "Шаг в будущее 2010" в МГТУ им. Баумана, на Всероссийской выставке НТТМ 2010, в Великобританские на "Лондонсокм научном международном форуме".
Автору на момент исполнения работы было 16 лет.
Обсудить на форуме
|