ESP32 CrowPanel Programming State Machine, HMI, and basic Motion Control
Worldwide
Project Name: Roll Coater HMI Deliverables: Functional, well commented code that works with the provided hardware. Code installation Instructions, including any information on library installation. Availability to have a teams call to troubleshoot and test. Hardware: ESP32 Crowpanel 5.0 HMI - can provide exact specifications Digital IO is connected to an integrated servo motor with step and direction pins along with an enable and alarm - data sheet available. Motor is controlled with step and direction just like a stepper. Software Definition: Part1 HMI: Main Screen Layout Requirements: Buttons: Digital Numpad with 0-9, Enter, Backspace, and STOP Readouts: Motor's current position and target position (0.000) Background color turns green when current and target positions are equal, red when in transit. State Machine: State 1: Upon startup, the HMI prompts the user to enter a number on a physical dial indicator on a machine, the motor needs to be locked out until the operator enters the number and confirms it is correct. The text above the numpad should say "Enter Roll Coat Height". After Entering the value, check to change to state 2 or 3. State 2: If the value entered is within the upper and lower limits, the operator can now enter a new target position and send the motor there. The There must be limits in place: motor cannot be commanded past upper limit or below lower limit State 3: After the operator inputs the actual position upon powerup the current position is outside of our limits listed above. First a popup window will ask the operator if it was typed in correctly. If the answer is no, we go back to state 1. If the answer is yes, a new popup tells the operator to manually move the axis with a hand dial to be within our limits. After we enter our limits, change to State 2 Admin Screen: In both State 1 or State 2, if the operator types in 9.999 and holds the enter button for 3 seconds, we enter into the admin screen The admin screen shows the backend parameters we might want to change: upper limit lower limit acceleration rate deceleration rate Speed Current position Backlash It should show these parameter names and their current value. Might need to have a scrolling window to display them all. Next to each current value have a little icon or box we can hit to edit that value. Bring up the same numpad with 0-9, enter, and backspace At the top of the screen have a button that says "Exit and Accept"
$600.00
Fixed-price- IntermediateExperience Level
- Remote Job
- Ongoing projectProject Type
Skills and Expertise
Activity on this job
- Proposals:10 to 15
- Last viewed by client:yesterday
- Interviewing:0
- Invites sent:0
- Unanswered invites:0
About the client
- United States7:27 AM
Explore similar jobs on Upwork
How it works
Create your free profileHighlight your skills and experience, show your portfolio, and set your ideal pay rate.
Work the way you wantApply for jobs, create easy-to-by projects, or access exclusive opportunities that come to you.
Get paid securelyFrom contract to payment, we help you work safely and get paid securely.
About Upwork
- 4.9/5(Average rating of clients by professionals)
- G2 2021#1 freelance platform
- 49,000+Signed contract every week
- $2.3BFreelancers earned on Upwork in 2020
Find the best freelance jobs
Growing your career is as easy as creating a free profile and finding work like this that fits your skills.
Trusted by