phpoc_man
Published

Controlling And Monitoring Speed of Brushed DC Motor via Web

This example shows how to control and monitoring the speed of a DC motor via webpage.

BeginnerShowcase (no instructions)1,455
Controlling And Monitoring Speed of Brushed DC Motor via Web

Things used in this project

Hardware components

PHPoC Blue
PHPoC Blue
×1
PHPoC DC Motor Controller (S-type or T-type)
PHPoC DC Motor Controller (S-type or T-type)
×1
DC motor (generic)
Brushed DC motor with encoder
×1
DC Power Jack Connector
DIYables DC Power Jack Connector
×1
12V power adapter
×1

Story

Read more

Code

index.php

PHP
<?php
 
include "/lib/sd_spc.php";

if(($clockwise = _GET("clockwise")))
{
	$pwm = (int)$clockwise * 10; // clockwise
	spc_request_dev(14, "dc1 pwm set dir -");
	spc_request_dev(14, "dc1 pwm set width $pwm");
	usleep(200000);
}
else if(($anticlockwise = _GET("anticlockwise")))
{
	$pwm = (int)$anticlockwise * 10; // anticlockwise
	spc_request_dev(14, "dc1 pwm set dir +");
	spc_request_dev(14, "dc1 pwm set width $pwm");
	usleep(200000);
}
else
{
	spc_reset();
	spc_sync_baud(460800);
	spc_request_dev(14, "dc1 pwm set period 1000");
	spc_request_dev(14, "dc1 enc set pol +");
	spc_request_dev(14, "dc1 pwm set decay slow");
	spc_request_dev(14, "dc1 lpf set freq 5000");
}

$enc_period = (int)spc_request_dev(14, "dc1 enc get period");

if(!$enc_period)
	$speed = 0;
else
	$speed = 1000000 / $enc_period;
?>
<html>
<head>
<title>PHPoC / <?echo system("uname -i")?></title>
<meta name="viewport" content="width=device-width, initial-scale=0.7">
<style> body { text-align: center; font-family: Arial, Helvetica, sans-serif; font-size: 18pt;}</style>
</head>
<body>
<h2>
Step Motor Expansion Board<br>
<br>
Speed: <font color='red'><?php printf("%d", $speed);?> pps</font>
<br>
<br>
<font size="25">Clockwise</font>
<br><a href="index.php?clockwise=10">10% of Max Speed</a>
<br><a href="index.php?clockwise=50">50% of Max Speed</a>
<br><a href="index.php?clockwise=100">100% of Max Speed</a>
<br>
<br>
<font size="25">Anti-Clockwise</font>
<br><a href="index.php?anticlockwise=10">10% of Max Speed</a>
<br><a href="index.php?anticlockwise=50">50% of Max Speed</a>
<br><a href="index.php?anticlockwise=100">100% of Max Speed</a>
<br>
<br>
<a href="index.php?clockwise=0">Stop</a>
</h2>
</body>
</html>

Credits

phpoc_man

phpoc_man

62 projects • 406 followers

Comments