State Maskin ?

Elektronikrelaterade (på komponentnivå) frågor och funderingar.
Användarvisningsbild
4kTRB
Inlägg: 18395
Blev medlem: 16 augusti 2009, 19:04:48

Re: State Maskin ?

Inlägg av 4kTRB »

Simulerat maskinen och den ser ut att fungera på pappret.
Nästa nöt att knäcka blir hur jag ska räkna varven, det ska vara hela varv som räknas.
Var 4:de puls ska generera upp eller nedräkning med 1.
Men sedan måste det till något som gör att det blir rätt om det snurrar åt andra hållet mitt
under pågående varv.

Jag såg att i Java så är enum lämpligt för state maskiner. https://www.baeldung.com/java-enum-simple-state-machine
enum finns i c också så det kanske går att nyttja i arduino. Ska undersöka det närmare. https://learn.adafruit.com/multi-taskin ... 1/overview
SM_Sim_000.png
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Användarvisningsbild
4kTRB
Inlägg: 18395
Blev medlem: 16 augusti 2009, 19:04:48

Re: State Maskin ?

Inlägg av 4kTRB »

Jag tror zplus skulle vara lämplig som klocksignal till en räknare.
zplus är den signal som växlar vid varje statebyte.
Fast lite osäker på hur det kommer fungera.
Det ser ut som zplus växlar när maskinen hoppar S1, S2, S3, S4
och S4,S5,S6,S7 men inte när den hoppar mellan dessa "ringar".

Sedan får xplus avgöra om det ska räkna upp eller ned.
I nuläget hade jag gärna velat koppla upp det hela
på labbdäcket och haft en skiva och 2 läsgafflar och
verifiera att det fungerar så här långt.
Användarvisningsbild
4kTRB
Inlägg: 18395
Blev medlem: 16 augusti 2009, 19:04:48

Re: State Maskin ?

Inlägg av 4kTRB »

16 zplus-pulser ska nog räknaren räkna till per varv kom jag på nu.
Användarvisningsbild
Krille Krokodil
Inlägg: 4062
Blev medlem: 9 december 2005, 22:33:11
Ort: Helsingborg

Re: State Maskin ?

Inlägg av Krille Krokodil »

Ja, enum ska man använda, det gör programmet tydligare och underlättar ändringar.
Användarvisningsbild
4kTRB
Inlägg: 18395
Blev medlem: 16 augusti 2009, 19:04:48

Re: State Maskin ?

Inlägg av 4kTRB »

Vad är lämpligt om man skulle använda programmerbar logik för en sån här maskin, PLD eller PLA eller vad ska man använda?
Användarvisningsbild
Krille Krokodil
Inlägg: 4062
Blev medlem: 9 december 2005, 22:33:11
Ort: Helsingborg

Re: State Maskin ?

Inlägg av Krille Krokodil »

Det finns ju FPGA-kort för 100-lappen nu och med dem kan du göra oädligt mycket annat också.

Designing State Machines for FPGAs
https://www.microsemi.com/document-port ... machine-an
BJ
Inlägg: 8289
Blev medlem: 11 april 2007, 08:14:53
Ort: En_stad

Re: State Maskin ?

Inlägg av BJ »

Jag vet inte vad det är som skapar vridningen,
men om det är en ratt som man vrider på
för hand, så att det finns en rimlig gräns för
hur fort pulserna ska hinna räknas, så är ju
ett annat sätt att göra ett assembler-program
till en pic-processor.
Användarvisningsbild
4kTRB
Inlägg: 18395
Blev medlem: 16 augusti 2009, 19:04:48

Re: State Maskin ?

Inlägg av 4kTRB »

Ja eller arduino går väl också programmera i assembler antar jag.
Användarvisningsbild
Krille Krokodil
Inlägg: 4062
Blev medlem: 9 december 2005, 22:33:11
Ort: Helsingborg

Re: State Maskin ?

Inlägg av Krille Krokodil »

Arduinobiblioteket för enkoder klarar 100 kHz på 16 MHz processor om man använder ingångarna med interrupt.
Användarvisningsbild
4kTRB
Inlägg: 18395
Blev medlem: 16 augusti 2009, 19:04:48

Re: State Maskin ?

Inlägg av 4kTRB »

Oj ja det är betydligt mer än vad som krävs.
Tänkte klocka med 1kHz i storleksordningen.
Skulle säkert räcka med 100Hz också.
Nerre
Inlägg: 26706
Blev medlem: 19 maj 2008, 07:51:04
Ort: Upplands väsby

Re: State Maskin ?

Inlägg av Nerre »

4kTRB skrev: 12 oktober 2020, 02:58:46 Nästa nöt att knäcka blir hur jag ska räkna varven, det ska vara hela varv som räknas.
Var 4:de puls ska generera upp eller nedräkning med 1.
Men sedan måste det till något som gör att det blir rätt om det snurrar åt andra hållet mitt
under pågående varv.
Det är väl bara att räkna alla pulserna, men ta ut varven från bit 2 i räknaren?

Du räknar då varv med "2 bitars decimaler" kan man säga.
Formax51
Inlägg: 75
Blev medlem: 30 april 2013, 18:56:19
Ort: Umeå

Re: State Maskin ?

Inlägg av Formax51 »

rätt slimmad lösning i en CPLD
https://www.digikey.se/product-detail/e ... ND/5488215
Du har ju reda gjort jobbet i princip.. knöka ihop ett schema eller knacka lite VHDL.. sedan implementera räknaren..
vet inte hur du vill presentera räknarvärdet.. men finns många sätt att lösa det på..
å mjukvaran är gratis.... kan behövas nån sladd för å tanka ner
Användarvisningsbild
4kTRB
Inlägg: 18395
Blev medlem: 16 augusti 2009, 19:04:48

Re: State Maskin ?

Inlägg av 4kTRB »

Läste här om cpld, basics skulle jag tro http://www.seattlerobotics.org/encoder/200006/cpld.htm
Användarvisningsbild
4kTRB
Inlägg: 18395
Blev medlem: 16 augusti 2009, 19:04:48

Re: State Maskin ?

Inlägg av 4kTRB »

Adderat D-vippor, klocka och en power on reset.
Undra om det får plats på ett europakort.
Ska försöka klämma in en räknare också.
xyz_plus_Sch_001.jpg
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Användarvisningsbild
4kTRB
Inlägg: 18395
Blev medlem: 16 augusti 2009, 19:04:48

Re: State Maskin ?

Inlägg av 4kTRB »

Hittade en författare som skrivet en artikel i C/C++ Users Journal om hur man kodar statemaskiner i C.
En del att läsa igenom men säkert givande.

https://www.codeproject.com/Articles/10 ... plusplus-2
Skriv svar