Sida 3 av 4

Re: State Maskin ?

Postat: 12 oktober 2020, 02:58:46
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

Re: State Maskin ?

Postat: 12 oktober 2020, 08:54:07
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.

Re: State Maskin ?

Postat: 12 oktober 2020, 10:13:17
av 4kTRB
16 zplus-pulser ska nog räknaren räkna till per varv kom jag på nu.

Re: State Maskin ?

Postat: 12 oktober 2020, 11:12:49
av Krille Krokodil
Ja, enum ska man använda, det gör programmet tydligare och underlättar ändringar.

Re: State Maskin ?

Postat: 12 oktober 2020, 11:43:20
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?

Re: State Maskin ?

Postat: 12 oktober 2020, 12:16:12
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

Re: State Maskin ?

Postat: 12 oktober 2020, 12:37:03
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.

Re: State Maskin ?

Postat: 12 oktober 2020, 12:45:21
av 4kTRB
Ja eller arduino går väl också programmera i assembler antar jag.

Re: State Maskin ?

Postat: 12 oktober 2020, 12:51:16
av Krille Krokodil
Arduinobiblioteket för enkoder klarar 100 kHz på 16 MHz processor om man använder ingångarna med interrupt.

Re: State Maskin ?

Postat: 12 oktober 2020, 13:31:20
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å.

Re: State Maskin ?

Postat: 12 oktober 2020, 16:02:53
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.

Re: State Maskin ?

Postat: 12 oktober 2020, 18:08:53
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

Re: State Maskin ?

Postat: 12 oktober 2020, 22:55:02
av 4kTRB
Läste här om cpld, basics skulle jag tro http://www.seattlerobotics.org/encoder/200006/cpld.htm

Re: State Maskin ?

Postat: 13 oktober 2020, 20:56:21
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

Re: State Maskin ?

Postat: 13 oktober 2020, 20:59:32
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