Task #142

Describe use cases

Added by peter 8 months ago. Updated 6 months ago.

Status:NewStart date:26-09-2012
Priority:NormalDue date:
Assignee:-% Done:

0%

Category:User interface
Target version:-

Description

Define the various use cases
Make a wiki page for the use-cases

Describe the user, his skils, his aims, etc.

"Dave" the designer want to make a 3D printer.

"Art" the artist. Wants to make creative art projects with many motors. Has no specific programming or electronics skills

"Theo" the tinkerer, wants to hack together his hardware project.

"Paul" the programmer has no electronic skills but wants to optimize the CNC toolchain with advanced algorithms

etc...

History

#1 Updated by jcw 8 months ago

  • Subject changed from Descibe use cases to Describe use cases

#2 Updated by timcastelijn 8 months ago

Tosca Scenarios

coffee machine

Carlo Cappuccino wants to automate his old coffee maker. His aim is to make a mechanism controlled by a single stepper motor to change a used coffee filter for a new one. A valve is opened by another stepper motor, to dose the right amount of ground coffee. After that, the coffee machine is switched on by a relais that replaces the original switch.
These steps could be controlled by online data like a daily scedule in google calendar, or local sensor data like proximity sensors (or the intrusion alarm for offering every guest a warm welcome)

Functional requirements:

  • link the electronics to an application for processing local or online-data
  • easy access to scripting functions for controlling the steppers angle of rotation
  • to pick a relais without having the exact knowledge of the required specs (either clear description or single chioce)

Technical requirements:

  • Stepper motor (with integrated driver) containing home or position sensor (or home towards physical limit)
  • Relay module: 230VAC relay, >5A (mechanical or solid state). Maybe use existing wireless home switches (cheap), this requires interface X10 or other home automation system. Stepper driver could be used as solenoid or relay driver (2 or 4 channel)
  • (robust) casing for the RPI + Interface that can be placed in the kitchen

physical display cabel

Gary the graphic designer wants to make a screen cable out of tubes filled with liquid and bubbles of air to make data transfer a visible process. The bubbles represent zeros and the liquid ones of a digital signal. For each wire in the cable an air pump is connected to a tube, filling inserting bubbles of air in a water-stream, according to the display signal. At the other end a sensor (pressure/moist/light/whatever) measures the physical bits and a microcontroller converts it back to digital bits. While the display signal comes in very slowly, the image will appear very slowly at the screen. The image will show the imperfections of the transmitted signal.

(inspired by a poject displayed in the grapical design museum, breda)

Functional requirements:

  • connect a pump and senor per wire (sufficient no of connections)
  • delay serial/VGA data with code snippet and convert to activation time of a pump.
  • connect pump motor to CAN module with a configurable Vmot etc. (generic module to match any motor)

Technical requirments:

  • Motor driver (pwm) typical 24V/2A. Or analog/pwm signal for
    BLDC pump motor (0..5V).
  • Solenoid driver for air valve (typical 5V, 12V or 24V).
  • Sensor inputs (analog, I2C)
  • (USB) camera

CNC metal Bending machine

Sergio the Steel manufacturer wants to built a CNC bender for sheet metal. A metal plate is deformed by applying a point load with a different pressure at a series of points. His plan is to extend an existing screw press with an XY-table for positioning and a heavy duty stepper motor to control the bending pressure.

Functional requirements:

  • control a stepper motor > 20nM
  • use a camera for positioning

Technical requirements:

  • stepper motor signal generator step/direction/enable/ready (3out/1in)
    RS422. Or CANOpen master to use standard drives

Pipetteermachine

richard the researcher does tests by using pipets to transfer liquids. There are machines available but those are very expensive and designed for specific processes and routines. Richard would like to design and built a more generic machine to automate pipetting actions. This machine should be able to tranfser multiple liquids in a single routine and be highly accurate. A log could be usefull for monitoring possible errors. Besides that actions like shaking, stirring and heating of test samples could be integrated.

Functional requirements:

  • make a log of missed steps
  • correct missed steps if possible

Technical requirments:

  • stepper motors with integrated drives. Index or position sensor on drive
  • various temperature sensors (one-wire / I2C)
  • solenoid drivers for valves and relays (heaters)
  • software architecture that allows to write small control tasks than can
    Be controlled using a sequencer. Logging infrastructure. Recipe management.
    Visualisation and control human interface.

#3 Updated by jcw 8 months ago

Nice! Have edited very slightly to add some markup.

#4 Updated by peter 7 months ago

Working on adding some technical requirements that match the functional requirements.

#5 Updated by timcastelijn 7 months ago

From a user perspective it could be helpful when modules could be regarded as fulfilling a generic function like:

  • motion (rotational or linear)
  • switching I/0
  • outputting a configurable current/voltage/frequency
  • (if possible) a configurable sensor unit to plug in a variety of sensors

#6 Updated by david 7 months ago

timcastelijn wrote:

From a user perspective it could be helpful when modules could be regarded as fulfilling a generic function like:

Sure helpful, although I'd like to keep the modules quite specific as opposed to generic. The Single Stepper Board is a nice example of something specific that can be used for multiple purposes.

  • motion (rotational or linear)

Yep, that would be the Single Stepper Board.

  • switching I/0
  • outputting a configurable current/voltage/frequency

For these two, I am very curious as to what an end user would do with them. In the use cases above, the functionality can be more specifically defined as 'driving a relay', 'operating a solenoid', maybe flashing some LEDs. Would a simple Arduino-like GPIO be okay here? 5V, 20-40mA drive capacity. Or does it have to be something more defined (like a relay board, LED board etc.)

  • (if possible) a configurable sensor unit to plug in a variety of sensors

Yes, this module is very useful. I'd drop the "(if possible)" - we need it! Again, it's hard to make something generic here. A webcam as an optical sensor is different from a temperature sensor, a pressure sensor, current sensor or ambient light sensor. Here we might go for a separate temperature sensor board, an analog sensor board etc.

#7 Updated by timcastelijn 7 months ago

true, the SSB is very generic in use and will completely cover the motion functionality.

For these two, I am very curious as to what an end user would do with them.

by a switching I/O functionality, I was thinking of an easy way to control electrical devices, like electric tools, household equipement etc. A relay board would be it.

with outputting a configurable current/voltage(/frequency<- this might be easier to code than to configure) I thought of a module to connect:
- one LED
- multiple LEDS
- different types of LEDS
- DC motors of different types
- etc.

So as a user you just buy a board to control a component, without having to study electronics to find the right voltage or current for your setup.

with sensors, i thought it might be useful to develop a board that deals with all kinds of sensors that measure resistance. If you can configure a board with trimpots to make any sensor deliver a nice 0-5v range reading value, this would make use of sensors better easier.

#8 Updated by jcw 6 months ago

  • Category set to User interface

Also available in: Atom PDF