Software Open Access
Loli Salcedo, Romel Enrique
{
"metadata": {
"title": "Automated pulp-level control in laboratory scale froth flotation",
"language": "eng",
"communities": [
{
"id": "rodare"
}
],
"doc_id": "1",
"license": {
"id": "CC-BY-4.0"
},
"description": "<p>This code package contains the Python scripts used for automated pulp-level control in a lab-scale batch flotation cell. The scripts were developed for a Raspberry Pi-based control system using a Milone eTape level sensor, ADS1115 analog-to-digital converter, and EZO-PMP-L peristaltic pump. The system measures the pulp-froth interface level, compares it with a user-defined setpoint, and adds make-up water through the pump to maintain the target level during flotation experiments.</p>\n\n<p>The package includes two calibration scripts used to generate the calibration file required by the control scripts. The <strong>two-point calibration</strong> script represents the initial calibration approach, where a linear relationship between sensor voltage and level was calculated from two reference points. The <strong>five-point piecewise calibration</strong> script represents the refined calibration method, where five reference levels were used to better describe the nonlinear response of the eTape sensor over the operating range.</p>\n\n<p>The package also includes the file <strong>Automatic Control.py, it </strong>contains the base control script without EWMA filtering. The file <strong>Automatic control upgraded.py</strong> contains the upgraded control version with five-point piecewise calibration and EWMA signal filtering. Both scripts include real-time plotting and CSV logging of level, error, and pump output for later analysis.</p>\n\n<p>These scripts were used as part of the thesis work on automated lab-scale pulp-froth interface level control for improving reproducibility in batch flotation experiments.</p>\n\n<p> </p>",
"doi": "10.14278/rodare.4658",
"access_right": "open",
"publication_date": "2026-05-11",
"pub_id": "43382",
"relations": {
"version": [
{
"last_child": {
"pid_type": "recid",
"pid_value": "4658"
},
"parent": {
"pid_type": "recid",
"pid_value": "4657"
},
"count": 1,
"is_last": true,
"index": 0
}
]
},
"related_identifiers": [
{
"identifier": "https://www.hzdr.de/publications/Publ-43382",
"scheme": "url",
"relation": "isIdenticalTo"
},
{
"identifier": "10.14278/rodare.4657",
"scheme": "doi",
"relation": "isVersionOf"
}
],
"creators": [
{
"name": "Loli Salcedo, Romel Enrique"
}
],
"resource_type": {
"title": "Software",
"type": "software"
},
"access_right_category": "success"
},
"links": {
"badge": "https://rodare.hzdr.de/badge/doi/10.14278/rodare.4658.svg",
"doi": "https://doi.org/10.14278/rodare.4658",
"conceptbadge": "https://rodare.hzdr.de/badge/doi/10.14278/rodare.4657.svg",
"conceptdoi": "https://doi.org/10.14278/rodare.4657",
"bucket": "https://rodare.hzdr.de/api/files/e238aeee-a0b3-47cf-aee8-45fe63a9424f",
"html": "https://rodare.hzdr.de/record/4658",
"latest": "https://rodare.hzdr.de/api/records/4658",
"latest_html": "https://rodare.hzdr.de/record/4658"
},
"owners": [
1104
],
"conceptdoi": "10.14278/rodare.4657",
"files": [
{
"bucket": "e238aeee-a0b3-47cf-aee8-45fe63a9424f",
"links": {
"self": "https://rodare.hzdr.de/api/files/e238aeee-a0b3-47cf-aee8-45fe63a9424f/automatic%20control.py"
},
"size": 5726,
"key": "automatic control.py",
"type": "py",
"checksum": "md5:e16b44651b2788e3cf73c3c736f60b3d"
},
{
"bucket": "e238aeee-a0b3-47cf-aee8-45fe63a9424f",
"links": {
"self": "https://rodare.hzdr.de/api/files/e238aeee-a0b3-47cf-aee8-45fe63a9424f/automatic%20control%20upgraded.py"
},
"size": 8477,
"key": "automatic control upgraded.py",
"type": "py",
"checksum": "md5:d27ec35959a69a9023955f5d281e98eb"
},
{
"bucket": "e238aeee-a0b3-47cf-aee8-45fe63a9424f",
"links": {
"self": "https://rodare.hzdr.de/api/files/e238aeee-a0b3-47cf-aee8-45fe63a9424f/five-point%20piecewise%20calibration.py"
},
"size": 8178,
"key": "five-point piecewise calibration.py",
"type": "py",
"checksum": "md5:baa6e20e380c5e299d4a7a45ffa09790"
},
{
"bucket": "e238aeee-a0b3-47cf-aee8-45fe63a9424f",
"links": {
"self": "https://rodare.hzdr.de/api/files/e238aeee-a0b3-47cf-aee8-45fe63a9424f/two-point%20calibration.py"
},
"size": 3519,
"key": "two-point calibration.py",
"type": "py",
"checksum": "md5:f0d37ae085876fe0b6fa7ff9f40017ff"
}
],
"updated": "2026-05-12T06:06:37.828707+00:00",
"conceptrecid": "4657",
"stats": {
"volume": 372443.0,
"unique_downloads": 42.0,
"version_unique_downloads": 42.0,
"unique_views": 211.0,
"downloads": 58.0,
"version_unique_views": 211.0,
"version_views": 225.0,
"version_downloads": 58.0,
"version_volume": 372443.0,
"views": 225.0
},
"created": "2026-05-11T13:09:04.607119+00:00",
"doi": "10.14278/rodare.4658",
"id": 4658,
"revision": 4
}
| All versions | This version | |
|---|---|---|
| Views | 225 | 225 |
| Downloads | 58 | 58 |
| Data volume | 372.4 kB | 372.4 kB |
| Unique views | 211 | 211 |
| Unique downloads | 42 | 42 |